summaryrefslogtreecommitdiff
path: root/eaaf_core/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'eaaf_core/src/main/java')
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/gui/IVelocityGuiFormBuilder.java40
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/idp/process/ExpressionEvaluationContext.java5
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/idp/process/ExpressionEvaluator.java8
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/idp/process/ProcessEngine.java64
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/idp/process/ProcessInstanceStoreDao.java19
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/idp/process/Task.java6
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/utils/IJsonMapper.java43
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/data/SloInformationImpl.java (renamed from eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/data/SLOInformationImpl.java)124
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/gui/AbstractGuiFormBuilderConfiguration.java30
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/gui/AbstractVelocityGuiFormBuilderImpl.java26
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/gui/velocity/VelocityLogAdapter.java4
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/AuthenticationData.java46
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/EaafCoreSpringResourceProvider.java5
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/EidAuthenticationData.java15
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/AbstractAuthenticationManager.java76
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/RequestStorage.java22
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/builder/AbstractAuthenticationDataBuilder.java257
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/builder/BpkBuilder.java109
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/data/AuthProcessDataWrapper.java90
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/data/IdentityLink.java109
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/data/SimpleIdentityLinkAssertionParser.java92
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/modules/AbstractAuthServletTask.java67
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/modules/ModuleRegistration.java32
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/services/ProtocolAuthenticationService.java68
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/SimpleStringAttributeGenerator.java19
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/BirthdateAttributeBuilder.java5
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/BpkAttributeBuilder.java28
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidCcsUrl.java5
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidEidTokenBuilder.java12
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidEidasQaaLevelAttributeBuilder.java6
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidEncryptedSourceIdAttributeBuilder.java9
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidEncryptedSourceIdTypeAttributeBuilder.java9
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidIdentityLinkBuilder.java14
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidIdentityStatusLevelAttributeBuiler.java6
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidIssuingNationAttributeBuilder.java7
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidSectorForIdAttributeBuilder.java7
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidSignerCertificate.java11
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidSourcePin.java7
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidSourcePinType.java4
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/GivenNameAttributeBuilder.java7
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/PrincipalNameAttributeBuilder.java7
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/PvpVersionAttributeBuilder.java4
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/SpCountryCodeAttributeBuilder.java9
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/SpFriendlyNameAttributeBuilder.java9
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/SpUniqueIdAttributeBuilder.java9
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/SpUsesMandates.java9
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/conf/AbstractConfigurationImpl.java42
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/conf/AbstractSpringBootConfigurationImpl.java43
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/conf/SpConfigurationImpl.java36
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/AbstractController.java59
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/AbstractProcessEngineSignalController.java27
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/ProtocolFinalizationController.java35
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/protocols/RequestImpl.java48
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/tasks/AbstractLocaleAuthServletTask.java16
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/tasks/FinalizeAuthenticationTask.java19
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/tasks/RestartAuthProzessManagement.java25
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/ExecutionContextImpl.java1
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/ExpressionEvaluationContextImpl.java4
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/ProcessDefinitionParser.java23
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/ProcessDefinitionParserException.java9
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/ProcessEngineImpl.java58
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/ProcessInstance.java32
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/ProcessInstanceState.java7
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/dao/ProcessInstanceStore.java5
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/dao/ProcessInstanceStoreDaoImpl.java10
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/model/EndEvent.java4
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/model/ProcessDefinition.java16
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/model/ProcessNode.java22
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/model/StartEvent.java5
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/model/TaskInfo.java20
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/model/Transition.java24
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/spring/SpringExpressionEvaluator.java13
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/springweb/AbstractAuthSourceServlet.java81
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/springweb/AbstractTask.java58
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/springweb/SpringWebExpressionEvaluator.java37
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/logging/DummyRevisionsLogger.java13
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/logging/DummyStatisticLogger.java10
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/utils/DomUtils.java523
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/utils/EaafDomEntityResolver.java37
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/utils/XPathUtils.java347
80 files changed, 1741 insertions, 1528 deletions
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/gui/IVelocityGuiFormBuilder.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/gui/IVelocityGuiFormBuilder.java
index 5a7ce49d..ff90e9cc 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/gui/IVelocityGuiFormBuilder.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/gui/IVelocityGuiFormBuilder.java
@@ -1,16 +1,19 @@
package at.gv.egiz.eaaf.core.api.gui;
import java.io.InputStream;
+
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import at.gv.egiz.eaaf.core.exceptions.GuiBuildException;
+
import org.apache.velocity.VelocityContext;
-public interface IVelocityGuiFormBuilder extends IGuiFormBuilder {
+import at.gv.egiz.eaaf.core.exceptions.GuiBuildException;
+public interface IVelocityGuiFormBuilder extends IGuiFormBuilder {
/**
- * Generate a new {@link VelocityContext} and populate it with MOA-ID GUI parameters.
+ * Generate a new {@link VelocityContext} and populate it with MOA-ID GUI
+ * parameters.
*
* @param config GUI builder configuration
* @return
@@ -18,28 +21,27 @@ public interface IVelocityGuiFormBuilder extends IGuiFormBuilder {
VelocityContext generateVelocityContextFromConfiguration(
IVelocityGuiBuilderConfiguration config);
-
/**
* Load the template from different resources.
*
* @param config GUI builder configuration
- * @return An {@link InputStream} but never null. The {@link InputStream} had to be closed be the
- * invoking method
+ * @return An {@link InputStream} but never null. The {@link InputStream} had to
+ * be closed be the invoking method
* @throws GuiBuildException In case of an error
*/
InputStream getTemplateInputStream(IVelocityGuiBuilderConfiguration config)
throws GuiBuildException;
-
/**
- * Parse a GUI template, with parameters into a http servlet-response and use the default
- * http-response content-type. <br>
+ * 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.
+ * 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 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
@@ -47,17 +49,17 @@ public interface IVelocityGuiFormBuilder extends IGuiFormBuilder {
void build(HttpServletRequest httpReq, HttpServletResponse httpResp,
IVelocityGuiBuilderConfiguration 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.
+ * 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 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
+ * @param loggerName String, which should be used from logger
*
* @throws GuiBuildException In case of an error
*/
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/idp/process/ExpressionEvaluationContext.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/idp/process/ExpressionEvaluationContext.java
index 7315dbf1..8f66afff 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/idp/process/ExpressionEvaluationContext.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/idp/process/ExpressionEvaluationContext.java
@@ -21,11 +21,12 @@ package at.gv.egiz.eaaf.core.api.idp.process;
import java.io.Serializable;
import java.util.Map;
-import at.gv.egiz.eaaf.core.impl.idp.process.model.Transition;
+import at.gv.egiz.eaaf.core.impl.idp.process.model.Transition;
/**
- * Context used for evaluation of condition expressions set for {@linkplain Transition Transitions}.
+ * Context used for evaluation of condition expressions set for
+ * {@linkplain Transition Transitions}.
*
* @author tknall
*
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/idp/process/ExpressionEvaluator.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/idp/process/ExpressionEvaluator.java
index 7fa67ae4..18e4533e 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/idp/process/ExpressionEvaluator.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/idp/process/ExpressionEvaluator.java
@@ -29,11 +29,13 @@ public interface ExpressionEvaluator {
/**
* Evaluates a given {@code expression} returning a boolean value.
*
- * @param expressionContext The context which can be used for evaluation of the expression.
- * @param expression The expression resulting in a boolean (must not be {@code null}).
+ * @param expressionContext The context which can be used for evaluation of the
+ * expression.
+ * @param expression The expression resulting in a boolean (must not be
+ * {@code null}).
* @return A boolean value.
* @throws IllegalArgumentException In case of an invalid {@code expression}.
- * @throws NullPointerException In case of a {@code null} expression.
+ * @throws NullPointerException In case of a {@code null} expression.
*/
boolean evaluate(ExpressionEvaluationContext expressionContext, String expression);
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/idp/process/ProcessEngine.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/idp/process/ProcessEngine.java
index d4c221e0..302deae4 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/idp/process/ProcessEngine.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/idp/process/ProcessEngine.java
@@ -19,8 +19,8 @@
package at.gv.egiz.eaaf.core.api.idp.process;
-
import java.io.InputStream;
+
import at.gv.egiz.eaaf.core.api.IRequest;
import at.gv.egiz.eaaf.core.exceptions.ProcessExecutionException;
import at.gv.egiz.eaaf.core.impl.idp.process.ProcessDefinitionParserException;
@@ -35,64 +35,71 @@ import at.gv.egiz.eaaf.core.impl.idp.process.model.ProcessDefinition;
public interface ProcessEngine {
/**
- * Registers a new process definition. Note that existing definitions with the same identifier
- * will be replaced.
+ * Registers a new process definition. Note that existing definitions with the
+ * same identifier will be replaced.
*
* @param processDefinition The process definition to be registered.
*/
void registerProcessDefinition(ProcessDefinition processDefinition);
/**
- * Registers a new process definition given as {@link InputStream}. Note that existing definitions
- * with the same identifier will be replaced.
+ * Registers a new process definition given as {@link InputStream}. Note that
+ * existing definitions with the same identifier will be replaced.
*
- * @param processDefinitionInputStream The input stream to the definition to be registered.
+ * @param processDefinitionInputStream The input stream to the definition to be
+ * registered.
* @return The process definition's identifier.
- * @throws ProcessDefinitionParserException Thrown in case of an error parsing the process
- * definition.
+ * @throws ProcessDefinitionParserException Thrown in case of an error parsing
+ * the process definition.
*/
String registerProcessDefinition(InputStream processDefinitionInputStream)
throws ProcessDefinitionParserException;
/**
- * Creates a process instance according to the referenced process definition, persists it into the
- * database and returns it identifier.
+ * Creates a process instance according to the referenced process definition,
+ * persists it into the database and returns it identifier.
* <p/>
- * Note that the method returns the identifier of a process instance which will be needed in order
- * to start a process or to continue process execution after asynchronous task execution (refer to
- * {@link #start(String)} and {@link #signal(String)} for further information).
+ * Note that the method returns the identifier of a process instance which will
+ * be needed in order to start a process or to continue process execution after
+ * asynchronous task execution (refer to {@link #start(String)} and
+ * {@link #signal(String)} for further information).
*
- * @param processDefinitionId The identifier of the respective process definition.
- * @param executionContext The execution context (may be {@code null}).
+ * @param processDefinitionId The identifier of the respective process
+ * definition.
+ * @param executionContext The execution context (may be {@code null}).
* @return The id of the newly created process instance (never {@code null}).
* @throws ProcessExecutionException Thrown in case of error, e.g. when a
- * {@code processDefinitionId} is referenced that does not exist.
+ * {@code processDefinitionId} is referenced
+ * that does not exist.
*/
String createProcessInstance(String processDefinitionId, ExecutionContext executionContext)
throws ProcessExecutionException;
/**
- * Creates a process instance according to the referenced process definition, persists it into the
- * database and returns it identifier.
+ * Creates a process instance according to the referenced process definition,
+ * persists it into the database and returns it identifier.
* <p/>
- * Note that the method returns the identifier of a process instance which will be needed in order
- * to start a process or to continue process execution after asynchronous task execution (refer to
- * {@link #start(String)} and {@link #signal(String)} for further information).
+ * Note that the method returns the identifier of a process instance which will
+ * be needed in order to start a process or to continue process execution after
+ * asynchronous task execution (refer to {@link #start(String)} and
+ * {@link #signal(String)} for further information).
*
- * @param processDefinitionId The identifier of the respective process definition.
+ * @param processDefinitionId The identifier of the respective process
+ * definition.
* @return The id of the newly created process instance (never {@code null}).
* @throws ProcessExecutionException Thrown in case of error, e.g. when a
- * {@code processDefinitionId} is referenced that does not exist.
+ * {@code processDefinitionId} is referenced
+ * that does not exist.
*/
String createProcessInstance(String processDefinitionId) throws ProcessExecutionException;
-
/**
* Delete a process instance.
*
* @param processInstanceId The identifier of the respective process.
* @throws ProcessExecutionException Thrown in case of error, e.g. when a
- * {@code processInstanceId} is referenced that does not exist.
+ * {@code processInstanceId} is referenced
+ * that does not exist.
*/
void deleteProcessInstance(String processInstanceId) throws ProcessExecutionException;
@@ -101,8 +108,10 @@ public interface ProcessEngine {
*
* @param processInstanceId The process instance id.
* @return The process instance (never {@code null}).
- * @throws IllegalArgumentException In case the process instance does not/no longer exist.
- * @throws RuntimeException In case the process instance could not be retrieved from persistence.
+ * @throws IllegalArgumentException In case the process instance does not/no
+ * longer exist.
+ * @throws RuntimeException In case the process instance could not be
+ * retrieved from persistence.
*/
ProcessInstance getProcessInstance(String processInstanceId);
@@ -114,7 +123,6 @@ public interface ProcessEngine {
*/
void start(IRequest pendingReq) throws ProcessExecutionException;
-
/**
* Resumes process execution after an asynchronous task has been executed.
*
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/idp/process/ProcessInstanceStoreDao.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/idp/process/ProcessInstanceStoreDao.java
index 641eeab8..6de53432 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/idp/process/ProcessInstanceStoreDao.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/idp/process/ProcessInstanceStoreDao.java
@@ -30,25 +30,30 @@ public interface ProcessInstanceStoreDao {
* Stores a {@link ProcessInstance} defined by {@code pIStore} in the database.
*
* @param piStore the {@link ProcessInstanceStore} to persist.
- * @throws EaafStorageException is thrown if a problem occurs while accessing the database.
+ * @throws EaafStorageException is thrown if a problem occurs while accessing
+ * the database.
*/
void saveOrUpdate(ProcessInstanceStore piStore) throws EaafException;
/**
- * Returns a {@link ProcessInstanceStore}, defined by {@code processInstanceID} from the database,
- * or {@code null} if the object could not be found.
+ * Returns a {@link ProcessInstanceStore}, defined by {@code processInstanceID}
+ * from the database, or {@code null} if the object could not be found.
*
- * @param processInstanceId the id of the {@code ProcessInstanceStore} to retrieve.
+ * @param processInstanceId the id of the {@code ProcessInstanceStore} to
+ * retrieve.
* @return a ProcessInstanceStore, or {@code null}.
- * @throws EaafStorageException is thrown if a problem occurs while accessing the database.
+ * @throws EaafStorageException is thrown if a problem occurs while accessing
+ * the database.
*/
ProcessInstanceStore load(String processInstanceId) throws EaafException;
/**
- * Deletes the {@link ProcessInstance} corresponding with the {@code processInstanceId}.
+ * Deletes the {@link ProcessInstance} corresponding with the
+ * {@code processInstanceId}.
*
* @param processInstanceId the id of the {@code ProcessInstance} to be deleted.
- * @throws EaafStorageException is thrown if a problem occurs while accessing the database.
+ * @throws EaafStorageException is thrown if a problem occurs while accessing
+ * the database.
*/
void remove(String processInstanceId) throws EaafException;
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/idp/process/Task.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/idp/process/Task.java
index 06573403..a1fd49e5 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/idp/process/Task.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/idp/process/Task.java
@@ -22,7 +22,6 @@ package at.gv.egiz.eaaf.core.api.idp.process;
import at.gv.egiz.eaaf.core.api.IRequest;
import at.gv.egiz.eaaf.core.exceptions.TaskExecutionException;
-
/**
* Represents a single task to be performed upon process execution.
*
@@ -34,9 +33,10 @@ public interface Task {
/**
* Executes this task.
*
- * @param pendingReq Provides the current processed protocol request
+ * @param pendingReq Provides the current processed protocol request
* @param executionContext Provides execution related information.
- * @return The pending-request object, because Process-management works recursive
+ * @return The pending-request object, because Process-management works
+ * recursive
* @throws Exception An exception upon task execution.
*/
IRequest execute(IRequest pendingReq, ExecutionContext executionContext)
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/utils/IJsonMapper.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/utils/IJsonMapper.java
index dd7e69fd..a7e4f6fe 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/utils/IJsonMapper.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/utils/IJsonMapper.java
@@ -9,38 +9,43 @@ public interface IJsonMapper {
/**
* Serialize an object to a JSON string.
- *
+ *
* @param value the object to serialize
* @return a JSON string
- * @throws JsonProcessingException thrown when an error occurs during serialization
+ * @throws JsonProcessingException thrown when an error occurs during
+ * serialization
*/
String serialize(Object value) throws EaafJsonMapperException;
/**
* Deserialize a JSON string.
- *
+ *
* @param value the JSON string to deserialize
- * @param clazz optional parameter that determines the type of the returned object. If not set, an
- * {@link Object} is returned.
- * @return the deserialized JSON string as an object of type {@code clazz} or {@link Object}
- * @throws JsonParseException if the JSON string contains invalid content.
- * @throws JsonMappingException if the input JSON structure does not match structure expected for
- * result type
- * @throws IOException if an I/O problem occurs (e.g. unexpected end-of-input)
+ * @param clazz optional parameter that determines the type of the returned
+ * object. If not set, an {@link Object} is returned.
+ * @return the deserialized JSON string as an object of type {@code clazz} or
+ * {@link Object}
+ * @throws JsonParseException if the JSON string contains invalid content.
+ * @throws JsonMappingException if the input JSON structure does not match
+ * structure expected for result type
+ * @throws IOException if an I/O problem occurs (e.g. unexpected
+ * end-of-input)
*/
<T> Object deserialize(String value, Class<T> clazz) throws EaafJsonMapperException;
/**
* Deserialize a JSON string.
- *
- * @param is the JSON to deserialize as {@link InputStream}
- * @param clazz optional parameter that determines the type of the returned object. If not set, an
- * {@link Object} is returned.
- * @return the deserialized JSON string as an object of type {@code clazz} or {@link Object}
- * @throws JsonParseException if the JSON string contains invalid content.
- * @throws JsonMappingException if the input JSON structure does not match structure expected for
- * result type
- * @throws IOException if an I/O problem occurs (e.g. unexpected end-of-input)
+ *
+ * @param is the JSON to deserialize as {@link InputStream}
+ * @param clazz optional parameter that determines the type of the returned
+ * object. If not set, an {@link Object} is returned.
+ * @return the deserialized JSON string as an object of type {@code clazz} or
+ * {@link Object}
+ * @throws JsonParseException if the JSON string contains invalid content.
+ * @throws JsonMappingException if the input JSON structure does not match
+ * structure expected for result type
+ * @throws IOException if an I/O problem occurs (e.g. unexpected
+ * end-of-input)
*/
<T> Object deserialize(InputStream is, Class<T> clazz) throws EaafJsonMapperException;
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/data/SLOInformationImpl.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/data/SloInformationImpl.java
index c0980b0b..71a2c849 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/data/SLOInformationImpl.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/data/SloInformationImpl.java
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*
* 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.
*
@@ -15,72 +15,91 @@
* 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.io.Serializable;
-import at.gv.egiz.eaaf.core.api.idp.slo.SloInformationInterface;
+import at.gv.egiz.eaaf.core.api.idp.slo.SloInformationInterface;
/**
+ * Single Log-Out container DAO.
+ *
* @author tlenz
*
*/
-public class SLOInformationImpl implements SloInformationInterface, Serializable {
+public class SloInformationImpl implements SloInformationInterface, Serializable {
private static final long serialVersionUID = 295577931870512387L;
private String sessionIndex = null;
private String nameID = null;
private String protocolType = null;
- private String nameIDFormat = null;
+ private String nameIdFormat = null;
private String binding = null;
- private String serviceURL = null;
- private String authURL = null;
+ private String serviceUrl = null;
+ private String authUrl = null;
private String spEntityID = null;
- public SLOInformationImpl(final String authURL, final String spEntityID, final String sessionID,
- final String nameID, final String nameIDFormat, final String protocolType) {
- this(authURL, spEntityID, sessionID, nameID, nameIDFormat, protocolType, null,
+ /**
+ * Create a SLO container.
+ *
+ * @param authUrl IDP EntityId
+ * @param spEntityId SP EntityId
+ * @param sessionId SessionId on protocol-level
+ * @param nameId User's nameId
+ * @param nameIdFormat NameId format
+ * @param protocolType Type of the Auth. protocol
+ */
+ public SloInformationImpl(final String authUrl, final String spEntityId, final String sessionId,
+ final String nameId, final String nameIdFormat, final String protocolType) {
+ this(authUrl, spEntityId, sessionId, nameId, nameIdFormat, protocolType, null,
null);
}
- public SLOInformationImpl(final String authURL, final String spEntityID, final String sessionID,
- final String nameID, final String nameIDFormat, final String protocolType,
- final String sloBinding, final String sloLocationURL) {
- this.sessionIndex = sessionID;
- this.nameID = nameID;
- this.nameIDFormat = nameIDFormat;
+ /**
+ * Create a SLO container.
+ *
+ * @param authUrl IDP EntityId
+ * @param spEntityId SP EntityId
+ * @param sessionId SessionId on protocol-level
+ * @param nameId User's nameId
+ * @param nameIdFormat NameId format
+ * @param protocolType Type of the Auth. protocol
+ * @param sloBinding SLO protocol binding
+ * @param sloLocationUrl SLO end-point on SP
+ */
+ public SloInformationImpl(final String authUrl, final String spEntityId, final String sessionId,
+ final String nameId, final String nameIdFormat, final String protocolType,
+ final String sloBinding, final String sloLocationUrl) {
+ this.sessionIndex = sessionId;
+ this.nameID = nameId;
+ this.nameIdFormat = nameIdFormat;
this.protocolType = protocolType;
- this.spEntityID = spEntityID;
+ this.spEntityID = spEntityId;
- if (authURL.endsWith("/")) {
- this.authURL = authURL.substring(0, authURL.length() - 1);
+ if (authUrl.endsWith("/")) {
+ this.authUrl = authUrl.substring(0, authUrl.length() - 1);
} else {
- this.authURL = authURL;
+ this.authUrl = authUrl;
}
-
this.binding = sloBinding;
- this.serviceURL = sloLocationURL;
+ this.serviceUrl = sloLocationUrl;
}
-
/**
- *
+ * Get empty SLOContainer DAO.
*/
- public SLOInformationImpl() {
+ public SloInformationImpl() {
}
-
-
/**
+ * Get Service-Provider Id.
+ *
* @return the spEntityID
*/
@Override
@@ -102,7 +121,8 @@ public class SLOInformationImpl implements SloInformationInterface, Serializable
/*
* (non-Javadoc)
*
- * @see at.gv.egovernment.moa.id.data.SLOInformationInterface#getUserNameIdentifier()
+ * @see
+ * at.gv.egovernment.moa.id.data.SLOInformationInterface#getUserNameIdentifier()
*/
@Override
public String getUserNameIdentifier() {
@@ -110,8 +130,9 @@ public class SLOInformationImpl implements SloInformationInterface, Serializable
}
-
/**
+ * Get SessionId.
+ *
* @param sessionIndex the sessionIndex to set
*/
@Override
@@ -119,8 +140,9 @@ public class SLOInformationImpl implements SloInformationInterface, Serializable
this.sessionIndex = sessionIndex;
}
-
/**
+ * Get User's NameId.
+ *
* @param nameID the nameID to set
*/
@Override
@@ -128,16 +150,15 @@ public class SLOInformationImpl implements SloInformationInterface, Serializable
this.nameID = nameID;
}
-
-
/**
+ * Get authentication protocol identifier.
+ *
* @param protocolType the protocolType to set
*/
public void setProtocolType(final String protocolType) {
this.protocolType = protocolType;
}
-
/*
* (non-Javadoc)
*
@@ -148,27 +169,30 @@ public class SLOInformationImpl implements SloInformationInterface, Serializable
return protocolType;
}
-
/*
* (non-Javadoc)
*
- * @see at.gv.egovernment.moa.id.data.SLOInformationInterface#getUserNameIDFormat()
+ * @see
+ * at.gv.egovernment.moa.id.data.SLOInformationInterface#getUserNameIDFormat()
*/
@Override
public String getUserNameIdFormat() {
- return this.nameIDFormat;
+ return this.nameIdFormat;
}
-
/**
- * @param nameIDFormat the nameIDFormat to set
+ * Get Format of the NameId.
+ *
+ * @param nameIdFormat the nameIDFormat to set
*/
@Override
- public void setNameIdFormat(final String nameIDFormat) {
- this.nameIDFormat = nameIDFormat;
+ public void setNameIdFormat(final String nameIdFormat) {
+ this.nameIdFormat = nameIdFormat;
}
/**
+ * Get SLO protocol binding.
+ *
* @return the binding
*/
@Override
@@ -177,28 +201,32 @@ public class SLOInformationImpl implements SloInformationInterface, Serializable
}
/**
+ * Get SLO service URL.
+ *
* @return the serviceURL
*/
@Override
public String getServiceUrl() {
- return serviceURL;
+ return serviceUrl;
}
/**
+ * Get the IDP EntityId.
+ *
* @return the authURL from requested IDP without ending /
*/
@Override
public String getAuthUrl() {
- return authURL;
+ return authUrl;
}
/**
+ * Set the SP EntityId.
+ *
* @param spEntityID the spEntityID to set
*/
public void setSpEntityID(final String spEntityID) {
this.spEntityID = spEntityID;
}
-
-
}
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/gui/AbstractGuiFormBuilderConfiguration.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/gui/AbstractGuiFormBuilderConfiguration.java
index efb8c713..b0718f85 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/gui/AbstractGuiFormBuilderConfiguration.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/gui/AbstractGuiFormBuilderConfiguration.java
@@ -23,13 +23,15 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import at.gv.egiz.eaaf.core.api.gui.GroupDefinition;
-import at.gv.egiz.eaaf.core.api.gui.GroupDefinition.Type;
-import at.gv.egiz.eaaf.core.api.gui.IGuiBuilderConfiguration;
+
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import at.gv.egiz.eaaf.core.api.gui.GroupDefinition;
+import at.gv.egiz.eaaf.core.api.gui.GroupDefinition.Type;
+import at.gv.egiz.eaaf.core.api.gui.IGuiBuilderConfiguration;
+
/**
* Abstract Configuration implementation for GUI Builders.
*
@@ -51,7 +53,6 @@ public abstract class AbstractGuiFormBuilderConfiguration implements IGuiBuilder
public static final GroupDefinition PARAM_GROUP_MSG =
GroupDefinition.getInstance("msg", Type.MAP);
-
public static final String PARAM_VIEWNAME = "viewName";
public static final String PARAM_AUTHCONTEXT = "contextPath";
public static final String PARAM_FORMSUBMITENDPOINT = "submitEndpoint";
@@ -68,10 +69,11 @@ public abstract class AbstractGuiFormBuilderConfiguration implements IGuiBuilder
/**
* Abstract GUI Builder config.
*
- * @param authUrl IDP PublicURL-Prefix which should be used, but never null
- * @param viewName Name of the template (with suffix) but never null
- * @param formSubmitEndpoint EndPoint on which the form should be submitted, or null if the form
- * must not submitted
+ * @param authUrl IDP PublicURL-Prefix which should be used, but
+ * never null
+ * @param viewName Name of the template (with suffix) but never null
+ * @param formSubmitEndpoint EndPoint on which the form should be submitted, or
+ * null if the form must not submitted
*
*/
public AbstractGuiFormBuilderConfiguration(final String authUrl, final String viewName,
@@ -100,7 +102,8 @@ public abstract class AbstractGuiFormBuilderConfiguration implements IGuiBuilder
/*
* (non-Javadoc)
*
- * @see at.gv.egovernment.moa.id.auth.frontend.builder.IGUIBuilderConfiguration#getViewName()
+ * @see at.gv.egovernment.moa.id.auth.frontend.builder.IGUIBuilderConfiguration#
+ * getViewName()
*/
@Override
public final String getViewName() {
@@ -108,12 +111,11 @@ public abstract class AbstractGuiFormBuilderConfiguration implements IGuiBuilder
}
-
/*
* (non-Javadoc)
*
- * @see
- * at.gv.egovernment.moa.id.auth.frontend.builder.IGUIBuilderConfiguration#getViewParameters()
+ * @see at.gv.egovernment.moa.id.auth.frontend.builder.IGUIBuilderConfiguration#
+ * getViewParameters()
*/
@Override
public final Map<String, Object> getViewParameters() {
@@ -137,8 +139,8 @@ public abstract class AbstractGuiFormBuilderConfiguration implements IGuiBuilder
/**
* Define the parameters, which should be evaluated in the template. <br>
- * <b>IMPORTANT:</b> external HTML escapetion is required, because it is NOT done internally
- * during the building process
+ * <b>IMPORTANT:</b> external HTML escapetion is required, because it is NOT
+ * done internally during the building process
*
*/
protected abstract void putSpecificViewParameters();
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/gui/AbstractVelocityGuiFormBuilderImpl.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/gui/AbstractVelocityGuiFormBuilderImpl.java
index 0ab5fa49..5e4af55e 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/gui/AbstractVelocityGuiFormBuilderImpl.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/gui/AbstractVelocityGuiFormBuilderImpl.java
@@ -27,20 +27,23 @@ import java.io.StringWriter;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
+
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import at.gv.egiz.eaaf.core.api.data.EAAFConstants;
-import at.gv.egiz.eaaf.core.api.gui.IGuiBuilderConfiguration;
-import at.gv.egiz.eaaf.core.api.gui.IVelocityGuiBuilderConfiguration;
-import at.gv.egiz.eaaf.core.api.gui.IVelocityGuiFormBuilder;
-import at.gv.egiz.eaaf.core.exceptions.GuiBuildException;
-import at.gv.egiz.eaaf.core.impl.gui.velocity.VelocityProvider;
+
import org.apache.commons.lang3.StringUtils;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.VelocityEngine;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import at.gv.egiz.eaaf.core.api.data.EaafConstants;
+import at.gv.egiz.eaaf.core.api.gui.IGuiBuilderConfiguration;
+import at.gv.egiz.eaaf.core.api.gui.IVelocityGuiBuilderConfiguration;
+import at.gv.egiz.eaaf.core.api.gui.IVelocityGuiFormBuilder;
+import at.gv.egiz.eaaf.core.exceptions.GuiBuildException;
+import at.gv.egiz.eaaf.core.impl.gui.velocity.VelocityProvider;
+
/**
* Abstract VeloCity based GUI builder implementation.
*
@@ -50,7 +53,7 @@ import org.slf4j.LoggerFactory;
public abstract class AbstractVelocityGuiFormBuilderImpl implements IVelocityGuiFormBuilder {
private static final Logger log =
LoggerFactory.getLogger(AbstractVelocityGuiFormBuilderImpl.class);
- private static final String DEFAULT_CONTENT_TYPE = EAAFConstants.CONTENTTYPE_HTML_UTF8;
+ private static final String DEFAULT_CONTENT_TYPE = EaafConstants.CONTENTTYPE_HTML_UTF8;
private VelocityEngine engine;
@@ -82,7 +85,6 @@ public abstract class AbstractVelocityGuiFormBuilderImpl implements IVelocityGui
+ IVelocityGuiBuilderConfiguration.class.getName());
}
-
}
@Override
@@ -159,7 +161,8 @@ public abstract class AbstractVelocityGuiFormBuilderImpl implements IVelocityGui
}
/**
- * Generate a new {@link VelocityContext} and populate it with MOA-ID GUI parameters.
+ * Generate a new {@link VelocityContext} and populate it with MOA-ID GUI
+ * parameters.
*
* @param config GUI builder config
* @return Context of Velocity engine
@@ -175,8 +178,8 @@ public abstract class AbstractVelocityGuiFormBuilderImpl implements IVelocityGui
* Load the template from different resources.
*
* @param config GUI builder config
- * @return An {@link InputStream} but never null. The {@link InputStream} had to be closed be the
- * invoking method
+ * @return An {@link InputStream} but never null. The {@link InputStream} had to
+ * be closed be the invoking method
* @throws GuiBuildException In case of an error
*/
@Override
@@ -207,7 +210,6 @@ public abstract class AbstractVelocityGuiFormBuilderImpl implements IVelocityGui
protected abstract InputStream getInternalTemplate(IVelocityGuiBuilderConfiguration config)
throws GuiBuildException;
-
protected String getInternalClasspathTemplateDir(final IVelocityGuiBuilderConfiguration config,
final String defaultClassPathDir) {
String dir = config.getClasspathTemplateDir();
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/gui/velocity/VelocityLogAdapter.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/gui/velocity/VelocityLogAdapter.java
index 05cbaf58..bf8e75a9 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/gui/velocity/VelocityLogAdapter.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/gui/velocity/VelocityLogAdapter.java
@@ -37,8 +37,8 @@ public class VelocityLogAdapter implements LogChute {
public VelocityLogAdapter() {
try {
/*
- * register this class as a logger with the Velocity singleton (NOTE: this would not work for
- * the non-singleton method.)
+ * register this class as a logger with the Velocity singleton (NOTE: this would
+ * not work for the non-singleton method.)
*/
Velocity.setProperty(RuntimeConstants.RUNTIME_LOG_LOGSYSTEM, this);
Velocity.init();
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/AuthenticationData.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/AuthenticationData.java
index 1c1de7c8..05ea08b2 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/AuthenticationData.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/AuthenticationData.java
@@ -28,15 +28,17 @@ import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.TimeZone;
-import at.gv.egiz.eaaf.core.api.idp.IAuthData;
-import at.gv.egiz.eaaf.core.api.idp.auth.data.IIdentityLink;
-import at.gv.egiz.eaaf.core.exceptions.EaafStorageException;
-import at.gv.egiz.eaaf.core.impl.data.Pair;
+
import org.apache.commons.collections4.map.HashedMap;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import at.gv.egiz.eaaf.core.api.idp.IAuthData;
+import at.gv.egiz.eaaf.core.api.idp.auth.data.IIdentityLink;
+import at.gv.egiz.eaaf.core.exceptions.EaafStorageException;
+import at.gv.egiz.eaaf.core.impl.data.Pair;
+
/**
* Service-Provider specific authentication data.
*
@@ -70,8 +72,6 @@ public class AuthenticationData implements IAuthData, Serializable {
private String encSourceId;
private String encSourceIdType;
-
-
@Deprecated
private String bpk;
@Deprecated
@@ -81,7 +81,6 @@ public class AuthenticationData implements IAuthData, Serializable {
private String ccc = null;
-
private boolean foreigner = false;
private String eidasLoa = null;
@@ -112,14 +111,12 @@ public class AuthenticationData implements IAuthData, Serializable {
}
-
@Override
public Date getAuthenticationIssueInstant() {
return getDateCopyOrNull(this.issueInstant);
}
-
@Override
public String getAuthenticationIssueInstantString() {
final SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
@@ -142,7 +139,6 @@ public class AuthenticationData implements IAuthData, Serializable {
return this.ccc;
}
-
@Override
@Deprecated
public String getBpk() {
@@ -159,15 +155,12 @@ public class AuthenticationData implements IAuthData, Serializable {
this.bpk = bpk;
}
-
@Override
public Date getDateOfBirth() {
return getDateCopyOrNull(this.dateOfBirth);
}
-
-
@Override
public String getFormatedDateOfBirth() {
final DateFormat pvpDateFormat = new SimpleDateFormat(IDENTITY_LINK_DATE_FORMAT);
@@ -179,13 +172,11 @@ public class AuthenticationData implements IAuthData, Serializable {
}
-
@Override
public String getFamilyName() {
return this.familyName;
}
-
@Override
public String getGivenName() {
return this.givenName;
@@ -207,7 +198,6 @@ public class AuthenticationData implements IAuthData, Serializable {
return identificationValue;
}
-
@Override
@Deprecated
public String getIdentificationType() {
@@ -296,7 +286,6 @@ public class AuthenticationData implements IAuthData, Serializable {
this.identificationType = identificationType;
}
-
@Override
@Deprecated
public String getBpkType() {
@@ -319,13 +308,11 @@ public class AuthenticationData implements IAuthData, Serializable {
}
-
@Override
public boolean isForeigner() {
return this.foreigner;
}
-
/**
* Indicate the the user is a foreigner.
*
@@ -340,7 +327,6 @@ public class AuthenticationData implements IAuthData, Serializable {
return ssoSession;
}
-
/**
* Indicate that the authentication was done by using an active SSO session.
*
@@ -350,7 +336,6 @@ public class AuthenticationData implements IAuthData, Serializable {
this.ssoSession = ssoSession;
}
-
/**
* Country Code for the authenticated user.
*
@@ -374,7 +359,6 @@ public class AuthenticationData implements IAuthData, Serializable {
this.sessionIndex = sessionIndex;
}
-
@Override
public String getNameID() {
return this.nameID;
@@ -427,7 +411,6 @@ public class AuthenticationData implements IAuthData, Serializable {
this.ssoSessionValidTo = getDateCopyOrNull(ssoSessionValidTo);
}
-
/*
* (non-Javadoc)
*
@@ -450,7 +433,7 @@ public class AuthenticationData implements IAuthData, Serializable {
/**
* Returns a generic data-object with is stored with a specific identifier.
*
- * @param key The specific identifier of the data object
+ * @param key The specific identifier of the data object
* @param clazz The class type which is stored with this key
* @return The data object or null if no data is found with this key
*/
@@ -484,11 +467,11 @@ public class AuthenticationData implements IAuthData, Serializable {
/**
* 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 SessionDataStorageException Error message if the data-object can not stored to generic
- * session-data storage
+ * @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 session-data storage
*/
public void setGenericData(final String key, final Object object) throws EaafStorageException {
if (StringUtils.isEmpty(key)) {
@@ -499,7 +482,7 @@ public class AuthenticationData implements IAuthData, Serializable {
if (object != null && !Serializable.class.isInstance(object)) {
log.warn(
- "Generic data can only store objects which implements the 'Seralizable' interface");
+ "Generic data can only store objects which implements the 'Seralizable' interface");
throw new EaafStorageException(
"Generic data can only store objects which implements the 'Seralizable' interface",
null);
@@ -524,7 +507,6 @@ public class AuthenticationData implements IAuthData, Serializable {
return this.additionalBpks;
}
-
/**
* Set the encrypted SourceId for current authenticated user.
*
@@ -543,8 +525,6 @@ public class AuthenticationData implements IAuthData, Serializable {
this.encSourceIdType = encSourceIdType;
}
-
-
/**
* Add an additional bPK Pair bPK/bPKType into authdata.
*
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/EaafCoreSpringResourceProvider.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/EaafCoreSpringResourceProvider.java
index 74b6a0fb..3548684b 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/EaafCoreSpringResourceProvider.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/EaafCoreSpringResourceProvider.java
@@ -19,10 +19,11 @@
package at.gv.egiz.eaaf.core.impl.idp;
-import at.gv.egiz.components.spring.api.SpringResourceProvider;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
+import at.gv.egiz.components.spring.api.SpringResourceProvider;
+
public class EaafCoreSpringResourceProvider implements SpringResourceProvider {
@Override
@@ -41,7 +42,7 @@ public class EaafCoreSpringResourceProvider implements SpringResourceProvider {
final ClassPathResource sl20AuthConfig =
new ClassPathResource("/eaaf_core.beans.xml", EaafCoreSpringResourceProvider.class);
- return new Resource[] {sl20AuthConfig};
+ return new Resource[] { sl20AuthConfig };
}
}
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/EidAuthenticationData.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/EidAuthenticationData.java
index ea197478..5779f12b 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/EidAuthenticationData.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/EidAuthenticationData.java
@@ -2,22 +2,23 @@ package at.gv.egiz.eaaf.core.impl.idp;
import java.security.cert.CertificateEncodingException;
import java.security.cert.X509Certificate;
-import at.gv.egiz.eaaf.core.api.data.PVPAttributeDefinitions.EID_IDENTITY_STATUS_LEVEL_VALUES;
-import at.gv.egiz.eaaf.core.api.idp.IEidAuthData;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.lang.NonNull;
import org.springframework.util.Assert;
+import at.gv.egiz.eaaf.core.api.data.PvpAttributeDefinitions.EidIdentityStatusLevelValues;
+import at.gv.egiz.eaaf.core.api.idp.IEidAuthData;
+
public class EidAuthenticationData extends AuthenticationData implements IEidAuthData {
private static final Logger log = LoggerFactory.getLogger(EidAuthenticationData.class);
-
private static final long serialVersionUID = -7106142572904327044L;
private byte[] eidToken;
private byte[] signerCertificate;
- private EID_IDENTITY_STATUS_LEVEL_VALUES eidStatus;
+ private EidIdentityStatusLevelValues eidStatus;
private String vdaEndpointUrl;
private boolean useMandate = false;
@@ -32,7 +33,7 @@ public class EidAuthenticationData extends AuthenticationData implements IEidAut
}
@Override
- public EID_IDENTITY_STATUS_LEVEL_VALUES getEidStatus() {
+ public EidIdentityStatusLevelValues getEidStatus() {
return this.eidStatus;
}
@@ -53,7 +54,7 @@ public class EidAuthenticationData extends AuthenticationData implements IEidAut
*
* @param eidStatus Status of the E-ID
*/
- public void setEidStatus(final EID_IDENTITY_STATUS_LEVEL_VALUES eidStatus) {
+ public void setEidStatus(final EidIdentityStatusLevelValues eidStatus) {
this.eidStatus = eidStatus;
}
@@ -103,7 +104,6 @@ public class EidAuthenticationData extends AuthenticationData implements IEidAut
this.useMandate = useMandate;
}
-
/**
* Set URL of the EndPoint that was used on VDA for authentication.
*
@@ -121,5 +121,4 @@ public class EidAuthenticationData extends AuthenticationData implements IEidAut
}
}
-
}
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/AbstractAuthenticationManager.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/AbstractAuthenticationManager.java
index 241b43c9..d2365e4a 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/AbstractAuthenticationManager.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/AbstractAuthenticationManager.java
@@ -24,14 +24,22 @@ import java.security.cert.X509Certificate;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
+
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.text.StringEscapeUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+
import at.gv.egiz.eaaf.core.api.IRequest;
import at.gv.egiz.eaaf.core.api.IRequestStorage;
-import at.gv.egiz.eaaf.core.api.data.EAAFConstants;
+import at.gv.egiz.eaaf.core.api.data.EaafConstants;
import at.gv.egiz.eaaf.core.api.idp.IConfiguration;
-import at.gv.egiz.eaaf.core.api.idp.IspConfiguration;
+import at.gv.egiz.eaaf.core.api.idp.ISpConfiguration;
import at.gv.egiz.eaaf.core.api.idp.auth.IAuthenticationManager;
import at.gv.egiz.eaaf.core.api.idp.auth.ISsoManager;
import at.gv.egiz.eaaf.core.api.idp.process.ExecutionContext;
@@ -46,11 +54,6 @@ import at.gv.egiz.eaaf.core.impl.idp.auth.modules.ModuleRegistration;
import at.gv.egiz.eaaf.core.impl.idp.controller.protocols.RequestImpl;
import at.gv.egiz.eaaf.core.impl.idp.process.ExecutionContextImpl;
import at.gv.egiz.eaaf.core.impl.utils.TransactionIdUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.text.StringEscapeUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
public abstract class AbstractAuthenticationManager implements IAuthenticationManager {
private static final Logger log = LoggerFactory.getLogger(AbstractAuthenticationManager.class);
@@ -73,14 +76,14 @@ public abstract class AbstractAuthenticationManager implements IAuthenticationMa
protected IRevisionLogger revisionsLogger;
@Autowired(required = false)
protected ISsoManager ssoManager;
- @Autowired ModuleRegistration moduleRegistration;
+ @Autowired
+ ModuleRegistration moduleRegistration;
/*
* (non-Javadoc)
*
- * @see
- * at.gv.egiz.eaaf.core.impl.idp.auth.IAuthenticationManager#addParameterNameToWhiteList(java.lang
- * .String)
+ * @see at.gv.egiz.eaaf.core.impl.idp.auth.IAuthenticationManager#
+ * addParameterNameToWhiteList(java.lang .String)
*/
@Override
public final void addParameterNameToWhiteList(final String httpReqParam) {
@@ -93,9 +96,8 @@ public abstract class AbstractAuthenticationManager implements IAuthenticationMa
/*
* (non-Javadoc)
*
- * @see
- * at.gv.egiz.eaaf.core.impl.idp.auth.IAuthenticationManager#addHeaderNameToWhiteList(java.lang.
- * String)
+ * @see at.gv.egiz.eaaf.core.impl.idp.auth.IAuthenticationManager#
+ * addHeaderNameToWhiteList(java.lang. String)
*/
@Override
public final void addHeaderNameToWhiteList(final String httpReqParam) {
@@ -108,9 +110,8 @@ public abstract class AbstractAuthenticationManager implements IAuthenticationMa
/*
* (non-Javadoc)
*
- * @see
- * at.gv.egiz.eaaf.core.impl.idp.auth.IAuthenticationManager#addHeaderNameToWhiteList(java.lang.
- * String)
+ * @see at.gv.egiz.eaaf.core.impl.idp.auth.IAuthenticationManager#
+ * addHeaderNameToWhiteList(java.lang. String)
*/
@Override
public final boolean doAuthentication(final HttpServletRequest httpReq,
@@ -124,7 +125,7 @@ public abstract class AbstractAuthenticationManager implements IAuthenticationMa
}
// load OA configuration from pending request
- final IspConfiguration oaParam = pendingReq.getServiceProviderConfiguration();
+ final ISpConfiguration oaParam = pendingReq.getServiceProviderConfiguration();
// set logging context and log unique OA identifier to revision log
TransactionIdUtils.setServiceProviderId(oaParam.getUniqueIdentifier());
@@ -137,7 +138,6 @@ public abstract class AbstractAuthenticationManager implements IAuthenticationMa
throw new NoPassivAuthenticationException();
}
-
// check Single Sign-On functionality if SSOManager is available
boolean isValidSsoSession = false;
if (ssoManager != null) {
@@ -149,16 +149,15 @@ public abstract class AbstractAuthenticationManager implements IAuthenticationMa
isValidSsoSession = ssoManager.checkAndValidateSsoSession(pendingReq, httpReq, httpResp)
&& pendingReq.needSingleSignOnFunctionality();
-
}
// check if session is already authenticated
- // boolean isSessionAuthenticated = tryPerformAuthentication((RequestImpl) pendingReq,
+ // boolean isSessionAuthenticated = tryPerformAuthentication((RequestImpl)
+ // pendingReq,
// isValidSSOSession);
// boolean isSessionAuthenticated = isValidSSOSession &&
// StringUtils.isNotEmpty(pendingReq.getSSOSessionIdentifier());
-
// force new authentication authentication process
if (pendingReq.forceAuth()) {
startAuthenticationProcess(httpReq, (RequestImpl) pendingReq);
@@ -169,7 +168,6 @@ public abstract class AbstractAuthenticationManager implements IAuthenticationMa
sendSingleSignOnConsentsEvaluation((RequestImpl) pendingReq);
return false;
-
} else if (pendingReq.isPassiv()) {
if (isValidSsoSession
&& StringUtils.isNotEmpty(pendingReq.getInternalSsoSessionIdentifier())) {
@@ -207,7 +205,6 @@ public abstract class AbstractAuthenticationManager implements IAuthenticationMa
log.debug("Close session. Remove pending request ... ");
requestStoreage.removePendingRequest(pendingReq.getPendingRequestId());
-
if (ssoManager != null) {
try {
log.trace("'SSOManager' active. Search for active SSO sessions ... ");
@@ -229,11 +226,11 @@ public abstract class AbstractAuthenticationManager implements IAuthenticationMa
/**
* Populate process execution context and start process engine.
*
- * @param httpReq http request
+ * @param httpReq http request
* @param pendingReq current pending request
* @throws ServletException In case of a servlet error
- * @throws IOException In case of an IO error
- * @throws EaafException In case of EAAF processing error
+ * @throws IOException In case of an IO error
+ * @throws EaafException In case of EAAF processing error
*/
private void startAuthenticationProcess(final HttpServletRequest httpReq,
final RequestImpl pendingReq) throws EaafException {
@@ -245,15 +242,15 @@ public abstract class AbstractAuthenticationManager implements IAuthenticationMa
final ExecutionContext executionContext = new ExecutionContextImpl();
// set oaIdentifeir
- executionContext.put(EAAFConstants.PROCESS_ENGINE_SERVICE_PROVIDER_ENTITYID,
+ executionContext.put(EaafConstants.PROCESS_ENGINE_SERVICE_PROVIDER_ENTITYID,
pendingReq.getServiceProviderConfiguration().getUniqueIdentifier());
// add X509 SSL client certificate if exist
if (httpReq.getAttribute("javax.servlet.request.X509Certificate") != null) {
log.debug("Find SSL-client-certificate on request --> Add it to context");
- executionContext.put(EAAFConstants.PROCESS_ENGINE_SSL_CLIENT_CERTIFICATE,
+ executionContext.put(EaafConstants.PROCESS_ENGINE_SSL_CLIENT_CERTIFICATE,
(X509Certificate[]) httpReq.getAttribute("javax.servlet.request.X509Certificate"));
- pendingReq.setRawDataToTransaction(EAAFConstants.PROCESS_ENGINE_SSL_CLIENT_CERTIFICATE,
+ pendingReq.setRawDataToTransaction(EaafConstants.PROCESS_ENGINE_SSL_CLIENT_CERTIFICATE,
httpReq.getAttribute("javax.servlet.request.X509Certificate"));
}
@@ -287,8 +284,6 @@ public abstract class AbstractAuthenticationManager implements IAuthenticationMa
}
}
-
-
// populate more IDP specific information to execution context
populateExecutionContext(executionContext, pendingReq, httpReq);
@@ -301,8 +296,8 @@ public abstract class AbstractAuthenticationManager implements IAuthenticationMa
* Add additional parameters into context of process-engine.
*
* @param executionContext Process-engine context
- * @param pendingReq Current pending request
- * @param httpReq http request
+ * @param pendingReq Current pending request
+ * @param httpReq http request
*
* @throws EaafException In case of an error
*/
@@ -314,8 +309,8 @@ public abstract class AbstractAuthenticationManager implements IAuthenticationMa
*
* @param pendingReq current pending request
* @throws ServletException In case of a servlet error
- * @throws IOException In case of an IO error
- * @throws EaafException In case of a EAAF processing error
+ * @throws IOException In case of an IO error
+ * @throws EaafException In case of a EAAF processing error
*/
private void sendSingleSignOnConsentsEvaluation(final RequestImpl pendingReq) throws EaafException {
@@ -333,11 +328,10 @@ public abstract class AbstractAuthenticationManager implements IAuthenticationMa
}
-
/**
* Select a specific process and starting process engine.
*
- * @param pendingReq current pending request
+ * @param pendingReq current pending request
* @param executionContext current context for process-engine
* @throws EaafException In case of an process-engine error
*/
@@ -345,7 +339,7 @@ public abstract class AbstractAuthenticationManager implements IAuthenticationMa
final ExecutionContext executionContext) throws EaafException {
try {
// put pending-request ID on execurtionContext
- executionContext.put(EAAFConstants.PROCESS_ENGINE_PENDINGREQUESTID,
+ executionContext.put(EaafConstants.PROCESS_ENGINE_PENDINGREQUESTID,
pendingReq.getPendingRequestId());
// create process instance
@@ -354,7 +348,7 @@ public abstract class AbstractAuthenticationManager implements IAuthenticationMa
if (processDefinitionId == null) {
log.warn("No suitable process found for PendingReqId " + pendingReq.getPendingRequestId());
- throw new EaafException("process.02", new Object[] {pendingReq.getPendingRequestId()});
+ throw new EaafException("process.02", new Object[] { pendingReq.getPendingRequestId() });
}
@@ -383,7 +377,7 @@ public abstract class AbstractAuthenticationManager implements IAuthenticationMa
}
throw new EaafException("process.01",
- new Object[] {pendingReq.getProcessInstanceId(), pendingReq.getPendingRequestId()}, e);
+ new Object[] { pendingReq.getProcessInstanceId(), pendingReq.getPendingRequestId() }, e);
}
}
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/RequestStorage.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/RequestStorage.java
index 1afa879f..0834aa7c 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/RequestStorage.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/RequestStorage.java
@@ -19,6 +19,12 @@
package at.gv.egiz.eaaf.core.impl.idp.auth;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
import at.gv.egiz.eaaf.core.api.IRequest;
import at.gv.egiz.eaaf.core.api.IRequestStorage;
import at.gv.egiz.eaaf.core.api.idp.process.ProcessInstanceStoreDao;
@@ -29,11 +35,6 @@ import at.gv.egiz.eaaf.core.exceptions.EaafStorageException;
import at.gv.egiz.eaaf.core.exceptions.PendingReqIdValidationException;
import at.gv.egiz.eaaf.core.impl.idp.controller.protocols.RequestImpl;
import at.gv.egiz.eaaf.core.impl.utils.TransactionIdUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
@Service("RequestStorage")
public class RequestStorage implements IRequestStorage {
@@ -155,8 +156,8 @@ public class RequestStorage implements IRequestStorage {
* (non-Javadoc)
*
* @see
- * at.gv.egovernment.moa.id.storage.IRequestStorage#changePendingRequestID(at.gv.egovernment.moa.
- * id.moduls.IRequest)
+ * at.gv.egovernment.moa.id.storage.IRequestStorage#changePendingRequestID(at.gv
+ * .egovernment.moa. id.moduls.IRequest)
*/
@Override
public String changePendingRequestID(final IRequest pendingRequest) throws EaafException {
@@ -169,13 +170,13 @@ public class RequestStorage implements IRequestStorage {
.getPendingRequestIdWithOutChecks(pendingRequest.getPendingRequestId());
} catch (final PendingReqIdValidationException e) {
- // it's no problem, because it must be valid before when pending-request was loaded and we
+ // it's no problem, because it must be valid before when pending-request was
+ // loaded and we
// change it now
oldInternalRequestID = e.getInvalidInternalPendingReqId();
}
-
// generate new pendingReqId and get internalPendingReqId
final String newRequestID = pendingReqIdGenerationStrategy.generateExternalPendingRequestId();
log.debug("Change pendingRequestID from " + pendingRequest.getPendingRequestId() + " to "
@@ -189,11 +190,10 @@ public class RequestStorage implements IRequestStorage {
} catch (final PendingReqIdValidationException e) {
throw new EaafException("internal.99",
- new Object[] {"Generate invalid pendingRequestId. Something looks WRONG"}, e);
+ new Object[] { "Generate invalid pendingRequestId. Something looks WRONG" }, e);
}
-
// change Key in cache
transactionStorage.changeKey(oldInternalRequestID, newInternalPendingRequestId,
pendingRequest);
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/builder/AbstractAuthenticationDataBuilder.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/builder/AbstractAuthenticationDataBuilder.java
index b12658f5..f5c687f1 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/builder/AbstractAuthenticationDataBuilder.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/builder/AbstractAuthenticationDataBuilder.java
@@ -25,14 +25,26 @@ import java.io.InputStream;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Map.Entry;
+
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.lang.NonNull;
+import org.springframework.util.Assert;
+import org.springframework.util.Base64Utils;
+import org.w3c.dom.DOMException;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
import at.gv.egiz.eaaf.core.api.IRequest;
-import at.gv.egiz.eaaf.core.api.data.EAAFConstants;
-import at.gv.egiz.eaaf.core.api.data.ExtendedPVPAttributeDefinitions;
-import at.gv.egiz.eaaf.core.api.data.PVPAttributeDefinitions;
+import at.gv.egiz.eaaf.core.api.data.EaafConstants;
+import at.gv.egiz.eaaf.core.api.data.ExtendedPvpAttributeDefinitions;
+import at.gv.egiz.eaaf.core.api.data.PvpAttributeDefinitions;
import at.gv.egiz.eaaf.core.api.idp.IAuthData;
import at.gv.egiz.eaaf.core.api.idp.IAuthenticationDataBuilder;
import at.gv.egiz.eaaf.core.api.idp.IConfigurationWithSP;
-import at.gv.egiz.eaaf.core.api.idp.IspConfiguration;
+import at.gv.egiz.eaaf.core.api.idp.ISpConfiguration;
import at.gv.egiz.eaaf.core.api.idp.auth.data.IAuthProcessDataContainer;
import at.gv.egiz.eaaf.core.api.idp.auth.data.IIdentityLink;
import at.gv.egiz.eaaf.core.exceptions.EaafAuthenticationException;
@@ -47,17 +59,6 @@ import at.gv.egiz.eaaf.core.impl.idp.AuthenticationData;
import at.gv.egiz.eaaf.core.impl.idp.auth.data.AuthProcessDataWrapper;
import at.gv.egiz.eaaf.core.impl.idp.auth.data.SimpleIdentityLinkAssertionParser;
import at.gv.egiz.eaaf.core.impl.utils.XPathUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.lang.NonNull;
-import org.springframework.util.Assert;
-import org.springframework.util.Base64Utils;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
public abstract class AbstractAuthenticationDataBuilder implements IAuthenticationDataBuilder {
private static final Logger log =
@@ -83,7 +84,7 @@ public abstract class AbstractAuthenticationDataBuilder implements IAuthenticati
pendingReq.getSessionData(AuthProcessDataWrapper.class);
try {
- if (authProcessData.isEIDProcess()) {
+ if (authProcessData.isEidProcess()) {
log.debug("Building AuthData from new E-ID information ... ");
authData = getAuthDataInstance(pendingReq);
Assert.notNull(authData, "AuthData is null");
@@ -107,7 +108,7 @@ public abstract class AbstractAuthenticationDataBuilder implements IAuthenticati
} catch (XPathException | DOMException | EaafException e) {
log.warn("Can not build authentication data from auth. process information");
- throw new EaafAuthenticationException("builder.11", new Object[] {e.getMessage()}, e);
+ throw new EaafAuthenticationException("builder.11", new Object[] { e.getMessage() }, e);
}
@@ -127,8 +128,8 @@ public abstract class AbstractAuthenticationDataBuilder implements IAuthenticati
protected abstract IAuthData getAuthDataInstance(IRequest pendingReq) throws EaafException;
/**
- * Build service-specific AuthData by using information from E-ID This builder uses vSZ, MDS and
- * Consent as input information.
+ * Build service-specific AuthData by using information from E-ID This builder
+ * uses vSZ, MDS and Consent as input information.
*
* @param pendingReq current pendingRequest
* @return {@link IAuthData} but never <code>null</code>
@@ -137,13 +138,13 @@ public abstract class AbstractAuthenticationDataBuilder implements IAuthenticati
protected abstract void buildServiceSpecificAuthenticationData(IAuthData authData,
IRequest pendingReq) throws EaafException;
-
/**
* Add generic E-ID information into already existing AuthData.
*
- * @param authData AuthData object
- * @param authProcessData Authentication information holder from current pending request
- * @param pendingReq current pending request
+ * @param authData AuthData object
+ * @param authProcessData Authentication information holder from current pending
+ * request
+ * @param pendingReq current pending request
*/
private void buildInternalAuthDataGeneric(@NonNull final IAuthData authData,
@NonNull final IAuthProcessDataContainer authProcessData,
@@ -164,7 +165,8 @@ public abstract class AbstractAuthenticationDataBuilder implements IAuthenticati
// TODO: check if it is needed
// if (authProcessData.getGenericSessionDataStorage() != null &&
// !authProcessData.getGenericSessionDataStorage().isEmpty())
- // includedToGenericAuthData = authProcessData.getGenericSessionDataStorage().keySet();
+ // includedToGenericAuthData =
+ // authProcessData.getGenericSessionDataStorage().keySet();
// else
includedToGenericAuthData = new ArrayList<>();
@@ -178,31 +180,28 @@ public abstract class AbstractAuthenticationDataBuilder implements IAuthenticati
// ####################################################
// set MDS and vSZ
internalAuthData.setFamilyName(authProcessData
- .getGenericDataFromSession(PVPAttributeDefinitions.PRINCIPAL_NAME_NAME, String.class));
+ .getGenericDataFromSession(PvpAttributeDefinitions.PRINCIPAL_NAME_NAME, String.class));
internalAuthData.setGivenName(authProcessData
- .getGenericDataFromSession(PVPAttributeDefinitions.GIVEN_NAME_NAME, String.class));
+ .getGenericDataFromSession(PvpAttributeDefinitions.GIVEN_NAME_NAME, String.class));
internalAuthData.setDateOfBirth(authProcessData
- .getGenericDataFromSession(PVPAttributeDefinitions.BIRTHDATE_NAME, String.class));
+ .getGenericDataFromSession(PvpAttributeDefinitions.BIRTHDATE_NAME, String.class));
internalAuthData.setEncSourceId(authProcessData.getGenericDataFromSession(
- ExtendedPVPAttributeDefinitions.EID_ENCRYPTED_SOURCEID_NAME, String.class));
+ ExtendedPvpAttributeDefinitions.EID_ENCRYPTED_SOURCEID_NAME, String.class));
internalAuthData.setEncSourceIdType(authProcessData.getGenericDataFromSession(
- ExtendedPVPAttributeDefinitions.EID_ENCRYPTED_SOURCEID_TYPE_NAME, String.class));
+ ExtendedPvpAttributeDefinitions.EID_ENCRYPTED_SOURCEID_TYPE_NAME, String.class));
// ####################################################
// set QAA level
setQaaLevel(internalAuthData, authProcessData);
-
// ####################################################
// set isForeigner flag
setFlagForeigner(internalAuthData, authProcessData);
-
// ####################################################
// set citizen country-code
setCitizenCountryCode(internalAuthData, authProcessData);
-
// set generic authProcessData to authdata
for (final Entry<String, Object> el : authProcessData.getGenericSessionDataStorage()
.entrySet()) {
@@ -220,33 +219,33 @@ public abstract class AbstractAuthenticationDataBuilder implements IAuthenticati
}
-
}
/**
* Parse citzen country-code into AuthData.
*
- * @param authData Current authentication data
- * @param authProcessData Authentication information holder from current pending request
+ * @param authData Current authentication data
+ * @param authProcessData Authentication information holder from current pending
+ * request
*/
private void setCitizenCountryCode(final AuthenticationData authData,
final IAuthProcessDataContainer authProcessData) {
- includedToGenericAuthData.remove(PVPAttributeDefinitions.EID_ISSUING_NATION_NAME);
+ includedToGenericAuthData.remove(PvpAttributeDefinitions.EID_ISSUING_NATION_NAME);
final String pvpCccAttr = authProcessData
- .getGenericDataFromSession(PVPAttributeDefinitions.EID_ISSUING_NATION_NAME, String.class);
+ .getGenericDataFromSession(PvpAttributeDefinitions.EID_ISSUING_NATION_NAME, String.class);
if (StringUtils.isNotEmpty(pvpCccAttr)) {
authData.setCiticenCountryCode(pvpCccAttr);
- log.debug("Find PVP-Attr: " + PVPAttributeDefinitions.EID_ISSUING_NATION_FRIENDLY_NAME);
+ log.debug("Find PVP-Attr: " + PvpAttributeDefinitions.EID_ISSUING_NATION_FRIENDLY_NAME);
} else {
if (authData.isForeigner()) {
- //TODO:
+ // TODO:
log.warn("Foreign citizen country NOT set yet!");
} else {
authData.setCiticenCountryCode(basicConfig.getBasicConfiguration(
IConfigurationWithSP.CONFIG_PROPS_AUTH_DEFAULT_COUNTRYCODE,
- EAAFConstants.COUNTRYCODE_AUSTRIA));
+ EaafConstants.COUNTRYCODE_AUSTRIA));
}
}
@@ -256,28 +255,29 @@ public abstract class AbstractAuthenticationDataBuilder implements IAuthenticati
/**
* parse QAA Level into AuthData.
*
- * @param authData current authentication data
- * @param authProcessData Authentication information holder from current pending request
- * @param pendingReq current pending request
+ * @param authData current authentication data
+ * @param authProcessData Authentication information holder from current pending
+ * request
+ * @param pendingReq current pending request
*/
private void setQaaLevel(@NonNull final AuthenticationData authData,
@NonNull final IAuthProcessDataContainer authProcessData) {
- includedToGenericAuthData.remove(PVPAttributeDefinitions.EID_CITIZEN_EIDAS_QAA_LEVEL_NAME);
+ includedToGenericAuthData.remove(PvpAttributeDefinitions.EID_CITIZEN_EIDAS_QAA_LEVEL_NAME);
String currentLoA = null;
- if (StringUtils.isNotEmpty(authProcessData.getQAALevel())) {
- currentLoA = authProcessData.getQAALevel();
+ if (StringUtils.isNotEmpty(authProcessData.getQaaLevel())) {
+ currentLoA = authProcessData.getQaaLevel();
} else {
currentLoA = authProcessData.getGenericDataFromSession(
- PVPAttributeDefinitions.EID_CITIZEN_EIDAS_QAA_LEVEL_NAME, String.class);
+ PvpAttributeDefinitions.EID_CITIZEN_EIDAS_QAA_LEVEL_NAME, String.class);
if (StringUtils.isNotEmpty(currentLoA)) {
log.debug(
- "Find PVP-Attr '" + PVPAttributeDefinitions.EID_CITIZEN_EIDAS_QAA_LEVEL_FRIENDLY_NAME
+ "Find PVP-Attr '" + PvpAttributeDefinitions.EID_CITIZEN_EIDAS_QAA_LEVEL_FRIENDLY_NAME
+ "':" + currentLoA + " --> Parse QAA-Level from that attribute.");
}
}
if (StringUtils.isNotEmpty(currentLoA)) {
- if (currentLoA.startsWith(EAAFConstants.EIDAS_LOA_PREFIX)) {
+ if (currentLoA.startsWith(EaafConstants.EIDAS_LOA_PREFIX)) {
authData.setEidasLoa(currentLoA);
} else {
@@ -285,20 +285,19 @@ public abstract class AbstractAuthenticationDataBuilder implements IAuthenticati
}
} else {
- log.info("No QAA level found. Set to default level " + EAAFConstants.EIDAS_LOA_LOW);
- authData.setEidasLoa(EAAFConstants.EIDAS_LOA_LOW);
+ log.info("No QAA level found. Set to default level " + EaafConstants.EIDAS_LOA_LOW);
+ authData.setEidasLoa(EaafConstants.EIDAS_LOA_LOW);
}
}
-
private void setFlagForeigner(final AuthenticationData authData,
final IAuthProcessDataContainer authProcessData) {
// TODO: change to new eIDAS-token attribute identifier
if (authProcessData
- .getGenericDataFromSession(PVPAttributeDefinitions.EID_STORK_TOKEN_NAME) != null) {
- log.debug("Find PVP-Attr: " + PVPAttributeDefinitions.EID_STORK_TOKEN_FRIENDLY_NAME
+ .getGenericDataFromSession(PvpAttributeDefinitions.EID_STORK_TOKEN_NAME) != null) {
+ log.debug("Find PVP-Attr: " + PvpAttributeDefinitions.EID_STORK_TOKEN_FRIENDLY_NAME
+ " --> Set 'isForeigner' flag to TRUE");
authData.setForeigner(true);
@@ -309,8 +308,9 @@ public abstract class AbstractAuthenticationDataBuilder implements IAuthenticati
}
/**
- * Build authentication data by using information from citizen-card or mobile-phone signature This
- * builder uses IdentityLink, AuthBlock, full MIS mandate as input information.
+ * Build authentication data by using information from citizen-card or
+ * mobile-phone signature This builder uses IdentityLink, AuthBlock, full MIS
+ * mandate as input information.
*
* @param pendingReq current pendingRequest
* @return {@link IAuthData} but never <code>null</code>
@@ -340,7 +340,6 @@ public abstract class AbstractAuthenticationDataBuilder implements IAuthenticati
authData.setBaseIdTransferRestrication(
pendingReq.getServiceProviderConfiguration().hasBaseIdTransferRestriction());
-
// ####################################################
// parse user info's from identityLink
IIdentityLink idlFromPvpAttr = null;
@@ -351,10 +350,10 @@ public abstract class AbstractAuthenticationDataBuilder implements IAuthenticati
} else {
// identityLink is not direct in MOASession
final String pvpAttrIdl = authProcessData
- .getGenericDataFromSession(PVPAttributeDefinitions.EID_IDENTITY_LINK_NAME, String.class);
+ .getGenericDataFromSession(PvpAttributeDefinitions.EID_IDENTITY_LINK_NAME, String.class);
// find PVP-Attr. which contains the IdentityLink
if (StringUtils.isNotEmpty(pvpAttrIdl)) {
- log.debug("Find PVP-Attr: " + PVPAttributeDefinitions.EID_IDENTITY_LINK_FRIENDLY_NAME
+ log.debug("Find PVP-Attr: " + PvpAttributeDefinitions.EID_IDENTITY_LINK_FRIENDLY_NAME
+ " --> Parse basic user info's from that attribute.");
InputStream idlStream = null;
try {
@@ -373,7 +372,7 @@ public abstract class AbstractAuthenticationDataBuilder implements IAuthenticati
} finally {
try {
- includedToGenericAuthData.remove(PVPAttributeDefinitions.EID_IDENTITY_LINK_NAME);
+ includedToGenericAuthData.remove(PvpAttributeDefinitions.EID_IDENTITY_LINK_NAME);
if (idlStream != null) {
idlStream.close();
}
@@ -390,28 +389,28 @@ public abstract class AbstractAuthenticationDataBuilder implements IAuthenticati
log.debug(
"No IdentityLink found or not parseable --> Parse basic user info's from single PVP-Attributes.");
authData.setFamilyName(authProcessData
- .getGenericDataFromSession(PVPAttributeDefinitions.PRINCIPAL_NAME_NAME, String.class));
+ .getGenericDataFromSession(PvpAttributeDefinitions.PRINCIPAL_NAME_NAME, String.class));
authData.setGivenName(authProcessData
- .getGenericDataFromSession(PVPAttributeDefinitions.GIVEN_NAME_NAME, String.class));
+ .getGenericDataFromSession(PvpAttributeDefinitions.GIVEN_NAME_NAME, String.class));
authData.setDateOfBirth(authProcessData
- .getGenericDataFromSession(PVPAttributeDefinitions.BIRTHDATE_NAME, String.class));
+ .getGenericDataFromSession(PvpAttributeDefinitions.BIRTHDATE_NAME, String.class));
authData.setIdentificationValue(authProcessData
- .getGenericDataFromSession(PVPAttributeDefinitions.EID_SOURCE_PIN_NAME, String.class));
+ .getGenericDataFromSession(PvpAttributeDefinitions.EID_SOURCE_PIN_NAME, String.class));
authData.setIdentificationType(authProcessData.getGenericDataFromSession(
- PVPAttributeDefinitions.EID_SOURCE_PIN_TYPE_NAME, String.class));
+ PvpAttributeDefinitions.EID_SOURCE_PIN_TYPE_NAME, String.class));
// remove corresponding keys from genericSessionData if exists
- includedToGenericAuthData.remove(PVPAttributeDefinitions.PRINCIPAL_NAME_NAME);
- includedToGenericAuthData.remove(PVPAttributeDefinitions.GIVEN_NAME_NAME);
- includedToGenericAuthData.remove(PVPAttributeDefinitions.BIRTHDATE_NAME);
- includedToGenericAuthData.remove(PVPAttributeDefinitions.EID_SOURCE_PIN_NAME);
- includedToGenericAuthData.remove(PVPAttributeDefinitions.EID_SOURCE_PIN_TYPE_NAME);
+ includedToGenericAuthData.remove(PvpAttributeDefinitions.PRINCIPAL_NAME_NAME);
+ includedToGenericAuthData.remove(PvpAttributeDefinitions.GIVEN_NAME_NAME);
+ includedToGenericAuthData.remove(PvpAttributeDefinitions.BIRTHDATE_NAME);
+ includedToGenericAuthData.remove(PvpAttributeDefinitions.EID_SOURCE_PIN_NAME);
+ includedToGenericAuthData.remove(PvpAttributeDefinitions.EID_SOURCE_PIN_TYPE_NAME);
}
}
if (authData.getIdentificationType() != null
- && !authData.getIdentificationType().equals(EAAFConstants.URN_PREFIX_BASEID)) {
+ && !authData.getIdentificationType().equals(EaafConstants.URN_PREFIX_BASEID)) {
log.trace("IdentificationType is not a baseID --> clear it. ");
authData.setBpk(authData.getIdentificationValue());
authData.setBpkType(authData.getIdentificationType());
@@ -420,22 +419,18 @@ public abstract class AbstractAuthenticationDataBuilder implements IAuthenticati
authData.setIdentificationType(null);
}
-
// ####################################################
// set QAA level
setQaaLevel(authData, authProcessData);
-
// ####################################################
// set isForeigner flag
setFlagForeigner(authData, authProcessData);
-
// ####################################################
// set citizen country-code
setCitizenCountryCode(authData, authProcessData);
-
// ####################################################
// set bPK and IdentityLink
final String pvpBpkValue = getBpkValueFromPvpAttribute(authProcessData);
@@ -449,12 +444,12 @@ public abstract class AbstractAuthenticationDataBuilder implements IAuthenticati
log.info(
"Can not build authData, because moaSession include no bPK, encrypted bPK or baseID");
throw new EaafBuilderException("builder.08",
- new Object[] {"No " + PVPAttributeDefinitions.BPK_FRIENDLY_NAME + " or "
- + PVPAttributeDefinitions.EID_SOURCE_PIN_FRIENDLY_NAME + " or "
- + PVPAttributeDefinitions.ENC_BPK_LIST_FRIENDLY_NAME},
- "No " + PVPAttributeDefinitions.BPK_FRIENDLY_NAME + " or "
- + PVPAttributeDefinitions.EID_SOURCE_PIN_FRIENDLY_NAME + " or "
- + PVPAttributeDefinitions.ENC_BPK_LIST_FRIENDLY_NAME);
+ new Object[] { "No " + PvpAttributeDefinitions.BPK_FRIENDLY_NAME + " or "
+ + PvpAttributeDefinitions.EID_SOURCE_PIN_FRIENDLY_NAME + " or "
+ + PvpAttributeDefinitions.ENC_BPK_LIST_FRIENDLY_NAME },
+ "No " + PvpAttributeDefinitions.BPK_FRIENDLY_NAME + " or "
+ + PvpAttributeDefinitions.EID_SOURCE_PIN_FRIENDLY_NAME + " or "
+ + PvpAttributeDefinitions.ENC_BPK_LIST_FRIENDLY_NAME);
}
@@ -513,10 +508,10 @@ public abstract class AbstractAuthenticationDataBuilder implements IAuthenticati
"Can not build authData, because moaSession include no valid bPK, encrypted bPK or sourceID");
throw new EaafBuilderException("builder.13",
new Object[] {
- pendingReq.getServiceProviderConfiguration().getAreaSpecificTargetIdentifier()},
- "No valid " + PVPAttributeDefinitions.BPK_FRIENDLY_NAME + " or "
- + PVPAttributeDefinitions.EID_SOURCE_PIN_FRIENDLY_NAME + " or "
- + PVPAttributeDefinitions.ENC_BPK_LIST_FRIENDLY_NAME);
+ pendingReq.getServiceProviderConfiguration().getAreaSpecificTargetIdentifier() },
+ "No valid " + PvpAttributeDefinitions.BPK_FRIENDLY_NAME + " or "
+ + PvpAttributeDefinitions.EID_SOURCE_PIN_FRIENDLY_NAME + " or "
+ + PvpAttributeDefinitions.ENC_BPK_LIST_FRIENDLY_NAME);
}
}
@@ -536,7 +531,7 @@ public abstract class AbstractAuthenticationDataBuilder implements IAuthenticati
@Deprecated
protected abstract Pair<String, String> getEncryptedBpkFromPvpAttribute(
IAuthProcessDataContainer authProcessDataContainer, AuthenticationData authData,
- IspConfiguration spConfig) throws EaafBuilderException;
+ ISpConfiguration spConfig) throws EaafBuilderException;
// request baseId from SRZ
@Deprecated
@@ -546,13 +541,13 @@ public abstract class AbstractAuthenticationDataBuilder implements IAuthenticati
@Deprecated
protected Pair<String, String> buildOAspecificbPK(final IRequest pendingReq,
final AuthenticationData authData) throws EaafBuilderException {
- final IspConfiguration oaParam = pendingReq.getServiceProviderConfiguration();
+ final ISpConfiguration oaParam = pendingReq.getServiceProviderConfiguration();
final String baseID = authData.getIdentificationValue();
final String baseIdType = authData.getIdentificationType();
Pair<String, String> sectorSpecId = null;
- if (EAAFConstants.URN_PREFIX_BASEID.equals(baseIdType)) {
+ if (EaafConstants.URN_PREFIX_BASEID.equals(baseIdType)) {
// SAML1 legacy target parameter work-around
final String spTargetId = oaParam.getAreaSpecificTargetIdentifier();
log.debug("Use OA target identifier '" + spTargetId + "' from configuration");
@@ -575,7 +570,7 @@ public abstract class AbstractAuthenticationDataBuilder implements IAuthenticati
}
@Deprecated
- protected IIdentityLink buildOAspecificIdentityLink(final IspConfiguration spConfig,
+ protected IIdentityLink buildOAspecificIdentityLink(final ISpConfiguration spConfig,
final IIdentityLink idl, final String bpk, final String bpkType)
throws EaafConfigurationException, XPathException, DOMException, EaafParserException {
if (spConfig.hasBaseIdTransferRestriction()) {
@@ -607,10 +602,11 @@ public abstract class AbstractAuthenticationDataBuilder implements IAuthenticati
*
* @param oaParam Service-Provider configuration, never null
* @param bpkType bPK-Type to check
- * @return true, if bPK-Type matchs to Service-Provider configuration, otherwise false
+ * @return true, if bPK-Type matchs to Service-Provider configuration, otherwise
+ * false
*/
@Deprecated
- protected boolean matchsReceivedBpkToOnlineApplication(final IspConfiguration oaParam,
+ protected boolean matchsReceivedBpkToOnlineApplication(final ISpConfiguration oaParam,
final String bpkType) {
return oaParam.getAreaSpecificTargetIdentifier().equals(bpkType);
@@ -619,9 +615,10 @@ public abstract class AbstractAuthenticationDataBuilder implements IAuthenticati
/**
* Parse information from an IdentityLink into AuthData object.
*
- * @param authData current authentication data
- * @param identityLink User's identityLink
- * @param includedGenericSessionData Generic AuthSession Data from PVP attributes
+ * @param authData current authentication data
+ * @param identityLink User's identityLink
+ * @param includedGenericSessionData Generic AuthSession Data from PVP
+ * attributes
*/
@Deprecated
private void parseBasicUserInfosFromIdl(final AuthenticationData authData,
@@ -631,10 +628,11 @@ public abstract class AbstractAuthenticationDataBuilder implements IAuthenticati
/*
* GivenNames and FamilyNames with simple Apostrophe were escaped with &#39; in
- * IdentityLinkParser since 5 years. This feature was bug-fix for an SL1.0 AuthBlock problem.
- * However, the authentication attributes (SAML2, eIDAS, OpenID-Connect) also includes this
- * escaped values, but there it is not neccesary. We fix this problem in 3.4.3, but the fix can
- * be deactivated for dependency reasons.
+ * IdentityLinkParser since 5 years. This feature was bug-fix for an SL1.0
+ * AuthBlock problem. However, the authentication attributes (SAML2, eIDAS,
+ * OpenID-Connect) also includes this escaped values, but there it is not
+ * neccesary. We fix this problem in 3.4.3, but the fix can be deactivated for
+ * dependency reasons.
*/
if (basicConfig.getBasicConfigurationBoolean(CONFIG_PROP_ENABLE_IDL_ATTRIBUTE_ESCAPEING,
false)) {
@@ -649,35 +647,37 @@ public abstract class AbstractAuthenticationDataBuilder implements IAuthenticati
authData.setDateOfBirth(identityLink.getDateOfBirth());
-
// remove corresponding keys from genericSessionData if exists
- includedGenericSessionData.remove(PVPAttributeDefinitions.PRINCIPAL_NAME_NAME);
- includedGenericSessionData.remove(PVPAttributeDefinitions.GIVEN_NAME_NAME);
- includedGenericSessionData.remove(PVPAttributeDefinitions.BIRTHDATE_NAME);
- includedGenericSessionData.remove(PVPAttributeDefinitions.EID_SOURCE_PIN_NAME);
- includedGenericSessionData.remove(PVPAttributeDefinitions.EID_SOURCE_PIN_TYPE_NAME);
+ includedGenericSessionData.remove(PvpAttributeDefinitions.PRINCIPAL_NAME_NAME);
+ includedGenericSessionData.remove(PvpAttributeDefinitions.GIVEN_NAME_NAME);
+ includedGenericSessionData.remove(PvpAttributeDefinitions.BIRTHDATE_NAME);
+ includedGenericSessionData.remove(PvpAttributeDefinitions.EID_SOURCE_PIN_NAME);
+ includedGenericSessionData.remove(PvpAttributeDefinitions.EID_SOURCE_PIN_TYPE_NAME);
}
/**
- * Get bPK from PVP Attribute 'BPK_NAME', which could be exist in MOASession as 'GenericData'. <br>
+ * Get bPK from PVP Attribute 'BPK_NAME', which could be exist in MOASession as
+ * 'GenericData'. <br>
*
* <pre>
* <code>session.getGenericDataFromSession(PVPConstants.BPK_NAME, String.class)</code>
* </pre>
*
* @param session MOASession, but never null
- * @return bPK, which was received by PVP-Attribute, or <code>null</code> if no attribute exists
+ * @return bPK, which was received by PVP-Attribute, or <code>null</code> if no
+ * attribute exists
*/
@Deprecated
private String getBpkValueFromPvpAttribute(final IAuthProcessDataContainer session) {
String pvpBpkValueAttr =
- session.getGenericDataFromSession(PVPAttributeDefinitions.BPK_NAME, String.class);
+ session.getGenericDataFromSession(PvpAttributeDefinitions.BPK_NAME, String.class);
if (StringUtils.isNotEmpty(pvpBpkValueAttr)) {
- // fix a wrong bPK-value prefix, which was used in some PVP Standardportal implementations
+ // fix a wrong bPK-value prefix, which was used in some PVP Standardportal
+ // implementations
if (pvpBpkValueAttr.startsWith("bPK:")) {
- log.warn("Attribute " + PVPAttributeDefinitions.BPK_NAME
+ log.warn("Attribute " + PvpAttributeDefinitions.BPK_NAME
+ " contains a not standardize prefix! Staring attribute value correction process ...");
pvpBpkValueAttr = pvpBpkValueAttr.substring("bPK:".length());
@@ -685,18 +685,16 @@ public abstract class AbstractAuthenticationDataBuilder implements IAuthenticati
final String[] spitted = pvpBpkValueAttr.split(":");
if (spitted.length == 2) {
- log.debug("Find PVP-Attr: " + PVPAttributeDefinitions.BPK_FRIENDLY_NAME);
+ log.debug("Find PVP-Attr: " + PvpAttributeDefinitions.BPK_FRIENDLY_NAME);
return spitted[1];
-
-
} else if (spitted.length > 2) {
- log.warn("Attribute " + PVPAttributeDefinitions.BPK_NAME
+ log.warn("Attribute " + PvpAttributeDefinitions.BPK_NAME
+ " has a wrong encoding and can NOT be USED!" + " Value:" + pvpBpkValueAttr);
return null;
} else {
- log.debug("Find PVP-Attr: " + PVPAttributeDefinitions.BPK_FRIENDLY_NAME
+ log.debug("Find PVP-Attr: " + PvpAttributeDefinitions.BPK_FRIENDLY_NAME
+ " without prefix. Use it as it is");
return spitted[0];
@@ -708,49 +706,52 @@ public abstract class AbstractAuthenticationDataBuilder implements IAuthenticati
}
/**
- * Get bPK-Type from PVP Attribute 'EID_SECTOR_FOR_IDENTIFIER_NAME', which could be exist in
- * MOASession as 'GenericData'. <br>
+ * Get bPK-Type from PVP Attribute 'EID_SECTOR_FOR_IDENTIFIER_NAME', which could
+ * be exist in MOASession as 'GenericData'. <br>
*
* <pre>
* <code>session.getGenericDataFromSession(PVPConstants.EID_SECTOR_FOR_IDENTIFIER_NAME, String.class)</code>
* </pre>
*
* @param session MOASession, but never null
- * @return bPKType, which was received by PVP-Attribute, or <code>null</code> if no attribute
- * exists
+ * @return bPKType, which was received by PVP-Attribute, or <code>null</code> if
+ * no attribute exists
*/
@Deprecated
private String getBpkTypeFromPvpAttribute(final IAuthProcessDataContainer session) {
final String pvpBpkTypeAttr = session.getGenericDataFromSession(
- PVPAttributeDefinitions.EID_SECTOR_FOR_IDENTIFIER_NAME, String.class);
+ PvpAttributeDefinitions.EID_SECTOR_FOR_IDENTIFIER_NAME, String.class);
if (StringUtils.isNotEmpty(pvpBpkTypeAttr)) {
- // //fix a wrong bPK-Type encoding, which was used in some PVP Standardportal implementations
+ // //fix a wrong bPK-Type encoding, which was used in some PVP Standardportal
+ // implementations
// if (pvpbPKTypeAttr.startsWith(EAAFConstants.URN_PREFIX_CDID) &&
// !pvpbPKTypeAttr.substring(EAAFConstants.URN_PREFIX_CDID.length(),
// EAAFConstants.URN_PREFIX_CDID.length() + 1).equals("+")) {
- // log.warn("Receive uncorrect encoded bBKType attribute " + pvpbPKTypeAttr + " Starting
+ // log.warn("Receive uncorrect encoded bBKType attribute " + pvpbPKTypeAttr + "
+ // Starting
// attribute value correction ... ");
// pvpbPKTypeAttr = EAAFConstants.URN_PREFIX_CDID + "+" +
// pvpbPKTypeAttr.substring(EAAFConstants.URN_PREFIX_CDID.length() + 1);
//
// }
log.debug(
- "Find PVP-Attr: " + PVPAttributeDefinitions.EID_SECTOR_FOR_IDENTIFIER_FRIENDLY_NAME);
+ "Find PVP-Attr: " + PvpAttributeDefinitions.EID_SECTOR_FOR_IDENTIFIER_FRIENDLY_NAME);
return pvpBpkTypeAttr;
}
return null;
-
/*
- * INFO: This code could be used to extract the bPKType from 'PVPConstants.BPK_NAME', because
- * the prefix of BPK_NAME attribute contains the postfix of the bPKType
+ * INFO: This code could be used to extract the bPKType from
+ * 'PVPConstants.BPK_NAME', because the prefix of BPK_NAME attribute contains
+ * the postfix of the bPKType
*
- * Now, all PVP Standardportals should be able to send 'EID_SECTOR_FOR_IDENTIFIER' PVP
- * attributes
+ * Now, all PVP Standardportals should be able to send
+ * 'EID_SECTOR_FOR_IDENTIFIER' PVP attributes
*/
- // String pvpbPKValueAttr = session.getGenericDataFromSession(PVPConstants.BPK_NAME,
+ // String pvpbPKValueAttr =
+ // session.getGenericDataFromSession(PVPConstants.BPK_NAME,
// String.class);
// String[] spitted = pvpbPKValueAttr.split(":");
// if (MiscUtil.isEmpty(authData.getBPKType())) {
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/builder/BpkBuilder.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/builder/BpkBuilder.java
index 60c08253..a613bd56 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/builder/BpkBuilder.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/builder/BpkBuilder.java
@@ -16,8 +16,6 @@
* works that you distribute must include a readable copy of the "NOTICE" text file.
*/
-
-
package at.gv.egiz.eaaf.core.impl.idp.auth.builder;
import java.security.InvalidKeyException;
@@ -27,22 +25,26 @@ import java.security.PrivateKey;
import java.security.PublicKey;
import java.text.SimpleDateFormat;
import java.util.Date;
+
import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.NoSuchPaddingException;
-import at.gv.egiz.eaaf.core.api.data.EAAFConstants;
-import at.gv.egiz.eaaf.core.exceptions.EaafBuilderException;
-import at.gv.egiz.eaaf.core.impl.data.Pair;
+
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.util.Base64Utils;
+import at.gv.egiz.eaaf.core.api.data.EaafConstants;
+import at.gv.egiz.eaaf.core.exceptions.EaafBuilderException;
+import at.gv.egiz.eaaf.core.impl.data.Pair;
+
/**
* Builder for the bPK, as defined in
- * <code>&quot;Ableitung f&uml;r die bereichsspezifische Personenkennzeichnung&quot;</code> version
- * <code>1.0.1</code> from <code>&quot;reference.e-government.gv.at&quot;</code>.
+ * <code>&quot;Ableitung f&uml;r die bereichsspezifische Personenkennzeichnung&quot;</code>
+ * version <code>1.0.1</code> from
+ * <code>&quot;reference.e-government.gv.at&quot;</code>.
*
*/
public class BpkBuilder {
@@ -51,58 +53,60 @@ public class BpkBuilder {
/**
* Calculates an area specific unique person-identifier from a baseID.
*
- * @param baseID baseId from user but never null
- * @param targetIdentifier target identifier for area specific identifier calculation but never
- * null
- * @return Pair consists of (unique person identifier for this target, targetArea) but never null
+ * @param baseID baseId from user but never null
+ * @param targetIdentifier target identifier for area specific identifier
+ * calculation but never null
+ * @return Pair consists of (unique person identifier for this target,
+ * targetArea) but never null
* @throws EaafBuilderException if some input data are not valid
*/
public static Pair<String, String> generateAreaSpecificPersonIdentifier(final String baseID,
final String targetIdentifier) throws EaafBuilderException {
- return generateAreaSpecificPersonIdentifier(baseID, EAAFConstants.URN_PREFIX_BASEID,
+ return generateAreaSpecificPersonIdentifier(baseID, EaafConstants.URN_PREFIX_BASEID,
targetIdentifier);
}
/**
- * Calculates an area specific unique person-identifier from an unique identifier with a specific
- * type.
+ * Calculates an area specific unique person-identifier from an unique
+ * identifier with a specific type.
*
- * @param baseID baseId from user but never null
- * @param baseIdType Type of the baseID but never null
- * @param targetIdentifier target identifier for area specific identifier calculation but never
- * null
- * @return Pair consists of (unique person identifier for this target, targetArea) but never null
+ * @param baseID baseId from user but never null
+ * @param baseIdType Type of the baseID but never null
+ * @param targetIdentifier target identifier for area specific identifier
+ * calculation but never null
+ * @return Pair consists of (unique person identifier for this target,
+ * targetArea) but never null
* @throws EaafBuilderException if some input data are not valid
*/
public static Pair<String, String> generateAreaSpecificPersonIdentifier(final String baseID,
final String baseIdType, final String targetIdentifier) throws EaafBuilderException {
if (StringUtils.isEmpty(baseID)) {
- throw new EaafBuilderException("builder.00", new Object[] {"baseID is empty or null"},
+ throw new EaafBuilderException("builder.00", new Object[] { "baseID is empty or null" },
"BaseId is empty or null");
}
if (StringUtils.isEmpty(baseIdType)) {
throw new EaafBuilderException("builder.00",
- new Object[] {"the type of baseID is empty or null"}, "Type of baseId is empty or null");
+ new Object[] { "the type of baseID is empty or null" }, "Type of baseId is empty or null");
}
if (StringUtils.isEmpty(targetIdentifier)) {
throw new EaafBuilderException("builder.00",
- new Object[] {"SP specific target identifier is empty or null"},
+ new Object[] { "SP specific target identifier is empty or null" },
"SP specific target identifier is empty or null");
}
- if (baseIdType.equals(EAAFConstants.URN_PREFIX_BASEID)) {
+ if (baseIdType.equals(EaafConstants.URN_PREFIX_BASEID)) {
log.trace("Find baseID. Starting unique identifier caluclation for this target");
- if (targetIdentifier.startsWith(EAAFConstants.URN_PREFIX_CDID)
- || targetIdentifier.startsWith(EAAFConstants.URN_PREFIX_WBPK)) {
+ if (targetIdentifier.startsWith(EaafConstants.URN_PREFIX_CDID)
+ || targetIdentifier.startsWith(EaafConstants.URN_PREFIX_WBPK)) {
log.trace("Calculate bPK, wbPK, or STORK identifier for target: " + targetIdentifier);
return Pair.newInstance(calculatebPKwbPK(baseID + "+" + targetIdentifier),
targetIdentifier);
- } else if (targetIdentifier.startsWith(EAAFConstants.URN_PREFIX_EIDAS)) {
+ } else if (targetIdentifier.startsWith(EaafConstants.URN_PREFIX_EIDAS)) {
log.trace("Calculate eIDAS identifier for target: " + targetIdentifier);
final String[] splittedTarget = targetIdentifier.split("\\+");
final String cititzenCountryCode = splittedTarget[1];
@@ -114,15 +118,14 @@ public class BpkBuilder {
}
return buildEidasIdentifer(baseID, baseIdType, cititzenCountryCode, eidasOutboundCountry);
-
} else {
throw new EaafBuilderException("builder.00",
- new Object[] {"Target identifier: " + targetIdentifier + " is NOT allowed or unknown"},
+ new Object[] { "Target identifier: " + targetIdentifier + " is NOT allowed or unknown" },
"Target identifier: " + targetIdentifier + " is NOT allowed or unknown");
}
} else {
- log.trace("BaseID is not of type " + EAAFConstants.URN_PREFIX_BASEID
+ log.trace("BaseID is not of type " + EaafConstants.URN_PREFIX_BASEID
+ ". Check type against requested target ...");
if (baseIdType.equals(targetIdentifier)) {
log.debug("Unique identifier is already area specific. Is nothing todo");
@@ -132,8 +135,8 @@ public class BpkBuilder {
log.warn("Get unique identifier for target: " + baseIdType + " but target: "
+ targetIdentifier + " is required!");
throw new EaafBuilderException("builder.00",
- new Object[] {"Get unique identifier for target: " + baseIdType + " but target: "
- + targetIdentifier + " is required"},
+ new Object[] { "Get unique identifier for target: " + baseIdType + " but target: "
+ + targetIdentifier + " is required" },
"Get unique identifier for target: " + baseIdType + " but target: " + targetIdentifier
+ " is required");
@@ -141,14 +144,15 @@ public class BpkBuilder {
}
}
-
/**
* Builds the eIDAS from the given parameters.
*
- * @param baseId baseID of the citizen
- * @param baseIdType Type of the baseID
- * @param sourceCountry CountryCode of that country, which build the eIDAs ID
- * @param destinationCountry CountryCode of that country, which receives the eIDAs ID
+ * @param baseId baseID of the citizen
+ * @param baseIdType Type of the baseID
+ * @param sourceCountry CountryCode of that country, which build the eIDAs
+ * ID
+ * @param destinationCountry CountryCode of that country, which receives the
+ * eIDAs ID
*
* @return Pair eIDAs/bPKType in a BASE64 encoding
* @throws EaafBuilderException if some input data are not valid
@@ -160,8 +164,8 @@ public class BpkBuilder {
String bpkType = null;
// check if we have been called by public sector application
- if (baseIdType.startsWith(EAAFConstants.URN_PREFIX_BASEID)) {
- bpkType = EAAFConstants.URN_PREFIX_EIDAS + sourceCountry + "+" + destinationCountry;
+ if (baseIdType.startsWith(EaafConstants.URN_PREFIX_BASEID)) {
+ bpkType = EaafConstants.URN_PREFIX_EIDAS + sourceCountry + "+" + destinationCountry;
log.debug("Building eIDAS identification from: [identValue]+" + bpkType);
bpk = calculatebPKwbPK(baseId + "+" + bpkType);
@@ -173,9 +177,9 @@ public class BpkBuilder {
if (StringUtils.isEmpty(bpk) || StringUtils.isEmpty(sourceCountry)
|| StringUtils.isEmpty(destinationCountry)) {
throw new EaafBuilderException("builder.00",
- new Object[] {"eIDAS-ID",
+ new Object[] { "eIDAS-ID",
"Unvollständige Parameterangaben: identificationValue=" + bpk + ", Zielland="
- + destinationCountry + ", Ursprungsland=" + sourceCountry},
+ + destinationCountry + ", Ursprungsland=" + sourceCountry },
"eIDAS-ID: Unvollständige Parameterangaben: identificationValue=" + bpk + ", Zielland="
+ destinationCountry + ", Ursprungsland=" + sourceCountry);
}
@@ -189,8 +193,8 @@ public class BpkBuilder {
/**
* Create an encrypted bPK.
*
- * @param bpk unencrypted bPK
- * @param target bPK target
+ * @param bpk unencrypted bPK
+ * @param target bPK target
* @param publicKey Public-Key used for encryption
* @return encrypted bPK
* @throws EaafBuilderException In case of an error
@@ -198,8 +202,8 @@ public class BpkBuilder {
public static String encryptBpk(final String bpk, String target, final PublicKey publicKey)
throws EaafBuilderException {
final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
- if (target.startsWith(EAAFConstants.URN_PREFIX_CDID)) {
- target = target.substring(EAAFConstants.URN_PREFIX_CDID.length());
+ if (target.startsWith(EaafConstants.URN_PREFIX_CDID)) {
+ target = target.substring(EaafConstants.URN_PREFIX_CDID.length());
}
final String input =
@@ -210,8 +214,8 @@ public class BpkBuilder {
final byte[] inputBytes = input.getBytes("ISO-8859-1");
result = encrypt(inputBytes, publicKey);
return new String(Base64Utils.encode(result), "ISO-8859-1").replaceAll("\r\n", "");
- // return new String(Base64Utils.encode(result, "ISO-8859-1")).replaceAll("\r\n", "");
-
+ // return new String(Base64Utils.encode(result,
+ // "ISO-8859-1")).replaceAll("\r\n", "");
} catch (final Exception e) {
throw new EaafBuilderException("bPK encryption FAILED", null, e.getMessage(), e);
@@ -223,8 +227,8 @@ public class BpkBuilder {
* Decrypt an encrypted bPK.
*
* @param encryptedBpk encrypted bPK
- * @param target bPK target
- * @param privateKey private-key for decryption
+ * @param target bPK target
+ * @param privateKey private-key for decryption
* @return bPK
* @throws EaafBuilderException In case of an error
*/
@@ -232,7 +236,8 @@ public class BpkBuilder {
final PrivateKey privateKey) throws EaafBuilderException {
String decryptedString;
try {
- // byte[] encryptedBytes = Base64Utils.decode(encryptedBpk, false, "ISO-8859-1");
+ // byte[] encryptedBytes = Base64Utils.decode(encryptedBpk, false,
+ // "ISO-8859-1");
final byte[] encryptedBytes = Base64Utils.decode(encryptedBpk.getBytes("ISO-8859-1"));
final byte[] decryptedBytes = decrypt(encryptedBytes, privateKey);
decryptedString = new String(decryptedBytes, "ISO-8859-1");
@@ -247,8 +252,8 @@ public class BpkBuilder {
tmp = tmp.substring(tmp.indexOf("::") + 2);
final String bPK = tmp.substring(0, tmp.indexOf("::"));
- if (target.startsWith(EAAFConstants.URN_PREFIX_CDID + "+")) {
- target = target.substring((EAAFConstants.URN_PREFIX_CDID + "+").length());
+ if (target.startsWith(EaafConstants.URN_PREFIX_CDID + "+")) {
+ target = target.substring((EaafConstants.URN_PREFIX_CDID + "+").length());
}
if (target.equals(sector)) {
@@ -268,7 +273,7 @@ public class BpkBuilder {
return hashBase64;
} catch (final Exception ex) {
- throw new EaafBuilderException("builder.00", new Object[] {"bPK/wbPK", ex.toString()},
+ throw new EaafBuilderException("builder.00", new Object[] { "bPK/wbPK", ex.toString() },
ex.getMessage(), ex);
}
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/data/AuthProcessDataWrapper.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/data/AuthProcessDataWrapper.java
index 7c143ca2..a6017789 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/data/AuthProcessDataWrapper.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/data/AuthProcessDataWrapper.java
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*
* 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.
*
@@ -15,24 +15,23 @@
* 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.idp.auth.data;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
-import at.gv.egiz.eaaf.core.api.data.EAAFConstants;
+
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import at.gv.egiz.eaaf.core.api.data.EaafConstants;
import at.gv.egiz.eaaf.core.api.idp.EaafAuthProcessDataConstants;
import at.gv.egiz.eaaf.core.api.idp.auth.data.IAuthProcessDataContainer;
import at.gv.egiz.eaaf.core.api.idp.auth.data.IIdentityLink;
import at.gv.egiz.eaaf.core.exceptions.EaafStorageException;
-import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
public class AuthProcessDataWrapper
implements IAuthProcessDataContainer, EaafAuthProcessDataConstants {
@@ -48,7 +47,8 @@ public class AuthProcessDataWrapper
/*
* (non-Javadoc)
*
- * @see at.gv.egovernment.moa.id.auth.data.IAuthenticationSession#getIssueInstant()
+ * @see
+ * at.gv.egovernment.moa.id.auth.data.IAuthenticationSession#getIssueInstant()
*/
@Override
public String getIssueInstant() {
@@ -59,7 +59,8 @@ public class AuthProcessDataWrapper
* (non-Javadoc)
*
* @see
- * at.gv.egovernment.moa.id.auth.data.IAuthenticationSession#setIssueInstant(java.lang.String)
+ * at.gv.egovernment.moa.id.auth.data.IAuthenticationSession#setIssueInstant(
+ * java.lang.String)
*/
@Override
public void setIssueInstant(final String issueInstant) {
@@ -70,7 +71,8 @@ public class AuthProcessDataWrapper
/*
* (non-Javadoc)
*
- * @see at.gv.egovernment.moa.id.auth.data.IAuthenticationSession#isAuthenticated()
+ * @see
+ * at.gv.egovernment.moa.id.auth.data.IAuthenticationSession#isAuthenticated()
*/
@Override
public boolean isAuthenticated() {
@@ -78,11 +80,12 @@ public class AuthProcessDataWrapper
}
-
/*
* (non-Javadoc)
*
- * @see at.gv.egovernment.moa.id.auth.data.IAuthenticationSession#setAuthenticated(boolean)
+ * @see
+ * at.gv.egovernment.moa.id.auth.data.IAuthenticationSession#setAuthenticated(
+ * boolean)
*/
@Override
public void setAuthenticated(final boolean authenticated) {
@@ -93,7 +96,8 @@ public class AuthProcessDataWrapper
/*
* (non-Javadoc)
*
- * @see at.gv.egovernment.moa.id.auth.data.IAuthenticationSession#getIdentityLink()
+ * @see
+ * at.gv.egovernment.moa.id.auth.data.IAuthenticationSession#getIdentityLink()
*/
@Override
public IIdentityLink getIdentityLink() {
@@ -101,13 +105,12 @@ public class AuthProcessDataWrapper
}
-
/*
* (non-Javadoc)
*
* @see
- * at.gv.egovernment.moa.id.auth.data.IAuthenticationSession#setIdentityLink(at.gv.egovernment.moa
- * .id.auth.data.IdentityLink)
+ * at.gv.egovernment.moa.id.auth.data.IAuthenticationSession#setIdentityLink(at.
+ * gv.egovernment.moa .id.auth.data.IdentityLink)
*/
@Override
public void setIdentityLink(final IIdentityLink identityLink) {
@@ -118,7 +121,8 @@ public class AuthProcessDataWrapper
/*
* (non-Javadoc)
*
- * @see at.gv.egovernment.moa.id.auth.data.IAuthenticationSession#isMandateUsed()
+ * @see
+ * at.gv.egovernment.moa.id.auth.data.IAuthenticationSession#isMandateUsed()
*/
@Override
public boolean isMandateUsed() {
@@ -128,7 +132,9 @@ public class AuthProcessDataWrapper
/*
* (non-Javadoc)
*
- * @see at.gv.egovernment.moa.id.auth.data.IAuthenticationSession#setUseMandates(boolean)
+ * @see
+ * at.gv.egovernment.moa.id.auth.data.IAuthenticationSession#setUseMandates(
+ * boolean)
*/
@Override
public void setUseMandates(final boolean useMandates) {
@@ -142,18 +148,20 @@ public class AuthProcessDataWrapper
* @see at.gv.egovernment.moa.id.auth.data.IAuthenticationSession#getQAALevel()
*/
@Override
- public String getQAALevel() {
+ public String getQaaLevel() {
return wrapStringObject(VALUE_QAALEVEL, null, String.class);
}
/*
* (non-Javadoc)
*
- * @see at.gv.egovernment.moa.id.auth.data.IAuthenticationSession#setQAALevel(java.lang.String)
+ * @see
+ * at.gv.egovernment.moa.id.auth.data.IAuthenticationSession#setQAALevel(java.
+ * lang.String)
*/
@Override
- public void setQAALevel(final String qAALevel) {
- authProcessData.put(VALUE_QAALEVEL, qAALevel);
+ public void setQaaLevel(final String qaaLevel) {
+ authProcessData.put(VALUE_QAALEVEL, qaaLevel);
}
@@ -170,7 +178,8 @@ public class AuthProcessDataWrapper
/*
* (non-Javadoc)
*
- * @see at.gv.egovernment.moa.id.auth.data.IAuthenticationSession#setForeigner(boolean)
+ * @see at.gv.egovernment.moa.id.auth.data.IAuthenticationSession#setForeigner(
+ * boolean)
*/
@Override
public void setForeigner(final boolean isForeigner) {
@@ -200,12 +209,12 @@ public class AuthProcessDataWrapper
}
@Override
- public boolean isEIDProcess() {
+ public boolean isEidProcess() {
return wrapStringObject(FLAG_IS_NEW_EID_PROCESS, false, Boolean.class);
}
@Override
- public void setEIDProcess(final boolean value) {
+ public void setEidProcess(final boolean value) {
authProcessData.put(FLAG_IS_NEW_EID_PROCESS, value);
}
@@ -213,22 +222,24 @@ public class AuthProcessDataWrapper
/*
* (non-Javadoc)
*
- * @see at.gv.egovernment.moa.id.auth.data.IAuthenticationSession#getSessionCreated()
+ * @see
+ * at.gv.egovernment.moa.id.auth.data.IAuthenticationSession#getSessionCreated()
*/
@Override
public Date getSessionCreated() {
- return wrapStringObject(EAAFConstants.AUTH_DATA_CREATED, null, Date.class);
+ return wrapStringObject(EaafConstants.AUTH_DATA_CREATED, null, Date.class);
}
/*
* (non-Javadoc)
*
- * @see at.gv.egovernment.moa.id.auth.data.IAuthenticationSession#getGenericSessionDataStorage()
+ * @see at.gv.egovernment.moa.id.auth.data.IAuthenticationSession#
+ * getGenericSessionDataStorage()
*/
@Override
public Map<String, Object> getGenericSessionDataStorage() {
final Map<String, Object> result = new HashMap<>();
- for (final Map.Entry<String,Object> el : authProcessData.entrySet()) {
+ for (final Map.Entry<String, Object> el : authProcessData.entrySet()) {
if (el.getKey().startsWith(GENERIC_PREFIX)) {
result.put(el.getKey().substring(GENERIC_PREFIX.length()), el.getValue());
}
@@ -241,9 +252,8 @@ public class AuthProcessDataWrapper
/*
* (non-Javadoc)
*
- * @see
- * at.gv.egovernment.moa.id.auth.data.IAuthenticationSession#getGenericDataFromSession(java.lang.
- * String)
+ * @see at.gv.egovernment.moa.id.auth.data.IAuthenticationSession#
+ * getGenericDataFromSession(java.lang. String)
*/
@Override
public Object getGenericDataFromSession(final String key) {
@@ -253,9 +263,8 @@ public class AuthProcessDataWrapper
/*
* (non-Javadoc)
*
- * @see
- * at.gv.egovernment.moa.id.auth.data.IAuthenticationSession#getGenericDataFromSession(java.lang.
- * String, java.lang.Class)
+ * @see at.gv.egovernment.moa.id.auth.data.IAuthenticationSession#
+ * getGenericDataFromSession(java.lang. String, java.lang.Class)
*/
@Override
public <T> T getGenericDataFromSession(final String key, final Class<T> clazz) {
@@ -265,9 +274,8 @@ public class AuthProcessDataWrapper
/*
* (non-Javadoc)
*
- * @see
- * at.gv.egovernment.moa.id.auth.data.IAuthenticationSession#setGenericDataToSession(java.lang.
- * String, java.lang.Object)
+ * @see at.gv.egovernment.moa.id.auth.data.IAuthenticationSession#
+ * setGenericDataToSession(java.lang. String, java.lang.Object)
*/
@Override
public void setGenericDataToSession(final String key, final Object object)
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/data/IdentityLink.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/data/IdentityLink.java
index a1faa0a4..ee1037a1 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/data/IdentityLink.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/data/IdentityLink.java
@@ -1,22 +1,5 @@
-/*******************************************************************************
- * Copyright 2014 Federal Chancellery Austria MOA-ID has been developed in a cooperation between
- * BRZ, the Federal Chancellery Austria - ICT staff unit, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by the European
- * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
- * compliance with the Licence. You may obtain a copy of the Licence at: http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the Licence
- * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the Licence for the specific language governing permissions and limitations under
- * the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text file for details on the
- * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
- * works that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
/*
- * Copyright 2003 Federal Chancellery Austria MOA-ID has been developed in a cooperation between
+ * Copyright 2014 Federal Chancellery Austria MOA-ID has been developed in a cooperation between
* BRZ, the Federal Chancellery Austria - ICT staff unit, and Graz University of Technology.
*
* Licensed under the EUPL, Version 1.1 or - as soon they will be approved by the European
@@ -31,7 +14,7 @@
* 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.idp.auth.data;
@@ -40,16 +23,20 @@ import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.Serializable;
import java.security.PublicKey;
+
import javax.xml.transform.TransformerException;
+
+import org.w3c.dom.Element;
+
import at.gv.egiz.eaaf.core.api.idp.auth.data.IIdentityLink;
import at.gv.egiz.eaaf.core.impl.utils.DomUtils;
import at.gv.egiz.eaaf.core.impl.utils.XPathUtils;
-import org.w3c.dom.Element;
-
/**
- * Data contained in an identity link issued by BMI, relevant to the MOA ID component. <br>
- * <code>"IdentityLink"</code> is the translation of <code>"Personenbindung"</code>.
+ * Data contained in an identity link issued by BMI, relevant to the MOA ID
+ * component. <br>
+ * <code>"IdentityLink"</code> is the translation of
+ * <code>"Personenbindung"</code>.
*
* @author Paul Ivancsics
* @version $Id$
@@ -59,41 +46,44 @@ public class IdentityLink implements Serializable, IIdentityLink {
private static final long serialVersionUID = 1L;
/**
- * <code>"identificationValue"</code> is the translation of <code>"Stammzahl"</code>.
+ * <code>"identificationValue"</code> is the translation of
+ * <code>"Stammzahl"</code>.
*/
private String identificationValue;
/**
- * <code>"identificationType"</code> type of the identificationValue in the IdentityLink.
+ * <code>"identificationType"</code> type of the identificationValue in the
+ * IdentityLink.
*/
private String identificationType;
/**
- * first name
+ * first name.
*/
private String givenName;
/**
- * family name
+ * family name.
*/
private String familyName;
/**
- * date of birth
+ * date of birth.
*/
private String dateOfBirth;
/**
- * the original saml:Assertion-Element
+ * the original saml:Assertion-Element.
*/
private transient Element samlAssertion;
/**
- * the serializes saml:Assertion
+ * the serializes saml:Assertion.
*/
private String serializedSamlAssertion;
/**
* Element
- * /saml:Assertion/saml:AttributeStatement/saml:Subject/saml:SubjectConfirmation/saml:SubjectConfirmationData/pr:Person
+ * /saml:Assertion/saml:AttributeStatement/saml:Subject
+ * /saml:SubjectConfirmation/saml:SubjectConfirmationData/pr:Person.
*/
private transient Element prPerson = null;
/**
- * we need for each dsig:Reference Element all transformation elements
+ * we need for each dsig:Reference Element all transformation elements.
*/
private transient Element[] dsigReferenceTransforms = null;
@@ -103,14 +93,15 @@ public class IdentityLink implements Serializable, IIdentityLink {
private String issueInstant;
/**
- * we need all public keys stored in the identity link
+ * we need all public keys stored in the identity link.
*/
private PublicKey[] publicKey;
/**
- * Constructor for IdentityLink
+ * Constructor for IdentityLink.
*/
- public IdentityLink() {}
+ public IdentityLink() {
+ }
/*
* (non-Javadoc)
@@ -157,7 +148,8 @@ public class IdentityLink implements Serializable, IIdentityLink {
/*
* (non-Javadoc)
*
- * @see at.gv.egovernment.moa.id.auth.data.IIdentityLink#getIdentificationValue()
+ * @see
+ * at.gv.egovernment.moa.id.auth.data.IIdentityLink#getIdentificationValue()
*/
@Override
public String getIdentificationValue() {
@@ -177,7 +169,9 @@ public class IdentityLink implements Serializable, IIdentityLink {
/*
* (non-Javadoc)
*
- * @see at.gv.egovernment.moa.id.auth.data.IIdentityLink#setDateOfBirth(java.lang.String)
+ * @see
+ * at.gv.egovernment.moa.id.auth.data.IIdentityLink#setDateOfBirth(java.lang.
+ * String)
*/
@Override
public void setDateOfBirth(final String dateOfBirth) {
@@ -187,7 +181,9 @@ public class IdentityLink implements Serializable, IIdentityLink {
/*
* (non-Javadoc)
*
- * @see at.gv.egovernment.moa.id.auth.data.IIdentityLink#setFamilyName(java.lang.String)
+ * @see
+ * at.gv.egovernment.moa.id.auth.data.IIdentityLink#setFamilyName(java.lang.
+ * String)
*/
@Override
public void setFamilyName(final String familyName) {
@@ -197,7 +193,8 @@ public class IdentityLink implements Serializable, IIdentityLink {
/*
* (non-Javadoc)
*
- * @see at.gv.egovernment.moa.id.auth.data.IIdentityLink#setGivenName(java.lang.String)
+ * @see at.gv.egovernment.moa.id.auth.data.IIdentityLink#setGivenName(java.lang.
+ * String)
*/
@Override
public void setGivenName(final String givenName) {
@@ -207,7 +204,9 @@ public class IdentityLink implements Serializable, IIdentityLink {
/*
* (non-Javadoc)
*
- * @see at.gv.egovernment.moa.id.auth.data.IIdentityLink#setIdentificationValue(java.lang.String)
+ * @see
+ * at.gv.egovernment.moa.id.auth.data.IIdentityLink#setIdentificationValue(java.
+ * lang.String)
*/
@Override
public void setIdentificationValue(final String identificationValue) {
@@ -217,7 +216,9 @@ public class IdentityLink implements Serializable, IIdentityLink {
/*
* (non-Javadoc)
*
- * @see at.gv.egovernment.moa.id.auth.data.IIdentityLink#setIdentificationType(java.lang.String)
+ * @see
+ * at.gv.egovernment.moa.id.auth.data.IIdentityLink#setIdentificationType(java.
+ * lang.String)
*/
@Override
public void setIdentificationType(final String identificationType) {
@@ -248,7 +249,8 @@ public class IdentityLink implements Serializable, IIdentityLink {
/*
* (non-Javadoc)
*
- * @see at.gv.egovernment.moa.id.auth.data.IIdentityLink#getSerializedSamlAssertion()
+ * @see
+ * at.gv.egovernment.moa.id.auth.data.IIdentityLink#getSerializedSamlAssertion()
*/
@Override
public String getSerializedSamlAssertion() {
@@ -258,7 +260,9 @@ public class IdentityLink implements Serializable, IIdentityLink {
/*
* (non-Javadoc)
*
- * @see at.gv.egovernment.moa.id.auth.data.IIdentityLink#setSamlAssertion(org.w3c.dom.Element)
+ * @see
+ * at.gv.egovernment.moa.id.auth.data.IIdentityLink#setSamlAssertion(org.w3c.dom
+ * .Element)
*/
@Override
public void setSamlAssertion(final Element samlAssertion)
@@ -270,7 +274,8 @@ public class IdentityLink implements Serializable, IIdentityLink {
/*
* (non-Javadoc)
*
- * @see at.gv.egovernment.moa.id.auth.data.IIdentityLink#getDsigReferenceTransforms()
+ * @see
+ * at.gv.egovernment.moa.id.auth.data.IIdentityLink#getDsigReferenceTransforms()
*/
@Override
public Element[] getDsigReferenceTransforms() {
@@ -287,8 +292,8 @@ public class IdentityLink implements Serializable, IIdentityLink {
* (non-Javadoc)
*
* @see
- * at.gv.egovernment.moa.id.auth.data.IIdentityLink#setDsigReferenceTransforms(org.w3c.dom.Element
- * [])
+ * at.gv.egovernment.moa.id.auth.data.IIdentityLink#setDsigReferenceTransforms(
+ * org.w3c.dom.Element [])
*/
@Override
public void setDsigReferenceTransforms(final Element[] dsigReferenceTransforms) {
@@ -317,7 +322,9 @@ public class IdentityLink implements Serializable, IIdentityLink {
/*
* (non-Javadoc)
*
- * @see at.gv.egovernment.moa.id.auth.data.IIdentityLink#setPublicKey(java.security.PublicKey[])
+ * @see
+ * at.gv.egovernment.moa.id.auth.data.IIdentityLink#setPublicKey(java.security.
+ * PublicKey[])
*/
@Override
public void setPublicKey(final PublicKey[] publicKey) {
@@ -346,7 +353,9 @@ public class IdentityLink implements Serializable, IIdentityLink {
/*
* (non-Javadoc)
*
- * @see at.gv.egovernment.moa.id.auth.data.IIdentityLink#setPrPerson(org.w3c.dom.Element)
+ * @see
+ * at.gv.egovernment.moa.id.auth.data.IIdentityLink#setPrPerson(org.w3c.dom.
+ * Element)
*/
@Override
public void setPrPerson(final Element prPerson) {
@@ -366,7 +375,9 @@ public class IdentityLink implements Serializable, IIdentityLink {
/*
* (non-Javadoc)
*
- * @see at.gv.egovernment.moa.id.auth.data.IIdentityLink#setIssueInstant(java.lang.String)
+ * @see
+ * at.gv.egovernment.moa.id.auth.data.IIdentityLink#setIssueInstant(java.lang.
+ * String)
*/
@Override
public void setIssueInstant(final String issueInstant) {
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/data/SimpleIdentityLinkAssertionParser.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/data/SimpleIdentityLinkAssertionParser.java
index 220469d3..acb877c2 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/data/SimpleIdentityLinkAssertionParser.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/data/SimpleIdentityLinkAssertionParser.java
@@ -1,22 +1,5 @@
-/*******************************************************************************
- * Copyright 2014 Federal Chancellery Austria MOA-ID has been developed in a cooperation between
- * BRZ, the Federal Chancellery Austria - ICT staff unit, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by the European
- * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
- * compliance with the Licence. You may obtain a copy of the Licence at: http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the Licence
- * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the Licence for the specific language governing permissions and limitations under
- * the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text file for details on the
- * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
- * works that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
/*
- * Copyright 2003 Federal Chancellery Austria MOA-ID has been developed in a cooperation between
+ * Copyright 2014 Federal Chancellery Austria MOA-ID has been developed in a cooperation between
* BRZ, the Federal Chancellery Austria - ICT staff unit, and Graz University of Technology.
*
* Licensed under the EUPL, Version 1.1 or - as soon they will be approved by the European
@@ -31,7 +14,7 @@
* 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.idp.auth.data;
@@ -40,17 +23,19 @@ import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
-import at.gv.egiz.eaaf.core.api.data.XMLNamespaceConstants;
+
+import org.springframework.util.Base64Utils;
+import org.w3c.dom.Element;
+import org.w3c.dom.traversal.NodeIterator;
+
+import at.gv.egiz.eaaf.core.api.data.XmlNamespaceConstants;
import at.gv.egiz.eaaf.core.api.idp.auth.data.IIdentityLink;
import at.gv.egiz.eaaf.core.exceptions.EaafParserException;
import at.gv.egiz.eaaf.core.impl.utils.DomUtils;
import at.gv.egiz.eaaf.core.impl.utils.XPathUtils;
-import org.springframework.util.Base64Utils;
-import org.w3c.dom.Element;
-import org.w3c.dom.traversal.NodeIterator;
/**
- * Parses MDS from an identity link <code>&lt;saml:Assertion&gt;</code> <br>
+ * Parses MDS from an identity link. <code>&lt;saml:Assertion&gt;</code> <br>
* <b>This IDL parser extract NO key information!</b>
*
*/
@@ -60,56 +45,59 @@ public class SimpleIdentityLinkAssertionParser {
// XPath namespace prefix shortcuts
//
- /** Xpath prefix for reaching PersonData Namespaces */
- private static final String PDATA = XMLNamespaceConstants.PD_PREFIX + ":";
- /** Xpath prefix for reaching SAML Namespaces */
- private static final String SAML = XMLNamespaceConstants.SAML_PREFIX + ":";
- /** Xpath prefix for reaching XML-DSIG Namespaces */
- private static final String DSIG = XMLNamespaceConstants.DSIG_PREFIX + ":";
- /** Xpath expression to the root element */
+ /** Xpath prefix for reaching PersonData Namespaces. */
+ private static final String PDATA = XmlNamespaceConstants.PD_PREFIX + ":";
+ /** Xpath prefix for reaching SAML Namespaces. */
+ private static final String SAML = XmlNamespaceConstants.SAML_PREFIX + ":";
+ /** Xpath prefix for reaching XML-DSIG Namespaces. */
+ private static final String DSIG = XmlNamespaceConstants.DSIG_PREFIX + ":";
+ /** Xpath expression to the root element. */
private static final String ROOT = "";
- /** Xpath expression to the SAMLSubjectConfirmationData element */
+ /** Xpath expression to the SAMLSubjectConfirmationData element. */
private static final String SAML_SUBJECT_CONFIRMATION_DATA_XPATH =
ROOT + SAML + "AttributeStatement/" + SAML + "Subject/" + SAML + "SubjectConfirmation/" + SAML
+ "SubjectConfirmationData";
- /** Xpath expression to the PersonData element */
+ /** Xpath expression to the PersonData element. */
public static final String PERSON_XPATH =
SAML_SUBJECT_CONFIRMATION_DATA_XPATH + "/" + PDATA + "Person";
- /** Xpath expression to the PersonData GivenName element */
+ /** Xpath expression to the PersonData GivenName element. */
public static final String PERSON_GIVEN_NAME_XPATH =
PERSON_XPATH + "/" + PDATA + "Name/" + PDATA + "GivenName";
- /** Xpath expression to the PersonData FamilyName element */
+ /** Xpath expression to the PersonData FamilyName element. */
public static final String PERSON_FAMILY_NAME_XPATH =
PERSON_XPATH + "/" + PDATA + "Name/" + PDATA + "FamilyName";
- /** Xpath expression to the PersonData DateOfBirth element */
+ /** Xpath expression to the PersonData DateOfBirth element. */
public static final String PERSON_DATE_OF_BIRTH_XPATH =
PERSON_XPATH + "/" + PDATA + "DateOfBirth";
- /** Xpath expression to the Identification Value element */
+ /** Xpath expression to the Identification Value element. */
public static final String PERSON_IDENT_VALUE_XPATH =
PERSON_XPATH + "/" + PDATA + "Identification/" + PDATA + "Value";
- /** Xpath expression to the Identification Value element */
+ /** Xpath expression to the Identification Value element. */
public static final String PERSON_IDENT_TYPE_XPATH =
PERSON_XPATH + "/" + PDATA + "Identification/" + PDATA + "Type";
- /** Xpath expression to the DSIG X509Certificate element */
+ /** Xpath expression to the DSIG X509Certificate element. */
private static final String DSIG_CERTIFICATES_XPATH = ROOT + DSIG + "Signature/" + DSIG
+ "KeyInfo/" + DSIG + "X509Data/" + DSIG + "X509Certificate";
- /** Xpath expression to the DSIG Transforms element */
+ /** Xpath expression to the DSIG Transforms element. */
private static final String DSIG_REFERENCE_TRANSFORMATION_XPATH =
ROOT + DSIG + "Signature/" + DSIG + "SignedInfo/" + DSIG + "Reference/" + DSIG + "Transforms";
- /** The IssueInstant attribute of the SAML assertion */
+ /** The IssueInstant attribute of the SAML assertion. */
private static final String ISSUE_INSTANT_ATTR = "IssueInstant";
public static final String ASSERTIONID = "AssertionID";
- /** This is the root element of the XML-Document provided by the Security Layer Card */
+ /**
+ * This is the root element of the XML-Document provided by the Security Layer
+ * Card.
+ */
private Element assertionElem;
/**
- * Constructor for <code>IdentityLinkAssertionParser</code>. A DOM-representation of the incoming
- * String will be created
+ * Constructor for <code>IdentityLinkAssertionParser</code>. A
+ * DOM-representation of the incoming String will be created
*
* @param xmlAssertion <code>&lt;saml:Assertion&gt;</code> as String
* @throws EaafParserException on any parsing error
@@ -120,7 +108,7 @@ public class SimpleIdentityLinkAssertionParser {
assertionElem = DomUtils.parseXmlValidating(s);
} catch (final Throwable t) {
- throw new EaafParserException("parser.01", new Object[] {t.toString()}, t);
+ throw new EaafParserException("parser.01", new Object[] { t.toString() }, t);
}
}
@@ -136,8 +124,8 @@ public class SimpleIdentityLinkAssertionParser {
}
/**
- * Constructor for <code>IdentityLinkAssertionParser</code>. A DOM-representation of the incoming
- * Inputstream will be created
+ * Constructor for <code>IdentityLinkAssertionParser</code>. A
+ * DOM-representation of the incoming Inputstream will be created
*
* @param xmlAssertion <code>&lt;saml:Assertion&gt;</code> as InputStream
* @throws EaafParserException on any parsing error
@@ -148,13 +136,13 @@ public class SimpleIdentityLinkAssertionParser {
assertionElem = DomUtils.parseXmlValidating(xmlAssertion);
} catch (final Throwable t) {
- throw new EaafParserException("parser.01", new Object[] {t.toString()}, t);
+ throw new EaafParserException("parser.01", new Object[] { t.toString() }, t);
}
}
/**
- * Parses the identity link from the <code>&lt;saml:Assertion&gt;</code>
+ * Parses the identity link from the <code>&lt;saml:Assertion&gt;</code>.
*
* @return Identity link
* @throws EaafParserException on any parsing error
@@ -199,7 +187,7 @@ public class SimpleIdentityLinkAssertionParser {
// identityLink.setPublicKey(getPublicKeys());
} catch (final Throwable t) {
- throw new EaafParserException("parser.01", new Object[] {t.toString()}, t);
+ throw new EaafParserException("parser.01", new Object[] { t.toString() }, t);
}
return identityLink;
@@ -207,10 +195,10 @@ public class SimpleIdentityLinkAssertionParser {
/**
* Parses a string array of decoded base64 certificates from the
- * <code>&lt;InfoboxReadResponse&gt;</code> found in the dsig-signature
+ * <code>&lt;InfoboxReadResponse&gt;</code> found in the dsig-signature.
*
* @return String[] with raw-certificates from the dsig-signature keyinfo
- * @throws Exception
+ * @throws Exception In case of an error
*/
public String[] getCertificates() throws Exception {
final List certs = new ArrayList();
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/modules/AbstractAuthServletTask.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/modules/AbstractAuthServletTask.java
index c785e1cb..3d093a9f 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/modules/AbstractAuthServletTask.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/modules/AbstractAuthServletTask.java
@@ -27,11 +27,24 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
+
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.fileupload.FileItem;
+import org.apache.commons.fileupload.FileItemFactory;
+import org.apache.commons.fileupload.FileUploadException;
+import org.apache.commons.fileupload.disk.DiskFileItemFactory;
+import org.apache.commons.fileupload.servlet.ServletFileUpload;
+import org.apache.commons.lang3.ArrayUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.io.ResourceLoader;
+
import at.gv.egiz.eaaf.core.api.IRequest;
import at.gv.egiz.eaaf.core.api.IRequestStorage;
-import at.gv.egiz.eaaf.core.api.data.EAAFConstants;
+import at.gv.egiz.eaaf.core.api.data.EaafConstants;
import at.gv.egiz.eaaf.core.api.idp.IConfiguration;
import at.gv.egiz.eaaf.core.api.idp.auth.services.IProtocolAuthenticationService;
import at.gv.egiz.eaaf.core.api.idp.process.ExecutionContext;
@@ -41,20 +54,10 @@ import at.gv.egiz.eaaf.core.exceptions.TaskExecutionException;
import at.gv.egiz.eaaf.core.impl.idp.controller.ProtocolFinalizationController;
import at.gv.egiz.eaaf.core.impl.idp.process.springweb.AbstractTask;
import at.gv.egiz.eaaf.core.impl.utils.DataUrlBuilder;
-import org.apache.commons.fileupload.FileItem;
-import org.apache.commons.fileupload.FileItemFactory;
-import org.apache.commons.fileupload.FileUploadException;
-import org.apache.commons.fileupload.disk.DiskFileItemFactory;
-import org.apache.commons.fileupload.servlet.ServletFileUpload;
-import org.apache.commons.lang3.ArrayUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.core.io.ResourceLoader;
/**
- * Task based counterpart to {@link AuthServlet}, providing the same utility methods (error
- * handling, parameter parsing etc.).
+ * Task based counterpart to {@link AuthServlet}, providing the same utility
+ * methods (error handling, parameter parsing etc.).
* </p>
* The code has been taken from {@link AuthServlet}.
*/
@@ -81,7 +84,6 @@ public abstract class AbstractAuthServletTask extends AbstractTask {
public abstract void execute(ExecutionContext executionContext, HttpServletRequest request,
HttpServletResponse response) throws TaskExecutionException;
-
@Override
protected final IRequest internalExecute(final IRequest pendingReq,
final ExecutionContext executionContext, final HttpServletRequest request,
@@ -90,7 +92,7 @@ public abstract class AbstractAuthServletTask extends AbstractTask {
this.pendingReq = pendingReq;
// add latest pendingRequestId on execution context
- executionContext.put(EAAFConstants.PROCESS_ENGINE_PENDINGREQUESTID,
+ executionContext.put(EaafConstants.PROCESS_ENGINE_PENDINGREQUESTID,
pendingReq.getPendingRequestId());
// execute task specific action
@@ -101,20 +103,22 @@ public abstract class AbstractAuthServletTask extends AbstractTask {
}
/**
- * Redirect the authentication process to protocol specific finalization endpoint.
+ * Redirect the authentication process to protocol specific finalization
+ * endpoint.
*
* @param executionContext
*
- * @param pendingReq Actually processed protocol specific authentication request
- * @param httpResp http response object
- * @throws IOException In case of a general error
+ * @param pendingReq Actually processed protocol specific authentication
+ * request
+ * @param httpResp http response object
+ * @throws IOException In case of a general error
* @throws EaafException In case of an application error
*/
protected void performRedirectToProtocolFinialization(final ExecutionContext executionContext,
final IRequest pendingReq, final HttpServletRequest httpReq,
final HttpServletResponse httpResp) throws EaafException, IOException {
final Object frontChannelRedirectFlagObj =
- executionContext.get(EAAFConstants.PROCESS_ENGINE_REQUIRES_NO_POSTAUTH_REDIRECT);
+ executionContext.get(EaafConstants.PROCESS_ENGINE_REQUIRES_NO_POSTAUTH_REDIRECT);
if (frontChannelRedirectFlagObj != null && frontChannelRedirectFlagObj instanceof Boolean
&& (Boolean) frontChannelRedirectFlagObj) {
log.info("AuthProcess finished. Forward to Protocol finalization.");
@@ -128,15 +132,14 @@ public abstract class AbstractAuthServletTask extends AbstractTask {
}
-
-
}
/**
* Redirect the authentication process to IDP itself.
*
- * @param pendingReq Actually processed protocol specific authentication request
- * @param httpResp http response
+ * @param pendingReq Actually processed protocol specific authentication
+ * request
+ * @param httpResp http response
* @param idpEndPoint Servlet EndPoint that should receive the redirect
*/
protected void performRedirectToItself(final IRequest pendingReq,
@@ -151,16 +154,15 @@ public abstract class AbstractAuthServletTask extends AbstractTask {
}
-
/**
- * Parses the request input stream for parameters, assuming parameters are encoded UTF-8 (no
- * standard exists how browsers should encode them).
+ * Parses the request input stream for parameters, assuming parameters are
+ * encoded UTF-8 (no standard exists how browsers should encode them).
*
* @param req servlet request
*
* @return mapping parameter name -> value
*
- * @throws IOException if parsing request parameters fails.
+ * @throws IOException if parsing request parameters fails.
*
* @throws FileUploadException if parsing request parameters fails.
*/
@@ -215,7 +217,8 @@ public abstract class AbstractAuthServletTask extends AbstractTask {
final Entry<String, String[]> entry = requestParamIt.next();
final String key = entry.getKey();
final String[] values = entry.getValue();
- // take the last value from the value array since the legacy code above also does it this
+ // take the last value from the value array since the legacy code above also
+ // does it this
// way
parameters.put(key, ArrayUtils.isEmpty(values) ? null : values[values.length - 1]);
}
@@ -228,7 +231,7 @@ public abstract class AbstractAuthServletTask extends AbstractTask {
/**
* Reads bytes up to a delimiter, consuming the delimiter.
*
- * @param in input stream
+ * @param in input stream
* @param delimiter delimiter character
* @return String constructed from the read bytes
* @throws IOException In case of a general error
@@ -251,8 +254,8 @@ public abstract class AbstractAuthServletTask extends AbstractTask {
/**
* Adds a parameter to a URL.
*
- * @param url the URL
- * @param paramname parameter name
+ * @param url the URL
+ * @param paramname parameter name
* @param paramvalue parameter value
* @return the URL with parameter added
*/
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/modules/ModuleRegistration.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/modules/ModuleRegistration.java
index 27aeab03..c4f1b505 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/modules/ModuleRegistration.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/modules/ModuleRegistration.java
@@ -27,12 +27,9 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.ServiceLoader;
+
import javax.annotation.PostConstruct;
-import at.gv.egiz.eaaf.core.api.IRequest;
-import at.gv.egiz.eaaf.core.api.idp.auth.modules.AuthModule;
-import at.gv.egiz.eaaf.core.api.idp.process.ExecutionContext;
-import at.gv.egiz.eaaf.core.api.idp.process.ProcessEngine;
-import at.gv.egiz.eaaf.core.impl.idp.process.ProcessDefinitionParserException;
+
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -40,13 +37,20 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.core.io.Resource;
+import at.gv.egiz.eaaf.core.api.IRequest;
+import at.gv.egiz.eaaf.core.api.idp.auth.modules.AuthModule;
+import at.gv.egiz.eaaf.core.api.idp.process.ExecutionContext;
+import at.gv.egiz.eaaf.core.api.idp.process.ProcessEngine;
+import at.gv.egiz.eaaf.core.impl.idp.process.ProcessDefinitionParserException;
+
/**
- * This class handles registering modules. The modules are detected either with the ServiceLoader
- * mechanism or via Spring. All detected modules are ranked according to their priority.
+ * This class handles registering modules. The modules are detected either with
+ * the ServiceLoader mechanism or via Spring. All detected modules are ranked
+ * according to their priority.
*/
public class ModuleRegistration {
- //private static ModuleRegistration instance = new ModuleRegistration();
+ // private static ModuleRegistration instance = new ModuleRegistration();
private final List<AuthModule> priorizedModules = new ArrayList<>();
@@ -58,10 +62,6 @@ public class ModuleRegistration {
private final Logger log = LoggerFactory.getLogger(getClass());
-// public static ModuleRegistration getInstance() {
-// return ctx.;
-// }
-
private ModuleRegistration() {
}
@@ -77,7 +77,7 @@ public class ModuleRegistration {
// order modules according to their priority
sortModules();
- //instance = this;
+ // instance = this;
}
/**
@@ -142,10 +142,10 @@ public class ModuleRegistration {
}
/**
- * Returns the process description id of the first process, in the highest ranked module, which is
- * able to work with the given execution context.
+ * Returns the process description id of the first process, in the highest
+ * ranked module, which is able to work with the given execution context.
*
- * @param context the {@link ExecutionContext}.
+ * @param context the {@link ExecutionContext}.
* @param pendingReq the current processed {@link IRequest}
* @return the process id or {@code null}
*/
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/services/ProtocolAuthenticationService.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/services/ProtocolAuthenticationService.java
index a5030851..817c7aa2 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/services/ProtocolAuthenticationService.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/services/ProtocolAuthenticationService.java
@@ -24,14 +24,27 @@ import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
+
import javax.naming.ConfigurationException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.lang3.ArrayUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.text.StringEscapeUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationContext;
+import org.springframework.lang.NonNull;
+import org.springframework.lang.Nullable;
+import org.springframework.stereotype.Service;
+
import at.gv.egiz.components.eventlog.api.EventConstants;
import at.gv.egiz.eaaf.core.api.IRequest;
import at.gv.egiz.eaaf.core.api.IRequestStorage;
import at.gv.egiz.eaaf.core.api.IStatusMessenger;
-import at.gv.egiz.eaaf.core.api.data.EAAFConstants;
+import at.gv.egiz.eaaf.core.api.data.EaafConstants;
import at.gv.egiz.eaaf.core.api.gui.IGuiBuilderConfiguration;
import at.gv.egiz.eaaf.core.api.gui.IGuiBuilderConfigurationFactory;
import at.gv.egiz.eaaf.core.api.gui.IGuiFormBuilder;
@@ -40,7 +53,7 @@ import at.gv.egiz.eaaf.core.api.idp.IAction;
import at.gv.egiz.eaaf.core.api.idp.IAuthData;
import at.gv.egiz.eaaf.core.api.idp.IAuthenticationDataBuilder;
import at.gv.egiz.eaaf.core.api.idp.IModulInfo;
-import at.gv.egiz.eaaf.core.api.idp.IspConfiguration;
+import at.gv.egiz.eaaf.core.api.idp.ISpConfiguration;
import at.gv.egiz.eaaf.core.api.idp.auth.IAuthenticationManager;
import at.gv.egiz.eaaf.core.api.idp.auth.ISsoManager;
import at.gv.egiz.eaaf.core.api.idp.auth.services.IProtocolAuthenticationService;
@@ -59,16 +72,6 @@ import at.gv.egiz.eaaf.core.exceptions.ProtocolNotActiveException;
import at.gv.egiz.eaaf.core.impl.gui.AbstractGuiFormBuilderConfiguration;
import at.gv.egiz.eaaf.core.impl.idp.controller.protocols.RequestImpl;
import at.gv.egiz.eaaf.core.impl.utils.HttpUtils;
-import org.apache.commons.lang3.ArrayUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.text.StringEscapeUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.ApplicationContext;
-import org.springframework.lang.NonNull;
-import org.springframework.lang.Nullable;
-import org.springframework.stereotype.Service;
@Service
public class ProtocolAuthenticationService implements IProtocolAuthenticationService {
@@ -99,13 +102,13 @@ public class ProtocolAuthenticationService implements IProtocolAuthenticationSer
@Autowired
private IRevisionLogger revisionsLogger;
-
private IGuiFormBuilder guiBuilder;
/*
* (non-Javadoc)
*
- * @see at.gv.egiz.eaaf.core.impl.idp.auth.services.IProtocolAuthenticationService#
+ * @see
+ * at.gv.egiz.eaaf.core.impl.idp.auth.services.IProtocolAuthenticationService#
* performAuthentication(javax.servlet.http.HttpServletRequest,
* javax.servlet.http.HttpServletResponse, at.gv.egiz.eaaf.core.api.IRequest)
*/
@@ -121,16 +124,17 @@ public class ProtocolAuthenticationService implements IProtocolAuthenticationSer
.setPendingRequestId(pendingReqIdGenerationStrategy.generateExternalPendingRequestId());
// load Parameters from OnlineApplicationConfiguration
- final IspConfiguration oaParam = pendingReq.getServiceProviderConfiguration();
+ final ISpConfiguration oaParam = pendingReq.getServiceProviderConfiguration();
if (oaParam == null) {
throw new EaafAuthenticationException(
IStatusMessenger.CODES_INTERNAL_ERROR_AUTH_NOSPCONFIG,
- new Object[] {pendingReq.getSpEntityId()});
+ new Object[] { pendingReq.getSpEntityId() });
}
if (authmanager.doAuthentication(req, resp, pendingReq)) {
- // pending request is already authenticated --> protocol-specific postProcessing can start
+ // pending request is already authenticated --> protocol-specific postProcessing
+ // can start
// directly
finalizeAuthentication(req, resp, pendingReq);
@@ -155,7 +159,8 @@ public class ProtocolAuthenticationService implements IProtocolAuthenticationSer
/*
* (non-Javadoc)
*
- * @see at.gv.egiz.eaaf.core.impl.idp.auth.services.IProtocolAuthenticationService#
+ * @see
+ * at.gv.egiz.eaaf.core.impl.idp.auth.services.IProtocolAuthenticationService#
* finalizeAuthentication(javax.servlet.http.HttpServletRequest,
* javax.servlet.http.HttpServletResponse, at.gv.egiz.eaaf.core.api.IRequest)
*/
@@ -210,11 +215,10 @@ public class ProtocolAuthenticationService implements IProtocolAuthenticationSer
// remove pending-request
requestStorage.removePendingRequest(pendingReq.getPendingRequestId());
revisionsLogger.logEvent(EventConstants.TRANSACTION_DESTROYED,
- pendingReq.getUniqueTransactionIdentifier());
+ pendingReq.getUniqueTransactionIdentifier());
}
-
@Override
public void buildProtocolSpecificErrorResponse(final Throwable throwable,
final HttpServletRequest req, final HttpServletResponse resp, final IRequest protocolRequest)
@@ -285,7 +289,6 @@ public class ProtocolAuthenticationService implements IProtocolAuthenticationSer
}
-
public void setGuiBuilder(final IGuiFormBuilder guiBuilder) {
this.guiBuilder = guiBuilder;
}
@@ -293,11 +296,11 @@ public class ProtocolAuthenticationService implements IProtocolAuthenticationSer
/**
* Finalize the requested protocol operation.
*
- * @param httpReq HttpServletRequest
- * @param httpResp HttpServletResponse
+ * @param httpReq HttpServletRequest
+ * @param httpResp HttpServletResponse
* @param protocolRequest Authentication request which is actually in process
- * @param moaSession MOASession object, which is used to generate the protocol specific
- * authentication information
+ * @param moaSession MOASession object, which is used to generate the
+ * protocol specific authentication information
* @throws Exception In case of an error
*/
protected void internalFinalizeAuthenticationProcess(final HttpServletRequest req,
@@ -352,10 +355,10 @@ public class ProtocolAuthenticationService implements IProtocolAuthenticationSer
/**
* Executes the requested protocol action.
*
- * @param httpReq HttpServletRequest
- * @param httpResp HttpServletResponse
+ * @param httpReq HttpServletRequest
+ * @param httpResp HttpServletResponse
* @param protocolRequest Authentication request which is actually in process
- * @param authData Service-provider specific authentication data
+ * @param authData Service-provider specific authentication data
*
* @return Return Single LogOut information or null if protocol supports no SSO
*
@@ -430,7 +433,6 @@ public class ProtocolAuthenticationService implements IProtocolAuthenticationSer
final IGuiBuilderConfiguration config =
guiConfigFactory.getDefaultErrorGui(HttpUtils.extractAuthUrlFromRequest(httpReq));
-
String[] errorCodeParams = null;
if (params == null) {
errorCodeParams = new String[] {};
@@ -446,8 +448,6 @@ public class ProtocolAuthenticationService implements IProtocolAuthenticationSer
}
}
-
-
// add errorcode and errormessage
if (config instanceof ModifyableGuiBuilderConfiguration) {
((ModifyableGuiBuilderConfiguration) config).putCustomParameter(
@@ -471,15 +471,12 @@ public class ProtocolAuthenticationService implements IProtocolAuthenticationSer
"Can not ADD error message, because 'GUIBuilderConfiguration' is not modifieable ");
}
-
-
guiBuilder.build(httpReq, httpResp, config, "Error-Message");
} catch (final GuiBuildException e) {
log.warn("Can not build error-message GUI.", e);
throw new EaafException("9199", null, e);
-
}
}
@@ -496,7 +493,7 @@ public class ProtocolAuthenticationService implements IProtocolAuthenticationSer
throws IOException, EaafException {
if (e instanceof ProtocolNotActiveException) {
resp.getWriter().write(e.getMessage());
- resp.setContentType(EAAFConstants.CONTENTTYPE_HTML_UTF8);
+ resp.setContentType(EaafConstants.CONTENTTYPE_HTML_UTF8);
resp.sendError(HttpServletResponse.SC_FORBIDDEN,
StringEscapeUtils.escapeHtml4(StringEscapeUtils.escapeEcmaScript(e.getMessage())));
@@ -537,5 +534,4 @@ public class ProtocolAuthenticationService implements IProtocolAuthenticationSer
}
-
}
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/SimpleStringAttributeGenerator.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/SimpleStringAttributeGenerator.java
index fc36f492..df4e97fc 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/SimpleStringAttributeGenerator.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/SimpleStringAttributeGenerator.java
@@ -21,7 +21,8 @@ package at.gv.egiz.eaaf.core.impl.idp.builder;
import at.gv.egiz.eaaf.core.api.idp.IAttributeGenerator;
/**
- * Simple String attribute generator that only generates attribute values as String.
+ * Simple String attribute generator that only generates attribute values as
+ * String.
*
* @author tlenz
*
@@ -32,8 +33,8 @@ public class SimpleStringAttributeGenerator implements IAttributeGenerator<Strin
* (non-Javadoc)
*
* @see
- * at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeGenerator#buildStringAttribute(
- * java.lang.String, java.lang.String, java.lang.String)
+ * at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeGenerator#
+ * buildStringAttribute( java.lang.String, java.lang.String, java.lang.String)
*/
@Override
public String buildStringAttribute(final String friendlyName, final String name, final String value) {
@@ -45,8 +46,8 @@ public class SimpleStringAttributeGenerator implements IAttributeGenerator<Strin
* (non-Javadoc)
*
* @see
- * at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeGenerator#buildIntegerAttribute
- * (java.lang.String, java.lang.String, int)
+ * at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeGenerator#
+ * buildIntegerAttribute (java.lang.String, java.lang.String, int)
*/
@Override
public String buildIntegerAttribute(final String friendlyName, final String name, final int value) {
@@ -58,8 +59,8 @@ public class SimpleStringAttributeGenerator implements IAttributeGenerator<Strin
* (non-Javadoc)
*
* @see
- * at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeGenerator#buildLongAttribute(
- * java.lang.String, java.lang.String, long)
+ * at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeGenerator#
+ * buildLongAttribute( java.lang.String, java.lang.String, long)
*/
@Override
public String buildLongAttribute(final String friendlyName, final String name, final long value) {
@@ -71,8 +72,8 @@ public class SimpleStringAttributeGenerator implements IAttributeGenerator<Strin
* (non-Javadoc)
*
* @see
- * at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeGenerator#buildEmptyAttribute(
- * java.lang.String, java.lang.String)
+ * at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeGenerator#
+ * buildEmptyAttribute( java.lang.String, java.lang.String)
*/
@Override
public String buildEmptyAttribute(final String friendlyName, final String name) {
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/BirthdateAttributeBuilder.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/BirthdateAttributeBuilder.java
index 505ba137..19500cb3 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/BirthdateAttributeBuilder.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/BirthdateAttributeBuilder.java
@@ -21,10 +21,11 @@ package at.gv.egiz.eaaf.core.impl.idp.builder.attributes;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
+
import at.gv.egiz.eaaf.core.api.idp.IAttributeGenerator;
import at.gv.egiz.eaaf.core.api.idp.IAuthData;
import at.gv.egiz.eaaf.core.api.idp.IPvpAttributeBuilder;
-import at.gv.egiz.eaaf.core.api.idp.IspConfiguration;
+import at.gv.egiz.eaaf.core.api.idp.ISpConfiguration;
import at.gv.egiz.eaaf.core.exceptions.AttributeBuilderException;
import at.gv.egiz.eaaf.core.exceptions.UnavailableAttributeException;
@@ -37,7 +38,7 @@ public class BirthdateAttributeBuilder implements IPvpAttributeBuilder {
}
@Override
- public <ATT> ATT build(final IspConfiguration oaParam, final IAuthData authData,
+ public <ATT> ATT build(final ISpConfiguration oaParam, final IAuthData authData,
final IAttributeGenerator<ATT> g) throws AttributeBuilderException {
if (authData.getDateOfBirth() != null) {
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/BpkAttributeBuilder.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/BpkAttributeBuilder.java
index 56eb5634..172d74a7 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/BpkAttributeBuilder.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/BpkAttributeBuilder.java
@@ -20,17 +20,19 @@
package at.gv.egiz.eaaf.core.impl.idp.builder.attributes;
import javax.annotation.Nonnull;
-import at.gv.egiz.eaaf.core.api.data.EAAFConstants;
+
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.util.Assert;
+
+import at.gv.egiz.eaaf.core.api.data.EaafConstants;
import at.gv.egiz.eaaf.core.api.idp.IAttributeGenerator;
import at.gv.egiz.eaaf.core.api.idp.IAuthData;
import at.gv.egiz.eaaf.core.api.idp.IPvpAttributeBuilder;
-import at.gv.egiz.eaaf.core.api.idp.IspConfiguration;
+import at.gv.egiz.eaaf.core.api.idp.ISpConfiguration;
import at.gv.egiz.eaaf.core.exceptions.AttributeBuilderException;
import at.gv.egiz.eaaf.core.exceptions.UnavailableAttributeException;
-import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.util.Assert;
@PvpMetadata
public class BpkAttributeBuilder implements IPvpAttributeBuilder {
@@ -44,7 +46,7 @@ public class BpkAttributeBuilder implements IPvpAttributeBuilder {
}
@Override
- public <ATT> ATT build(final IspConfiguration oaParam, final IAuthData authData,
+ public <ATT> ATT build(final ISpConfiguration oaParam, final IAuthData authData,
final IAttributeGenerator<ATT> g) throws AttributeBuilderException {
final String result = getBpkForSP(authData);
log.trace("Authenticate user with bPK/wbPK: " + result);
@@ -80,12 +82,12 @@ public class BpkAttributeBuilder implements IPvpAttributeBuilder {
@Nonnull
protected String removeBpkTypePrefix(@Nonnull final String type) {
Assert.isTrue(type != null, "bPKType is 'NULL'");
- if (type.startsWith(EAAFConstants.URN_PREFIX_WBPK)) {
- return type.substring(EAAFConstants.URN_PREFIX_WBPK.length());
- } else if (type.startsWith(EAAFConstants.URN_PREFIX_CDID)) {
- return type.substring(EAAFConstants.URN_PREFIX_CDID.length());
- } else if (type.startsWith(EAAFConstants.URN_PREFIX_EIDAS)) {
- return type.substring(EAAFConstants.URN_PREFIX_EIDAS.length());
+ if (type.startsWith(EaafConstants.URN_PREFIX_WBPK)) {
+ return type.substring(EaafConstants.URN_PREFIX_WBPK.length());
+ } else if (type.startsWith(EaafConstants.URN_PREFIX_CDID)) {
+ return type.substring(EaafConstants.URN_PREFIX_CDID.length());
+ } else if (type.startsWith(EaafConstants.URN_PREFIX_EIDAS)) {
+ return type.substring(EaafConstants.URN_PREFIX_EIDAS.length());
} else {
return type;
}
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidCcsUrl.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidCcsUrl.java
index 8029d769..27b78059 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidCcsUrl.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidCcsUrl.java
@@ -8,7 +8,7 @@ import at.gv.egiz.eaaf.core.api.idp.IAttributeGenerator;
import at.gv.egiz.eaaf.core.api.idp.IAuthData;
import at.gv.egiz.eaaf.core.api.idp.IEidAuthData;
import at.gv.egiz.eaaf.core.api.idp.IPvpAttributeBuilder;
-import at.gv.egiz.eaaf.core.api.idp.IspConfiguration;
+import at.gv.egiz.eaaf.core.api.idp.ISpConfiguration;
import at.gv.egiz.eaaf.core.exceptions.AttributeBuilderException;
import at.gv.egiz.eaaf.core.exceptions.UnavailableAttributeException;
@@ -22,7 +22,7 @@ public class EidCcsUrl implements IPvpAttributeBuilder {
}
@Override
- public <ATT> ATT build(final IspConfiguration oaParam, final IAuthData authData,
+ public <ATT> ATT build(final ISpConfiguration oaParam, final IAuthData authData,
final IAttributeGenerator<ATT> g) throws AttributeBuilderException {
if (authData instanceof IEidAuthData) {
final String bkuurl = ((IEidAuthData) authData).getVdaEndPointUrl();
@@ -30,7 +30,6 @@ public class EidCcsUrl implements IPvpAttributeBuilder {
return g.buildStringAttribute(EID_CCS_URL_FRIENDLY_NAME, EID_CCS_URL_NAME, bkuurl);
}
-
} else {
log.info(EID_CCS_URL_FRIENDLY_NAME + " is only available in MOA-ID context");
}
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidEidTokenBuilder.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidEidTokenBuilder.java
index ccc2b4e8..be208e8e 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidEidTokenBuilder.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidEidTokenBuilder.java
@@ -19,29 +19,29 @@
package at.gv.egiz.eaaf.core.impl.idp.builder.attributes;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.util.Base64Utils;
+
import at.gv.egiz.eaaf.core.api.idp.IAttributeGenerator;
import at.gv.egiz.eaaf.core.api.idp.IAuthData;
import at.gv.egiz.eaaf.core.api.idp.IEidAuthData;
import at.gv.egiz.eaaf.core.api.idp.IPvpAttributeBuilder;
-import at.gv.egiz.eaaf.core.api.idp.IspConfiguration;
+import at.gv.egiz.eaaf.core.api.idp.ISpConfiguration;
import at.gv.egiz.eaaf.core.exceptions.AttributeBuilderException;
import at.gv.egiz.eaaf.core.exceptions.UnavailableAttributeException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.util.Base64Utils;
@PvpMetadata
public class EidEidTokenBuilder implements IPvpAttributeBuilder {
private static final Logger log = LoggerFactory.getLogger(EidEidTokenBuilder.class);
-
@Override
public String getName() {
return EID_E_ID_TOKEN_NAME;
}
@Override
- public <ATT> ATT build(final IspConfiguration oaParam, final IAuthData authData,
+ public <ATT> ATT build(final ISpConfiguration oaParam, final IAuthData authData,
final IAttributeGenerator<ATT> g) throws AttributeBuilderException {
if (authData instanceof IEidAuthData) {
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidEidasQaaLevelAttributeBuilder.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidEidasQaaLevelAttributeBuilder.java
index 858baf40..7d0d6a95 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidEidasQaaLevelAttributeBuilder.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidEidasQaaLevelAttributeBuilder.java
@@ -19,11 +19,10 @@
package at.gv.egiz.eaaf.core.impl.idp.builder.attributes;
-
import at.gv.egiz.eaaf.core.api.idp.IAttributeGenerator;
import at.gv.egiz.eaaf.core.api.idp.IAuthData;
import at.gv.egiz.eaaf.core.api.idp.IPvpAttributeBuilder;
-import at.gv.egiz.eaaf.core.api.idp.IspConfiguration;
+import at.gv.egiz.eaaf.core.api.idp.ISpConfiguration;
import at.gv.egiz.eaaf.core.exceptions.AttributeBuilderException;
@PvpMetadata
@@ -35,14 +34,13 @@ public class EidEidasQaaLevelAttributeBuilder implements IPvpAttributeBuilder {
}
@Override
- public <ATT> ATT build(final IspConfiguration oaParam, final IAuthData authData,
+ public <ATT> ATT build(final ISpConfiguration oaParam, final IAuthData authData,
final IAttributeGenerator<ATT> g) throws AttributeBuilderException {
return g.buildStringAttribute(EID_CITIZEN_EIDAS_QAA_LEVEL_FRIENDLY_NAME,
EID_CITIZEN_EIDAS_QAA_LEVEL_NAME, authData.getEidasQaaLevel());
}
-
@Override
public <ATT> ATT buildEmpty(final IAttributeGenerator<ATT> g) {
return g.buildEmptyAttribute(EID_CITIZEN_EIDAS_QAA_LEVEL_FRIENDLY_NAME,
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidEncryptedSourceIdAttributeBuilder.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidEncryptedSourceIdAttributeBuilder.java
index e828d11c..246f585c 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidEncryptedSourceIdAttributeBuilder.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidEncryptedSourceIdAttributeBuilder.java
@@ -19,18 +19,19 @@
package at.gv.egiz.eaaf.core.impl.idp.builder.attributes;
-import at.gv.egiz.eaaf.core.api.data.ExtendedPVPAttributeDefinitions;
+import at.gv.egiz.eaaf.core.api.data.ExtendedPvpAttributeDefinitions;
import at.gv.egiz.eaaf.core.api.idp.IAttributeBuilder;
import at.gv.egiz.eaaf.core.api.idp.IAttributeGenerator;
import at.gv.egiz.eaaf.core.api.idp.IAuthData;
-import at.gv.egiz.eaaf.core.api.idp.IspConfiguration;
+import at.gv.egiz.eaaf.core.api.idp.ISpConfiguration;
import at.gv.egiz.eaaf.core.exceptions.AttributeBuilderException;
public class EidEncryptedSourceIdAttributeBuilder
- implements IAttributeBuilder, ExtendedPVPAttributeDefinitions {
+ implements IAttributeBuilder, ExtendedPvpAttributeDefinitions {
@Override
- public <ATT> ATT build(final IspConfiguration oaParam, final IAuthData authData, final IAttributeGenerator<ATT> g)
+ public <ATT> ATT build(final ISpConfiguration oaParam, final IAuthData authData,
+ final IAttributeGenerator<ATT> g)
throws AttributeBuilderException {
return g.buildStringAttribute(getFriendlyName(), getName(), authData.getEncryptedSourceId());
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidEncryptedSourceIdTypeAttributeBuilder.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidEncryptedSourceIdTypeAttributeBuilder.java
index a1a245d1..3ffa6a14 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidEncryptedSourceIdTypeAttributeBuilder.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidEncryptedSourceIdTypeAttributeBuilder.java
@@ -19,18 +19,19 @@
package at.gv.egiz.eaaf.core.impl.idp.builder.attributes;
-import at.gv.egiz.eaaf.core.api.data.ExtendedPVPAttributeDefinitions;
+import at.gv.egiz.eaaf.core.api.data.ExtendedPvpAttributeDefinitions;
import at.gv.egiz.eaaf.core.api.idp.IAttributeBuilder;
import at.gv.egiz.eaaf.core.api.idp.IAttributeGenerator;
import at.gv.egiz.eaaf.core.api.idp.IAuthData;
-import at.gv.egiz.eaaf.core.api.idp.IspConfiguration;
+import at.gv.egiz.eaaf.core.api.idp.ISpConfiguration;
import at.gv.egiz.eaaf.core.exceptions.AttributeBuilderException;
public class EidEncryptedSourceIdTypeAttributeBuilder
- implements IAttributeBuilder, ExtendedPVPAttributeDefinitions {
+ implements IAttributeBuilder, ExtendedPvpAttributeDefinitions {
@Override
- public <ATT> ATT build(final IspConfiguration oaParam, final IAuthData authData, final IAttributeGenerator<ATT> g)
+ public <ATT> ATT build(final ISpConfiguration oaParam, final IAuthData authData,
+ final IAttributeGenerator<ATT> g)
throws AttributeBuilderException {
return g.buildStringAttribute(getFriendlyName(), getName(),
authData.getEncryptedSourceIdType());
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidIdentityLinkBuilder.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidIdentityLinkBuilder.java
index 8f629795..b7249786 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidIdentityLinkBuilder.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidIdentityLinkBuilder.java
@@ -20,29 +20,30 @@
package at.gv.egiz.eaaf.core.impl.idp.builder.attributes;
import java.io.IOException;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.util.Base64Utils;
+
import at.gv.egiz.eaaf.core.api.idp.IAttributeGenerator;
import at.gv.egiz.eaaf.core.api.idp.IAuthData;
import at.gv.egiz.eaaf.core.api.idp.IPvpAttributeBuilder;
-import at.gv.egiz.eaaf.core.api.idp.IspConfiguration;
+import at.gv.egiz.eaaf.core.api.idp.ISpConfiguration;
import at.gv.egiz.eaaf.core.exceptions.AttributeBuilderException;
import at.gv.egiz.eaaf.core.exceptions.UnavailableAttributeException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.util.Base64Utils;
@Deprecated
@PvpMetadata
public class EidIdentityLinkBuilder implements IPvpAttributeBuilder {
private static final Logger log = LoggerFactory.getLogger(EidIdentityLinkBuilder.class);
-
@Override
public String getName() {
return EID_IDENTITY_LINK_NAME;
}
@Override
- public <ATT> ATT build(final IspConfiguration oaParam, final IAuthData authData,
+ public <ATT> ATT build(final ISpConfiguration oaParam, final IAuthData authData,
final IAttributeGenerator<ATT> g) throws AttributeBuilderException {
try {
String ilAssertion = null;
@@ -55,7 +56,6 @@ public class EidIdentityLinkBuilder implements IPvpAttributeBuilder {
return g.buildStringAttribute(EID_IDENTITY_LINK_FRIENDLY_NAME, EID_IDENTITY_LINK_NAME,
Base64Utils.encodeToString(ilAssertion.getBytes("UTF-8")));
-
} catch (final IOException e) {
log.warn("IdentityLink serialization error.", e);
return g.buildEmptyAttribute(EID_IDENTITY_LINK_FRIENDLY_NAME, EID_IDENTITY_LINK_NAME);
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidIdentityStatusLevelAttributeBuiler.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidIdentityStatusLevelAttributeBuiler.java
index 2f70e3e0..ee51564e 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidIdentityStatusLevelAttributeBuiler.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidIdentityStatusLevelAttributeBuiler.java
@@ -7,7 +7,7 @@ import at.gv.egiz.eaaf.core.api.idp.IAttributeGenerator;
import at.gv.egiz.eaaf.core.api.idp.IAuthData;
import at.gv.egiz.eaaf.core.api.idp.IEidAuthData;
import at.gv.egiz.eaaf.core.api.idp.IPvpAttributeBuilder;
-import at.gv.egiz.eaaf.core.api.idp.IspConfiguration;
+import at.gv.egiz.eaaf.core.api.idp.ISpConfiguration;
import at.gv.egiz.eaaf.core.exceptions.AttributeBuilderException;
import at.gv.egiz.eaaf.core.exceptions.UnavailableAttributeException;
@@ -22,7 +22,7 @@ public class EidIdentityStatusLevelAttributeBuiler implements IPvpAttributeBuild
}
@Override
- public <ATT> ATT build(final IspConfiguration oaParam, final IAuthData authData,
+ public <ATT> ATT build(final ISpConfiguration oaParam, final IAuthData authData,
final IAttributeGenerator<ATT> g) throws AttributeBuilderException {
if (authData instanceof IEidAuthData) {
@@ -31,7 +31,7 @@ public class EidIdentityStatusLevelAttributeBuiler implements IPvpAttributeBuild
}
return g.buildStringAttribute(getFriendlyName(), getName(),
- ((IEidAuthData) authData).getEidStatus().getURI());
+ ((IEidAuthData) authData).getEidStatus().getUri());
} else {
log.info(getFriendlyName() + " is only available in EAAF context");
}
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidIssuingNationAttributeBuilder.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidIssuingNationAttributeBuilder.java
index 04c2b379..fd85871c 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidIssuingNationAttributeBuilder.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidIssuingNationAttributeBuilder.java
@@ -19,12 +19,13 @@
package at.gv.egiz.eaaf.core.impl.idp.builder.attributes;
+import org.apache.commons.lang3.StringUtils;
+
import at.gv.egiz.eaaf.core.api.idp.IAttributeGenerator;
import at.gv.egiz.eaaf.core.api.idp.IAuthData;
import at.gv.egiz.eaaf.core.api.idp.IPvpAttributeBuilder;
-import at.gv.egiz.eaaf.core.api.idp.IspConfiguration;
+import at.gv.egiz.eaaf.core.api.idp.ISpConfiguration;
import at.gv.egiz.eaaf.core.exceptions.AttributeBuilderException;
-import org.apache.commons.lang3.StringUtils;
@PvpMetadata
public class EidIssuingNationAttributeBuilder implements IPvpAttributeBuilder {
@@ -35,7 +36,7 @@ public class EidIssuingNationAttributeBuilder implements IPvpAttributeBuilder {
}
@Override
- public <ATT> ATT build(final IspConfiguration oaParam, final IAuthData authData,
+ public <ATT> ATT build(final ISpConfiguration oaParam, final IAuthData authData,
final IAttributeGenerator<ATT> g) throws AttributeBuilderException {
final String countryCode = authData.getCiticenCountryCode();
if (StringUtils.isNotEmpty(countryCode)) {
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidSectorForIdAttributeBuilder.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidSectorForIdAttributeBuilder.java
index f5e37792..3aedf9ab 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidSectorForIdAttributeBuilder.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidSectorForIdAttributeBuilder.java
@@ -19,13 +19,14 @@
package at.gv.egiz.eaaf.core.impl.idp.builder.attributes;
+import org.apache.commons.lang3.StringUtils;
+
import at.gv.egiz.eaaf.core.api.idp.IAttributeGenerator;
import at.gv.egiz.eaaf.core.api.idp.IAuthData;
import at.gv.egiz.eaaf.core.api.idp.IPvpAttributeBuilder;
-import at.gv.egiz.eaaf.core.api.idp.IspConfiguration;
+import at.gv.egiz.eaaf.core.api.idp.ISpConfiguration;
import at.gv.egiz.eaaf.core.exceptions.AttributeBuilderException;
import at.gv.egiz.eaaf.core.exceptions.UnavailableAttributeException;
-import org.apache.commons.lang3.StringUtils;
@PvpMetadata
public class EidSectorForIdAttributeBuilder implements IPvpAttributeBuilder {
@@ -36,7 +37,7 @@ public class EidSectorForIdAttributeBuilder implements IPvpAttributeBuilder {
}
@Override
- public <ATT> ATT build(final IspConfiguration oaParam, final IAuthData authData,
+ public <ATT> ATT build(final ISpConfiguration oaParam, final IAuthData authData,
final IAttributeGenerator<ATT> g) throws AttributeBuilderException {
final String bpktype = authData.getBpkType();
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidSignerCertificate.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidSignerCertificate.java
index 8ba7f255..6f857779 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidSignerCertificate.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidSignerCertificate.java
@@ -19,17 +19,17 @@
package at.gv.egiz.eaaf.core.impl.idp.builder.attributes;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.util.Base64Utils;
import at.gv.egiz.eaaf.core.api.idp.IAttributeGenerator;
import at.gv.egiz.eaaf.core.api.idp.IAuthData;
import at.gv.egiz.eaaf.core.api.idp.IEidAuthData;
import at.gv.egiz.eaaf.core.api.idp.IPvpAttributeBuilder;
-import at.gv.egiz.eaaf.core.api.idp.IspConfiguration;
+import at.gv.egiz.eaaf.core.api.idp.ISpConfiguration;
import at.gv.egiz.eaaf.core.exceptions.AttributeBuilderException;
import at.gv.egiz.eaaf.core.exceptions.UnavailableAttributeException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.util.Base64Utils;
@PvpMetadata
public class EidSignerCertificate implements IPvpAttributeBuilder {
@@ -41,7 +41,7 @@ public class EidSignerCertificate implements IPvpAttributeBuilder {
}
@Override
- public <ATT> ATT build(final IspConfiguration oaParam, final IAuthData authData,
+ public <ATT> ATT build(final ISpConfiguration oaParam, final IAuthData authData,
final IAttributeGenerator<ATT> g) throws AttributeBuilderException {
if (authData instanceof IEidAuthData) {
@@ -65,7 +65,6 @@ public class EidSignerCertificate implements IPvpAttributeBuilder {
log.info(EID_SIGNER_CERTIFICATE_FRIENDLY_NAME + " is only available in AuthHandler context");
}
-
throw new UnavailableAttributeException(EID_SIGNER_CERTIFICATE_NAME);
}
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidSourcePin.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidSourcePin.java
index fd2d51bb..591c176e 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidSourcePin.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidSourcePin.java
@@ -19,14 +19,15 @@
package at.gv.egiz.eaaf.core.impl.idp.builder.attributes;
+import org.apache.commons.lang3.StringUtils;
+
import at.gv.egiz.eaaf.core.api.idp.IAttributeGenerator;
import at.gv.egiz.eaaf.core.api.idp.IAuthData;
import at.gv.egiz.eaaf.core.api.idp.IPvpAttributeBuilder;
-import at.gv.egiz.eaaf.core.api.idp.IspConfiguration;
+import at.gv.egiz.eaaf.core.api.idp.ISpConfiguration;
import at.gv.egiz.eaaf.core.exceptions.AttributeBuilderException;
import at.gv.egiz.eaaf.core.exceptions.AttributePolicyException;
import at.gv.egiz.eaaf.core.exceptions.UnavailableAttributeException;
-import org.apache.commons.lang3.StringUtils;
@Deprecated
@PvpMetadata
@@ -38,7 +39,7 @@ public class EidSourcePin implements IPvpAttributeBuilder {
}
@Override
- public <ATT> ATT build(final IspConfiguration oaParam, final IAuthData authData,
+ public <ATT> ATT build(final ISpConfiguration oaParam, final IAuthData authData,
final IAttributeGenerator<ATT> g) throws AttributeBuilderException {
if (authData.isBaseIdTransferRestrication()) {
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidSourcePinType.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidSourcePinType.java
index 2a02fb05..4fba8d0a 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidSourcePinType.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/EidSourcePinType.java
@@ -22,7 +22,7 @@ package at.gv.egiz.eaaf.core.impl.idp.builder.attributes;
import at.gv.egiz.eaaf.core.api.idp.IAttributeGenerator;
import at.gv.egiz.eaaf.core.api.idp.IAuthData;
import at.gv.egiz.eaaf.core.api.idp.IPvpAttributeBuilder;
-import at.gv.egiz.eaaf.core.api.idp.IspConfiguration;
+import at.gv.egiz.eaaf.core.api.idp.ISpConfiguration;
import at.gv.egiz.eaaf.core.exceptions.AttributeBuilderException;
import at.gv.egiz.eaaf.core.exceptions.UnavailableAttributeException;
@@ -36,7 +36,7 @@ public class EidSourcePinType implements IPvpAttributeBuilder {
}
@Override
- public <ATT> ATT build(final IspConfiguration oaParam, final IAuthData authData,
+ public <ATT> ATT build(final ISpConfiguration oaParam, final IAuthData authData,
final IAttributeGenerator<ATT> g) throws AttributeBuilderException {
if (authData.isBaseIdTransferRestrication()) {
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/GivenNameAttributeBuilder.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/GivenNameAttributeBuilder.java
index bbd7a06c..46e22468 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/GivenNameAttributeBuilder.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/GivenNameAttributeBuilder.java
@@ -19,13 +19,14 @@
package at.gv.egiz.eaaf.core.impl.idp.builder.attributes;
+import org.apache.commons.lang3.StringUtils;
+
import at.gv.egiz.eaaf.core.api.idp.IAttributeGenerator;
import at.gv.egiz.eaaf.core.api.idp.IAuthData;
import at.gv.egiz.eaaf.core.api.idp.IPvpAttributeBuilder;
-import at.gv.egiz.eaaf.core.api.idp.IspConfiguration;
+import at.gv.egiz.eaaf.core.api.idp.ISpConfiguration;
import at.gv.egiz.eaaf.core.exceptions.AttributeBuilderException;
import at.gv.egiz.eaaf.core.exceptions.UnavailableAttributeException;
-import org.apache.commons.lang3.StringUtils;
@PvpMetadata
public class GivenNameAttributeBuilder implements IPvpAttributeBuilder {
@@ -36,7 +37,7 @@ public class GivenNameAttributeBuilder implements IPvpAttributeBuilder {
}
@Override
- public <ATT> ATT build(final IspConfiguration oaParam, final IAuthData authData,
+ public <ATT> ATT build(final ISpConfiguration oaParam, final IAuthData authData,
final IAttributeGenerator<ATT> g) throws AttributeBuilderException {
if (StringUtils.isNotEmpty(authData.getGivenName())) {
return g.buildStringAttribute(GIVEN_NAME_FRIENDLY_NAME, GIVEN_NAME_NAME,
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/PrincipalNameAttributeBuilder.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/PrincipalNameAttributeBuilder.java
index bbe9b741..67451a07 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/PrincipalNameAttributeBuilder.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/PrincipalNameAttributeBuilder.java
@@ -19,13 +19,14 @@
package at.gv.egiz.eaaf.core.impl.idp.builder.attributes;
+import org.apache.commons.lang3.StringUtils;
+
import at.gv.egiz.eaaf.core.api.idp.IAttributeGenerator;
import at.gv.egiz.eaaf.core.api.idp.IAuthData;
import at.gv.egiz.eaaf.core.api.idp.IPvpAttributeBuilder;
-import at.gv.egiz.eaaf.core.api.idp.IspConfiguration;
+import at.gv.egiz.eaaf.core.api.idp.ISpConfiguration;
import at.gv.egiz.eaaf.core.exceptions.AttributeBuilderException;
import at.gv.egiz.eaaf.core.exceptions.UnavailableAttributeException;
-import org.apache.commons.lang3.StringUtils;
@PvpMetadata
public class PrincipalNameAttributeBuilder implements IPvpAttributeBuilder {
@@ -36,7 +37,7 @@ public class PrincipalNameAttributeBuilder implements IPvpAttributeBuilder {
}
@Override
- public <ATT> ATT build(final IspConfiguration oaParam, final IAuthData authData,
+ public <ATT> ATT build(final ISpConfiguration oaParam, final IAuthData authData,
final IAttributeGenerator<ATT> g) throws AttributeBuilderException {
if (StringUtils.isNotEmpty(authData.getFamilyName())) {
return g.buildStringAttribute(PRINCIPAL_NAME_FRIENDLY_NAME, PRINCIPAL_NAME_NAME,
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/PvpVersionAttributeBuilder.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/PvpVersionAttributeBuilder.java
index 5ff68721..204f1c45 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/PvpVersionAttributeBuilder.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/PvpVersionAttributeBuilder.java
@@ -22,7 +22,7 @@ package at.gv.egiz.eaaf.core.impl.idp.builder.attributes;
import at.gv.egiz.eaaf.core.api.idp.IAttributeGenerator;
import at.gv.egiz.eaaf.core.api.idp.IAuthData;
import at.gv.egiz.eaaf.core.api.idp.IPvpAttributeBuilder;
-import at.gv.egiz.eaaf.core.api.idp.IspConfiguration;
+import at.gv.egiz.eaaf.core.api.idp.ISpConfiguration;
import at.gv.egiz.eaaf.core.exceptions.AttributeBuilderException;
@PvpMetadata
@@ -34,7 +34,7 @@ public class PvpVersionAttributeBuilder implements IPvpAttributeBuilder {
}
@Override
- public <ATT> ATT build(final IspConfiguration oaParam, final IAuthData authData,
+ public <ATT> ATT build(final ISpConfiguration oaParam, final IAuthData authData,
final IAttributeGenerator<ATT> g) throws AttributeBuilderException {
return g.buildStringAttribute(PVP_VERSION_FRIENDLY_NAME, PVP_VERSION_NAME, PVP_VERSION_2_1);
}
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/SpCountryCodeAttributeBuilder.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/SpCountryCodeAttributeBuilder.java
index 86cb1dcc..fe05b28d 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/SpCountryCodeAttributeBuilder.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/SpCountryCodeAttributeBuilder.java
@@ -19,15 +19,15 @@
package at.gv.egiz.eaaf.core.impl.idp.builder.attributes;
-import at.gv.egiz.eaaf.core.api.data.ExtendedPVPAttributeDefinitions;
+import at.gv.egiz.eaaf.core.api.data.ExtendedPvpAttributeDefinitions;
import at.gv.egiz.eaaf.core.api.idp.IAttributeBuilder;
import at.gv.egiz.eaaf.core.api.idp.IAttributeGenerator;
import at.gv.egiz.eaaf.core.api.idp.IAuthData;
-import at.gv.egiz.eaaf.core.api.idp.IspConfiguration;
+import at.gv.egiz.eaaf.core.api.idp.ISpConfiguration;
import at.gv.egiz.eaaf.core.exceptions.AttributeBuilderException;
public class SpCountryCodeAttributeBuilder
- implements IAttributeBuilder, ExtendedPVPAttributeDefinitions {
+ implements IAttributeBuilder, ExtendedPvpAttributeDefinitions {
@Override
public String getName() {
@@ -35,7 +35,8 @@ public class SpCountryCodeAttributeBuilder
}
@Override
- public <ATT> ATT build(final IspConfiguration oaParam, final IAuthData authData, final IAttributeGenerator<ATT> g)
+ public <ATT> ATT build(final ISpConfiguration oaParam, final IAuthData authData,
+ final IAttributeGenerator<ATT> g)
throws AttributeBuilderException {
// this attribute can not generated yet
return null;
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/SpFriendlyNameAttributeBuilder.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/SpFriendlyNameAttributeBuilder.java
index 4b905690..37102fc5 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/SpFriendlyNameAttributeBuilder.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/SpFriendlyNameAttributeBuilder.java
@@ -19,15 +19,15 @@
package at.gv.egiz.eaaf.core.impl.idp.builder.attributes;
-import at.gv.egiz.eaaf.core.api.data.ExtendedPVPAttributeDefinitions;
+import at.gv.egiz.eaaf.core.api.data.ExtendedPvpAttributeDefinitions;
import at.gv.egiz.eaaf.core.api.idp.IAttributeBuilder;
import at.gv.egiz.eaaf.core.api.idp.IAttributeGenerator;
import at.gv.egiz.eaaf.core.api.idp.IAuthData;
-import at.gv.egiz.eaaf.core.api.idp.IspConfiguration;
+import at.gv.egiz.eaaf.core.api.idp.ISpConfiguration;
import at.gv.egiz.eaaf.core.exceptions.AttributeBuilderException;
public class SpFriendlyNameAttributeBuilder
- implements IAttributeBuilder, ExtendedPVPAttributeDefinitions {
+ implements IAttributeBuilder, ExtendedPvpAttributeDefinitions {
@Override
public String getName() {
@@ -35,7 +35,8 @@ public class SpFriendlyNameAttributeBuilder
}
@Override
- public <ATT> ATT build(final IspConfiguration oaParam, final IAuthData authData, final IAttributeGenerator<ATT> g)
+ public <ATT> ATT build(final ISpConfiguration oaParam, final IAuthData authData,
+ final IAttributeGenerator<ATT> g)
throws AttributeBuilderException {
return g.buildStringAttribute(SP_FRIENDLYNAME_FRIENDLY_NAME, SP_FRIENDLYNAME_NAME,
oaParam.getFriendlyName());
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/SpUniqueIdAttributeBuilder.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/SpUniqueIdAttributeBuilder.java
index 47e5e8ce..760dbbe5 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/SpUniqueIdAttributeBuilder.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/SpUniqueIdAttributeBuilder.java
@@ -19,15 +19,15 @@
package at.gv.egiz.eaaf.core.impl.idp.builder.attributes;
-import at.gv.egiz.eaaf.core.api.data.ExtendedPVPAttributeDefinitions;
+import at.gv.egiz.eaaf.core.api.data.ExtendedPvpAttributeDefinitions;
import at.gv.egiz.eaaf.core.api.idp.IAttributeBuilder;
import at.gv.egiz.eaaf.core.api.idp.IAttributeGenerator;
import at.gv.egiz.eaaf.core.api.idp.IAuthData;
-import at.gv.egiz.eaaf.core.api.idp.IspConfiguration;
+import at.gv.egiz.eaaf.core.api.idp.ISpConfiguration;
import at.gv.egiz.eaaf.core.exceptions.AttributeBuilderException;
public class SpUniqueIdAttributeBuilder
- implements IAttributeBuilder, ExtendedPVPAttributeDefinitions {
+ implements IAttributeBuilder, ExtendedPvpAttributeDefinitions {
@Override
public String getName() {
@@ -35,7 +35,8 @@ public class SpUniqueIdAttributeBuilder
}
@Override
- public <ATT> ATT build(final IspConfiguration oaParam, final IAuthData authData, final IAttributeGenerator<ATT> g)
+ public <ATT> ATT build(final ISpConfiguration oaParam, final IAuthData authData,
+ final IAttributeGenerator<ATT> g)
throws AttributeBuilderException {
return g.buildStringAttribute(SP_UNIQUEID_FRIENDLY_NAME, SP_UNIQUEID_NAME,
oaParam.getUniqueIdentifier());
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/SpUsesMandates.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/SpUsesMandates.java
index ce717862..44ff4e50 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/SpUsesMandates.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/builder/attributes/SpUsesMandates.java
@@ -19,14 +19,14 @@
package at.gv.egiz.eaaf.core.impl.idp.builder.attributes;
-import at.gv.egiz.eaaf.core.api.data.ExtendedPVPAttributeDefinitions;
+import at.gv.egiz.eaaf.core.api.data.ExtendedPvpAttributeDefinitions;
import at.gv.egiz.eaaf.core.api.idp.IAttributeBuilder;
import at.gv.egiz.eaaf.core.api.idp.IAttributeGenerator;
import at.gv.egiz.eaaf.core.api.idp.IAuthData;
-import at.gv.egiz.eaaf.core.api.idp.IspConfiguration;
+import at.gv.egiz.eaaf.core.api.idp.ISpConfiguration;
import at.gv.egiz.eaaf.core.exceptions.AttributeBuilderException;
-public class SpUsesMandates implements IAttributeBuilder, ExtendedPVPAttributeDefinitions {
+public class SpUsesMandates implements IAttributeBuilder, ExtendedPvpAttributeDefinitions {
@Override
public String getName() {
@@ -34,7 +34,8 @@ public class SpUsesMandates implements IAttributeBuilder, ExtendedPVPAttributeDe
}
@Override
- public <ATT> ATT build(final IspConfiguration oaParam, final IAuthData authData, final IAttributeGenerator<ATT> g)
+ public <ATT> ATT build(final ISpConfiguration oaParam, final IAuthData authData,
+ final IAttributeGenerator<ATT> g)
throws AttributeBuilderException {
// this attribute can not generated yet
return null;
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/conf/AbstractConfigurationImpl.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/conf/AbstractConfigurationImpl.java
index e661a2a8..d279446b 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/conf/AbstractConfigurationImpl.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/conf/AbstractConfigurationImpl.java
@@ -27,13 +27,15 @@ import java.net.URI;
import java.net.URISyntaxException;
import java.util.Map;
import java.util.Properties;
-import at.gv.egiz.eaaf.core.api.idp.IExtendedConfiguration;
-import at.gv.egiz.eaaf.core.exceptions.EaafConfigurationException;
-import at.gv.egiz.eaaf.core.impl.utils.KeyValueUtils;
+
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import at.gv.egiz.eaaf.core.api.idp.IExtendedConfiguration;
+import at.gv.egiz.eaaf.core.exceptions.EaafConfigurationException;
+import at.gv.egiz.eaaf.core.impl.utils.KeyValueUtils;
+
public abstract class AbstractConfigurationImpl implements IExtendedConfiguration {
private static final Logger log = LoggerFactory.getLogger(AbstractConfigurationImpl.class);
@@ -72,7 +74,6 @@ public abstract class AbstractConfigurationImpl implements IExtendedConfiguratio
log.info("Load EAAFCore configuration from " + internalConfigPath);
-
// extract configuration root directory
// TODO: check if it works with classpath
final File propertiesFile = new File(internalConfigPath);
@@ -86,7 +87,6 @@ public abstract class AbstractConfigurationImpl implements IExtendedConfiguratio
configRootDirectory = new File(configDir).toURI();
log.debug("Set EAAFCore configuration root directory to " + configRootDirectory.toString());
-
// get input stream from configuration path
if (internalConfigPath.getScheme().equals(URI_SCHEME_FILESYSTEM)) {
log.trace("Load config from filesystem");
@@ -99,19 +99,16 @@ public abstract class AbstractConfigurationImpl implements IExtendedConfiguratio
} else {
log.error(
"Can not load EAAFCore configuration. Unsupported prefix! (Only 'file:' and 'classpath:') ");
- throw new EaafConfigurationException("config.24",
- new Object[] {internalConfigPath, "'file:'"});
+ throw new EaafConfigurationException("config.24", new Object[] { internalConfigPath, "'file:'" });
}
if (is == null) {
log.error("Can NOT load EAAFCore configuration from file " + internalConfigPath.toString());
- throw new EaafConfigurationException("config.03",
- new Object[] {internalConfigPath.toString()});
+ throw new EaafConfigurationException("config.03", new Object[] { internalConfigPath.toString() });
}
-
// load EAAF core configuration into properties object
properties = new Properties();
properties.load(is);
@@ -120,8 +117,9 @@ public abstract class AbstractConfigurationImpl implements IExtendedConfiguratio
} catch (URISyntaxException | IOException e) {
log.error("Can not parse configuration path " + configPath + " or " + getBackupConfigPath());
- throw new EaafConfigurationException("config.03",
- new Object[] {configPath + " or " + getBackupConfigPath()}, e);
+ throw new EaafConfigurationException("config.03", new Object[] { configPath + " or "
+ + getBackupConfigPath() },
+ e);
} finally {
if (is != null) {
@@ -161,24 +159,17 @@ public abstract class AbstractConfigurationImpl implements IExtendedConfiguratio
return defaultValue;
}
-
@Override
public boolean getBasicConfigurationBoolean(final String key) {
- final String value = getBasicConfiguration(key);
- if (value != null) {
- return Boolean.parseBoolean(value);
- } else {
- return false;
- }
+ return getBasicConfigurationBoolean(key, false);
}
-
@Override
public boolean getBasicConfigurationBoolean(final String key, final boolean defaultValue) {
- final Boolean result = getBasicConfigurationBoolean(key);
- if (result != null) {
- return result;
+ final String value = getBasicConfiguration(key);
+ if (value != null) {
+ return Boolean.parseBoolean(value);
} else {
return defaultValue;
}
@@ -187,8 +178,8 @@ public abstract class AbstractConfigurationImpl implements IExtendedConfiguratio
@Override
public Map<String, String> getBasicConfigurationWithPrefix(final String prefix) {
- return KeyValueUtils.getSubSetWithPrefix(KeyValueUtils.convertPropertiesToMap(properties),
- addPrefixToKey(prefix));
+ return KeyValueUtils.getSubSetWithPrefix(KeyValueUtils.convertPropertiesToMap(properties), addPrefixToKey(
+ prefix));
}
@@ -224,7 +215,6 @@ public abstract class AbstractConfigurationImpl implements IExtendedConfiguratio
*/
public abstract String getApplicationSpecificKeyPrefix();
-
private String addPrefixToKey(final String key) {
if (StringUtils.isNotEmpty(getApplicationSpecificKeyPrefix())) {
if (getApplicationSpecificKeyPrefix().endsWith(KeyValueUtils.KEY_DELIMITER)) {
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/conf/AbstractSpringBootConfigurationImpl.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/conf/AbstractSpringBootConfigurationImpl.java
index 3a6cc67d..1c7806ef 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/conf/AbstractSpringBootConfigurationImpl.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/conf/AbstractSpringBootConfigurationImpl.java
@@ -25,10 +25,9 @@ import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
+
import javax.annotation.PostConstruct;
-import at.gv.egiz.eaaf.core.api.idp.IConfigurationWithSP;
-import at.gv.egiz.eaaf.core.exceptions.EaafConfigurationException;
-import at.gv.egiz.eaaf.core.impl.utils.KeyValueUtils;
+
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -39,9 +38,12 @@ import org.springframework.core.env.EnumerablePropertySource;
import org.springframework.core.env.Environment;
import org.springframework.core.env.PropertySource;
+import at.gv.egiz.eaaf.core.api.idp.IConfigurationWithSP;
+import at.gv.egiz.eaaf.core.exceptions.EaafConfigurationException;
+import at.gv.egiz.eaaf.core.impl.utils.KeyValueUtils;
+
public abstract class AbstractSpringBootConfigurationImpl implements IConfigurationWithSP {
- private static final Logger log =
- LoggerFactory.getLogger(AbstractSpringBootConfigurationImpl.class);
+ private static final Logger log = LoggerFactory.getLogger(AbstractSpringBootConfigurationImpl.class);
@Autowired
private Environment env;
@@ -51,8 +53,8 @@ public abstract class AbstractSpringBootConfigurationImpl implements IConfigurat
@PostConstruct
private void initialize() throws EaafConfigurationException {
if (getConfigurationRootDirectory() == null) {
- throw new EaafConfigurationException("config.08",
- new Object[] {addPrefixToKey(PROP_CONFIG_ROOT_DIR)});
+ throw new EaafConfigurationException("config.08", new Object[] { addPrefixToKey(
+ PROP_CONFIG_ROOT_DIR) });
}
@@ -84,28 +86,23 @@ public abstract class AbstractSpringBootConfigurationImpl implements IConfigurat
@Override
public Map<String, String> getBasicConfigurationWithPrefix(final String prefix) {
- final Map<String, String> configProps =
- getPropertiesStartingWith((ConfigurableEnvironment) env, addPrefixToKey(prefix));
+ final Map<String, String> configProps = getPropertiesStartingWith((ConfigurableEnvironment) env,
+ addPrefixToKey(prefix));
return KeyValueUtils.removePrefixFromKeys(configProps, addPrefixToKey(prefix) + ".");
-
}
@Override
public boolean getBasicConfigurationBoolean(final String key) {
- final String value = getBasicConfiguration(key);
- if (StringUtils.isNotEmpty(value)) {
- return Boolean.valueOf(value.trim());
- } else {
- return false;
- }
+ return getBasicConfigurationBoolean(key, false);
+
}
@Override
public boolean getBasicConfigurationBoolean(final String key, final boolean defaultValue) {
- final Boolean value = getBasicConfigurationBoolean(key);
- if (value != null) {
- return value;
+ final String value = getBasicConfiguration(key);
+ if (StringUtils.isNotEmpty(value)) {
+ return Boolean.valueOf(value.trim());
} else {
return defaultValue;
}
@@ -124,7 +121,6 @@ public abstract class AbstractSpringBootConfigurationImpl implements IConfigurat
}
-
/**
* Get the path to backup configuration.
*
@@ -139,7 +135,6 @@ public abstract class AbstractSpringBootConfigurationImpl implements IConfigurat
*/
public abstract String getApplicationSpecificKeyPrefix();
-
private String addPrefixToKey(final String key) {
if (StringUtils.isNotEmpty(getApplicationSpecificKeyPrefix())) {
if (getApplicationSpecificKeyPrefix().endsWith(KeyValueUtils.KEY_DELIMITER)) {
@@ -192,7 +187,8 @@ public abstract class AbstractSpringBootConfigurationImpl implements IConfigurat
return result;
}
- // note: Most descendants of PropertySource are EnumerablePropertySource. There are some
+ // note: Most descendants of PropertySource are EnumerablePropertySource. There
+ // are some
// few others like JndiPropertySource or StubPropertySource
log.debug("Given PropertySource is instanceof " + apropSource.getClass().getName()
+ " and cannot be iterated");
@@ -201,8 +197,7 @@ public abstract class AbstractSpringBootConfigurationImpl implements IConfigurat
}
- private static void addAll(final Map<String, Object> abase,
- final Map<String, Object> atoBeAdded) {
+ private static void addAll(final Map<String, Object> abase, final Map<String, Object> atoBeAdded) {
for (final Entry<String, Object> entry : atoBeAdded.entrySet()) {
if (abase.containsKey(entry.getKey())) {
continue;
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/conf/SpConfigurationImpl.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/conf/SpConfigurationImpl.java
index 07284cd3..de54d103 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/conf/SpConfigurationImpl.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/conf/SpConfigurationImpl.java
@@ -22,15 +22,17 @@ package at.gv.egiz.eaaf.core.impl.idp.conf;
import java.util.Collections;
import java.util.List;
import java.util.Map;
-import at.gv.egiz.eaaf.core.api.data.EAAFConfigConstants;
-import at.gv.egiz.eaaf.core.api.data.EAAFConstants;
-import at.gv.egiz.eaaf.core.api.idp.IConfiguration;
-import at.gv.egiz.eaaf.core.api.idp.IspConfiguration;
-import at.gv.egiz.eaaf.core.impl.utils.KeyValueUtils;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public class SpConfigurationImpl implements IspConfiguration {
+import at.gv.egiz.eaaf.core.api.data.EaafConfigConstants;
+import at.gv.egiz.eaaf.core.api.data.EaafConstants;
+import at.gv.egiz.eaaf.core.api.idp.IConfiguration;
+import at.gv.egiz.eaaf.core.api.idp.ISpConfiguration;
+import at.gv.egiz.eaaf.core.impl.utils.KeyValueUtils;
+
+public class SpConfigurationImpl implements ISpConfiguration {
private static final long serialVersionUID = 688541755446463453L;
private static final Logger log = LoggerFactory.getLogger(SpConfigurationImpl.class);
@@ -42,7 +44,7 @@ public class SpConfigurationImpl implements IspConfiguration {
/**
* Service-provider configuration holder.
*
- * @param spConfig Key/value based configuration
+ * @param spConfig Key/value based configuration
* @param authConfig Basic application configuration
*/
public SpConfigurationImpl(final Map<String, String> spConfig, final IConfiguration authConfig) {
@@ -51,11 +53,11 @@ public class SpConfigurationImpl implements IspConfiguration {
// set oa specific restrictions
targetAreasWithNoInteralBaseIdRestriction = Collections
.unmodifiableList(KeyValueUtils.getListOfCsvValues(authConfig.getBasicConfiguration(
- CONFIG_KEY_RESTRICTIONS_BASEID_INTERNAL, EAAFConstants.URN_PREFIX_CDID)));
+ CONFIG_KEY_RESTRICTIONS_BASEID_INTERNAL, EaafConstants.URN_PREFIX_CDID)));
targetAreasWithNoBaseIdTransmissionRestriction = Collections
.unmodifiableList(KeyValueUtils.getListOfCsvValues(authConfig.getBasicConfiguration(
- CONFIG_KEY_RESTRICTIONS_BASEID_TRANSMISSION, EAAFConstants.URN_PREFIX_CDID)));
+ CONFIG_KEY_RESTRICTIONS_BASEID_TRANSMISSION, EaafConstants.URN_PREFIX_CDID)));
if (log.isTraceEnabled()) {
log.trace("Internal policy for OA: " + getUniqueIdentifier());
@@ -69,7 +71,6 @@ public class SpConfigurationImpl implements IspConfiguration {
}
}
-
@Override
public final Map<String, String> getFullConfiguration() {
return this.spConfiguration;
@@ -96,19 +97,12 @@ public class SpConfigurationImpl implements IspConfiguration {
}
}
-
@Override
public final boolean isConfigurationValue(final String key) {
- final String value = getConfigurationValue(key);
- if (value != null) {
- return Boolean.parseBoolean(value);
-
- }
+ return isConfigurationValue(key, false);
- return false;
}
-
@Override
public final boolean isConfigurationValue(final String key, final boolean defaultValue) {
final String value = getConfigurationValue(key);
@@ -132,7 +126,7 @@ public class SpConfigurationImpl implements IspConfiguration {
@Override
public String getUniqueIdentifier() {
- return getConfigurationValue(EAAFConfigConstants.SERVICE_UNIQUEIDENTIFIER);
+ return getConfigurationValue(EaafConfigConstants.SERVICE_UNIQUEIDENTIFIER);
}
@@ -148,19 +142,16 @@ public class SpConfigurationImpl implements IspConfiguration {
}
-
@Override
public final List<String> getTargetsWithNoBaseIdInternalProcessingRestriction() {
return this.targetAreasWithNoInteralBaseIdRestriction;
}
-
@Override
public final List<String> getTargetsWithNoBaseIdTransferRestriction() {
return this.targetAreasWithNoBaseIdTransmissionRestriction;
}
-
@Override
public List<String> getRequiredLoA() {
log.warn(
@@ -182,7 +173,6 @@ public class SpConfigurationImpl implements IspConfiguration {
return null;
}
-
@Override
public String getFriendlyName() {
log.warn(
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/AbstractController.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/AbstractController.java
index b15dfeba..c09efc37 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/AbstractController.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/AbstractController.java
@@ -20,12 +20,21 @@
package at.gv.egiz.eaaf.core.impl.idp.controller;
import java.io.IOException;
+
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.text.StringEscapeUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationContext;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+
import at.gv.egiz.components.eventlog.api.EventConstants;
import at.gv.egiz.eaaf.core.api.IRequest;
import at.gv.egiz.eaaf.core.api.IStatusMessenger;
-import at.gv.egiz.eaaf.core.api.data.EAAFConstants;
+import at.gv.egiz.eaaf.core.api.data.EaafConstants;
import at.gv.egiz.eaaf.core.api.data.ExceptionContainer;
import at.gv.egiz.eaaf.core.api.idp.IConfigurationWithSP;
import at.gv.egiz.eaaf.core.api.idp.auth.services.IProtocolAuthenticationService;
@@ -37,13 +46,6 @@ import at.gv.egiz.eaaf.core.exceptions.ProcessExecutionException;
import at.gv.egiz.eaaf.core.exceptions.TaskExecutionException;
import at.gv.egiz.eaaf.core.impl.utils.Random;
import at.gv.egiz.eaaf.core.impl.utils.ServletUtils;
-import org.apache.commons.text.StringEscapeUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.ApplicationContext;
-import org.springframework.web.bind.annotation.ExceptionHandler;
-
/**
* Basic application controller that implements core error-handling.
@@ -72,16 +74,16 @@ public abstract class AbstractController {
/**
* EAAF framework exception handler.
*
- *<p>
- *This handler start a protocol-specific error handling.
- *</p>
+ * <p>
+ * This handler start a protocol-specific error handling.
+ * </p>
*
- * @param req http request
+ * @param req http request
* @param resp http response
- * @param e exception
+ * @param e exception
* @throws IOException in case of an exception handling error
*/
- @ExceptionHandler({EaafException.class})
+ @ExceptionHandler({ EaafException.class })
public void eaafExceptionHandler(final HttpServletRequest req, final HttpServletResponse resp,
final Exception e) throws IOException {
try {
@@ -102,15 +104,15 @@ public abstract class AbstractController {
* This handler wrote an internal server error into http response
* </p>
*
- * @param resp http response
+ * @param resp http response
* @param exception exception
* @throws IOException In case of an internal error.
*/
- @ExceptionHandler({Exception.class})
+ @ExceptionHandler({ Exception.class })
public void genericExceptionHandler(final HttpServletResponse resp, final Exception exception)
throws IOException {
log.error("Internel Server Error.", exception);
- resp.setContentType(EAAFConstants.CONTENTTYPE_HTML_UTF8);
+ resp.setContentType(EaafConstants.CONTENTTYPE_HTML_UTF8);
resp.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Internal Server Error!"
+ "(Errorcode=9199" + " | Description="
+ StringEscapeUtils.escapeHtml4(StringEscapeUtils.escapeEcmaScript(exception.getMessage()))
@@ -125,13 +127,13 @@ public abstract class AbstractController {
* This handler wrote an internal server error into http response
* </p>
*
- * @param resp http response
+ * @param resp http response
* @param exception exception
*/
- @ExceptionHandler({IOException.class})
+ @ExceptionHandler({ IOException.class })
public void ioExceptionHandler(final HttpServletResponse resp, final Throwable exception) {
log.error("Internel Server Error.", exception);
- resp.setContentType(EAAFConstants.CONTENTTYPE_HTML_UTF8);
+ resp.setContentType(EaafConstants.CONTENTTYPE_HTML_UTF8);
resp.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
}
@@ -144,7 +146,8 @@ public abstract class AbstractController {
final Throwable extractedException =
extractOriginalExceptionFromProcessException(exceptionThrown);
- // extract pendingRequestID and originalException if it was a TaskExecutionException
+ // extract pendingRequestID and originalException if it was a
+ // TaskExecutionException
if (extractedException instanceof TaskExecutionException) {
// set original exception
loggedException = ((TaskExecutionException) extractedException).getOriginalException();
@@ -164,14 +167,14 @@ public abstract class AbstractController {
}
try {
- // switch to protocol-finalize method to generate a protocol-specific error message
+ // switch to protocol-finalize method to generate a protocol-specific error
+ // message
// log error directly in debug mode
if (log.isDebugEnabled()) {
log.warn(loggedException.getMessage(), loggedException);
}
-
// put exception into transaction store for redirect
final String key = Random.nextLongRandom();
if (pendingReq != null) {
@@ -187,7 +190,7 @@ public abstract class AbstractController {
String redirectUrl = null;
redirectUrl = ServletUtils.getBaseUrl(req);
redirectUrl += "/" + ProtocolFinalizationController.ENDPOINT_ERRORHANDLING + "?"
- + EAAFConstants.PARAM_HTTP_ERROR_CODE + "=" + key;
+ + EaafConstants.PARAM_HTTP_ERROR_CODE + "=" + key;
resp.setContentType("text/html");
resp.setStatus(302);
@@ -206,14 +209,12 @@ public abstract class AbstractController {
}
-
-
/**
* Extracts a TaskExecutionException of a ProcessExecutionExeception Stacktrace.
*
* @param exception error
- * @return Return the latest TaskExecutionExecption if exists, otherwise the latest
- * ProcessExecutionException
+ * @return Return the latest TaskExecutionExecption if exists, otherwise the
+ * latest ProcessExecutionException
*/
private Throwable extractOriginalExceptionFromProcessException(final Throwable exception) {
Throwable exholder = exception;
@@ -238,6 +239,4 @@ public abstract class AbstractController {
}
}
-
-
}
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/AbstractProcessEngineSignalController.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/AbstractProcessEngineSignalController.java
index 9ff468d3..098bca4c 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/AbstractProcessEngineSignalController.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/AbstractProcessEngineSignalController.java
@@ -20,20 +20,23 @@
package at.gv.egiz.eaaf.core.impl.idp.controller;
import java.io.IOException;
+
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.text.StringEscapeUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+
import at.gv.egiz.eaaf.core.api.IRequest;
import at.gv.egiz.eaaf.core.api.IRequestStorage;
import at.gv.egiz.eaaf.core.api.IStatusMessenger;
-import at.gv.egiz.eaaf.core.api.data.EAAFConstants;
+import at.gv.egiz.eaaf.core.api.data.EaafConstants;
import at.gv.egiz.eaaf.core.api.idp.process.ProcessEngine;
import at.gv.egiz.eaaf.core.exceptions.EaafException;
import at.gv.egiz.eaaf.core.exceptions.EaafIllegalStateException;
import at.gv.egiz.eaaf.core.impl.utils.TransactionIdUtils;
-import org.apache.commons.text.StringEscapeUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
/**
* Servlet that resumes a suspended process (in case of asynchronous tasks).
@@ -65,7 +68,7 @@ public abstract class AbstractProcessEngineSignalController extends AbstractCont
log.info("No PendingRequest with Id: " + pendingRequestID
+ " Maybe, a transaction timeout occure.");
throw new EaafException(IStatusMessenger.CODES_INTERNAL_ERROR_AUTH_TIMEOUT,
- new Object[] {pendingRequestID});
+ new Object[] { pendingRequestID });
}
@@ -75,7 +78,7 @@ public abstract class AbstractProcessEngineSignalController extends AbstractCont
// process instance is mandatory
if (pendingReq.getProcessInstanceId() == null) {
throw new EaafIllegalStateException(
- new Object[] {"MOA session does not provide process instance id."});
+ new Object[] { "MOA session does not provide process instance id." });
}
@@ -91,22 +94,22 @@ public abstract class AbstractProcessEngineSignalController extends AbstractCont
}
-
}
/**
- * Retrieves the current pending-request id from the HttpServletRequest parameter
+ * Retrieves the current pending-request id from the HttpServletRequest
+ * parameter
*
* <p/>
- * Note that this class/method can be overwritten by modules providing their own strategy of
- * retrieving the respective pending-request id.
+ * Note that this class/method can be overwritten by modules providing their own
+ * strategy of retrieving the respective pending-request id.
*
* @param request The unterlying HttpServletRequest.
* @return The current pending-request id.
*/
public String getPendingRequestId(final HttpServletRequest request) {
return StringEscapeUtils
- .escapeHtml4(request.getParameter(EAAFConstants.PARAM_HTTP_TARGET_PENDINGREQUESTID));
+ .escapeHtml4(request.getParameter(EaafConstants.PARAM_HTTP_TARGET_PENDINGREQUESTID));
}
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/ProtocolFinalizationController.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/ProtocolFinalizationController.java
index 7b350c3b..51a8aefd 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/ProtocolFinalizationController.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/ProtocolFinalizationController.java
@@ -20,15 +20,10 @@
package at.gv.egiz.eaaf.core.impl.idp.controller;
import java.io.IOException;
+
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import at.gv.egiz.components.eventlog.api.EventConstants;
-import at.gv.egiz.eaaf.core.api.IRequest;
-import at.gv.egiz.eaaf.core.api.IRequestStorage;
-import at.gv.egiz.eaaf.core.api.IStatusMessenger;
-import at.gv.egiz.eaaf.core.api.data.EAAFConstants;
-import at.gv.egiz.eaaf.core.api.data.ExceptionContainer;
-import at.gv.egiz.eaaf.core.exceptions.EaafException;
+
import org.apache.commons.text.StringEscapeUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -37,6 +32,14 @@ import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
+import at.gv.egiz.components.eventlog.api.EventConstants;
+import at.gv.egiz.eaaf.core.api.IRequest;
+import at.gv.egiz.eaaf.core.api.IRequestStorage;
+import at.gv.egiz.eaaf.core.api.IStatusMessenger;
+import at.gv.egiz.eaaf.core.api.data.EaafConstants;
+import at.gv.egiz.eaaf.core.api.data.ExceptionContainer;
+import at.gv.egiz.eaaf.core.exceptions.EaafException;
+
/**
* Protocol finialization end-point.
*
@@ -55,17 +58,17 @@ public class ProtocolFinalizationController extends AbstractController {
/**
* End-Point to handle errors.
*
- * @param req http request
+ * @param req http request
* @param resp http response
* @throws EaafException In case of an internal error
- * @throws IOException In case of a servlet error
+ * @throws IOException In case of a servlet error
*/
- @RequestMapping(value = ENDPOINT_ERRORHANDLING, method = {RequestMethod.GET})
+ @RequestMapping(value = ENDPOINT_ERRORHANDLING, method = { RequestMethod.GET })
public void errorHandling(final HttpServletRequest req, final HttpServletResponse resp)
throws EaafException, IOException {
// receive an authentication error
final String errorid =
- StringEscapeUtils.escapeHtml4(req.getParameter(EAAFConstants.PARAM_HTTP_ERROR_CODE));
+ StringEscapeUtils.escapeHtml4(req.getParameter(EaafConstants.PARAM_HTTP_ERROR_CODE));
if (errorid != null) {
IRequest pendingReq = null;
try {
@@ -127,25 +130,25 @@ public class ProtocolFinalizationController extends AbstractController {
/**
* End-Point to finalize authentication protocol.
*
- * @param req http request
+ * @param req http request
* @param resp http response
* @throws EaafException In case of an internal error
- * @throws IOException In case of a servlet error
+ * @throws IOException In case of a servlet error
*/
- @RequestMapping(value = ENDPOINT_FINALIZEPROTOCOL, method = {RequestMethod.GET})
+ @RequestMapping(value = ENDPOINT_FINALIZEPROTOCOL, method = { RequestMethod.GET })
public void finalizeAuthProtocol(final HttpServletRequest req, final HttpServletResponse resp)
throws EaafException, IOException {
// read pendingRequest from http request
final String pendingRequestID = StringEscapeUtils
- .escapeHtml4(req.getParameter(EAAFConstants.PARAM_HTTP_TARGET_PENDINGREQUESTID));
+ .escapeHtml4(req.getParameter(EaafConstants.PARAM_HTTP_TARGET_PENDINGREQUESTID));
final IRequest pendingReq = requestStorage.getPendingRequest(pendingRequestID);
if (pendingReq == null) {
log.error("No PendingRequest with ID " + pendingRequestID + " found.!");
protAuthService.handleErrorNoRedirect(
new EaafException(IStatusMessenger.CODES_INTERNAL_ERROR_AUTH_TIMEOUT,
- new Object[] {pendingRequestID,}),
+ new Object[] { pendingRequestID, }),
req, resp, false);
} else {
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/protocols/RequestImpl.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/protocols/RequestImpl.java
index 88dae874..07fc652a 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/protocols/RequestImpl.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/protocols/RequestImpl.java
@@ -28,13 +28,22 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.UUID;
+
import javax.annotation.Nonnull;
import javax.servlet.http.HttpServletRequest;
+
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.lang.NonNull;
+import org.springframework.lang.Nullable;
+import org.springframework.util.Assert;
+
import at.gv.egiz.eaaf.core.api.IRequest;
-import at.gv.egiz.eaaf.core.api.data.EAAFConstants;
+import at.gv.egiz.eaaf.core.api.data.EaafConstants;
import at.gv.egiz.eaaf.core.api.idp.IConfiguration;
import at.gv.egiz.eaaf.core.api.idp.IConfigurationWithSP;
-import at.gv.egiz.eaaf.core.api.idp.IspConfiguration;
+import at.gv.egiz.eaaf.core.api.idp.ISpConfiguration;
import at.gv.egiz.eaaf.core.exceptions.EaafAuthenticationException;
import at.gv.egiz.eaaf.core.exceptions.EaafException;
import at.gv.egiz.eaaf.core.exceptions.EaafStorageException;
@@ -42,12 +51,6 @@ import at.gv.egiz.eaaf.core.impl.idp.auth.data.AuthProcessDataWrapper;
import at.gv.egiz.eaaf.core.impl.utils.HttpUtils;
import at.gv.egiz.eaaf.core.impl.utils.Random;
import at.gv.egiz.eaaf.core.impl.utils.TransactionIdUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.lang.NonNull;
-import org.springframework.lang.Nullable;
-import org.springframework.util.Assert;
public abstract class RequestImpl implements IRequest, Serializable {
@@ -70,7 +73,7 @@ public abstract class RequestImpl implements IRequest, Serializable {
private String requestedServiceProviderIdentifer;
private String idpAuthUrl = null;
- private IspConfiguration spConfiguration = null;
+ private ISpConfiguration spConfiguration = null;
private boolean passiv = false;
private boolean force = false;
@@ -89,11 +92,10 @@ public abstract class RequestImpl implements IRequest, Serializable {
private final Map<String, Object> genericDataStorage = new HashMap<>();
-
/**
* Initialize this pendingRequest object.
*
- * @param req {@link HttpServletRequest}
+ * @param req {@link HttpServletRequest}
* @param authConfig {@link IConfiguration}
* @throws EaafException
*
@@ -107,10 +109,10 @@ public abstract class RequestImpl implements IRequest, Serializable {
/**
* Initialize this pendingRequest object.
*
- * @param req {@link HttpServletRequest}
- * @param authConfig {@link IConfiguration}
- * @param transactionId transactionId that should be used in this pendingRequest for logging. If
- * 'null' a new one will be generated
+ * @param req {@link HttpServletRequest}
+ * @param authConfig {@link IConfiguration}
+ * @param transactionId transactionId that should be used in this pendingRequest
+ * for logging. If 'null' a new one will be generated
*
* @throws EaafException
*
@@ -129,8 +131,9 @@ public abstract class RequestImpl implements IRequest, Serializable {
TransactionIdUtils.setTransactionId(uniqueTransactionIdentifer);
// initialize session object
- genericDataStorage.put(EAAFConstants.AUTH_DATA_CREATED, new Date());
- // genericDataStorage.put(EAAFConstants.VALUE_SESSIONID, Random.nextLongRandom());
+ genericDataStorage.put(EaafConstants.AUTH_DATA_CREATED, new Date());
+ // genericDataStorage.put(EAAFConstants.VALUE_SESSIONID,
+ // Random.nextLongRandom());
// check if End-Point is valid
final String authUrlString = HttpUtils.extractAuthUrlFromRequest(req);
@@ -140,19 +143,19 @@ public abstract class RequestImpl implements IRequest, Serializable {
} catch (final MalformedURLException e) {
log.error("IDP AuthenticationServiceURL Prefix is not a valid URL." + authUrlString, e);
- throw new EaafAuthenticationException("errorId", new Object[] {authUrlString}, e);
+ throw new EaafAuthenticationException("errorId", new Object[] { authUrlString }, e);
}
this.idpAuthUrl = authConfig.validateIdpUrl(authReqUrl);
if (this.idpAuthUrl == null) {
log.warn(
"Extract AuthenticationServiceURL: " + authReqUrl + " is NOT found in configuration.");
- throw new EaafAuthenticationException("errorId", new Object[] {authUrlString});
+ throw new EaafAuthenticationException("errorId", new Object[] { authUrlString });
}
// set unique session identifier
- final String uniqueID = (String) req.getAttribute(EAAFConstants.UNIQUESESSIONIDENTIFIER);
+ final String uniqueID = (String) req.getAttribute(EaafConstants.UNIQUESESSIONIDENTIFIER);
if (StringUtils.isNotEmpty(uniqueID)) {
this.uniqueSessionIdentifer = uniqueID;
} else {
@@ -267,10 +270,9 @@ public abstract class RequestImpl implements IRequest, Serializable {
}
@Override
- public final IspConfiguration getServiceProviderConfiguration() {
+ public final ISpConfiguration getServiceProviderConfiguration() {
return this.spConfiguration;
-
}
@Override
@@ -291,7 +293,7 @@ public abstract class RequestImpl implements IRequest, Serializable {
}
- public void setOnlineApplicationConfiguration(final IspConfiguration spConfig) {
+ public void setOnlineApplicationConfiguration(final ISpConfiguration spConfig) {
this.spConfiguration = spConfig;
}
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/tasks/AbstractLocaleAuthServletTask.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/tasks/AbstractLocaleAuthServletTask.java
index 3c8fd604..dcd5a1d1 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/tasks/AbstractLocaleAuthServletTask.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/tasks/AbstractLocaleAuthServletTask.java
@@ -10,8 +10,8 @@ import org.apache.commons.text.StringEscapeUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import at.gv.egiz.eaaf.core.api.data.EAAFConstants;
-import at.gv.egiz.eaaf.core.api.data.EAAFEventCodes;
+import at.gv.egiz.eaaf.core.api.data.EaafConstants;
+import at.gv.egiz.eaaf.core.api.data.EaafEventCodes;
import at.gv.egiz.eaaf.core.api.idp.process.ExecutionContext;
import at.gv.egiz.eaaf.core.exceptions.EaafException;
import at.gv.egiz.eaaf.core.exceptions.TaskExecutionException;
@@ -28,22 +28,20 @@ public abstract class AbstractLocaleAuthServletTask extends AbstractAuthServletT
throws TaskExecutionException {
final Serializable changeLangFlag =
- executionContext.get(EAAFConstants.PROCESSCONTEXT_SWITCH_LANGUAGE);
+ executionContext.get(EaafConstants.PROCESSCONTEXT_SWITCH_LANGUAGE);
final String localeParam =
StringEscapeUtils.escapeHtml4(request.getParameter(PROP_REQ_PARAM_LOCALE));
if (StringUtils.isNotEmpty(localeParam)
&& (changeLangFlag == null || !((Boolean) changeLangFlag))) {
log.debug("Find {} parameter. Reload last task with new locale: {}", PROP_REQ_PARAM_LOCALE,
localeParam);
- executionContext.put(EAAFConstants.PROCESSCONTEXT_SWITCH_LANGUAGE, true);
-
-
+ executionContext.put(EaafConstants.PROCESSCONTEXT_SWITCH_LANGUAGE, true);
} else {
log.trace("Find {} parameter. Processing this task ... ", PROP_REQ_PARAM_LOCALE);
- executionContext.put(EAAFConstants.PROCESSCONTEXT_SWITCH_LANGUAGE, false);
+ executionContext.put(EaafConstants.PROCESSCONTEXT_SWITCH_LANGUAGE, false);
- if (parseFlagFromHttpRequest(request, EAAFConstants.PARAM_HTTP_STOP_PROCESS, false)) {
+ if (parseFlagFromHttpRequest(request, EaafConstants.PARAM_HTTP_STOP_PROCESS, false)) {
log.info("Authentication process WAS stopped by entity. Stopping auth. process ... ");
stopProcessFromUserDecision(executionContext, request, response);
@@ -59,7 +57,7 @@ public abstract class AbstractLocaleAuthServletTask extends AbstractAuthServletT
final HttpServletRequest request, final HttpServletResponse response)
throws TaskExecutionException {
try {
- revisionsLogger.logEvent(pendingReq, EAAFEventCodes.PROCESS_STOPPED_BY_USER);
+ revisionsLogger.logEvent(pendingReq, EaafEventCodes.PROCESS_STOPPED_BY_USER);
pendingReq.setAbortedByUser(true);
pendingReq.setAuthenticated(false);
performRedirectToProtocolFinialization(executionContext, pendingReq, request, response);
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/tasks/FinalizeAuthenticationTask.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/tasks/FinalizeAuthenticationTask.java
index 7991c093..892121c0 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/tasks/FinalizeAuthenticationTask.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/tasks/FinalizeAuthenticationTask.java
@@ -21,15 +21,17 @@ package at.gv.egiz.eaaf.core.impl.idp.controller.tasks;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import at.gv.egiz.eaaf.core.api.data.EAAFConstants;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Component;
+
+import at.gv.egiz.eaaf.core.api.data.EaafConstants;
import at.gv.egiz.eaaf.core.api.idp.auth.IAuthenticationManager;
import at.gv.egiz.eaaf.core.api.idp.process.ExecutionContext;
import at.gv.egiz.eaaf.core.exceptions.EaafException;
import at.gv.egiz.eaaf.core.exceptions.TaskExecutionException;
import at.gv.egiz.eaaf.core.impl.idp.auth.modules.AbstractAuthServletTask;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Component;
/**
* Finalize the authentication process-flow.
@@ -45,9 +47,9 @@ public class FinalizeAuthenticationTask extends AbstractAuthServletTask {
/*
* (non-Javadoc)
*
- * @see
- * at.gv.egovernment.moa.id.process.springweb.MoaIdTask#execute(at.gv.egovernment.moa.id.process.
- * api.ExecutionContext, javax.servlet.http.HttpServletRequest,
+ * @see at.gv.egovernment.moa.id.process.springweb.MoaIdTask#execute(at.gv.
+ * egovernment.moa.id.process. api.ExecutionContext,
+ * javax.servlet.http.HttpServletRequest,
* javax.servlet.http.HttpServletResponse)
*/
@Override
@@ -61,7 +63,6 @@ public class FinalizeAuthenticationTask extends AbstractAuthServletTask {
IAuthenticationManager.EVENT_AUTHENTICATION_PROCESS_FINISHED);
performRedirectToProtocolFinialization(executionContext, pendingReq, request, response);
-
} catch (final EaafException e) {
throw new TaskExecutionException(pendingReq, e.getMessage(), e);
@@ -70,7 +71,7 @@ public class FinalizeAuthenticationTask extends AbstractAuthServletTask {
throw new TaskExecutionException(pendingReq, e.getMessage(), e);
} finally {
- executionContext.remove(EAAFConstants.PROCESS_ENGINE_PENDINGREQUESTID);
+ executionContext.remove(EaafConstants.PROCESS_ENGINE_PENDINGREQUESTID);
}
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/tasks/RestartAuthProzessManagement.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/tasks/RestartAuthProzessManagement.java
index 7a2c5f08..328a25c5 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/tasks/RestartAuthProzessManagement.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/tasks/RestartAuthProzessManagement.java
@@ -20,8 +20,15 @@
package at.gv.egiz.eaaf.core.impl.idp.controller.tasks;
import java.util.Set;
+
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
import at.gv.egiz.eaaf.core.api.idp.process.ExecutionContext;
import at.gv.egiz.eaaf.core.api.idp.process.ProcessEngine;
import at.gv.egiz.eaaf.core.exceptions.EaafException;
@@ -30,10 +37,6 @@ import at.gv.egiz.eaaf.core.impl.idp.auth.modules.AbstractAuthServletTask;
import at.gv.egiz.eaaf.core.impl.idp.auth.modules.ModuleRegistration;
import at.gv.egiz.eaaf.core.impl.idp.controller.protocols.RequestImpl;
import at.gv.egiz.eaaf.core.impl.idp.process.ExecutionContextImpl;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
/**
* Restart the authentication process-flow.
@@ -45,15 +48,17 @@ import org.springframework.stereotype.Component;
public class RestartAuthProzessManagement extends AbstractAuthServletTask {
private static final Logger log = LoggerFactory.getLogger(RestartAuthProzessManagement.class);
- @Autowired ProcessEngine processEngine;
- @Autowired ModuleRegistration moduleRegistration;
+ @Autowired
+ ProcessEngine processEngine;
+ @Autowired
+ ModuleRegistration moduleRegistration;
/*
* (non-Javadoc)
*
- * @see
- * at.gv.egovernment.moa.id.process.springweb.MoaIdTask#execute(at.gv.egovernment.moa.id.process.
- * api.ExecutionContext, javax.servlet.http.HttpServletRequest,
+ * @see at.gv.egovernment.moa.id.process.springweb.MoaIdTask#execute(at.gv.
+ * egovernment.moa.id.process. api.ExecutionContext,
+ * javax.servlet.http.HttpServletRequest,
* javax.servlet.http.HttpServletResponse)
*/
@Override
@@ -82,7 +87,7 @@ public class RestartAuthProzessManagement extends AbstractAuthServletTask {
if (processDefinitionId == null) {
log.warn("No suitable authentication process found for SessionID "
+ pendingReq.getPendingRequestId());
- throw new EaafException("process.02", new Object[] {pendingReq.getPendingRequestId()});
+ throw new EaafException("process.02", new Object[] { pendingReq.getPendingRequestId() });
}
final String processInstanceId =
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/ExecutionContextImpl.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/ExecutionContextImpl.java
index 619911c1..27bc829d 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/ExecutionContextImpl.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/ExecutionContextImpl.java
@@ -24,6 +24,7 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
+
import at.gv.egiz.eaaf.core.api.idp.process.ExecutionContext;
/**
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/ExpressionEvaluationContextImpl.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/ExpressionEvaluationContextImpl.java
index 72ad456f..67604a03 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/ExpressionEvaluationContextImpl.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/ExpressionEvaluationContextImpl.java
@@ -24,6 +24,7 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
+
import at.gv.egiz.eaaf.core.api.idp.process.ExecutionContext;
import at.gv.egiz.eaaf.core.api.idp.process.ExpressionEvaluationContext;
@@ -40,7 +41,8 @@ public class ExpressionEvaluationContextImpl implements ExpressionEvaluationCont
private final Map<String, Serializable> ctxData;
/**
- * Creates a new instance and initializes it with data from a given process instance.
+ * Creates a new instance and initializes it with data from a given process
+ * instance.
*
* @param processInstance The process instance.
*/
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/ProcessDefinitionParser.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/ProcessDefinitionParser.java
index 63ae66d5..c693b87e 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/ProcessDefinitionParser.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/ProcessDefinitionParser.java
@@ -25,6 +25,7 @@ import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Objects;
+
import javax.xml.XMLConstants;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLEventReader;
@@ -40,19 +41,21 @@ import javax.xml.transform.stream.StreamSource;
import javax.xml.validation.Schema;
import javax.xml.validation.SchemaFactory;
import javax.xml.validation.Validator;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.xml.sax.SAXException;
+
import at.gv.egiz.eaaf.core.impl.idp.process.model.EndEvent;
import at.gv.egiz.eaaf.core.impl.idp.process.model.ProcessDefinition;
import at.gv.egiz.eaaf.core.impl.idp.process.model.ProcessNode;
import at.gv.egiz.eaaf.core.impl.idp.process.model.StartEvent;
import at.gv.egiz.eaaf.core.impl.idp.process.model.TaskInfo;
import at.gv.egiz.eaaf.core.impl.idp.process.model.Transition;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.xml.sax.SAXException;
/**
- * Parses an XML representation of a process definition as defined by the respective XML schema.
- * The parser is thread-safe.
+ * Parses an XML representation of a process definition as defined by the
+ * respective XML schema. The parser is thread-safe.
*
* @author tknall
*
@@ -81,13 +84,13 @@ public class ProcessDefinitionParser {
}
/**
- * Parses an XML representation of a process definition. The representation is being validated in
- * order to suffice the related XML schema.
+ * Parses an XML representation of a process definition. The representation is
+ * being validated in order to suffice the related XML schema.
*
* @param processDefinitionInputStream The process definition.
* @return A new process definition.
- * @throws ProcessDefinitionParserException Thrown in case of error parsing the process
- * definition.
+ * @throws ProcessDefinitionParserException Thrown in case of error parsing the
+ * process definition.
*/
public ProcessDefinition parse(final InputStream processDefinitionInputStream)
throws ProcessDefinitionParserException {
@@ -232,7 +235,7 @@ public class ProcessDefinitionParser {
&& Objects.equals(transition.getFrom(), transition.getTo())) {
throw new ProcessDefinitionParserException(
"Transition's 'from' equals its 'to'. Since no 'conditionExpression' "
- + "has been set this will cause a loop.");
+ + "has been set this will cause a loop.");
}
}
log.debug("Process definition '{}' successfully parsed.", pd.getId());
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/ProcessDefinitionParserException.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/ProcessDefinitionParserException.java
index 472d6469..d7d4928c 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/ProcessDefinitionParserException.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/ProcessDefinitionParserException.java
@@ -30,18 +30,19 @@ public class ProcessDefinitionParserException extends Exception {
private static final long serialVersionUID = 1L;
/**
- * Creates a new parser exception providing a {@code message} describing the reason and the
- * {@code cause}.
+ * Creates a new parser exception providing a {@code message} describing the
+ * reason and the {@code cause}.
*
* @param message The message.
- * @param cause The cause.
+ * @param cause The cause.
*/
public ProcessDefinitionParserException(final String message, final Throwable cause) {
super(message, cause);
}
/**
- * Creates a new parser exception providing a {@code message} describing the reason.
+ * Creates a new parser exception providing a {@code message} describing the
+ * reason.
*
* @param message The message.
*/
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/ProcessEngineImpl.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/ProcessEngineImpl.java
index fefcf331..9274ea81 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/ProcessEngineImpl.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/ProcessEngineImpl.java
@@ -25,8 +25,17 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
+
+import org.apache.commons.collections4.IterableUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.slf4j.MDC;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationContext;
+
import at.gv.egiz.eaaf.core.api.IRequest;
-import at.gv.egiz.eaaf.core.api.data.EAAFConstants;
+import at.gv.egiz.eaaf.core.api.data.EaafConstants;
import at.gv.egiz.eaaf.core.api.idp.process.ExecutionContext;
import at.gv.egiz.eaaf.core.api.idp.process.ExpressionEvaluationContext;
import at.gv.egiz.eaaf.core.api.idp.process.ExpressionEvaluator;
@@ -42,17 +51,10 @@ import at.gv.egiz.eaaf.core.impl.idp.process.model.ProcessNode;
import at.gv.egiz.eaaf.core.impl.idp.process.model.StartEvent;
import at.gv.egiz.eaaf.core.impl.idp.process.model.TaskInfo;
import at.gv.egiz.eaaf.core.impl.idp.process.model.Transition;
-import org.apache.commons.collections4.IterableUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.slf4j.MDC;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.ApplicationContext;
/**
- * Process engine implementation allowing starting and continuing processes as well as providing
- * means for cleanup actions.
+ * Process engine implementation allowing starting and continuing processes as
+ * well as providing means for cleanup actions.
*/
public class ProcessEngineImpl implements ProcessEngine {
@@ -93,8 +95,8 @@ public class ProcessEngineImpl implements ProcessEngine {
* Sets the process definitions.
*
* @param processDefinitions The process definitions.
- * @throws IllegalArgumentException In case the process definitions contain definitions with the
- * same identifier.
+ * @throws IllegalArgumentException In case the process definitions contain
+ * definitions with the same identifier.
*/
public void setProcessDefinitions(final Iterable<ProcessDefinition> processDefinitions) {
this.processDefinitions.clear();
@@ -108,7 +110,8 @@ public class ProcessEngineImpl implements ProcessEngine {
}
/**
- * Sets an expression evaluator that should be used to process transition condition expressions.
+ * Sets an expression evaluator that should be used to process transition
+ * condition expressions.
*
* @param transitionConditionExpressionEvaluator The expression evaluator.
*/
@@ -117,7 +120,6 @@ public class ProcessEngineImpl implements ProcessEngine {
this.transitionConditionExpressionEvaluator = transitionConditionExpressionEvaluator;
}
-
@Override
public String createProcessInstance(final String processDefinitionId,
final ExecutionContext executionContext) throws ProcessExecutionException {
@@ -220,7 +222,7 @@ public class ProcessEngineImpl implements ProcessEngine {
pi.setState(ProcessInstanceState.STARTED);
// put pending-request ID on execution-context because it could be changed
- pi.getExecutionContext().put(EAAFConstants.PARAM_HTTP_TARGET_PENDINGREQUESTID,
+ pi.getExecutionContext().put(EaafConstants.PARAM_HTTP_TARGET_PENDINGREQUESTID,
pendingReq.getPendingRequestId());
execute(pi, pendingReq);
@@ -238,15 +240,15 @@ public class ProcessEngineImpl implements ProcessEngine {
}
}
-
/**
* Instantiates a task implementation given by a {@link TaskInfo}.
*
* @param ti The task info.
- * @return A Task implementation or {@code null} if the task info does not reference any task
- * implementing classes.
- * @throws ProcessExecutionException Thrown in case of error (when the referenced class does not
- * implement {@link Task} for instance).
+ * @return A Task implementation or {@code null} if the task info does not
+ * reference any task implementing classes.
+ * @throws ProcessExecutionException Thrown in case of error (when the
+ * referenced class does not implement
+ * {@link Task} for instance).
*/
private Task createTaskInstance(final TaskInfo ti) throws ProcessExecutionException {
final String clazz = StringUtils.trimToNull(ti.getTaskImplementingClass());
@@ -283,7 +285,7 @@ public class ProcessEngineImpl implements ProcessEngine {
/**
* Starts/executes a given process instance.
*
- * @param pi The process instance.
+ * @param pi The process instance.
* @param pendingReq current pending request
* @throws ProcessExecutionException Thrown in case of error.
*/
@@ -404,7 +406,8 @@ public class ProcessEngineImpl implements ProcessEngine {
* Persists a {@link ProcessInstance} to the database.
*
* @param processInstance The object to persist.
- * @throws MOADatabaseException Thrown if an error occurs while accessing the database.
+ * @throws MOADatabaseException Thrown if an error occurs while accessing the
+ * database.
*/
private void saveOrUpdateProcessInstance(final ProcessInstance processInstance)
throws EaafException {
@@ -431,9 +434,10 @@ public class ProcessEngineImpl implements ProcessEngine {
* Load a {@link ProcessInstance} with a certain id from the database.
*
* @param processInstanceId The process instance id
- * @return The process instance corresponding to the id or {@code null} if no such object is
- * found.
- * @throws MOADatabaseException Thrown if an error occurs while accessing the database.
+ * @return The process instance corresponding to the id or {@code null} if no
+ * such object is found.
+ * @throws MOADatabaseException Thrown if an error occurs while accessing the
+ * database.
*/
private ProcessInstance loadProcessInstance(final String processInstanceId) throws EaafException {
@@ -462,7 +466,9 @@ public class ProcessEngineImpl implements ProcessEngine {
/*
* (non-Javadoc)
*
- * @see at.gv.egovernment.moa.id.process.ProcessEngine#deleteProcessInstance(java.lang.String)
+ * @see
+ * at.gv.egovernment.moa.id.process.ProcessEngine#deleteProcessInstance(java.
+ * lang.String)
*/
@Override
public void deleteProcessInstance(final String processInstanceId)
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/ProcessInstance.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/ProcessInstance.java
index 69683529..f3ec6b2d 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/ProcessInstance.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/ProcessInstance.java
@@ -21,17 +21,19 @@ package at.gv.egiz.eaaf.core.impl.idp.process;
import java.io.Serializable;
import java.util.Date;
-import at.gv.egiz.eaaf.core.api.idp.process.ExecutionContext;
-import at.gv.egiz.eaaf.core.impl.idp.process.model.ProcessDefinition;
-import at.gv.egiz.eaaf.core.impl.idp.process.support.SecureRandomHolder;
+
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.lang3.time.DurationFormatUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import at.gv.egiz.eaaf.core.api.idp.process.ExecutionContext;
+import at.gv.egiz.eaaf.core.impl.idp.process.model.ProcessDefinition;
+import at.gv.egiz.eaaf.core.impl.idp.process.support.SecureRandomHolder;
+
/**
- * Represents a process being executed. The process instance provides information about the process
- * and its state.
+ * Represents a process being executed. The process instance provides
+ * information about the process and its state.
*
* @author tknall
*
@@ -47,19 +49,18 @@ public class ProcessInstance implements Serializable {
private final ExecutionContext executionContext;
private ProcessInstanceState state = ProcessInstanceState.NOT_STARTED;
-
-
/**
- * Creates a new process instance, based on a given process definition and a given execution
- * context. If the given execution context is {@code null} a new execution context will be
- * created.
+ * Creates a new process instance, based on a given process definition and a
+ * given execution context. If the given execution context is {@code null} a new
+ * execution context will be created.
* <p/>
- * The process instance id of the execution context will be newly generated if it is {@code null}
- * in the execution context.
+ * The process instance id of the execution context will be newly generated if
+ * it is {@code null} in the execution context.
*
* @param processDefinition The process definition.
- * @param executionContext The execution context (may be {@code null}). If {@code null} a new
- * execution context will be created internally.
+ * @param executionContext The execution context (may be {@code null}). If
+ * {@code null} a new execution context will be created
+ * internally.
*/
ProcessInstance(final ProcessDefinition processDefinition, ExecutionContext executionContext) {
final Logger log = LoggerFactory.getLogger(getClass());
@@ -94,7 +95,8 @@ public class ProcessInstance implements Serializable {
/**
* Returns the id of the process node to be executed next.
*
- * @return The process node pointer indicating the process node to be executed next.
+ * @return The process node pointer indicating the process node to be executed
+ * next.
*/
public String getNextId() {
touch();
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/ProcessInstanceState.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/ProcessInstanceState.java
index e6bfa480..f2353869 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/ProcessInstanceState.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/ProcessInstanceState.java
@@ -28,7 +28,8 @@ package at.gv.egiz.eaaf.core.impl.idp.process;
public enum ProcessInstanceState {
/**
- * Indicates that the process with this process instance has not yet been started.
+ * Indicates that the process with this process instance has not yet been
+ * started.
*/
NOT_STARTED,
@@ -38,8 +39,8 @@ public enum ProcessInstanceState {
STARTED,
/**
- * Indicates that the process has been suspended until being waken up by someonce calling
- * {@code signal}.
+ * Indicates that the process has been suspended until being waken up by
+ * someonce calling {@code signal}.
*/
SUSPENDED,
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/dao/ProcessInstanceStore.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/dao/ProcessInstanceStore.java
index f1abaef3..07d44f36 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/dao/ProcessInstanceStore.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/dao/ProcessInstanceStore.java
@@ -21,6 +21,7 @@ package at.gv.egiz.eaaf.core.impl.idp.process.dao;
import java.io.Serializable;
import java.util.Map;
+
import at.gv.egiz.eaaf.core.impl.idp.process.ProcessInstanceState;
public class ProcessInstanceStore implements Serializable {
@@ -28,8 +29,8 @@ public class ProcessInstanceStore implements Serializable {
private static final long serialVersionUID = -6147519767313903808L;
/**
- * A process instance identifier qualifies as natural primary key by satisfying these requirements.
- * ("unique, constant, required"):
+ * A process instance identifier qualifies as natural primary key by satisfying
+ * these requirements. ("unique, constant, required"):
* <ul>
* <li>unique value</li>
* <li>never changes (immutable)</li>
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/dao/ProcessInstanceStoreDaoImpl.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/dao/ProcessInstanceStoreDaoImpl.java
index 06c8cc1a..cca8872f 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/dao/ProcessInstanceStoreDaoImpl.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/dao/ProcessInstanceStoreDaoImpl.java
@@ -19,16 +19,18 @@
package at.gv.egiz.eaaf.core.impl.idp.process.dao;
-import at.gv.egiz.eaaf.core.api.idp.process.ProcessInstanceStoreDao;
-import at.gv.egiz.eaaf.core.api.storage.ITransactionStorage;
-import at.gv.egiz.eaaf.core.exceptions.EaafException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import at.gv.egiz.eaaf.core.api.idp.process.ProcessInstanceStoreDao;
+import at.gv.egiz.eaaf.core.api.storage.ITransactionStorage;
+import at.gv.egiz.eaaf.core.exceptions.EaafException;
+
/**
- * Database backed implementation of the {@link ProcessInstanceStoreDao} interface.
+ * Database backed implementation of the {@link ProcessInstanceStoreDao}
+ * interface.
*/
@Service("ProcessInstanceStoreage")
public class ProcessInstanceStoreDaoImpl implements ProcessInstanceStoreDao {
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/model/EndEvent.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/model/EndEvent.java
index 48919ded..ac7406ae 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/model/EndEvent.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/model/EndEvent.java
@@ -20,10 +20,12 @@
package at.gv.egiz.eaaf.core.impl.idp.process.model;
import java.io.Serializable;
+
import org.apache.commons.collections4.CollectionUtils;
/**
- * Represents an end event. Process execution terminates when an end event is reached.
+ * Represents an end event. Process execution terminates when an end event is
+ * reached.
*
* @author tknall
*/
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/model/ProcessDefinition.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/model/ProcessDefinition.java
index 3ab68266..39adda69 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/model/ProcessDefinition.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/model/ProcessDefinition.java
@@ -23,6 +23,7 @@ import java.io.Serializable;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Objects;
+
import at.gv.egiz.eaaf.core.impl.idp.process.ProcessDefinitionParser;
/**
@@ -31,7 +32,8 @@ import at.gv.egiz.eaaf.core.impl.idp.process.ProcessDefinitionParser;
* <li>a {@link StartEvent},</li>
* <li>one or more {@linkplain TaskInfo Tasks},</li>
* <li>one or more {@linkplain EndEvent EndEvents} and</li>
- * <li>some {@linkplain Transition Transitions} linking StartEvents, Tasks and EndEvents.
+ * <li>some {@linkplain Transition Transitions} linking StartEvents, Tasks and
+ * EndEvents.
* </ul>
*
* @author tknall
@@ -49,8 +51,8 @@ public class ProcessDefinition implements Serializable {
/**
* Returns the unique identifier of the process definition.
*
- * @return The unique identifier (never {@code null} if process definition comes from
- * {@link ProcessDefinitionParser}).
+ * @return The unique identifier (never {@code null} if process definition comes
+ * from {@link ProcessDefinitionParser}).
*/
public String getId() {
return id;
@@ -106,8 +108,8 @@ public class ProcessDefinition implements Serializable {
/**
* Returns a map containing the end events of the process description.
*
- * @return The map containing the end events (map is never {@code null} if process definition
- * comes from {@link ProcessDefinitionParser}).
+ * @return The map containing the end events (map is never {@code null} if
+ * process definition comes from {@link ProcessDefinitionParser}).
*/
public Map<String, EndEvent> getEndEvents() {
return endEvents;
@@ -126,8 +128,8 @@ public class ProcessDefinition implements Serializable {
* Returns the process node associated with the given {@code id}.
*
* @param id The identifier of the process node.
- * @return The process node (may be {code null} when no process node with the given {@code id}
- * exists).
+ * @return The process node (may be {code null} when no process node with the
+ * given {@code id} exists).
*/
public ProcessNode getProcessNode(final String id) {
Objects.requireNonNull(id, "Identifier must not be null.");
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/model/ProcessNode.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/model/ProcessNode.java
index 92858edf..46f086f9 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/model/ProcessNode.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/model/ProcessNode.java
@@ -21,10 +21,12 @@ package at.gv.egiz.eaaf.core.impl.idp.process.model;
import java.util.ArrayList;
import java.util.List;
+
import at.gv.egiz.eaaf.core.impl.idp.process.ProcessDefinitionParser;
/**
- * Represents a {@link StartEvent}, an {@link EndEvent} or a {@linkplain TaskInfo Task}.
+ * Represents a {@link StartEvent}, an {@link EndEvent} or a
+ * {@linkplain TaskInfo Task}.
*
* @author tknall
*
@@ -38,8 +40,8 @@ public abstract class ProcessNode {
/**
* Returns the unique identifier of the process node.
*
- * @return The unique identifier (never {@code null} if process node comes from a process
- * definition from {@link ProcessDefinitionParser}).
+ * @return The unique identifier (never {@code null} if process node comes from
+ * a process definition from {@link ProcessDefinitionParser}).
*/
public String getId() {
return id;
@@ -57,8 +59,8 @@ public abstract class ProcessNode {
/**
* Returns a list of transitions pointing from this process node to another one.
*
- * @return A list of transitions (never {@code null} if process node comes from a process
- * definition from {@link ProcessDefinitionParser}).
+ * @return A list of transitions (never {@code null} if process node comes from
+ * a process definition from {@link ProcessDefinitionParser}).
*/
public List<Transition> getOutgoingTransitions() {
return outgoingTransitions;
@@ -67,7 +69,8 @@ public abstract class ProcessNode {
/**
* Sets the list of transitions pointing from this process node to another one.
*
- * @param outgoingTransitions The list of transitions originating from this process node.
+ * @param outgoingTransitions The list of transitions originating from this
+ * process node.
*/
public void setOutgoingTransitions(final List<Transition> outgoingTransitions) {
this.outgoingTransitions = outgoingTransitions;
@@ -76,8 +79,8 @@ public abstract class ProcessNode {
/**
* Returns a list of transitions pointing from another process node to this one.
*
- * @return A list of transitions (never {@code null} if process node comes from a process
- * definition from {@link ProcessDefinitionParser}).
+ * @return A list of transitions (never {@code null} if process node comes from
+ * a process definition from {@link ProcessDefinitionParser}).
*/
public List<Transition> getIncomingTransitions() {
return incomingTransitions;
@@ -86,7 +89,8 @@ public abstract class ProcessNode {
/**
* Sets the list of transitions pointing from another process node to this one.
*
- * @param incomingTransitions A list of transitions pointing to this process node.
+ * @param incomingTransitions A list of transitions pointing to this process
+ * node.
*/
public void setIncomingTransitions(final List<Transition> incomingTransitions) {
this.incomingTransitions = incomingTransitions;
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/model/StartEvent.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/model/StartEvent.java
index 698312c7..ef6bc7ef 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/model/StartEvent.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/model/StartEvent.java
@@ -20,11 +20,12 @@
package at.gv.egiz.eaaf.core.impl.idp.process.model;
import java.io.Serializable;
+
import org.apache.commons.collections4.CollectionUtils;
/**
- * Represents a start event. Each process description contains a single start event. Process
- * execution starts with a start event.
+ * Represents a start event. Each process description contains a single start
+ * event. Process execution starts with a start event.
*
* @author tknall
*
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/model/TaskInfo.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/model/TaskInfo.java
index 9e384b4c..c8eea1bb 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/model/TaskInfo.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/model/TaskInfo.java
@@ -20,11 +20,14 @@
package at.gv.egiz.eaaf.core.impl.idp.process.model;
import java.io.Serializable;
-import at.gv.egiz.eaaf.core.api.idp.process.Task;
+
import org.apache.commons.collections4.CollectionUtils;
+import at.gv.egiz.eaaf.core.api.idp.process.Task;
+
/**
- * Represents information about a single task to be performed upon process execution.
+ * Represents information about a single task to be performed upon process
+ * execution.
*
* @author tknall
*
@@ -38,17 +41,19 @@ public class TaskInfo extends ProcessNode implements Serializable {
private boolean async = DEFAULT_ASYNC;
/**
- * Determines if the task is marked asynchronous ({@code true}) or synchronous ({@code false}).
+ * Determines if the task is marked asynchronous ({@code true}) or synchronous
+ * ({@code false}).
*
- * @return A flag indicating if the task should be executed asynchronously or synchronously.
- * (Default: {@code false})
+ * @return A flag indicating if the task should be executed asynchronously or
+ * synchronously. (Default: {@code false})
*/
public boolean isAsync() {
return async;
}
/**
- * Marks a task to executed asynchronously ({@code true}) or synchronously ({@code false}).
+ * Marks a task to executed asynchronously ({@code true}) or synchronously
+ * ({@code false}).
*
* @param async The flag.
*/
@@ -57,7 +62,8 @@ public class TaskInfo extends ProcessNode implements Serializable {
}
/**
- * Returns the class that implements the actual task (must implement {@link Task}).
+ * Returns the class that implements the actual task (must implement
+ * {@link Task}).
*
* @return The task implementing class.
*/
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/model/Transition.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/model/Transition.java
index 4c7b70f0..39c5f437 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/model/Transition.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/model/Transition.java
@@ -20,11 +20,13 @@
package at.gv.egiz.eaaf.core.impl.idp.process.model;
import java.io.Serializable;
+
import at.gv.egiz.eaaf.core.impl.idp.process.ProcessDefinitionParser;
/**
- * Represents a single transition from a {@link StartEvent} or {@linkplain TaskInfo Task} to another
- * {@linkplain TaskInfo Task} or {@link EndEvent}.
+ * Represents a single transition from a {@link StartEvent} or
+ * {@linkplain TaskInfo Task} to another {@linkplain TaskInfo Task} or
+ * {@link EndEvent}.
*
* @author tknall
*
@@ -39,11 +41,12 @@ public class Transition implements Serializable {
private ProcessNode to;
/**
- * Returns the process node (effectively a {@link StartEvent} or {@linkplain TaskInfo Task}) the
- * transition is pointing from.
+ * Returns the process node (effectively a {@link StartEvent} or
+ * {@linkplain TaskInfo Task}) the transition is pointing from.
*
- * @return The transition's source process node (never {@code null} if transition comes from a
- * process definition from {@link ProcessDefinitionParser}).
+ * @return The transition's source process node (never {@code null} if
+ * transition comes from a process definition from
+ * {@link ProcessDefinitionParser}).
*/
public ProcessNode getFrom() {
return from;
@@ -59,11 +62,12 @@ public class Transition implements Serializable {
}
/**
- * Returns the process node (effectively a {@linkplain TaskInfo Task} or {@link EndEvent}) the
- * transition is pointing to.
+ * Returns the process node (effectively a {@linkplain TaskInfo Task} or
+ * {@link EndEvent}) the transition is pointing to.
*
- * @return The transition's destination process node (never {@code null} if transition comes from
- * a process definition from {@link ProcessDefinitionParser}).
+ * @return The transition's destination process node (never {@code null} if
+ * transition comes from a process definition from
+ * {@link ProcessDefinitionParser}).
*/
public ProcessNode getTo() {
return to;
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/spring/SpringExpressionEvaluator.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/spring/SpringExpressionEvaluator.java
index fc01463e..588a3bde 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/spring/SpringExpressionEvaluator.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/spring/SpringExpressionEvaluator.java
@@ -20,10 +20,9 @@
package at.gv.egiz.eaaf.core.impl.idp.process.spring;
import java.util.Objects;
+
import javax.annotation.PostConstruct;
-import at.gv.egiz.eaaf.core.api.idp.process.ExpressionEvaluationContext;
-import at.gv.egiz.eaaf.core.api.idp.process.ExpressionEvaluator;
-import at.gv.egiz.eaaf.core.impl.idp.process.model.Transition;
+
import org.apache.commons.lang3.BooleanUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -35,9 +34,13 @@ import org.springframework.expression.ExpressionParser;
import org.springframework.expression.spel.standard.SpelExpressionParser;
import org.springframework.expression.spel.support.StandardEvaluationContext;
+import at.gv.egiz.eaaf.core.api.idp.process.ExpressionEvaluationContext;
+import at.gv.egiz.eaaf.core.api.idp.process.ExpressionEvaluator;
+import at.gv.egiz.eaaf.core.impl.idp.process.model.Transition;
+
/**
- * Expression evaluator for processing {@link Transition} conditions allowing to reference Spring
- * beans from the application context.
+ * Expression evaluator for processing {@link Transition} conditions allowing to
+ * reference Spring beans from the application context.
*
* @author tknall
*
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/springweb/AbstractAuthSourceServlet.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/springweb/AbstractAuthSourceServlet.java
index cc899641..bd352bef 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/springweb/AbstractAuthSourceServlet.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/springweb/AbstractAuthSourceServlet.java
@@ -21,9 +21,7 @@ package at.gv.egiz.eaaf.core.impl.idp.process.springweb;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
-import at.gv.egiz.eaaf.core.api.idp.process.ExecutionContext;
-import at.gv.egiz.eaaf.core.api.idp.process.ProcessEngine;
-import at.gv.egiz.eaaf.core.impl.idp.process.ProcessInstance;
+
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
@@ -31,10 +29,14 @@ import org.springframework.beans.factory.NoUniqueBeanDefinitionException;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
+import at.gv.egiz.eaaf.core.api.idp.process.ExecutionContext;
+import at.gv.egiz.eaaf.core.api.idp.process.ProcessEngine;
+import at.gv.egiz.eaaf.core.impl.idp.process.ProcessInstance;
+
/**
- * Abstract HttpServlet that provides means for retrieving the process engine (Spring Web required)
- * as well as retrieving the underlying process instance and execution context evaluating a certain
- * request parameter.
+ * Abstract HttpServlet that provides means for retrieving the process engine
+ * (Spring Web required) as well as retrieving the underlying process instance
+ * and execution context evaluating a certain request parameter.
*
* @author tknall
*
@@ -46,7 +48,8 @@ public abstract class AbstractAuthSourceServlet extends HttpServlet {
private ProcessEngine processEngine;
/**
- * Returns the name of the request parameter representing the respective instance id.
+ * Returns the name of the request parameter representing the respective
+ * instance id.
* <p/>
* Default is {@code processInstanceId}.
*
@@ -60,11 +63,16 @@ public abstract class AbstractAuthSourceServlet extends HttpServlet {
* Returns the underlying process engine instance.
*
* @return The process engine (never {@code null}).
- * @throws NoSuchBeanDefinitionException if no {@link ProcessEngine} bean was found.
- * @throws NoUniqueBeanDefinitionException if more than one {@link ProcessEngine} bean was found.
- * @throws BeansException if a problem getting the {@link ProcessEngine} bean occurred.
- * @throws IllegalStateException if the Spring WebApplicationContext was not found, which means
- * that the servlet is used outside a Spring web environment.
+ * @throws NoSuchBeanDefinitionException if no {@link ProcessEngine} bean was
+ * found.
+ * @throws NoUniqueBeanDefinitionException if more than one
+ * {@link ProcessEngine} bean was found.
+ * @throws BeansException if a problem getting the
+ * {@link ProcessEngine} bean occurred.
+ * @throws IllegalStateException if the Spring WebApplicationContext
+ * was not found, which means that the
+ * servlet is used outside a Spring web
+ * environment.
*/
public synchronized ProcessEngine getProcessEngine() {
if (processEngine == null) {
@@ -73,7 +81,7 @@ public abstract class AbstractAuthSourceServlet extends HttpServlet {
if (ctx == null) {
throw new IllegalStateException(
"Unable to find Spring WebApplicationContext. "
- + "Servlet needs to be executed within a Spring web environment.");
+ + "Servlet needs to be executed within a Spring web environment.");
}
processEngine = ctx.getBean(ProcessEngine.class);
}
@@ -86,13 +94,20 @@ public abstract class AbstractAuthSourceServlet extends HttpServlet {
*
* @param request The HttpServletRequest.
* @return The process instance (never {@code null}).
- * @throws NoSuchBeanDefinitionException if no {@link ProcessEngine} bean was found.
- * @throws NoUniqueBeanDefinitionException if more than one {@link ProcessEngine} bean was found.
- * @throws BeansException if a problem getting the {@link ProcessEngine} bean occurred.
- * @throws IllegalStateException if the Spring WebApplicationContext was not found, which means
- * that the servlet is used outside a Spring web environment.
- * @throws IllegalArgumentException in case the process instance id referenced by the request
- * parameter {@link #getProcessInstanceIdParameterName()} does not exist.
+ * @throws NoSuchBeanDefinitionException if no {@link ProcessEngine} bean was
+ * found.
+ * @throws NoUniqueBeanDefinitionException if more than one
+ * {@link ProcessEngine} bean was found.
+ * @throws BeansException if a problem getting the
+ * {@link ProcessEngine} bean occurred.
+ * @throws IllegalStateException if the Spring WebApplicationContext
+ * was not found, which means that the
+ * servlet is used outside a Spring web
+ * environment.
+ * @throws IllegalArgumentException in case the process instance id
+ * referenced by the request parameter
+ * {@link #getProcessInstanceIdParameterName()}
+ * does not exist.
*/
public ProcessInstance getProcessInstance(final HttpServletRequest request) {
final String processInstanceId =
@@ -105,18 +120,26 @@ public abstract class AbstractAuthSourceServlet extends HttpServlet {
}
/**
- * Retrieves the execution context for the respective process instance referenced by the request
- * parameter {@link #getProcessInstanceIdParameterName()}.
+ * Retrieves the execution context for the respective process instance
+ * referenced by the request parameter
+ * {@link #getProcessInstanceIdParameterName()}.
*
* @param request The HttpServletRequest.
* @return The execution context (never {@code null}).
- * @throws NoSuchBeanDefinitionException if no {@link ProcessEngine} bean was found.
- * @throws NoUniqueBeanDefinitionException if more than one {@link ProcessEngine} bean was found.
- * @throws BeansException if a problem getting the {@link ProcessEngine} bean occurred.
- * @throws IllegalStateException if the Spring WebApplicationContext was not found, which means
- * that the servlet is used outside a Spring web environment.
- * @throws IllegalArgumentException in case the process instance id referenced by the request
- * parameter {@link #getProcessInstanceIdParameterName()} does not exist.
+ * @throws NoSuchBeanDefinitionException if no {@link ProcessEngine} bean was
+ * found.
+ * @throws NoUniqueBeanDefinitionException if more than one
+ * {@link ProcessEngine} bean was found.
+ * @throws BeansException if a problem getting the
+ * {@link ProcessEngine} bean occurred.
+ * @throws IllegalStateException if the Spring WebApplicationContext
+ * was not found, which means that the
+ * servlet is used outside a Spring web
+ * environment.
+ * @throws IllegalArgumentException in case the process instance id
+ * referenced by the request parameter
+ * {@link #getProcessInstanceIdParameterName()}
+ * does not exist.
*/
public ExecutionContext getExecutionContext(final HttpServletRequest request) {
return getProcessInstance(request).getExecutionContext();
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/springweb/AbstractTask.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/springweb/AbstractTask.java
index 02db6686..2cdb84c5 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/springweb/AbstractTask.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/springweb/AbstractTask.java
@@ -21,15 +21,17 @@ package at.gv.egiz.eaaf.core.impl.idp.process.springweb;
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.process.ExecutionContext;
-import at.gv.egiz.eaaf.core.api.idp.process.Task;
-import at.gv.egiz.eaaf.core.exceptions.TaskExecutionException;
+
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import org.springframework.web.filter.RequestContextFilter;
+import at.gv.egiz.eaaf.core.api.IRequest;
+import at.gv.egiz.eaaf.core.api.idp.process.ExecutionContext;
+import at.gv.egiz.eaaf.core.api.idp.process.Task;
+import at.gv.egiz.eaaf.core.exceptions.TaskExecutionException;
+
/**
* Abstract task implementation providing {@link HttpServletRequest} and
* {@link HttpServletResponse}.
@@ -68,8 +70,8 @@ public abstract class AbstractTask implements Task {
if (request == null || response == null) {
throw new IllegalStateException(
"Spring's RequestContextHolder did not provide HttpServletResponse. "
- + "Did you forget to set the required "
- + "org.springframework.web.filter.RequestContextFilter in your web.xml.");
+ + "Did you forget to set the required "
+ + "org.springframework.web.filter.RequestContextFilter in your web.xml.");
}
return internalExecute(pendingReq, executionContext, request, response);
} else {
@@ -78,43 +80,45 @@ public abstract class AbstractTask implements Task {
}
/**
- * Executes the task providing the underlying {@link ExecutionContext} {@code executionContext} as
- * well as the respective {@link HttpServletRequest} and {@link HttpServletResponse}.
+ * Executes the task providing the underlying {@link ExecutionContext}
+ * {@code executionContext} as well as the respective {@link HttpServletRequest}
+ * and {@link HttpServletResponse}.
*
* @param executionContext The execution context (never {@code null}).
- * @param request The HttpServletRequest (never {@code null}).
- * @param response The HttpServletResponse (never {@code null}).
- * @throws IllegalStateException Thrown in case the task is nur being run within the required
- * environment. Refer to javadoc for further information.
- * @throws Exception Thrown in case of error executing the task.
+ * @param request The HttpServletRequest (never {@code null}).
+ * @param response The HttpServletResponse (never {@code null}).
+ * @throws IllegalStateException Thrown in case the task is nur being run within
+ * the required environment. Refer to javadoc for
+ * further information.
+ * @throws Exception Thrown in case of error executing the task.
*/
public abstract void execute(ExecutionContext executionContext, HttpServletRequest request,
HttpServletResponse response) throws TaskExecutionException;
/**
- * Executes the task providing the underlying {@link ExecutionContext} {@code executionContext}
- * and the {@link IRequest} {@code pendingReq }as well as the respective
- * {@link HttpServletRequest} and {@link HttpServletResponse}.
+ * Executes the task providing the underlying {@link ExecutionContext}
+ * {@code executionContext} and the {@link IRequest} {@code pendingReq }as well
+ * as the respective {@link HttpServletRequest} and {@link HttpServletResponse}.
*
* <p>
- * This method sets the pending-request object of the task implementation and starts the
- * {@code execute} method of the task
+ * This method sets the pending-request object of the task implementation and
+ * starts the {@code execute} method of the task
* </p>
*
- * @param pendingReq The pending-request object (never {@code null}).
+ * @param pendingReq The pending-request object (never {@code null}).
* @param executionContext The execution context (never {@code null}).
- * @param request The HttpServletRequest (never {@code null}).
- * @param response The HttpServletResponse (never {@code null}).
- * @return The pending-request object, because Process-management works recursive
+ * @param request The HttpServletRequest (never {@code null}).
+ * @param response The HttpServletResponse (never {@code null}).
+ * @return The pending-request object, because Process-management works
+ * recursive
*
- * @throws IllegalStateException Thrown in case the task is being run within the required
- * environment. Refer to javadoc for further information.
- * @throws Exception Thrown in case of error executing the task.
+ * @throws IllegalStateException Thrown in case the task is being run within the
+ * required environment. Refer to javadoc for
+ * further information.
+ * @throws Exception Thrown in case of error executing the task.
*/
protected abstract IRequest internalExecute(IRequest pendingReq,
ExecutionContext executionContext, HttpServletRequest request, HttpServletResponse response)
throws TaskExecutionException;
-
-
}
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/springweb/SpringWebExpressionEvaluator.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/springweb/SpringWebExpressionEvaluator.java
index c723a728..afcc0a58 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/springweb/SpringWebExpressionEvaluator.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/process/springweb/SpringWebExpressionEvaluator.java
@@ -22,12 +22,10 @@ package at.gv.egiz.eaaf.core.impl.idp.process.springweb;
import java.io.Serializable;
import java.util.Map;
import java.util.Objects;
+
import javax.annotation.PostConstruct;
import javax.servlet.http.HttpServletRequest;
-import at.gv.egiz.eaaf.core.api.idp.process.ExecutionContext;
-import at.gv.egiz.eaaf.core.api.idp.process.ExpressionEvaluationContext;
-import at.gv.egiz.eaaf.core.api.idp.process.ExpressionEvaluator;
-import at.gv.egiz.eaaf.core.impl.idp.process.model.Transition;
+
import org.apache.commons.lang3.BooleanUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -39,13 +37,21 @@ import org.springframework.expression.ExpressionParser;
import org.springframework.expression.spel.standard.SpelExpressionParser;
import org.springframework.expression.spel.support.StandardEvaluationContext;
+import at.gv.egiz.eaaf.core.api.idp.process.ExecutionContext;
+import at.gv.egiz.eaaf.core.api.idp.process.ExpressionEvaluationContext;
+import at.gv.egiz.eaaf.core.api.idp.process.ExpressionEvaluator;
+import at.gv.egiz.eaaf.core.impl.idp.process.model.Transition;
+
/**
- * Expression evaluator for processing {@link Transition} conditions allowing to.
+ * Expression evaluator for processing {@link Transition} conditions allowing
+ * to.
* <ul>
- * <li>reference Spring beans from the application context using {@code @myBeanName...},</li>
+ * <li>reference Spring beans from the application context using
+ * {@code @myBeanName...},</li>
* <li>{@link ExecutionContext} properties using {@code ctx['property']},</li>
- * <li>Multi valued {@link HttpServletRequest} parameters using {@code requestParameters['foo']}
- * (keep in mind that this expression returns an array of String values) and</li>
+ * <li>Multi valued {@link HttpServletRequest} parameters using
+ * {@code requestParameters['foo']} (keep in mind that this expression returns
+ * an array of String values) and</li>
* <li>Single valued {@link HttpServletRequest} parameters using
* {@code requestParameter['foo']}</li>
* </ul>
@@ -70,9 +76,10 @@ public class SpringWebExpressionEvaluator implements ExpressionEvaluator {
}
/**
- * Evaluation context that provides access to {@link HttpServletRequest} parameters using
- * {@code requestParameter['foo']} for single value parameters or {@code requestParameters['foo']}
- * for multi value parameters. Basic calls to {@code ctx} will be delegated.
+ * Evaluation context that provides access to {@link HttpServletRequest}
+ * parameters using {@code requestParameter['foo']} for single value parameters
+ * or {@code requestParameters['foo']} for multi value parameters. Basic calls
+ * to {@code ctx} will be delegated.
*
* @author tknall
*
@@ -82,11 +89,11 @@ public class SpringWebExpressionEvaluator implements ExpressionEvaluator {
private static final long serialVersionUID = 1L;
/**
- * Creates a new expression evaluation context, providing access to HttpServletRequest
- * parameter(s).
+ * Creates a new expression evaluation context, providing access to
+ * HttpServletRequest parameter(s).
*
- * @param delegate The original {@link ExpressionEvaluationContext} to be delegated to for
- * {@code ctx['foo']} expressions.
+ * @param delegate The original {@link ExpressionEvaluationContext} to be
+ * delegated to for {@code ctx['foo']} expressions.
*/
public SpringWebExpressionEvaluationContext(final ExpressionEvaluationContext delegate) {
this.delegate = delegate;
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/logging/DummyRevisionsLogger.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/logging/DummyRevisionsLogger.java
index 0c5129bc..4438181f 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/logging/DummyRevisionsLogger.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/logging/DummyRevisionsLogger.java
@@ -19,18 +19,18 @@
package at.gv.egiz.eaaf.core.impl.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.logging.IRevisionLogger;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import at.gv.egiz.eaaf.core.api.IRequest;
+import at.gv.egiz.eaaf.core.api.idp.ISpConfiguration;
+import at.gv.egiz.eaaf.core.api.logging.IRevisionLogger;
+
public class DummyRevisionsLogger implements IRevisionLogger {
private static final Logger log = LoggerFactory.getLogger(DummyStatisticLogger.class);
-
@Override
- public void logEvent(final IspConfiguration oaConfig, final int eventCode, final String message) {
+ public void logEvent(final ISpConfiguration oaConfig, final int eventCode, final String message) {
log.trace("Dummy-logEventOperation");
}
@@ -42,7 +42,8 @@ public class DummyRevisionsLogger implements IRevisionLogger {
}
@Override
- public void logEvent(final String sessionID, final String transactionID, final int eventCode, final String message) {
+ public void logEvent(final String sessionID, final String transactionID, final int eventCode,
+ final String message) {
log.trace("Dummy-logEventOperation");
}
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/logging/DummyStatisticLogger.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/logging/DummyStatisticLogger.java
index 3d4a2e5e..411ab1f5 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/logging/DummyStatisticLogger.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/logging/DummyStatisticLogger.java
@@ -19,14 +19,13 @@
package at.gv.egiz.eaaf.core.impl.logging;
-
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
import at.gv.egiz.eaaf.core.api.IRequest;
import at.gv.egiz.eaaf.core.api.idp.IAuthData;
import at.gv.egiz.eaaf.core.api.logging.IStatisticLogger;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Service;
@Service("DummyStatisticLogger")
public class DummyStatisticLogger implements IStatisticLogger {
@@ -51,7 +50,8 @@ public class DummyStatisticLogger implements IStatisticLogger {
/*
* (non-Javadoc)
*
- * @see at.gv.egovernment.moa.id.advancedlogging.IStatisticLogger#testConnection()
+ * @see
+ * at.gv.egovernment.moa.id.advancedlogging.IStatisticLogger#testConnection()
*/
@Override
public void internalTesting() throws Exception {
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/utils/DomUtils.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/utils/DomUtils.java
index aafea776..e1a02c64 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/utils/DomUtils.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/utils/DomUtils.java
@@ -17,8 +17,6 @@
* works that you distribute must include a readable copy of the "NOTICE" text file.
*/
-
-
package at.gv.egiz.eaaf.core.impl.utils;
import java.io.ByteArrayInputStream;
@@ -34,6 +32,7 @@ import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.Vector;
+
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
@@ -45,7 +44,7 @@ import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
-import at.gv.egiz.eaaf.core.api.data.XMLNamespaceConstants;
+
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.xerces.parsers.DOMParser;
@@ -70,14 +69,17 @@ import org.xml.sax.ErrorHandler;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
+import at.gv.egiz.eaaf.core.api.data.XmlNamespaceConstants;
+
/**
* Various utility functions for handling XML DOM trees.
*
- *<p>
- * The parsing methods in this class make use of some features internal to the Xerces DOM parser,
- * mainly for performance reasons. As soon as JAXP (currently at version 1.2) is better at schema
- * handling, it should be used as the parser interface.
- *</p>
+ * <p>
+ * The parsing methods in this class make use of some features internal to the
+ * Xerces DOM parser, mainly for performance reasons. As soon as JAXP (currently
+ * at version 1.2) is better at schema handling, it should be used as the parser
+ * interface.
+ * </p>
*
*/
public class DomUtils {
@@ -103,7 +105,8 @@ public class DomUtils {
private static final String EXTERNAL_SCHEMA_LOCATION_PROPERTY =
"http://apache.org/xml/properties/schema/external-schemaLocation";
/**
- * Property URI for providing the external schema location for elements without a namespace.
+ * Property URI for providing the external schema location for elements without
+ * a namespace.
*/
private static final String EXTERNAL_NO_NAMESPACE_SCHEMA_LOCATION_PROPERTY =
"http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation";
@@ -117,8 +120,6 @@ public class DomUtils {
public static final String DISALLOW_DOCTYPE_FEATURE =
"http://apache.org/xml/features/disallow-doctype-decl";
-
-
/** Property URI for the Xerces grammar pool. */
private static final String GRAMMAR_POOL = org.apache.xerces.impl.Constants.XERCES_PROPERTY_PREFIX
+ org.apache.xerces.impl.Constants.XMLGRAMMAR_POOL_PROPERTY;
@@ -129,8 +130,8 @@ public class DomUtils {
/** Xerces schema grammar pool. */
private static XMLGrammarPool grammarPool = new XMLGrammarPoolImpl();
/**
- * Set holding the NamespaceURIs of the grammarPool, to prevent multiple entries of same grammars
- * to the pool.
+ * Set holding the NamespaceURIs of the grammarPool, to prevent multiple entries
+ * of same grammars to the pool.
*/
private static Set grammarNamespaces;
@@ -140,12 +141,13 @@ public class DomUtils {
}
/**
- * Preparse a schema and add it to the schema pool. The method only adds the schema to the pool if
- * a schema having the same <code>systemId</code> (namespace URI) is not already present in the
- * pool.
+ * Preparse a schema and add it to the schema pool. The method only adds the
+ * schema to the pool if a schema having the same <code>systemId</code>
+ * (namespace URI) is not already present in the pool.
*
- * @param inputStream An <code>InputStream</code> providing the contents of the schema.
- * @param systemId The systemId (namespace URI) to use for the schema.
+ * @param inputStream An <code>InputStream</code> providing the contents of the
+ * schema.
+ * @param systemId The systemId (namespace URI) to use for the schema.
* @throws IOException An error occurred reading the schema.
*/
public static void addSchemaToPool(final InputStream inputStream, final String systemId)
@@ -178,24 +180,32 @@ public class DomUtils {
/**
* Parse an XML document from an <code>InputStream</code>.
*
- *<p>
- * It uses a <code>MOAEntityResolver</code> as the <code>EntityResolver</code> and a
- * <code>MOAErrorHandler</code> as the <code>ErrorHandler</code>.
- *</p>
+ * <p>
+ * It uses a <code>MOAEntityResolver</code> as the <code>EntityResolver</code>
+ * and a <code>MOAErrorHandler</code> as the <code>ErrorHandler</code>.
+ * </p>
*
- * @param inputStream The <code>InputStream</code> containing the XML document.
- * @param validating If <code>true</code>, parse validating.
- * @param externalSchemaLocations A <code>String</code> containing namespace URI to schema
- * location pairs, the same way it is accepted by the <code>xsi:
- * schemaLocation</code> attribute.
- * @param externalNoNamespaceSchemaLocation The schema location of the schema for elements without
- * a namespace, the same way it is accepted by the
- * <code>xsi:noNamespaceSchemaLocation</code> attribute.
- * @param parserFeatures Map of features that should be set into XML parser
+ * @param inputStream The <code>InputStream</code>
+ * containing the XML document.
+ * @param validating If <code>true</code>, parse
+ * validating.
+ * @param externalSchemaLocations A <code>String</code> containing
+ * namespace URI to schema location
+ * pairs, the same way it is accepted
+ * by the <code>xsi:
+ * schemaLocation</code> attribute.
+ * @param externalNoNamespaceSchemaLocation The schema location of the schema
+ * for elements without a namespace,
+ * the same way it is accepted by the
+ * <code>xsi:noNamespaceSchemaLocation</code>
+ * attribute.
+ * @param parserFeatures Map of features that should be set
+ * into XML parser
* @return The parsed XML document as a DOM tree.
- * @throws SAXException An error occurred parsing the document.
- * @throws IOException An error occurred reading the document.
- * @throws ParserConfigurationException An error occurred configuring the XML parser.
+ * @throws SAXException An error occurred parsing the document.
+ * @throws IOException An error occurred reading the document.
+ * @throws ParserConfigurationException An error occurred configuring the XML
+ * parser.
*/
public static Document parseDocument(final InputStream inputStream, final boolean validating,
final String externalSchemaLocations, final String externalNoNamespaceSchemaLocation,
@@ -209,24 +219,31 @@ public class DomUtils {
/**
* Parse an XML document from a <code>String</code>.
*
- *<p>
- * It uses a <code>MOAEntityResolver</code> as the <code>EntityResolver</code> and a
- * <code>MOAErrorHandler</code> as the <code>ErrorHandler</code>.
- *</p>
+ * <p>
+ * It uses a <code>MOAEntityResolver</code> as the <code>EntityResolver</code>
+ * and a <code>MOAErrorHandler</code> as the <code>ErrorHandler</code>.
+ * </p>
*
- * @param xmlString The <code>String</code> containing the XML document.
- * @param encoding The encoding of the XML document.
- * @param validating If <code>true</code>, parse validating.
- * @param externalSchemaLocations A <code>String</code> containing namespace URI to schema
- * location pairs, the same way it is accepted by the <code>xsi:
- * schemaLocation</code> attribute.
- * @param externalNoNamespaceSchemaLocation The schema location of the schema for elements without
- * a namespace, the same way it is accepted by the
- * <code>xsi:noNamespaceSchemaLocation</code> attribute.
+ * @param xmlString The <code>String</code> containing
+ * the XML document.
+ * @param encoding The encoding of the XML document.
+ * @param validating If <code>true</code>, parse
+ * validating.
+ * @param externalSchemaLocations A <code>String</code> containing
+ * namespace URI to schema location
+ * pairs, the same way it is accepted
+ * by the <code>xsi:
+ * schemaLocation</code> attribute.
+ * @param externalNoNamespaceSchemaLocation The schema location of the schema
+ * for elements without a namespace,
+ * the same way it is accepted by the
+ * <code>xsi:noNamespaceSchemaLocation</code>
+ * attribute.
* @return The parsed XML document as a DOM tree.
- * @throws SAXException An error occurred parsing the document.
- * @throws IOException An error occurred reading the document.
- * @throws ParserConfigurationException An error occurred configuring the XML parser.
+ * @throws SAXException An error occurred parsing the document.
+ * @throws IOException An error occurred reading the document.
+ * @throws ParserConfigurationException An error occurred configuring the XML
+ * parser.
*/
public static Document parseDocument(final String xmlString, final String encoding,
final boolean validating, final String externalSchemaLocations,
@@ -241,24 +258,31 @@ public class DomUtils {
/**
* Parse an XML document from a <code>String</code>.
*
- *<p>
- * It uses a <code>MOAEntityResolver</code> as the <code>EntityResolver</code> and a
- * <code>MOAErrorHandler</code> as the <code>ErrorHandler</code>.
- *</p>
+ * <p>
+ * It uses a <code>MOAEntityResolver</code> as the <code>EntityResolver</code>
+ * and a <code>MOAErrorHandler</code> as the <code>ErrorHandler</code>.
+ * </p>
*
- * @param xmlString The <code>String</code> containing the XML document.
- * @param encoding The encoding of the XML document.
- * @param validating If <code>true</code>, parse validating.
- * @param externalSchemaLocations A <code>String</code> containing namespace URI to schema
- * location pairs, the same way it is accepted by the <code>xsi:
- * schemaLocation</code> attribute.
- * @param externalNoNamespaceSchemaLocation The schema location of the schema for elements without
- * a namespace, the same way it is accepted by the
- * <code>xsi:noNamespaceSchemaLocation</code> attribute.
+ * @param xmlString The <code>String</code> containing
+ * the XML document.
+ * @param encoding The encoding of the XML document.
+ * @param validating If <code>true</code>, parse
+ * validating.
+ * @param externalSchemaLocations A <code>String</code> containing
+ * namespace URI to schema location
+ * pairs, the same way it is accepted
+ * by the <code>xsi:
+ * schemaLocation</code> attribute.
+ * @param externalNoNamespaceSchemaLocation The schema location of the schema
+ * for elements without a namespace,
+ * the same way it is accepted by the
+ * <code>xsi:noNamespaceSchemaLocation</code>
+ * attribute.
* @return The parsed XML document as a DOM tree.
- * @throws SAXException An error occurred parsing the document.
- * @throws IOException An error occurred reading the document.
- * @throws ParserConfigurationException An error occurred configuring the XML parser.
+ * @throws SAXException An error occurred parsing the document.
+ * @throws IOException An error occurred reading the document.
+ * @throws ParserConfigurationException An error occurred configuring the XML
+ * parser.
*/
public static Document parseDocument(final String xmlString, final String encoding,
final boolean validating, final String externalSchemaLocations,
@@ -273,18 +297,25 @@ public class DomUtils {
/**
* Parse an UTF-8 encoded XML document from a <code>String</code>.
*
- * @param xmlString The <code>String</code> containing the XML document.
- * @param validating If <code>true</code>, parse validating.
- * @param externalSchemaLocations A <code>String</code> containing namespace URI to schema
- * location pairs, the same way it is accepted by the <code>xsi:
- * schemaLocation</code> attribute.
- * @param externalNoNamespaceSchemaLocation The schema location of the schema for elements without
- * a namespace, the same way it is accepted by the
- * <code>xsi:noNamespaceSchemaLocation</code> attribute.
+ * @param xmlString The <code>String</code> containing
+ * the XML document.
+ * @param validating If <code>true</code>, parse
+ * validating.
+ * @param externalSchemaLocations A <code>String</code> containing
+ * namespace URI to schema location
+ * pairs, the same way it is accepted
+ * by the <code>xsi:
+ * schemaLocation</code> attribute.
+ * @param externalNoNamespaceSchemaLocation The schema location of the schema
+ * for elements without a namespace,
+ * the same way it is accepted by the
+ * <code>xsi:noNamespaceSchemaLocation</code>
+ * attribute.
* @return The parsed XML document as a DOM tree.
- * @throws SAXException An error occurred parsing the document.
- * @throws IOException An error occurred reading the document.
- * @throws ParserConfigurationException An error occurred configuring the XML parser.
+ * @throws SAXException An error occurred parsing the document.
+ * @throws IOException An error occurred reading the document.
+ * @throws ParserConfigurationException An error occurred configuring the XML
+ * parser.
*/
public static Document parseDocument(final String xmlString, final boolean validating,
final String externalSchemaLocations, final String externalNoNamespaceSchemaLocation)
@@ -297,22 +328,33 @@ public class DomUtils {
/**
* Parse an XML document from an <code>InputStream</code>.
*
- * @param inputStream The <code>InputStream</code> containing the XML document.
- * @param validating If <code>true</code>, parse validating.
- * @param externalSchemaLocations A <code>String</code> containing namespace URI to schema
- * location pairs, the same way it is accepted by the <code>xsi:
- * schemaLocation</code> attribute.
- * @param externalNoNamespaceSchemaLocation The schema location of the schema for elements without
- * a namespace, the same way it is accepted by the
- * <code>xsi:noNamespaceSchemaLocation</code> attribute.
- * @param entityResolver An <code>EntityResolver</code> to resolve external entities (schemas and
- * DTDs). If <code>null</code>, it will not be set.
- * @param errorHandler An <code>ErrorHandler</code> to decide what to do with parsing errors. If
- * <code>null</code>, it will not be set.
+ * @param inputStream The <code>InputStream</code>
+ * containing the XML document.
+ * @param validating If <code>true</code>, parse
+ * validating.
+ * @param externalSchemaLocations A <code>String</code> containing
+ * namespace URI to schema location
+ * pairs, the same way it is accepted
+ * by the <code>xsi:
+ * schemaLocation</code> attribute.
+ * @param externalNoNamespaceSchemaLocation The schema location of the schema
+ * for elements without a namespace,
+ * the same way it is accepted by the
+ * <code>xsi:noNamespaceSchemaLocation</code>
+ * attribute.
+ * @param entityResolver An <code>EntityResolver</code> to
+ * resolve external entities (schemas
+ * and DTDs). If <code>null</code>, it
+ * will not be set.
+ * @param errorHandler An <code>ErrorHandler</code> to
+ * decide what to do with parsing
+ * errors. If <code>null</code>, it
+ * will not be set.
* @return The parsed XML document as a DOM tree.
- * @throws SAXException An error occurred parsing the document.
- * @throws IOException An error occurred reading the document.
- * @throws ParserConfigurationException An error occurred configuring the XML parser.
+ * @throws SAXException An error occurred parsing the document.
+ * @throws IOException An error occurred reading the document.
+ * @throws ParserConfigurationException An error occurred configuring the XML
+ * parser.
*/
public static Document parseDocument(final InputStream inputStream, final boolean validating,
final String externalSchemaLocations, final String externalNoNamespaceSchemaLocation,
@@ -330,8 +372,8 @@ public class DomUtils {
// }
// }
-
- // if Debug is enabled make a copy of inputStream to enable debug output in case of SAXException
+ // if Debug is enabled make a copy of inputStream to enable debug output in case
+ // of SAXException
byte[] buffer = null;
ByteArrayInputStream baStream = null;
if (true == log.isDebugEnabled()) {
@@ -340,8 +382,6 @@ public class DomUtils {
}
-
-
// create the DOM parser
if (symbolTable != null) {
parser = new DOMParser(symbolTable, grammarPool);
@@ -379,8 +419,8 @@ public class DomUtils {
}
// fix XXE problem
- // parser.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
-
+ // parser.setFeature("http://apache.org/xml/features/disallow-doctype-decl",
+ // true);
if (validating) {
if (externalSchemaLocations != null) {
@@ -423,9 +463,9 @@ public class DomUtils {
*
* @param inputStream data to parse
* @return Element
- * @throws SAXException In case of an error
- * @throws IOException In case of an error
- * @throws ParserConfigurationException In case of an error
+ * @throws SAXException In case of an error
+ * @throws IOException In case of an error
+ * @throws ParserConfigurationException In case of an error
*/
public static Document parseDocumentSimple(final InputStream inputStream)
throws SAXException, IOException, ParserConfigurationException {
@@ -446,62 +486,56 @@ public class DomUtils {
return parser.getDocument();
}
-
-
-
-
-
-
-
-
-
-
/**
* A convenience method to parse an XML document validating.
*
* @param inputStream The <code>InputStream</code> containing the XML document.
* @return The root element of the parsed XML document.
- * @throws SAXException An error occurred parsing the document.
- * @throws IOException An error occurred reading the document.
- * @throws ParserConfigurationException An error occurred configuring the XML parser.
+ * @throws SAXException An error occurred parsing the document.
+ * @throws IOException An error occurred reading the document.
+ * @throws ParserConfigurationException An error occurred configuring the XML
+ * parser.
*/
public static Element parseXmlValidating(final InputStream inputStream)
throws ParserConfigurationException, SAXException, IOException {
return DomUtils
- .parseDocument(inputStream, true, XMLNamespaceConstants.ALL_SCHEMA_LOCATIONS, null, null)
+ .parseDocument(inputStream, true, XmlNamespaceConstants.ALL_SCHEMA_LOCATIONS, null, null)
.getDocumentElement();
}
/**
* A convenience method to parse an XML document validating.
*
- * @param inputStream The <code>InputStream</code> containing the XML document.
+ * @param inputStream The <code>InputStream</code> containing the XML
+ * document.
* @param parserFeatures Set additional features to XML parser
* @return The root element of the parsed XML document.
- * @throws SAXException An error occurred parsing the document.
- * @throws IOException An error occurred reading the document.
- * @throws ParserConfigurationException An error occurred configuring the XML parser.
+ * @throws SAXException An error occurred parsing the document.
+ * @throws IOException An error occurred reading the document.
+ * @throws ParserConfigurationException An error occurred configuring the XML
+ * parser.
*/
public static Element parseXmlValidating(final InputStream inputStream,
final Map<String, Object> parserFeatures)
throws ParserConfigurationException, SAXException, IOException {
- return DomUtils.parseDocument(inputStream, true, XMLNamespaceConstants.ALL_SCHEMA_LOCATIONS,
+ return DomUtils.parseDocument(inputStream, true, XmlNamespaceConstants.ALL_SCHEMA_LOCATIONS,
null, parserFeatures).getDocumentElement();
}
/**
- * A convenience method to parse an XML document non validating. This method disallow DocType
- * declarations
+ * A convenience method to parse an XML document non validating. This method
+ * disallow DocType declarations
*
* @param inputStream The <code>InputStream</code> containing the XML document.
* @return The root element of the parsed XML document.
- * @throws SAXException An error occurred parsing the document.
- * @throws IOException An error occurred reading the document.
- * @throws ParserConfigurationException An error occurred configuring the XML parser.
+ * @throws SAXException An error occurred parsing the document.
+ * @throws IOException An error occurred reading the document.
+ * @throws ParserConfigurationException An error occurred configuring the XML
+ * parser.
*/
public static Element parseXmlNonValidating(final InputStream inputStream)
throws ParserConfigurationException, SAXException, IOException {
- return DomUtils.parseDocument(inputStream, false, XMLNamespaceConstants.ALL_SCHEMA_LOCATIONS,
+ return DomUtils.parseDocument(inputStream, false, XmlNamespaceConstants.ALL_SCHEMA_LOCATIONS,
null, Collections.unmodifiableMap(new HashMap<String, Object>() {
private static final long serialVersionUID = 1L;
{
@@ -514,19 +548,25 @@ public class DomUtils {
/**
* Schema validate a given DOM element.
*
- * @param element The element to validate.
- * @param externalSchemaLocations A <code>String</code> containing namespace URI to schema
- * location pairs, the same way it is accepted by the <code>xsi:
- * schemaLocation</code> attribute.
- * @param externalNoNamespaceSchemaLocation The schema location of the schema for elements without
- * a namespace, the same way it is accepted by the
- * <code>xsi:noNamespaceSchemaLocation</code> attribute.
- * @return <code>true</code>, if the <code>element</code> validates against the schemas declared
- * in it.
- * @throws SAXException An error occurred parsing the document.
- * @throws IOException An error occurred reading the document from its serialized representation.
+ * @param element The element to validate.
+ * @param externalSchemaLocations A <code>String</code> containing
+ * namespace URI to schema location
+ * pairs, the same way it is accepted
+ * by the <code>xsi:
+ * schemaLocation</code> attribute.
+ * @param externalNoNamespaceSchemaLocation The schema location of the schema
+ * for elements without a namespace,
+ * the same way it is accepted by the
+ * <code>xsi:noNamespaceSchemaLocation</code>
+ * attribute.
+ * @return <code>true</code>, if the <code>element</code> validates against the
+ * schemas declared in it.
+ * @throws SAXException An error occurred parsing the document.
+ * @throws IOException An error occurred reading the document
+ * from its serialized representation.
* @throws ParserConfigurationException An error occurred configuring the XML
- * @throws TransformerException An error occurred serializing the element.
+ * @throws TransformerException An error occurred serializing the
+ * element.
*/
public static boolean validateElement(final Element element, final String externalSchemaLocations,
final String externalNoNamespaceSchemaLocation)
@@ -552,7 +592,6 @@ public class DomUtils {
parser.setFeature(EXTERNAL_GENERAL_ENTITIES_FEATURE, false);
parser.setFeature(DISALLOW_DOCTYPE_FEATURE, true);
-
if (externalSchemaLocations != null) {
parser.setProperty(EXTERNAL_SCHEMA_LOCATION_PROPERTY, externalSchemaLocations);
}
@@ -569,23 +608,28 @@ public class DomUtils {
return true;
}
-
/**
* Schema validate a given DOM element.
*
- * @param element The element to validate.
- * @param externalSchemaLocations A <code>String</code> containing namespace URI to schema
- * location pairs, the same way it is accepted by the <code>xsi:
- * schemaLocation</code> attribute.
- * @param externalNoNamespaceSchemaLocation The schema location of the schema for elements without
- * a namespace, the same way it is accepted by the
- * <code>xsi:noNamespaceSchemaLocation</code> attribute.
- * @return <code>true</code>, if the <code>element</code> validates against the schemas declared
- * in it.
- * @throws SAXException An error occurred parsing the document.
- * @throws IOException An error occurred reading the document from its serialized representation.
+ * @param element The element to validate.
+ * @param externalSchemaLocations A <code>String</code> containing
+ * namespace URI to schema location
+ * pairs, the same way it is accepted
+ * by the <code>xsi:
+ * schemaLocation</code> attribute.
+ * @param externalNoNamespaceSchemaLocation The schema location of the schema
+ * for elements without a namespace,
+ * the same way it is accepted by the
+ * <code>xsi:noNamespaceSchemaLocation</code>
+ * attribute.
+ * @return <code>true</code>, if the <code>element</code> validates against the
+ * schemas declared in it.
+ * @throws SAXException An error occurred parsing the document.
+ * @throws IOException An error occurred reading the document
+ * from its serialized representation.
* @throws ParserConfigurationException An error occurred configuring the XML
- * @throws TransformerException An error occurred serializing the element.
+ * @throws TransformerException An error occurred serializing the
+ * element.
*/
public static boolean validateElement(final Element element, final String externalSchemaLocations,
final String externalNoNamespaceSchemaLocation, final EntityResolver entityResolver)
@@ -628,32 +672,35 @@ public class DomUtils {
/**
* Serialize the given DOM node.
*
- *<p>
+ * <p>
* The node will be serialized using the UTF-8 encoding.
- *</p>
+ * </p>
*
* @param node The node to serialize.
* @return String The <code>String</code> representation of the given DOM node.
- * @throws TransformerException An error occurred transforming the node to a <code>String</code>.
- * @throws IOException An IO error occurred writing the node to a byte array.
+ * @throws TransformerException An error occurred transforming the node to a
+ * <code>String</code>.
+ * @throws IOException An IO error occurred writing the node to a byte
+ * array.
*/
public static String serializeNode(final Node node) throws TransformerException, IOException {
return new String(serializeNode(node, "UTF-8", false), "UTF-8");
}
-
/**
* Serialize the given DOM node.
*
- *<p>
+ * <p>
* The node will be serialized using the UTF-8 encoding.
- *</p>
+ * </p>
*
- * @param node The node to serialize.
+ * @param node The node to serialize.
* @param omitXmlDeclaration The boolean value for omitting the XML Declaration.
* @return String The <code>String</code> representation of the given DOM node.
- * @throws TransformerException An error occurred transforming the node to a <code>String</code>.
- * @throws IOException An IO error occurred writing the node to a byte array.
+ * @throws TransformerException An error occurred transforming the node to a
+ * <code>String</code>.
+ * @throws IOException An IO error occurred writing the node to a byte
+ * array.
*/
public static String serializeNode(final Node node, final boolean omitXmlDeclaration)
throws TransformerException, IOException {
@@ -663,16 +710,18 @@ public class DomUtils {
/**
* Serialize the given DOM node.
*
- *<p>
+ * <p>
* The node will be serialized using the UTF-8 encoding.
- *</p>
+ * </p>
*
- * @param node The node to serialize.
+ * @param node The node to serialize.
* @param omitXmlDeclaration The boolean value for omitting the XML Declaration.
- * @param lineSeperator Sets the line seperator String of the parser
+ * @param lineSeperator Sets the line seperator String of the parser
* @return String The <code>String</code> representation of the given DOM node.
- * @throws TransformerException An error occurred transforming the node to a <code>String</code>.
- * @throws IOException An IO error occurred writing the node to a byte array.
+ * @throws TransformerException An error occurred transforming the node to a
+ * <code>String</code>.
+ * @throws IOException An IO error occurred writing the node to a byte
+ * array.
*/
public static String serializeNode(final Node node, final boolean omitXmlDeclaration,
final String lineSeperator) throws TransformerException, IOException {
@@ -682,12 +731,14 @@ public class DomUtils {
/**
* Serialize the given DOM node to a byte array.
*
- * @param node The node to serialize.
+ * @param node The node to serialize.
* @param xmlEncoding The XML encoding to use.
- * @return The serialized node, as a byte array. Using a compatible encoding this can easily be
- * converted into a <code>String</code>.
- * @throws TransformerException An error occurred transforming the node to a byte array.
- * @throws IOException An IO error occurred writing the node to a byte array.
+ * @return The serialized node, as a byte array. Using a compatible encoding
+ * this can easily be converted into a <code>String</code>.
+ * @throws TransformerException An error occurred transforming the node to a
+ * byte array.
+ * @throws IOException An IO error occurred writing the node to a byte
+ * array.
*/
public static byte[] serializeNode(final Node node, final String xmlEncoding)
throws TransformerException, IOException {
@@ -697,31 +748,34 @@ public class DomUtils {
/**
* Serialize the given DOM node to a byte array.
*
- * @param node The node to serialize.
- * @param xmlEncoding The XML encoding to use.
+ * @param node The node to serialize.
+ * @param xmlEncoding The XML encoding to use.
* @param omitDeclaration The boolean value for omitting the XML Declaration.
- * @return The serialized node, as a byte array. Using a compatible encoding this can easily be
- * converted into a <code>String</code>.
- * @throws TransformerException An error occurred transforming the node to a byte array.
- * @throws IOException An IO error occurred writing the node to a byte array.
+ * @return The serialized node, as a byte array. Using a compatible encoding
+ * this can easily be converted into a <code>String</code>.
+ * @throws TransformerException An error occurred transforming the node to a
+ * byte array.
+ * @throws IOException An IO error occurred writing the node to a byte
+ * array.
*/
public static byte[] serializeNode(final Node node, final String xmlEncoding,
final boolean omitDeclaration) throws TransformerException, IOException {
return serializeNode(node, xmlEncoding, omitDeclaration, null);
}
-
/**
* Serialize the given DOM node to a byte array.
*
- * @param node The node to serialize.
- * @param xmlEncoding The XML encoding to use.
+ * @param node The node to serialize.
+ * @param xmlEncoding The XML encoding to use.
* @param omitDeclaration The boolean value for omitting the XML Declaration.
- * @param lineSeperator Sets the line seperator String of the parser
- * @return The serialized node, as a byte array. Using a compatible encoding this can easily be
- * converted into a <code>String</code>.
- * @throws TransformerException An error occurred transforming the node to a byte array.
- * @throws IOException An IO error occurred writing the node to a byte array.
+ * @param lineSeperator Sets the line seperator String of the parser
+ * @return The serialized node, as a byte array. Using a compatible encoding
+ * this can easily be converted into a <code>String</code>.
+ * @throws TransformerException An error occurred transforming the node to a
+ * byte array.
+ * @throws IOException An IO error occurred writing the node to a byte
+ * array.
*/
public static byte[] serializeNode(final Node node, final String xmlEncoding,
final boolean omitDeclaration, final String lineSeperator)
@@ -737,7 +791,7 @@ public class DomUtils {
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, omit);
if (null != lineSeperator) {
transformer.setOutputProperty("{http://xml.apache.org/xalan}line-separator", lineSeperator);
- // does not work for xalan <= 2.5.1
+ // does not work for xalan <= 2.5.1
}
transformer.transform(new DOMSource(node), new StreamResult(bos));
@@ -750,15 +804,15 @@ public class DomUtils {
/**
* Return the text that a node contains.
*
- *<p>
+ * <p>
* This routine:
* </p>
* <ul>
* <li>Ignores comments and processing instructions.</li>
- * <li>Concatenates TEXT nodes, CDATA nodes, and the results recursively processing EntityRef
- * nodes.</li>
- * <li>Ignores any element nodes in the sublist. (Other possible options are to recurse into
- * element sublists or throw an exception.)</li>
+ * <li>Concatenates TEXT nodes, CDATA nodes, and the results recursively
+ * processing EntityRef nodes.</li>
+ * <li>Ignores any element nodes in the sublist. (Other possible options are to
+ * recurse into element sublists or throw an exception.)</li>
* </ul>
*
* @param node A DOM node from which to extract text.
@@ -788,11 +842,12 @@ public class DomUtils {
}
/**
- * Build the namespace prefix to namespace URL mapping in effect for a given node.
+ * Build the namespace prefix to namespace URL mapping in effect for a given
+ * node.
*
* @param node The context node for which build the map.
- * @return The namespace prefix to namespace URL mapping ( a <code>String</code> value to
- * <code>String</code> value mapping).
+ * @return The namespace prefix to namespace URL mapping ( a <code>String</code>
+ * value to <code>String</code> value mapping).
*/
public static Map getNamespaceDeclarations(Node node) {
final Map nsDecls = new HashMap();
@@ -822,8 +877,8 @@ public class DomUtils {
}
/**
- * Add all namespace declarations declared in the parent(s) of a given element and used in the
- * subtree of the given element to the given element.
+ * Add all namespace declarations declared in the parent(s) of a given element
+ * and used in the subtree of the given element to the given element.
*
* @param context The element to which to add the namespaces.
*/
@@ -843,7 +898,7 @@ public class DomUtils {
final String nsUri = (String) e.getValue();
final String nsAttrName = "".equals(prefix) ? "xmlns" : "xmlns:" + prefix;
- context.setAttributeNS(XMLNamespaceConstants.XMLNS_NS_URI, nsAttrName, nsUri);
+ context.setAttributeNS(XmlNamespaceConstants.XMLNS_NS_URI, nsAttrName, nsUri);
}
}
}
@@ -853,8 +908,8 @@ public class DomUtils {
* Collect all the namespace URIs used in the subtree of a given element.
*
* @param context The element that should be searched for namespace URIs.
- * @return All namespace URIs used in the subtree of <code>context</code>, including the ones used
- * in <code>context</code> itself.
+ * @return All namespace URIs used in the subtree of <code>context</code>,
+ * including the ones used in <code>context</code> itself.
*/
public static Set collectNamespaceUris(final Element context) {
final Set result = new HashSet();
@@ -867,8 +922,8 @@ public class DomUtils {
* A recursive method to do the work of <code>collectNamespaceURIs</code>.
*
* @param context The context element to evaluate.
- * @param result The result, passed as a parameter to avoid unnecessary instantiations of
- * <code>Set</code>.
+ * @param result The result, passed as a parameter to avoid unnecessary
+ * instantiations of <code>Set</code>.
*/
private static void collectNamespaceUrisImpl(final Element context, final Set result) {
final NamedNodeMap attrs = context.getAttributes();
@@ -878,14 +933,14 @@ public class DomUtils {
// add the namespace of the context element
nsUri = context.getNamespaceURI();
- if (nsUri != null && nsUri != XMLNamespaceConstants.XMLNS_NS_URI) {
+ if (nsUri != null && nsUri != XmlNamespaceConstants.XMLNS_NS_URI) {
result.add(nsUri);
}
// add all namespace URIs from attributes
for (i = 0; i < attrs.getLength(); i++) {
nsUri = attrs.item(i).getNamespaceURI();
- if (nsUri != null && nsUri != XMLNamespaceConstants.XMLNS_NS_URI) {
+ if (nsUri != null && nsUri != XmlNamespaceConstants.XMLNS_NS_URI) {
result.add(nsUri);
}
}
@@ -901,12 +956,12 @@ public class DomUtils {
}
/**
- * Check, that each attribute node in the given <code>NodeList</code> has its parent in the
- * <code>NodeList</code> as well.
+ * Check, that each attribute node in the given <code>NodeList</code> has its
+ * parent in the <code>NodeList</code> as well.
*
* @param nodes The <code>NodeList</code> to check.
- * @return <code>true</code>, if each attribute node in <code>nodes</code> has its parent in
- * <code>nodes</code> as well.
+ * @return <code>true</code>, if each attribute node in <code>nodes</code> has
+ * its parent in <code>nodes</code> as well.
*/
public static boolean checkAttributeParentsInNodeList(final NodeList nodes) {
final Set nodeSet = new HashSet();
@@ -939,15 +994,19 @@ public class DomUtils {
}
/**
- * Convert an unstructured <code>NodeList</code> into a <code>DocumentFragment</code>.
+ * Convert an unstructured <code>NodeList</code> into a
+ * <code>DocumentFragment</code>.
*
- * @param nodeList Contains the node list to be converted into a DOM DocumentFragment.
- * @return the resulting DocumentFragment. The DocumentFragment will be backed by a new DOM
- * Document, i.e. all noded of the node list will be cloned.
- * @throws ParserConfigurationException An error occurred creating the DocumentFragment.
+ * @param nodeList Contains the node list to be converted into a DOM
+ * DocumentFragment.
+ * @return the resulting DocumentFragment. The DocumentFragment will be backed
+ * by a new DOM Document, i.e. all noded of the node list will be
+ * cloned.
+ * @throws ParserConfigurationException An error occurred creating the
+ * DocumentFragment.
* @precondition The nodes in the node list appear in document order
- * @precondition for each Attr node in the node list, the owning Element is in the node list as
- * well.
+ * @precondition for each Attr node in the node list, the owning Element is in
+ * the node list as well.
* @precondition each Element or Attr node in the node list is namespace aware.
*/
public static DocumentFragment nodeList2DocumentFragment(final NodeList nodeList)
@@ -973,10 +1032,10 @@ public class DomUtils {
/**
* Helper method for the <code>nodeList2DocumentFragment</code>.
*
- * @param nodeList The <code>NodeList</code> to convert.
- * @param currPos The current position in the <code>nodeList</code>.
- * @param result The resulting <code>DocumentFragment</code>.
- * @param currOrgElem The current original element.
+ * @param nodeList The <code>NodeList</code> to convert.
+ * @param currPos The current position in the <code>nodeList</code>.
+ * @param result The resulting <code>DocumentFragment</code>.
+ * @param currOrgElem The current original element.
* @param currClonedElem The current cloned element.
* @return The current position.
*/
@@ -1052,7 +1111,7 @@ public class DomUtils {
}
default: {
- log.trace("Node type: {} not supported", currentNode.getNodeType());
+ log.trace("Node type: {} not supported", currentNode.getNodeType());
// All other nodes will be ignored
}
}
@@ -1067,20 +1126,20 @@ public class DomUtils {
* Check, if the given attribute is a namespace declaration.
*
* @param attr The attribute to check.
- * @return <code>true</code>, if the attribute is a namespace declaration, <code>false</code>
- * otherwise.
+ * @return <code>true</code>, if the attribute is a namespace declaration,
+ * <code>false</code> otherwise.
*/
private static boolean isNamespaceDeclaration(final Attr attr) {
- return XMLNamespaceConstants.XMLNS_NS_URI.equals(attr.getNamespaceURI());
+ return XmlNamespaceConstants.XMLNS_NS_URI.equals(attr.getNamespaceURI());
}
/**
* Check, if a given DOM element is an ancestor of a given node.
*
* @param candAnc The DOM element to check for being the ancestor.
- * @param cand The node to check for being the child.
- * @return <code>true</code>, if <code>candAnc</code> is an (indirect) ancestor of
- * <code>cand</code>; <code>false</code> otherwise.
+ * @param cand The node to check for being the child.
+ * @return <code>true</code>, if <code>candAnc</code> is an (indirect) ancestor
+ * of <code>cand</code>; <code>false</code> otherwise.
*/
public static boolean isAncestor(final Element candAnc, final Node cand) {
Node currPar = cand.getParentNode();
@@ -1098,8 +1157,9 @@ public class DomUtils {
* Selects the (first) element from a node list and returns it.
*
* @param nl The NodeList to get the element from.
- * @return The (first) element included in the node list or <code>null</code> if the node list is
- * <code>null</code> or empty or no element is included in the list.
+ * @return The (first) element included in the node list or <code>null</code> if
+ * the node list is <code>null</code> or empty or no element is included
+ * in the list.
*/
public static Element getElementFromNodeList(final NodeList nl) {
if (nl == null || nl.getLength() == 0) {
@@ -1119,8 +1179,8 @@ public class DomUtils {
*
* @param parent The element to get the child elements from.
*
- * @return A list including all child elements of the given element. Maybe empty if the parent
- * element has no child elements.
+ * @return A list including all child elements of the given element. Maybe empty
+ * if the parent element has no child elements.
*/
public static List getChildElements(final Element parent) {
final Vector v = new Vector();
@@ -1153,5 +1213,4 @@ public class DomUtils {
return out.toByteArray();
}
-
}
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/utils/EaafDomEntityResolver.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/utils/EaafDomEntityResolver.java
index 6139e914..5a7dadc7 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/utils/EaafDomEntityResolver.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/utils/EaafDomEntityResolver.java
@@ -17,19 +17,20 @@
* works that you distribute must include a readable copy of the "NOTICE" text file.
*/
-
-
package at.gv.egiz.eaaf.core.impl.utils;
import java.io.InputStream;
-import at.gv.egiz.eaaf.core.api.data.XMLNamespaceConstants;
+
import org.apache.xerces.util.URI;
import org.apache.xerces.util.URI.MalformedURIException;
import org.xml.sax.EntityResolver;
import org.xml.sax.InputSource;
+import at.gv.egiz.eaaf.core.api.data.XmlNamespaceConstants;
+
/**
- * An <code>EntityResolver</code> that looks up entities stored as local resources.
+ * An <code>EntityResolver</code> that looks up entities stored as local
+ * resources.
*
* <p>
* The following DTDs are mapped to local resources:
@@ -39,25 +40,27 @@ import org.xml.sax.InputSource;
* </ul>
* </p>
* </p>
- * For all other resources, an attempt is made to resolve them as resources, either absolute or
- * relative to <code>Constants.SCHEMA_ROOT</code>.
+ * For all other resources, an attempt is made to resolve them as resources,
+ * either absolute or relative to <code>Constants.SCHEMA_ROOT</code>.
*
*/
public class EaafDomEntityResolver implements EntityResolver {
/**
* Resolve an entity.
- *<p>
- * The <code>systemId</code> parameter is used to perform the lookup of the entity as a resource,
- * either by interpreting the <code>systemId</code> as an absolute resource path, or by appending
- * the last path component of <code>systemId</code> to <code>Constants.SCHEMA_ROOT</code>.
- *</p>
+ * <p>
+ * The <code>systemId</code> parameter is used to perform the lookup of the
+ * entity as a resource, either by interpreting the <code>systemId</code> as an
+ * absolute resource path, or by appending the last path component of
+ * <code>systemId</code> to <code>Constants.SCHEMA_ROOT</code>.
+ * </p>
*
* @param publicId The public ID of the resource.
* @param systemId The system ID of the resource.
- * @return An <code>InputSource</code> from which the entity can be read, or <code>null</code>, if
- * the entity could not be found.
- * @see org.xml.sax.EntityResolver#resolveEntity(java.lang.String, java.lang.String)
+ * @return An <code>InputSource</code> from which the entity can be read, or
+ * <code>null</code>, if the entity could not be found.
+ * @see org.xml.sax.EntityResolver#resolveEntity(java.lang.String,
+ * java.lang.String)
*/
@Override
public InputSource resolveEntity(final String publicId, String systemId) {
@@ -68,10 +71,10 @@ public class EaafDomEntityResolver implements EntityResolver {
// check if we can resolve some standard dtd's
if (publicId.equalsIgnoreCase("-//W3C//DTD XMLSchema 200102//EN")) {
return new InputSource(
- getClass().getResourceAsStream(XMLNamespaceConstants.SCHEMA_ROOT + "XMLSchema.dtd"));
+ getClass().getResourceAsStream(XmlNamespaceConstants.SCHEMA_ROOT + "XMLSchema.dtd"));
} else if (publicId.equalsIgnoreCase("datatypes")) {
return new InputSource(
- getClass().getResourceAsStream(XMLNamespaceConstants.SCHEMA_ROOT + "datatypes.dtd"));
+ getClass().getResourceAsStream(XmlNamespaceConstants.SCHEMA_ROOT + "datatypes.dtd"));
}
} else if (systemId != null) {
// get the URI path
@@ -100,7 +103,7 @@ public class EaafDomEntityResolver implements EntityResolver {
slashPos = systemId.lastIndexOf('/');
if (slashPos >= 0 && systemId.length() > slashPos) {
systemId = systemId.substring(slashPos + 1, systemId.length());
- stream = getClass().getResourceAsStream(XMLNamespaceConstants.SCHEMA_ROOT + systemId);
+ stream = getClass().getResourceAsStream(XmlNamespaceConstants.SCHEMA_ROOT + systemId);
if (stream != null) {
final InputSource source = new InputSource(stream);
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/utils/XPathUtils.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/utils/XPathUtils.java
index d6745c78..3adbe3f5 100644
--- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/utils/XPathUtils.java
+++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/utils/XPathUtils.java
@@ -17,14 +17,11 @@
* works that you distribute must include a readable copy of the "NOTICE" text file.
*/
-
-
package at.gv.egiz.eaaf.core.impl.utils;
import java.util.List;
import java.util.Map;
-import at.gv.egiz.eaaf.core.api.data.XMLNamespaceConstants;
-import at.gv.egiz.eaaf.core.exceptions.XPathException;
+
import org.jaxen.JaxenException;
import org.jaxen.NamespaceContext;
import org.jaxen.Navigator;
@@ -37,6 +34,9 @@ import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.w3c.dom.traversal.NodeIterator;
+import at.gv.egiz.eaaf.core.api.data.XmlNamespaceConstants;
+import at.gv.egiz.eaaf.core.exceptions.XPathException;
+
/**
* Utility methods to evaluate XPath expressions on DOM nodes.
*
@@ -46,7 +46,8 @@ import org.w3c.dom.traversal.NodeIterator;
public class XPathUtils {
/**
- * The XPath expression selecting all nodes under a given root (including the root node itself).
+ * The XPath expression selecting all nodes under a given root (including the
+ * root node itself).
*/
public static final String ALL_NODES_XPATH = "(.//. | .//@* | .//namespace::*)";
@@ -57,49 +58,50 @@ public class XPathUtils {
static {
final SimpleNamespaceContext ctx = new SimpleNamespaceContext();
- ctx.addNamespace(XMLNamespaceConstants.MOA_PREFIX, XMLNamespaceConstants.MOA_NS_URI);
- ctx.addNamespace(XMLNamespaceConstants.MOA_CONFIG_PREFIX,
- XMLNamespaceConstants.MOA_CONFIG_NS_URI);
- ctx.addNamespace(XMLNamespaceConstants.MOA_ID_CONFIG_PREFIX,
- XMLNamespaceConstants.MOA_ID_CONFIG_NS_URI);
- ctx.addNamespace(XMLNamespaceConstants.SL10_PREFIX, XMLNamespaceConstants.SL10_NS_URI);
- ctx.addNamespace(XMLNamespaceConstants.SL11_PREFIX, XMLNamespaceConstants.SL11_NS_URI);
- ctx.addNamespace(XMLNamespaceConstants.SL12_PREFIX, XMLNamespaceConstants.SL12_NS_URI);
- ctx.addNamespace(XMLNamespaceConstants.ECDSA_PREFIX, XMLNamespaceConstants.ECDSA_NS_URI);
- ctx.addNamespace(XMLNamespaceConstants.PD_PREFIX, XMLNamespaceConstants.PD_NS_URI);
- ctx.addNamespace(XMLNamespaceConstants.SAML_PREFIX, XMLNamespaceConstants.SAML_NS_URI);
- ctx.addNamespace(XMLNamespaceConstants.SAMLP_PREFIX, XMLNamespaceConstants.SAMLP_NS_URI);
- ctx.addNamespace(XMLNamespaceConstants.DSIG_PREFIX, XMLNamespaceConstants.DSIG_NS_URI);
- ctx.addNamespace(XMLNamespaceConstants.XSLT_PREFIX, XMLNamespaceConstants.XSLT_NS_URI);
- ctx.addNamespace(XMLNamespaceConstants.XSI_PREFIX, XMLNamespaceConstants.XSI_NS_URI);
- ctx.addNamespace(XMLNamespaceConstants.DSIG_FILTER2_PREFIX,
- XMLNamespaceConstants.DSIG_FILTER2_NS_URI);
- ctx.addNamespace(XMLNamespaceConstants.DSIG_EC_PREFIX, XMLNamespaceConstants.DSIG_EC_NS_URI);
- ctx.addNamespace(XMLNamespaceConstants.MD_PREFIX, XMLNamespaceConstants.MD_NS_URI);
- ctx.addNamespace(XMLNamespaceConstants.MDP_PREFIX, XMLNamespaceConstants.MDP_NS_URI);
- ctx.addNamespace(XMLNamespaceConstants.MVV_PREFIX, XMLNamespaceConstants.MVV_NS_URI);
- ctx.addNamespace(XMLNamespaceConstants.STB_PREFIX, XMLNamespaceConstants.STB_NS_URI);
- ctx.addNamespace(XMLNamespaceConstants.WRR_PREFIX, XMLNamespaceConstants.WRR_NS_URI);
- ctx.addNamespace(XMLNamespaceConstants.STORK_PREFIX, XMLNamespaceConstants.STORK_NS_URI);
- ctx.addNamespace(XMLNamespaceConstants.STORKP_PREFIX, XMLNamespaceConstants.STORKP_NS_URI);
- ctx.addNamespace(XMLNamespaceConstants.SAML2_PREFIX, XMLNamespaceConstants.SAML2_NS_URI);
- ctx.addNamespace(XMLNamespaceConstants.SAML2P_PREFIX, XMLNamespaceConstants.SAML2P_NS_URI);
- ctx.addNamespace(XMLNamespaceConstants.XENC_PREFIX, XMLNamespaceConstants.XENC_NS_URI);
- ctx.addNamespace(XMLNamespaceConstants.XADES_1_1_1_NS_PREFIX,
- XMLNamespaceConstants.XADES_1_1_1_NS_URI);
+ ctx.addNamespace(XmlNamespaceConstants.MOA_PREFIX, XmlNamespaceConstants.MOA_NS_URI);
+ ctx.addNamespace(XmlNamespaceConstants.MOA_CONFIG_PREFIX,
+ XmlNamespaceConstants.MOA_CONFIG_NS_URI);
+ ctx.addNamespace(XmlNamespaceConstants.MOA_ID_CONFIG_PREFIX,
+ XmlNamespaceConstants.MOA_ID_CONFIG_NS_URI);
+ ctx.addNamespace(XmlNamespaceConstants.SL10_PREFIX, XmlNamespaceConstants.SL10_NS_URI);
+ ctx.addNamespace(XmlNamespaceConstants.SL11_PREFIX, XmlNamespaceConstants.SL11_NS_URI);
+ ctx.addNamespace(XmlNamespaceConstants.SL12_PREFIX, XmlNamespaceConstants.SL12_NS_URI);
+ ctx.addNamespace(XmlNamespaceConstants.ECDSA_PREFIX, XmlNamespaceConstants.ECDSA_NS_URI);
+ ctx.addNamespace(XmlNamespaceConstants.PD_PREFIX, XmlNamespaceConstants.PD_NS_URI);
+ ctx.addNamespace(XmlNamespaceConstants.SAML_PREFIX, XmlNamespaceConstants.SAML_NS_URI);
+ ctx.addNamespace(XmlNamespaceConstants.SAMLP_PREFIX, XmlNamespaceConstants.SAMLP_NS_URI);
+ ctx.addNamespace(XmlNamespaceConstants.DSIG_PREFIX, XmlNamespaceConstants.DSIG_NS_URI);
+ ctx.addNamespace(XmlNamespaceConstants.XSLT_PREFIX, XmlNamespaceConstants.XSLT_NS_URI);
+ ctx.addNamespace(XmlNamespaceConstants.XSI_PREFIX, XmlNamespaceConstants.XSI_NS_URI);
+ ctx.addNamespace(XmlNamespaceConstants.DSIG_FILTER2_PREFIX,
+ XmlNamespaceConstants.DSIG_FILTER2_NS_URI);
+ ctx.addNamespace(XmlNamespaceConstants.DSIG_EC_PREFIX, XmlNamespaceConstants.DSIG_EC_NS_URI);
+ ctx.addNamespace(XmlNamespaceConstants.MD_PREFIX, XmlNamespaceConstants.MD_NS_URI);
+ ctx.addNamespace(XmlNamespaceConstants.MDP_PREFIX, XmlNamespaceConstants.MDP_NS_URI);
+ ctx.addNamespace(XmlNamespaceConstants.MVV_PREFIX, XmlNamespaceConstants.MVV_NS_URI);
+ ctx.addNamespace(XmlNamespaceConstants.STB_PREFIX, XmlNamespaceConstants.STB_NS_URI);
+ ctx.addNamespace(XmlNamespaceConstants.WRR_PREFIX, XmlNamespaceConstants.WRR_NS_URI);
+ ctx.addNamespace(XmlNamespaceConstants.STORK_PREFIX, XmlNamespaceConstants.STORK_NS_URI);
+ ctx.addNamespace(XmlNamespaceConstants.STORKP_PREFIX, XmlNamespaceConstants.STORKP_NS_URI);
+ ctx.addNamespace(XmlNamespaceConstants.SAML2_PREFIX, XmlNamespaceConstants.SAML2_NS_URI);
+ ctx.addNamespace(XmlNamespaceConstants.SAML2P_PREFIX, XmlNamespaceConstants.SAML2P_NS_URI);
+ ctx.addNamespace(XmlNamespaceConstants.XENC_PREFIX, XmlNamespaceConstants.XENC_NS_URI);
+ ctx.addNamespace(XmlNamespaceConstants.XADES_1_1_1_NS_PREFIX,
+ XmlNamespaceConstants.XADES_1_1_1_NS_URI);
NS_CONTEXT = ctx;
}
/**
- * Return a <code>NodeIterator</code> over the nodes matching the XPath expression.
+ * Return a <code>NodeIterator</code> over the nodes matching the XPath
+ * expression.
*
- *<p>
- * All namespace URIs and prefixes declared in the <code>Constants</code> interface are used for
- * resolving namespaces.
- *</p>
+ * <p>
+ * All namespace URIs and prefixes declared in the <code>Constants</code>
+ * interface are used for resolving namespaces.
+ * </p>
*
* @param contextNode The root node from which to evaluate the XPath expression.
- * @param exp The XPath expression to evaluate.
+ * @param exp The XPath expression to evaluate.
* @return An iterator over the resulting nodes.
* @throws XPathException An error occurred evaluating the XPath expression.
*/
@@ -110,12 +112,14 @@ public class XPathUtils {
}
/**
- * Return a <code>NodeIterator</code> over the nodes matching the XPath expression.
+ * Return a <code>NodeIterator</code> over the nodes matching the XPath
+ * expression.
*
- * @param contextNode The root node from which to evaluate the XPath expression.
- * @param namespaceElement An element from which to build the namespace mapping for evaluating the
- * XPath expression
- * @param exp The XPath expression to evaluate.
+ * @param contextNode The root node from which to evaluate the XPath
+ * expression.
+ * @param namespaceElement An element from which to build the namespace mapping
+ * for evaluating the XPath expression
+ * @param exp The XPath expression to evaluate.
* @return An iterator over the resulting nodes.
* @throws XPathException An error occurred evaluating the XPath expression.
*/
@@ -134,12 +138,15 @@ public class XPathUtils {
}
/**
- * Return a <code>NodeIterator</code> over the nodes matching the XPath expression.
+ * Return a <code>NodeIterator</code> over the nodes matching the XPath
+ * expression.
*
- * @param contextNode The root node from which to evaluate the XPath expression.
- * @param namespaceMapping A namespace prefix to namespace URI mapping (<code>String</code> to
- * <code>String</code>) for evaluating the XPath expression.
- * @param exp The XPath expression to evaluate.
+ * @param contextNode The root node from which to evaluate the XPath
+ * expression.
+ * @param namespaceMapping A namespace prefix to namespace URI mapping
+ * (<code>String</code> to <code>String</code>) for
+ * evaluating the XPath expression.
+ * @param exp The XPath expression to evaluate.
* @return An iterator over the resulting nodes.
* @throws XPathException An error occurred evaluating the XPath expression.
*/
@@ -152,12 +159,14 @@ public class XPathUtils {
}
/**
- * Return a <code>NodeIterator</code> over the nodes matching the XPath expression.
+ * Return a <code>NodeIterator</code> over the nodes matching the XPath
+ * expression.
*
* @param contextNode The root node from which to evaluate the XPath expression.
- * @param nsContext The <code>NamespaceContext</code> for resolving namespace prefixes to
- * namespace URIs for evaluating the XPath expression.
- * @param exp The XPath expression to evaluate.
+ * @param nsContext The <code>NamespaceContext</code> for resolving namespace
+ * prefixes to namespace URIs for evaluating the XPath
+ * expression.
+ * @param exp The XPath expression to evaluate.
* @return An iterator over the resulting nodes.
* @throws XPathException An error occurred evaluating the XPath expression.
*/
@@ -179,13 +188,15 @@ public class XPathUtils {
}
/**
- * Return a <code>NodeList</code> of all the nodes matching the XPath expression.
- *<p>
- * All namespace URIs and prefixes declared in the <code>Constants</code> interface are used for
- * resolving namespaces.
- *</p>
+ * Return a <code>NodeList</code> of all the nodes matching the XPath
+ * expression.
+ * <p>
+ * All namespace URIs and prefixes declared in the <code>Constants</code>
+ * interface are used for resolving namespaces.
+ * </p>
+ *
* @param contextNode The root node from which to evaluate the XPath expression.
- * @param exp The XPath expression to evaluate.
+ * @param exp The XPath expression to evaluate.
* @return A <code>NodeList</code> containing the matching nodes.
* @throws XPathException An error occurred evaluating the XPath expression.
*/
@@ -196,12 +207,14 @@ public class XPathUtils {
}
/**
- * Return a <code>NodeList</code> of all the nodes matching the XPath expression.
+ * Return a <code>NodeList</code> of all the nodes matching the XPath
+ * expression.
*
- * @param contextNode The root node from which to evaluate the XPath expression.
- * @param namespaceElement An element from which to build the namespace mapping for evaluating the
- * XPath expression
- * @param exp The XPath expression to evaluate.
+ * @param contextNode The root node from which to evaluate the XPath
+ * expression.
+ * @param namespaceElement An element from which to build the namespace mapping
+ * for evaluating the XPath expression
+ * @param exp The XPath expression to evaluate.
* @return A <code>NodeList</code> containing the matching nodes.
* @throws XPathException An error occurred evaluating the XPath expression.
*/
@@ -221,12 +234,15 @@ public class XPathUtils {
}
/**
- * Return a <code>NodeList</code> of all the nodes matching the XPath expression.
+ * Return a <code>NodeList</code> of all the nodes matching the XPath
+ * expression.
*
- * @param contextNode The root node from which to evaluate the XPath expression.
- * @param namespaceMapping A namespace prefix to namespace URI mapping (<code>String</code> to
- * <code>String</code>) for evaluating the XPath expression.
- * @param exp The XPath expression to evaluate.
+ * @param contextNode The root node from which to evaluate the XPath
+ * expression.
+ * @param namespaceMapping A namespace prefix to namespace URI mapping
+ * (<code>String</code> to <code>String</code>) for
+ * evaluating the XPath expression.
+ * @param exp The XPath expression to evaluate.
* @return A <code>NodeList</code> containing the matching nodes.
* @throws XPathException An error occurred evaluating the XPath expression.
*/
@@ -239,12 +255,14 @@ public class XPathUtils {
}
/**
- * Return a <code>NodeList</code> of all the nodes matching the XPath expression.
+ * Return a <code>NodeList</code> of all the nodes matching the XPath
+ * expression.
*
* @param contextNode The root node from which to evaluate the XPath expression.
- * @param nsContext The <code>NamespaceContext</code> for resolving namespace prefixes to
- * namespace URIs for evaluating the XPath expression.
- * @param exp The XPath expression to evaluate.
+ * @param nsContext The <code>NamespaceContext</code> for resolving namespace
+ * prefixes to namespace URIs for evaluating the XPath
+ * expression.
+ * @param exp The XPath expression to evaluate.
* @return A <code>NodeList</code> containing the matching nodes.
* @throws XPathException An error occurred evaluating the XPath expression.
*/
@@ -265,14 +283,15 @@ public class XPathUtils {
/**
* Select the first node matching an XPath expression.
- *<p>
- * All namespace URIs and prefixes declared in the <code>Constants</code> interface are used for
- * resolving namespaces.
- *</p>
+ * <p>
+ * All namespace URIs and prefixes declared in the <code>Constants</code>
+ * interface are used for resolving namespaces.
+ * </p>
+ *
* @param contextNode The root node from which to evaluate the XPath expression.
- * @param exp The XPath expression to evaluate.
- * @return Node The first node matching the XPath expression, or <code>null</code>, if no node
- * matched.
+ * @param exp The XPath expression to evaluate.
+ * @return Node The first node matching the XPath expression, or
+ * <code>null</code>, if no node matched.
* @throws XPathException An error occurred evaluating the XPath expression.
*/
public static Node selectSingleNode(final Node contextNode, final String exp)
@@ -284,12 +303,13 @@ public class XPathUtils {
/**
* Select the first node matching an XPath expression.
*
- * @param contextNode The root node from which to evaluate the XPath expression.
- * @param namespaceElement An element from which to build the namespace mapping for evaluating the
- * XPath expression
- * @param exp The XPath expression to evaluate.
- * @return Node The first node matching the XPath expression, or <code>null</code>, if no node
- * matched.
+ * @param contextNode The root node from which to evaluate the XPath
+ * expression.
+ * @param namespaceElement An element from which to build the namespace mapping
+ * for evaluating the XPath expression
+ * @param exp The XPath expression to evaluate.
+ * @return Node The first node matching the XPath expression, or
+ * <code>null</code>, if no node matched.
* @throws XPathException An error occurred evaluating the XPath expression.
*/
public static Node selectSingleNode(final Node contextNode, final Element namespaceElement,
@@ -309,12 +329,14 @@ public class XPathUtils {
/**
* Select the first node matching an XPath expression.
*
- * @param contextNode The root node from which to evaluate the XPath expression.
- * @param namespaceMapping A namespace prefix to namespace URI mapping (<code>String</code> to
- * <code>String</code>) for evaluating the XPath expression.
- * @param exp The XPath expression to evaluate.
- * @return Node The first node matching the XPath expression, or <code>null</code>, if no node
- * matched.
+ * @param contextNode The root node from which to evaluate the XPath
+ * expression.
+ * @param namespaceMapping A namespace prefix to namespace URI mapping
+ * (<code>String</code> to <code>String</code>) for
+ * evaluating the XPath expression.
+ * @param exp The XPath expression to evaluate.
+ * @return Node The first node matching the XPath expression, or
+ * <code>null</code>, if no node matched.
* @throws XPathException An error occurred evaluating the XPath expression.
*/
public static Node selectSingleNode(final Node contextNode, final Map namespaceMapping,
@@ -329,11 +351,12 @@ public class XPathUtils {
* Select the first node matching an XPath expression.
*
* @param contextNode The root node from which to evaluate the XPath expression.
- * @param nsContext The <code>NamespaceContext</code> for resolving namespace prefixes to
- * namespace URIs for evaluating the XPath expression.
- * @param exp The XPath expression to evaluate.
- * @return Node The first node matching the XPath expression, or <code>null</code>, if no node
- * matched.
+ * @param nsContext The <code>NamespaceContext</code> for resolving namespace
+ * prefixes to namespace URIs for evaluating the XPath
+ * expression.
+ * @param exp The XPath expression to evaluate.
+ * @return Node The first node matching the XPath expression, or
+ * <code>null</code>, if no node matched.
* @throws XPathException An error occurred evaluating the XPath expression.
*/
public static Node selectSingleNode(final Node contextNode, final NamespaceContext nsContext,
@@ -351,14 +374,16 @@ public class XPathUtils {
}
/**
- * Return the value of a DOM element whose location is given by an XPath expression.
+ * Return the value of a DOM element whose location is given by an XPath
+ * expression.
*
- * @param root The root element from which to evaluate the XPath.
- * @param xpath The XPath expression pointing to the element whose value to return.
- * @param def The default value to return, if no element can be found using the given
- * <code>xpath</code>.
- * @return The element value, if it can be located using the <code>xpath</code>. Otherwise,
- * <code>def</code> is returned.
+ * @param root The root element from which to evaluate the XPath.
+ * @param xpath The XPath expression pointing to the element whose value to
+ * return.
+ * @param def The default value to return, if no element can be found using
+ * the given <code>xpath</code>.
+ * @return The element value, if it can be located using the <code>xpath</code>.
+ * Otherwise, <code>def</code> is returned.
*/
public static String getElementValue(final Element root, final String xpath, final String def) {
@@ -367,14 +392,16 @@ public class XPathUtils {
}
/**
- * Return the value of a DOM attribute whose location is given by an XPath expression.
+ * Return the value of a DOM attribute whose location is given by an XPath
+ * expression.
*
- * @param root The root element from which to evaluate the XPath.
- * @param xpath The XPath expression pointing to the attribute whose value to return.
- * @param def The default value to return, if no attribute can be found using the given
- * <code>xpath</code>.
- * @return The element value, if it can be located using the <code>xpath</code>. Otherwise,
- * <code>def</code> is returned.
+ * @param root The root element from which to evaluate the XPath.
+ * @param xpath The XPath expression pointing to the attribute whose value to
+ * return.
+ * @param def The default value to return, if no attribute can be found using
+ * the given <code>xpath</code>.
+ * @return The element value, if it can be located using the <code>xpath</code>.
+ * Otherwise, <code>def</code> is returned.
*/
public static String getAttributeValue(final Element root, final String xpath, final String def) {
@@ -383,31 +410,36 @@ public class XPathUtils {
}
/**
- * Returns the namespace prefix used within <code>XPathUtils</code> for referring to the namespace
- * of the specified (Security Layer command) element.
- *<p>
- * This namespace prefix can be used in various XPath expression evaluation methods within
- * <code> XPathUtils</code> without explicitely binding it to the particular namespace.
- *</p>
+ * Returns the namespace prefix used within <code>XPathUtils</code> for
+ * referring to the namespace of the specified (Security Layer command) element.
+ * <p>
+ * This namespace prefix can be used in various XPath expression evaluation
+ * methods within <code> XPathUtils</code> without explicitely binding it to the
+ * particular namespace.
+ * </p>
+ *
* @param contextElement The (Security Layer command) element.
*
- * @return the namespace prefix used within <code>XPathUtils</code> for referring to the namespace
- * of the specified (Security Layer command) element.
+ * @return the namespace prefix used within <code>XPathUtils</code> for
+ * referring to the namespace of the specified (Security Layer command)
+ * element.
*
- * throws XpathException If the specified element has a namespace other than the ones
- * known by this implementation as valid Security Layer namespaces (cf.
- * @link Constants#SL10_NS_URI, @link Constants#SL11_NS_URI, @link Constants#SL12_NS_URI).
+ * throws XpathException If the specified element has a namespace other
+ * than the ones known by this implementation as valid Security Layer
+ * namespaces (cf.
+ * @link Constants#SL10_NS_URI, @link Constants#SL11_NS_URI, @link
+ * Constants#SL12_NS_URI).
*/
public static String getSlPrefix(final Element contextElement) throws XPathException {
final String sLNamespace = contextElement.getNamespaceURI();
String slPrefix = null;
- if (sLNamespace.equals(XMLNamespaceConstants.SL10_NS_URI)) {
- slPrefix = XMLNamespaceConstants.SL10_PREFIX;
- } else if (sLNamespace.equals(XMLNamespaceConstants.SL12_NS_URI)) {
- slPrefix = XMLNamespaceConstants.SL12_PREFIX;
- } else if (sLNamespace.equals(XMLNamespaceConstants.SL11_NS_URI)) {
- slPrefix = XMLNamespaceConstants.SL11_PREFIX;
+ if (sLNamespace.equals(XmlNamespaceConstants.SL10_NS_URI)) {
+ slPrefix = XmlNamespaceConstants.SL10_PREFIX;
+ } else if (sLNamespace.equals(XmlNamespaceConstants.SL12_NS_URI)) {
+ slPrefix = XmlNamespaceConstants.SL12_PREFIX;
+ } else if (sLNamespace.equals(XmlNamespaceConstants.SL11_NS_URI)) {
+ slPrefix = XmlNamespaceConstants.SL11_PREFIX;
} else {
throw new XPathException("XPath operation FAILED. Reason: ");
}
@@ -415,36 +447,38 @@ public class XPathUtils {
return slPrefix;
}
-
/**
- * Return the SecurityLayer namespace prefix of the context element. If the context element is not
- * the element that lies within the SecurityLayer namespace. The Securitylayer namespace is
- * derived from the <code>xmlns:sl10</code>, <code>sl11</code> or <code>sl</code> attribute of the
- * context element.
- *<p>
+ * Return the SecurityLayer namespace prefix of the context element. If the
+ * context element is not the element that lies within the SecurityLayer
+ * namespace. The Securitylayer namespace is derived from the
+ * <code>xmlns:sl10</code>, <code>sl11</code> or <code>sl</code> attribute of
+ * the context element.
+ * <p>
* The returned prefix is needed for evaluating XPATH expressions.
- *</p>
- * @param contextElement The element to get a prefix for the Securitylayer namespace, that is used
- * within the corresponding document.
+ * </p>
+ *
+ * @param contextElement The element to get a prefix for the Securitylayer
+ * namespace, that is used within the corresponding
+ * document.
*
- * @return The string <code>sl10</code>, <code>sl11</code> or <code>sl</code>, depending on the
- * SecurityLayer namespace of the contextElement.
+ * @return The string <code>sl10</code>, <code>sl11</code> or <code>sl</code>,
+ * depending on the SecurityLayer namespace of the contextElement.
*
- * throws XPathException If no (vlalid) SecurityLayer namespace prefix or namespace is
- * defined.
+ * throws XPathException If no (vlalid) SecurityLayer namespace prefix
+ * or namespace is defined.
*/
public static String getSlPrefixFromNoRoot(final Element contextElement) throws XPathException {
- String slPrefix = checkSLnsDeclaration(contextElement, XMLNamespaceConstants.SL10_PREFIX,
- XMLNamespaceConstants.SL10_NS_URI);
+ String slPrefix = checkSLnsDeclaration(contextElement, XmlNamespaceConstants.SL10_PREFIX,
+ XmlNamespaceConstants.SL10_NS_URI);
if (slPrefix == null) {
- slPrefix = checkSLnsDeclaration(contextElement, XMLNamespaceConstants.SL11_PREFIX,
- XMLNamespaceConstants.SL11_NS_URI);
+ slPrefix = checkSLnsDeclaration(contextElement, XmlNamespaceConstants.SL11_PREFIX,
+ XmlNamespaceConstants.SL11_NS_URI);
}
if (slPrefix == null) {
- slPrefix = checkSLnsDeclaration(contextElement, XMLNamespaceConstants.SL12_PREFIX,
- XMLNamespaceConstants.SL12_NS_URI);
+ slPrefix = checkSLnsDeclaration(contextElement, XmlNamespaceConstants.SL12_PREFIX,
+ XmlNamespaceConstants.SL12_NS_URI);
}
return slPrefix;
@@ -452,15 +486,18 @@ public class XPathUtils {
}
/**
- * Checks if the context element has an attribute <code>xmlns:slPrefix</code> and if the prefix of
- * that attribute corresponds with a valid SecurityLayer namespace.
+ * Checks if the context element has an attribute <code>xmlns:slPrefix</code>
+ * and if the prefix of that attribute corresponds with a valid SecurityLayer
+ * namespace.
*
* @param contextElement The element to be checked.
- * @param slPrefix The prefix which should be checked. Must be a valid SecurityLayer namespace
- * prefix.
- * @param slNameSpace The SecurityLayer namespace that corresponds to the specified prefix.
+ * @param slPrefix The prefix which should be checked. Must be a valid
+ * SecurityLayer namespace prefix.
+ * @param slNameSpace The SecurityLayer namespace that corresponds to the
+ * specified prefix.
*
- * @return The valid SecurityLayer prefix or <code>null</code> if this prefix is not used.
+ * @return The valid SecurityLayer prefix or <code>null</code> if this prefix is
+ * not used.
* @throws XPathException In case of an error
*/
private static String checkSLnsDeclaration(final Element contextElement, final String slPrefix,