aboutsummaryrefslogtreecommitdiff
path: root/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging
diff options
context:
space:
mode:
Diffstat (limited to 'id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging')
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/DummyStatisticLogger.java58
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/IStatisticLogger.java39
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/MOAIDEventConstants.java11
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/MOAReversionLogger.java73
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/StatisticLogger.java232
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/TransactionIDUtils.java101
6 files changed, 180 insertions, 334 deletions
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/DummyStatisticLogger.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/DummyStatisticLogger.java
deleted file mode 100644
index 8fff6b20b..000000000
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/DummyStatisticLogger.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright 2014 Federal Chancellery Austria
- * MOA-ID has been developed in a cooperation between BRZ, the Federal
- * Chancellery Austria - ICT staff unit, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-package at.gv.egovernment.moa.id.advancedlogging;
-
-
-import org.springframework.stereotype.Service;
-
-import at.gv.egovernment.moa.id.commons.api.IRequest;
-import at.gv.egovernment.moa.id.data.IAuthData;
-import at.gv.egovernment.moa.logging.Logger;
-
-@Service("StatisticLogger")
-public class DummyStatisticLogger implements IStatisticLogger{
-
- @Override
- public void logSuccessOperation(IRequest protocolRequest,
- IAuthData authData, boolean isSSOSession) {
- Logger.trace("Dummy-logSuccessOperation");
- }
-
- @Override
- public void logErrorOperation(Throwable throwable) {
- Logger.trace("Dummy-logErrorOperation");
- }
-
- @Override
- public void logErrorOperation(Throwable throwable, IRequest errorRequest) {
- Logger.trace("Dummy-logErrorOperation");
- }
-
- /* (non-Javadoc)
- * @see at.gv.egovernment.moa.id.advancedlogging.IStatisticLogger#testConnection()
- */
- @Override
- public void testConnection() throws Exception {
- Logger.trace("Dummy-logErrorOperation");
-
- }}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/IStatisticLogger.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/IStatisticLogger.java
deleted file mode 100644
index e0f21c012..000000000
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/IStatisticLogger.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright 2014 Federal Chancellery Austria
- * MOA-ID has been developed in a cooperation between BRZ, the Federal
- * Chancellery Austria - ICT staff unit, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-package at.gv.egovernment.moa.id.advancedlogging;
-
-import at.gv.egovernment.moa.id.commons.api.IRequest;
-import at.gv.egovernment.moa.id.data.IAuthData;
-
-
-public interface IStatisticLogger {
-
- public void logSuccessOperation(IRequest protocolRequest, IAuthData authData, boolean isSSOSession);
-
- public void logErrorOperation(Throwable throwable);
-
- public void logErrorOperation(Throwable throwable, IRequest errorRequest);
-
- public void testConnection() throws Exception;
-
-}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/MOAIDEventConstants.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/MOAIDEventConstants.java
index 54e459db1..05d344fb6 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/MOAIDEventConstants.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/MOAIDEventConstants.java
@@ -35,10 +35,7 @@ import at.gv.egiz.components.eventlog.api.EventConstants;
public interface MOAIDEventConstants extends EventConstants {
//auth protocol specific information
- public static final int AUTHPROTOCOL_TYPE = 3000;
- public static final int AUTHPROTOCOL_PVP_METADATA = 3100;
- public static final int AUTHPROTOCOL_PVP_REQUEST_AUTHREQUEST = 3101;
public static final int AUTHPROTOCOL_PVP_REQUEST_AUTHRESPONSE = 3102;
public static final int AUTHPROTOCOL_PVP_REQUEST_SLO = 3103;
public static final int AUTHPROTOCOL_PVP_REQUEST_ATTRIBUTQUERY = 3104;
@@ -88,7 +85,13 @@ public interface MOAIDEventConstants extends EventConstants {
public static final int AUTHPROCESS_PEPS_RECEIVED = 6102;
public static final int AUTHPROCESS_PEPS_RECEIVED_ERROR = 6103;
public static final int AUTHPROCESS_PEPS_IDL_RECEIVED = 6104;
-
+
+ public static final int AUTHPROCESS_EIDAS_AT_CONNECTOR_SELECTED = 6200;
+ public static final int AUTHPROCESS_EIDAS_AT_CONNECTOR_REQUESTED = 6201;
+ public static final int AUTHPROCESS_EIDAS_AT_CONNECTOR_RECEIVED = 6202;
+ public static final int AUTHPROCESS_EIDAS_AT_CONNECTOR_RECEIVED_ERROR = 6203;
+ public static final int AUTHPROCESS_EIDAS_AT_CONNECTOR_MDS_VALID = 6204;
+
//person information
public static final int PERSONAL_INFORMATION_PROF_REPRESENTATIVE_BPK = 5000;
public static final int PERSONAL_INFORMATION_PROF_REPRESENTATIVE = 5001;
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/MOAReversionLogger.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/MOAReversionLogger.java
index b26c9c1a9..1c1cc4168 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/MOAReversionLogger.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/MOAReversionLogger.java
@@ -31,11 +31,15 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import at.gv.e_government.reference.namespace.mandates._20040701_.Mandate;
+import at.gv.egiz.eaaf.core.api.IRequest;
+import at.gv.egiz.eaaf.core.api.idp.ISPConfiguration;
+import at.gv.egiz.eaaf.core.api.idp.auth.data.IIdentityLink;
+import at.gv.egiz.eaaf.core.api.logging.IRevisionLogger;
+import at.gv.egiz.eaaf.modules.pvp2.PVPEventConstants;
import at.gv.egovernment.moa.id.commons.api.AuthConfiguration;
import at.gv.egovernment.moa.id.commons.api.IOAAuthParameters;
-import at.gv.egovernment.moa.id.commons.api.IRequest;
-import at.gv.egovernment.moa.id.commons.api.data.IIdentityLink;
import at.gv.egovernment.moa.id.commons.api.data.IMISMandate;
+import at.gv.egovernment.moa.id.config.auth.OAAuthParameterDecorator;
import at.gv.egovernment.moa.logging.Logger;
import at.gv.egovernment.moa.util.Base64Utils;
import at.gv.egovernment.moa.util.MiscUtil;
@@ -45,7 +49,7 @@ import at.gv.egovernment.moa.util.MiscUtil;
*
*/
@Service("MOAReversionLogger")
-public class MOAReversionLogger {
+public class MOAReversionLogger implements IRevisionLogger {
@Autowired protected AuthConfiguration authConfig;
@@ -60,8 +64,8 @@ public class MOAReversionLogger {
MOAIDEventConstants.TRANSACTION_DESTROYED,
MOAIDEventConstants.TRANSACTION_ERROR,
MOAIDEventConstants.TRANSACTION_IP,
- MOAIDEventConstants.AUTHPROTOCOL_TYPE,
- MOAIDEventConstants.AUTHPROTOCOL_PVP_METADATA,
+ IRevisionLogger.AUTHPROTOCOL_TYPE,
+ PVPEventConstants.AUTHPROTOCOL_PVP_METADATA,
MOAIDEventConstants.AUTHPROCESS_SERVICEPROVIDER,
MOAIDEventConstants.AUTHPROCESS_INTERFEDERATION,
@@ -91,6 +95,12 @@ public class MOAReversionLogger {
MOAIDEventConstants.AUTHPROCESS_PEPS_RECEIVED,
MOAIDEventConstants.AUTHPROCESS_PEPS_RECEIVED_ERROR,
MOAIDEventConstants.AUTHPROCESS_PEPS_IDL_RECEIVED,
+
+ MOAIDEventConstants.AUTHPROCESS_EIDAS_AT_CONNECTOR_MDS_VALID,
+ MOAIDEventConstants.AUTHPROCESS_EIDAS_AT_CONNECTOR_RECEIVED,
+ MOAIDEventConstants.AUTHPROCESS_EIDAS_AT_CONNECTOR_RECEIVED_ERROR,
+ MOAIDEventConstants.AUTHPROCESS_EIDAS_AT_CONNECTOR_REQUESTED,
+ MOAIDEventConstants.AUTHPROCESS_EIDAS_AT_CONNECTOR_SELECTED,
MOAIDEventConstants.AUTHPROCESS_FOREIGN_FOUND,
MOAIDEventConstants.AUTHPROCESS_FOREIGN_SZRGW_RECEIVED,
@@ -107,13 +117,20 @@ public class MOAReversionLogger {
);
- public void logEvent(IOAAuthParameters oaConfig,
+ /* (non-Javadoc)
+ * @see at.gv.egovernment.moa.id.advancedlogging.IRevisionLogger#logEvent(at.gv.egovernment.moa.id.commons.api.IOAAuthParameters, int, java.lang.String)
+ */
+ @Override
+ public void logEvent(ISPConfiguration oaConfig,
int eventCode, String message) {
if (selectOASpecificEventCodes(oaConfig).contains(eventCode))
MOAIDEventLog.logEvent(MOAIDEventLog.createNewEvent(new Date().getTime(), eventCode, message));
}
- public void logEvent(IOAAuthParameters oaConfig, IRequest pendingRequest,
+ /* (non-Javadoc)
+ * @see at.gv.egovernment.moa.id.advancedlogging.IRevisionLogger#logEvent(at.gv.egovernment.moa.id.commons.api.IOAAuthParameters, at.gv.egiz.eaaf.core.api.IRequest, int)
+ */
+ public void logEvent(ISPConfiguration oaConfig, IRequest pendingRequest,
int eventCode) {
if (selectOASpecificEventCodes(oaConfig).contains(eventCode))
MOAIDEventLog.logEvent(MOAIDEventLog.createNewEvent(new Date().getTime(), eventCode,
@@ -122,6 +139,9 @@ public class MOAReversionLogger {
}
+ /* (non-Javadoc)
+ * @see at.gv.egovernment.moa.id.advancedlogging.IRevisionLogger#logEvent(at.gv.egovernment.moa.id.commons.api.IOAAuthParameters, at.gv.egiz.eaaf.core.api.IRequest, int, java.lang.String)
+ */
public void logEvent(IOAAuthParameters oaConfig, IRequest pendingRequest,
int eventCode, String message) {
if (selectOASpecificEventCodes(oaConfig).contains(eventCode))
@@ -133,37 +153,37 @@ public class MOAReversionLogger {
}
- /**
- * @param sessionCreated
- * @param uniqueSessionIdentifier
+ /* (non-Javadoc)
+ * @see at.gv.egovernment.moa.id.advancedlogging.IRevisionLogger#logEvent(int, java.lang.String)
*/
+ @Override
public void logEvent(int eventCode, String message) {
MOAIDEventLog.logEvent(MOAIDEventLog.createNewEvent(new Date().getTime(), eventCode, message));
}
- /**
- * @param sessionCreated
- * @param uniqueSessionIdentifier
+ /* (non-Javadoc)
+ * @see at.gv.egovernment.moa.id.advancedlogging.IRevisionLogger#logEvent(java.lang.String, java.lang.String, int, java.lang.String)
*/
+ @Override
public void logEvent(String sessionID, String transactionID, int eventCode, String message) {
MOAIDEventLog.logEvent(MOAIDEventLog.createNewEvent(new Date().getTime(), eventCode, message, sessionID, transactionID));
}
- /**
- * @param sessionCreated
- * @param uniqueSessionIdentifier
+ /* (non-Javadoc)
+ * @see at.gv.egovernment.moa.id.advancedlogging.IRevisionLogger#logEvent(java.lang.String, java.lang.String, int)
*/
+ @Override
public void logEvent(String sessionID, String transactionID, int eventCode) {
MOAIDEventLog.logEvent(MOAIDEventLog.createNewEvent(new Date().getTime(), eventCode, sessionID, transactionID));
}
- /**
- * @param errorRequest
- * @param transactionError
+ /* (non-Javadoc)
+ * @see at.gv.egovernment.moa.id.advancedlogging.IRevisionLogger#logEvent(at.gv.egiz.eaaf.core.api.IRequest, int)
*/
+ @Override
public void logEvent(IRequest pendingRequest, int eventCode) {
MOAIDEventLog.logEvent(MOAIDEventLog.createNewEvent(new Date().getTime(), eventCode,
pendingRequest.getUniqueSessionIdentifier(),
@@ -171,8 +191,12 @@ public class MOAReversionLogger {
}
+ /* (non-Javadoc)
+ * @see at.gv.egovernment.moa.id.advancedlogging.IRevisionLogger#logEvent(at.gv.egiz.eaaf.core.api.IRequest, int, java.lang.String)
+ */
+ @Override
public void logEvent(IRequest pendingRequest, int eventCode, String message) {
- logEvent(pendingRequest.getOnlineApplicationConfiguration(),
+ logEvent(pendingRequest.getServiceProviderConfiguration(OAAuthParameterDecorator.class),
pendingRequest, eventCode, message);
}
@@ -232,12 +256,13 @@ public class MOAReversionLogger {
}
- private List<Integer> selectOASpecificEventCodes(IOAAuthParameters oaConfig) {
+ private List<Integer> selectOASpecificEventCodes(ISPConfiguration oaConfig) {
List<Integer> OASpecificEventCodes = null;
- if (oaConfig != null && oaConfig.getReversionsLoggingEventCodes() != null)
- OASpecificEventCodes = oaConfig.getReversionsLoggingEventCodes();
+ if (oaConfig != null && oaConfig instanceof IOAAuthParameters &&
+ ((IOAAuthParameters)oaConfig).getReversionsLoggingEventCodes() != null) {
+ OASpecificEventCodes = ((IOAAuthParameters)oaConfig).getReversionsLoggingEventCodes();
- else
+ } else
OASpecificEventCodes = getDefaulttReversionsLoggingEventCodes();
return OASpecificEventCodes;
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/StatisticLogger.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/StatisticLogger.java
index 72aef5fed..f642cddc7 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/StatisticLogger.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/StatisticLogger.java
@@ -43,22 +43,25 @@ import org.springframework.transaction.annotation.Transactional;
import at.gv.e_government.reference.namespace.mandates._20040701_.Mandate;
import at.gv.e_government.reference.namespace.mandates._20040701_.Mandator;
import at.gv.e_government.reference.namespace.persondata._20020228_.CorporateBodyType;
-import at.gv.egovernment.moa.id.auth.exception.BKUException;
-import at.gv.egovernment.moa.id.auth.exception.MISSimpleClientException;
+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 at.gv.egovernment.moa.id.auth.data.AuthenticationSessionWrapper;
import at.gv.egovernment.moa.id.auth.exception.ServiceException;
import at.gv.egovernment.moa.id.client.SZRGWClientException;
import at.gv.egovernment.moa.id.commons.api.AuthConfiguration;
import at.gv.egovernment.moa.id.commons.api.IOAAuthParameters;
-import at.gv.egovernment.moa.id.commons.api.IRequest;
import at.gv.egovernment.moa.id.commons.api.data.IAuthenticationSession;
import at.gv.egovernment.moa.id.commons.api.data.IMISMandate;
+import at.gv.egovernment.moa.id.commons.api.exceptions.BKUException;
import at.gv.egovernment.moa.id.commons.api.exceptions.ConfigurationException;
+import at.gv.egovernment.moa.id.commons.api.exceptions.MISSimpleClientException;
import at.gv.egovernment.moa.id.commons.api.exceptions.MOAIDException;
import at.gv.egovernment.moa.id.commons.db.dao.statistic.StatisticLog;
import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;
-import at.gv.egovernment.moa.id.config.auth.OAAuthParameter;
-import at.gv.egovernment.moa.id.data.IAuthData;
-import at.gv.egovernment.moa.id.moduls.RequestImpl;
+import at.gv.egovernment.moa.id.config.auth.OAAuthParameterDecorator;
+import at.gv.egovernment.moa.id.data.IMOAAuthData;
+import at.gv.egovernment.moa.id.moduls.SSOManager;
import at.gv.egovernment.moa.id.storage.IAuthenticationSessionStoreage;
import at.gv.egovernment.moa.logging.Logger;
import at.gv.egovernment.moa.util.MiscUtil;
@@ -91,7 +94,9 @@ public class StatisticLogger implements IStatisticLogger{
private EntityManager entityManager;
- public void testConnection() throws Exception {
+ @Override
+ //TODO: update tests!!!!
+ public void internalTesting() throws Exception {
Date expioredate = new Date(new Date().getTime() - 120);
Query query = entityManager.createNamedQuery("getAllEntriesNotBeforeTimeStamp");
query.setParameter("timeout", expioredate);
@@ -105,7 +110,7 @@ public class StatisticLogger implements IStatisticLogger{
if ( authConfig.isAdvancedLoggingActive() && protocolRequest != null && authData != null) {
IOAAuthParameters dbOA = null;
- dbOA = protocolRequest.getOnlineApplicationConfiguration();
+ dbOA = protocolRequest.getServiceProviderConfiguration(OAAuthParameterDecorator.class);
if (dbOA == null) {
Logger.warn("Advanced logging failed: OA can not be found in database.");
@@ -128,88 +133,95 @@ public class StatisticLogger implements IStatisticLogger{
Logger.warn("Can not extract some information for StatisticLogger.", e);
}
- dblog.setOatarget(authData.getBPKType());
-
-
- boolean isFederatedAuthentication = protocolRequest.getGenericData(RequestImpl.DATAID_INTERFEDERATIOIDP_RESPONSE) != null;
- dblog.setInterfederatedSSOSession(isFederatedAuthentication);
-
- if (isFederatedAuthentication) {
- dblog.setBkutype(IOAAuthParameters.INDERFEDERATEDIDP);
- dblog.setBkuurl(protocolRequest.getGenericData(RequestImpl.DATAID_INTERFEDERATIOIDP_ENTITYID, String.class));
-
- } else {
- dblog.setBkuurl(authData.getBkuURL());
- dblog.setBkutype(findBKUType(authData.getBkuURL(), dbOA));
-
- }
-
dblog.setProtocoltype(protocolRequest.requestedModule());
dblog.setProtocolsubtype(protocolRequest.requestedAction());
dblog.setSsosession(isSSOSession);
- //log MandateInforamtion
- if (authData.isUseMandate()) {
- dblog.setMandatelogin(authData.isUseMandate());
+ if (authData instanceof IMOAAuthData) {
+ IMOAAuthData moaAuthData = (IMOAAuthData) authData;
+ dblog.setOatarget(moaAuthData.getBPKType());
+
+ boolean isFederatedAuthentication = protocolRequest.getRawData(SSOManager.DATAID_INTERFEDERATIOIDP_RESPONSE) != null;
+ dblog.setInterfederatedSSOSession(isFederatedAuthentication);
- IMISMandate mandate = authData.getMISMandate();
- if (mandate != null) {
+ if (isFederatedAuthentication) {
+ dblog.setBkutype(IOAAuthParameters.INDERFEDERATEDIDP);
+ dblog.setBkuurl(protocolRequest.getRawData(SSOManager.DATAID_INTERFEDERATIOIDP_ENTITYID, String.class));
- if (MiscUtil.isNotEmpty(mandate.getProfRep())) {
- dblog.setMandatetype(mandate.getProfRep());
- dblog.setPv(true);
- dblog.setPvOID(mandate.getProfRep());
-
- } else {
- dblog.setPv(false);
- }
+ } else if (moaAuthData.isForeigner()) {
+ dblog.setBkutype(IOAAuthParameters.EIDAS);
- InputStream is = null;
- try {
- is = new ByteArrayInputStream(mandate.getMandate());
+ } else {
+ dblog.setBkuurl(moaAuthData.getBkuURL());
+ dblog.setBkutype(findBKUType(moaAuthData.getBkuURL(), dbOA));
+
+ }
+
+ //log MandateInforamtion
+ if (moaAuthData.isUseMandate()) {
+ dblog.setMandatelogin(moaAuthData.isUseMandate());
+
+ IMISMandate mandate = moaAuthData.getMISMandate();
+ if (mandate != null) {
- JAXBContext jc = JAXBContext.newInstance(Mandate.class);
- Unmarshaller u = jc.createUnmarshaller();
- Object mismandateobj = u.unmarshal(is);
+ if (MiscUtil.isNotEmpty(mandate.getProfRep())) {
+ dblog.setMandatetype(mandate.getProfRep());
+ dblog.setPv(true);
+ dblog.setPvOID(mandate.getProfRep());
+
+ } else {
+ dblog.setPv(false);
+ }
- if (mismandateobj != null && mismandateobj instanceof Mandate) {
- Mandate mismandate = (Mandate) mismandateobj;
+ InputStream is = null;
+ try {
+ is = new ByteArrayInputStream(mandate.getMandate());
- if (MiscUtil.isEmpty(mandate.getProfRep()))
- dblog.setMandatetype(mismandate.getAnnotation());
+ JAXBContext jc = JAXBContext.newInstance(Mandate.class);
+ Unmarshaller u = jc.createUnmarshaller();
+ Object mismandateobj = u.unmarshal(is);
- Mandator mandator = mismandate.getMandator();
- CorporateBodyType corp = mandator.getCorporateBody();
- if (corp != null) {
- dblog.setMandatortype(MANTATORTYPE_JUR);
+ if (mismandateobj != null && mismandateobj instanceof Mandate) {
+ Mandate mismandate = (Mandate) mismandateobj;
+
+ if (MiscUtil.isEmpty(mandate.getProfRep()))
+ dblog.setMandatetype(mismandate.getAnnotation());
+
+ Mandator mandator = mismandate.getMandator();
+ CorporateBodyType corp = mandator.getCorporateBody();
+ if (corp != null) {
+ dblog.setMandatortype(MANTATORTYPE_JUR);
+
+ } else {
+ dblog.setMandatortype(MANTATORTYPE_NAT);
+ }
+
} else {
- dblog.setMandatortype(MANTATORTYPE_NAT);
+ Logger.warn("Advancted logging can not unmarshall MISMandate");
}
-
-
- } else {
- Logger.warn("Advancted logging can not unmarshall MISMandate");
- }
- } catch (JAXBException e) {
- Logger.warn("Advancted logging can not parse mandate.", e);
-
- } finally {
- if (is!=null) {
- try {
- is.close();
-
- } catch (IOException e) {
- Logger.warn("Close InputStream failed." , e);
-
+ } catch (JAXBException e) {
+ Logger.warn("Advancted logging can not parse mandate.", e);
+
+ } finally {
+ if (is!=null) {
+ try {
+ is.close();
+
+ } catch (IOException e) {
+ Logger.warn("Close InputStream failed." , e);
+
+ }
}
}
- }
- }
- }
-
+ }
+ }
+
+ } else
+ Logger.info("'AuthData' is NOT of type 'IMOAAuthData'. StatisticLogger logs only basic infos");
+
try {
entityManager.persist(dblog);
@@ -258,13 +270,13 @@ public class StatisticLogger implements IStatisticLogger{
dblog.setTimestamp(new Date());
- dblog.setOaurlprefix(getMessageWithMaxLength(errorRequest.getOAURL(), MAXOAIDENTIFIER_LENGTH));
+ dblog.setOaurlprefix(getMessageWithMaxLength(errorRequest.getSPEntityId(), MAXOAIDENTIFIER_LENGTH));
dblog.setProtocoltype(errorRequest.requestedModule());
dblog.setProtocolsubtype(errorRequest.requestedAction());
generateErrorLogFormThrowable(throwable, dblog);
- IOAAuthParameters dbOA = errorRequest.getOnlineApplicationConfiguration();
+ IOAAuthParameters dbOA = errorRequest.getServiceProviderConfiguration(OAAuthParameterDecorator.class);
if (dbOA != null) {
dblog.setOaurlprefix(getMessageWithMaxLength(dbOA.getPublicURLPrefix(), MAXOAIDENTIFIER_LENGTH));
dblog.setOafriendlyName(dbOA.getFriendlyName());
@@ -290,7 +302,9 @@ public class StatisticLogger implements IStatisticLogger{
} else {
Logger.debug("Use MOA session information from pending-req for ErrorLogging");
- moasession = errorRequest.getMOASession();
+ moasession = (IAuthenticationSession) errorRequest.getSessionData(AuthenticationSessionWrapper.class);
+
+
}
@@ -383,45 +397,47 @@ public class StatisticLogger implements IStatisticLogger{
private String findBKUType(String bkuURL, IOAAuthParameters dbOA) {
- if (dbOA != null) {
- if (bkuURL.equals(dbOA.getBKUURL(OAAuthParameter.HANDYBKU)))
- return IOAAuthParameters.HANDYBKU;
-
- if (bkuURL.equals(dbOA.getBKUURL(OAAuthParameter.LOCALBKU)))
- return IOAAuthParameters.LOCALBKU;
-
- if (bkuURL.equals(dbOA.getBKUURL(OAAuthParameter.THIRDBKU)))
- return IOAAuthParameters.THIRDBKU;
- }
-
- Logger.trace("Staticic Log search BKUType from DefaultBKUs");
-
- try {
- if (bkuURL.equals(authConfig.getDefaultBKUURL(IOAAuthParameters.THIRDBKU)))
- return IOAAuthParameters.THIRDBKU;
+ if (bkuURL != null) {
+ if (dbOA != null) {
+ if (bkuURL.equals(dbOA.getBKUURL(OAAuthParameterDecorator.HANDYBKU)))
+ return IOAAuthParameters.HANDYBKU;
+
+ if (bkuURL.equals(dbOA.getBKUURL(OAAuthParameterDecorator.LOCALBKU)))
+ return IOAAuthParameters.LOCALBKU;
+
+ if (bkuURL.equals(dbOA.getBKUURL(OAAuthParameterDecorator.THIRDBKU)))
+ return IOAAuthParameters.THIRDBKU;
+ }
- if (bkuURL.equals(authConfig.getDefaultBKUURL(IOAAuthParameters.LOCALBKU)))
+ Logger.trace("Staticic Log search BKUType from DefaultBKUs");
+
+ try {
+ if (bkuURL.equals(authConfig.getDefaultBKUURL(IOAAuthParameters.THIRDBKU)))
+ return IOAAuthParameters.THIRDBKU;
+
+ if (bkuURL.equals(authConfig.getDefaultBKUURL(IOAAuthParameters.LOCALBKU)))
+ return IOAAuthParameters.LOCALBKU;
+
+ if (bkuURL.equals(authConfig.getDefaultBKUURL(IOAAuthParameters.HANDYBKU)))
+ return IOAAuthParameters.HANDYBKU;
+
+ } catch (ConfigurationException e) {
+ Logger.info("Advanced Logging: Default BKUs read failed");
+ }
+
+ Logger.debug("Staticic Log search BKUType from generneric Parameters");
+
+ if (bkuURL.endsWith(GENERIC_LOCALBKU)) {
+ Logger.debug("BKUURL " + bkuURL + " is mapped to " + IOAAuthParameters.LOCALBKU);
return IOAAuthParameters.LOCALBKU;
+ }
- if (bkuURL.equals(authConfig.getDefaultBKUURL(IOAAuthParameters.HANDYBKU)))
+ if (bkuURL.startsWith(GENERIC_HANDYBKU)) {
+ Logger.debug("BKUURL " + bkuURL + " is mapped to " + IOAAuthParameters.HANDYBKU);
return IOAAuthParameters.HANDYBKU;
-
- } catch (ConfigurationException e) {
- Logger.info("Advanced Logging: Default BKUs read failed");
- }
-
- Logger.debug("Staticic Log search BKUType from generneric Parameters");
-
- if (bkuURL.endsWith(GENERIC_LOCALBKU)) {
- Logger.debug("BKUURL " + bkuURL + " is mapped to " + IOAAuthParameters.LOCALBKU);
- return IOAAuthParameters.LOCALBKU;
+ }
}
- if (bkuURL.startsWith(GENERIC_HANDYBKU)) {
- Logger.debug("BKUURL " + bkuURL + " is mapped to " + IOAAuthParameters.HANDYBKU);
- return IOAAuthParameters.HANDYBKU;
- }
-
Logger.debug("BKUURL " + bkuURL + " is mapped to " + IOAAuthParameters.AUTHTYPE_OTHERS);
return IOAAuthParameters.AUTHTYPE_OTHERS;
}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/TransactionIDUtils.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/TransactionIDUtils.java
deleted file mode 100644
index 0b066f3b9..000000000
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/TransactionIDUtils.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright 2014 Federal Chancellery Austria
- * MOA-ID has been developed in a cooperation between BRZ, the Federal
- * Chancellery Austria - ICT staff unit, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egovernment.moa.id.advancedlogging;
-
-
-import at.gv.egovernment.moa.id.commons.MOAIDAuthConstants;
-import at.gv.egovernment.moa.id.commons.api.IRequest;
-
-/**
- * @author tlenz
- *
- */
-public class TransactionIDUtils {
-
- /**
- * Set all MDC variables from pending request to this threat context<br>
- * These includes SessionID, TransactionID, and unique service-provider identifier
- *
- * @param pendingRequest
- */
- public static void setAllLoggingVariables(IRequest pendingRequest) {
- setTransactionId(pendingRequest.getUniqueTransactionIdentifier());
- setSessionId(pendingRequest.getUniqueSessionIdentifier());
- setServiceProviderId(pendingRequest.getOnlineApplicationConfiguration().getPublicURLPrefix());
-
- }
-
- /**
- * Remove all MDC variables from this threat context
- *
- */
- public static void removeAllLoggingVariables() {
- removeSessionId();
- removeTransactionId();
- removeServiceProviderId();
-
- }
-
-
- public static void setServiceProviderId(String oaUniqueId) {
- org.apache.log4j.MDC.put(MOAIDAuthConstants.MDC_SERVICEPROVIDER_ID, oaUniqueId);
- org.slf4j.MDC.put(MOAIDAuthConstants.MDC_SERVICEPROVIDER_ID, oaUniqueId);
-
- }
-
- public static void removeServiceProviderId() {
- org.apache.log4j.MDC.remove(MOAIDAuthConstants.MDC_SERVICEPROVIDER_ID);
- org.slf4j.MDC.remove(MOAIDAuthConstants.MDC_SERVICEPROVIDER_ID);
-
- }
-
- public static void setTransactionId(String pendingRequestID) {
- org.apache.log4j.MDC.put(MOAIDAuthConstants.MDC_TRANSACTION_ID,
- "TID-" + pendingRequestID);
- org.slf4j.MDC.put(MOAIDAuthConstants.MDC_TRANSACTION_ID,
- "TID-" + pendingRequestID);
-
- }
-
- public static void removeTransactionId() {
- org.apache.log4j.MDC.remove(MOAIDAuthConstants.MDC_TRANSACTION_ID);
- org.slf4j.MDC.remove(MOAIDAuthConstants.MDC_TRANSACTION_ID);
-
- }
-
- public static void setSessionId(String uniqueSessionId) {
- org.apache.log4j.MDC.put(MOAIDAuthConstants.MDC_SESSION_ID,
- "SID-" + uniqueSessionId);
- org.slf4j.MDC.put(MOAIDAuthConstants.MDC_SESSION_ID,
- "SID-" + uniqueSessionId);
-
- }
-
- public static void removeSessionId() {
- org.apache.log4j.MDC.remove(MOAIDAuthConstants.MDC_SESSION_ID);
- org.slf4j.MDC.remove(MOAIDAuthConstants.MDC_SESSION_ID);
-
- }
-
-
-}