diff options
| author | Bojan Suzic <bojan.suzic@iaik.tugraz.at> | 2014-11-07 19:25:57 +0100 | 
|---|---|---|
| committer | Bojan Suzic <bojan.suzic@iaik.tugraz.at> | 2014-11-07 19:25:57 +0100 | 
| commit | 2fd92332b1209e6b6edb80a50f7f221322d313a6 (patch) | |
| tree | 4453d6d8da02378da8a850e581de40d5dea39f62 /id | |
| parent | 348dbb4e27c9c076b356b7983feda3d9782dc198 (diff) | |
| download | moa-id-spss-2fd92332b1209e6b6edb80a50f7f221322d313a6.tar.gz moa-id-spss-2fd92332b1209e6b6edb80a50f7f221322d313a6.tar.bz2 moa-id-spss-2fd92332b1209e6b6edb80a50f7f221322d313a6.zip | |
adjusting mandate and moaattrprovider to new structure
Diffstat (limited to 'id')
2 files changed, 34 insertions, 14 deletions
| diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/MOAAttributeProvider.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/MOAAttributeProvider.java index db2d1a64f..136200ed0 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/MOAAttributeProvider.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/MOAAttributeProvider.java @@ -133,7 +133,6 @@ public class MOAAttributeProvider {  		if (authData.getDateOfBirth() != null) {  			DateFormat fmt = new SimpleDateFormat("yyyyMMdd");      		return  fmt.format(authData.getDateOfBirth()); -    		  		}     		else     			return null; diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/MandateRetrievalRequest.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/MandateRetrievalRequest.java index bfeaee6e3..929313dd1 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/MandateRetrievalRequest.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/MandateRetrievalRequest.java @@ -33,6 +33,7 @@ import at.gv.egovernment.moa.id.data.IAuthData;  import at.gv.egovernment.moa.id.data.SLOInformationInterface;  import at.gv.egovernment.moa.id.moduls.IAction;  import at.gv.egovernment.moa.id.moduls.IRequest; +import at.gv.egovernment.moa.id.protocols.pvp2x.PVPConstants;  import at.gv.egovernment.moa.logging.Logger;  import at.gv.egovernment.moa.util.Constants;  import eu.stork.peps.auth.commons.IPersonalAttributeList; @@ -64,11 +65,16 @@ public class MandateRetrievalRequest implements IAction {      private IAuthData authData;      private MOASTORKRequest moaStorkRequest;      private IdentityLink representingIdentityLink; +    private Integer QAALevel; +    private byte[] originalContent;      public SLOInformationInterface processRequest(IRequest req, HttpServletRequest httpReq, HttpServletResponse httpResp, IAuthData authData) throws MOAIDException {          Logger.debug("Entering AttributeRequest for MandateProvider");          httpResp.reset();          this.representingIdentityLink = authData.getIdentityLink(); +        this.QAALevel = translateQAALevel(authData.getQAALevel()); + +        this.originalContent = authData.getMISMandate().getMandate();          OAAuthParameter oaParam = AuthConfigurationProvider.getInstance().getOnlineApplicationParameter(req.getOAURL()); @@ -205,6 +211,18 @@ public class MandateRetrievalRequest implements IAction {          return null;      } +    private Integer translateQAALevel(String qaaLevel) throws MOAIDException { +        if (qaaLevel.equals(PVPConstants.STORK_QAA_1_1)) +            return 1; +        if (qaaLevel.equals(PVPConstants.STORK_QAA_1_2)) +            return 2; +        if (qaaLevel.equals(PVPConstants.STORK_QAA_1_3)) +            return 3; +        if (qaaLevel.equals(PVPConstants.STORK_QAA_1_4)) +            return 4; +        Logger.error("Wrong QAA Number format"); +        throw new MOAIDException("stork.16", new Object[]{}); +    }      private String geteLPIdentifier(MandateContainer mandateContainer, PersonalAttribute currentAttribute) throws MOAIDException {          RepresentationPersonType represented = getRepresented(mandateContainer, currentAttribute); @@ -212,7 +230,7 @@ public class MandateRetrievalRequest implements IAction {              return represented.getELPIdentifier();          } else if (currentAttribute.isRequired()) {              Logger.error("Cannot provide eLPIdentifier for natural person."); -            throw new MOAIDException("stork.19", new Object[]{currentAttribute.getName()}); +            throw new MOAIDException("stork.19", new Object[]{currentAttribute.getName()});    // TODO          }          return "";      } @@ -255,7 +273,7 @@ public class MandateRetrievalRequest implements IAction {          } else if (mandateContainer.getAnnotation().equals("GeneralvollmachtBilateral")) {              return "0"; // General Powers          } -        return ""; +        return "7";      }      private MandateType getMandateType(MandateContainer mandateContainer, PersonalAttribute sourceAttribute) throws MOAIDException { @@ -266,7 +284,7 @@ public class MandateRetrievalRequest implements IAction {          mandateType.setRepresenting(representative);          mandateType.setRepresented(represented); -        //mandateType.setMandateContent(mandateContent);     // TODO +        mandateType.getMandateContent().add(mandateContent);          Logger.debug("Complex attribute extracted: " + sourceAttribute.getName());          return mandateType;      } @@ -488,7 +506,7 @@ public class MandateRetrievalRequest implements IAction {              CorporateBodyMandateContainer corporateBodyMandateContainer = (CorporateBodyMandateContainer) mandateContainer;              represented.setELPIdentifier(corporateBodyMandateContainer.getCorpMandatorIdentificationValue());              represented.setLegalName(corporateBodyMandateContainer.getCorpMandatorFullName()); -            represented.setTextRegisteredAddress(""); +            represented.setTextRegisteredAddress(null);              represented.setCanonicalRegisteredAddress(new CanonicalAddressType());              represented.setLegalForm(getCompanyType(corporateBodyMandateContainer.corpMandatorFullName, corporateBodyMandateContainer.corpMandatorIdentificationType, sourceAttribute));          } else if (mandateContainer instanceof PhyPersonMandateContainer) { @@ -510,19 +528,22 @@ public class MandateRetrievalRequest implements IAction {          try {              XMLGregorianCalendar validFrom = DatatypeFactory.newInstance().newXMLGregorianCalendar(mandateContainer.getMandateValidFrom());              XMLGregorianCalendar validTo = DatatypeFactory.newInstance().newXMLGregorianCalendar(mandateContainer.getMandateValidTo()); -            // TODO -            //mandateContent.set .setValidFrom(validFrom); -            //mandateContent.setValidTo(validTo); +            TimeRestrictionType timeRestriction = new TimeRestrictionType(); +            timeRestriction.setValidFrom(validFrom); +            timeRestriction.setValidTo(validTo); +            mandateContent.setTimeRestriction(timeRestriction);          } catch (DatatypeConfigurationException dte) {              Logger.error("Error converting date from mandate: " + mandateContainer.getMandateValidFrom() + ", " + mandateContainer.getMandateValidTo());              throw new MOAIDException("stork.20", new Object[]{});          } - -        //mandateContent.setTransactionLimit(BigInteger.valueOf(0)); // TODO -        //mandateContent.setTransactionLimitCurrency("");// TODO -        mandateContent.setIsJoint("0"); -        mandateContent.setIschained(false); -        mandateContent.setTypePower(mapPowersType(mandateContainer)); +        mandateContent.setAQAA(this.QAALevel); +        mandateContent.setOriginalMandate(originalContent); +        mandateContent.setOriginalMandateType("application/xml"); +        TransactionLimitRestrictionType transactionLimit = new TransactionLimitRestrictionType(); +        mandateContent.setTransactionLimit(transactionLimit); +        mandateContent.setIsJoint(""); +        mandateContent.setIsChained(false); +        mandateContent.setTypeOfPower(mapPowersType(mandateContainer));     // TODO check          Logger.debug("Complex attribute extracted: " + sourceAttribute.getName());          return mandateContent;      } | 
