summaryrefslogtreecommitdiff
path: root/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/ProtocolFinalizationController.java
diff options
context:
space:
mode:
Diffstat (limited to 'eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/ProtocolFinalizationController.java')
-rw-r--r--eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/controller/ProtocolFinalizationController.java14
1 files changed, 4 insertions, 10 deletions
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 d874cff6..90d8a28d 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
@@ -43,6 +43,7 @@ import at.gv.egiz.eaaf.core.api.data.ExceptionContainer;
import at.gv.egiz.eaaf.core.api.idp.IModulInfo;
import at.gv.egiz.eaaf.core.api.utils.IPendingRequestIdGenerationStrategy;
import at.gv.egiz.eaaf.core.exceptions.EaafException;
+import at.gv.egiz.eaaf.core.impl.idp.auth.services.ProtocolAuthenticationService;
import at.gv.egiz.eaaf.core.impl.utils.TransactionIdUtils;
/**
@@ -66,6 +67,7 @@ public class ProtocolFinalizationController extends AbstractController {
@Autowired
IPendingRequestIdGenerationStrategy requestIdValidationStragegy;
+
/**
* Handles incoming requests for redirects to IDP.
* @param req http request
@@ -103,16 +105,8 @@ public class ProtocolFinalizationController extends AbstractController {
pendingReq = container.getPendingRequest();
if (pendingReq != null) {
- final Class<?> clazz = Class.forName(pendingReq.requestedModule());
-
- if (clazz == null || !IModulInfo.class.isAssignableFrom(clazz)) {
- log.error("Requested protocol module Class is NULL or does not implement the IModulInfo interface.");
- throw new ClassCastException(
- "Requested protocol module Class is NULL or does not implement the IModulInfo interface.");
-
- }
-
- final IModulInfo handlingModule = (IModulInfo) applicationContext.getBean(clazz);
+ IModulInfo handlingModule = ProtocolAuthenticationService
+ .extractShibbolethHandling(pendingReq, applicationContext);
handlingModule.generateErrorMessage(throwable, req, resp, pendingReq);
}