diff options
| author | Thomas <thomas.lenz@egiz.gv.at> | 2019-05-04 18:06:28 +0200 | 
|---|---|---|
| committer | Thomas <thomas.lenz@egiz.gv.at> | 2019-05-04 18:06:28 +0200 | 
| commit | cba8d3b1bcfbe7efbb95bca972c614d91f759322 (patch) | |
| tree | 7e8f207550c9a68be765c99a8275309481dc518c /eaaf_core/src/main/java | |
| parent | f9a438a837221dae0320bcddefa6a86b6be7f75d (diff) | |
| download | EAAF-Components-cba8d3b1bcfbe7efbb95bca972c614d91f759322.tar.gz EAAF-Components-cba8d3b1bcfbe7efbb95bca972c614d91f759322.tar.bz2 EAAF-Components-cba8d3b1bcfbe7efbb95bca972c614d91f759322.zip | |
fix bug in PendingRequestStorage
Diffstat (limited to 'eaaf_core/src/main/java')
| -rw-r--r-- | eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/RequestStorage.java | 35 | 
1 files changed, 18 insertions, 17 deletions
| 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 2b0cbab3..9758e258 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 @@ -160,14 +160,25 @@ public class RequestStorage implements IRequestStorage{  	 */  	@Override  	public String changePendingRequestID(IRequest pendingRequest) throws EAAFException { -		 -		//TODO!!!! -		  		if (pendingRequest instanceof RequestImpl) { -			//final String newRequestID = Random.nextHexRandom32(); +			 +			//get  old internal pendingReqId +			String oldInternalRequestID = null; +			try { +			oldInternalRequestID =  +					pendingReqIdGenerationStrategy.getPendingRequestIdWithOutChecks(pendingRequest.getPendingRequestId()); +			 +			} catch (final PendingReqIdValidationException e) { +				//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();			  			((RequestImpl)pendingRequest).setPendingRequestId(newRequestID); -			 +  			String newInternalPendingRequestId = null;  			try {  				 newInternalPendingRequestId = pendingReqIdGenerationStrategy.getPendingRequestIdWithOutChecks(newRequestID); @@ -177,20 +188,10 @@ public class RequestStorage implements IRequestStorage{  			}	  -			String oldInternalRequestID = null; -			try { -			oldInternalRequestID =  -					pendingReqIdGenerationStrategy.validateAndGetPendingRequestId(pendingRequest.getPendingRequestId()); -			 -			} catch (final PendingReqIdValidationException e) { -				//it's no problem, because it must be valid before when pending-request was loaded and we change it now -				oldInternalRequestID = e.getInvalidInternalPendingReqId(); -				 -			} +			//change Key in cache  			log.debug("Change pendingRequestID from " + pendingRequest.getPendingRequestId()  -				+ " to " + newRequestID); -									 +				+ " to " + newRequestID);		  			transactionStorage.changeKey(oldInternalRequestID, newInternalPendingRequestId, pendingRequest);  			//only delete oldRequestID, no change.						 | 
