/** * @see org.n52.security.decision.DecisionService#request(PDPRequestCollection) */ public PDPResponseCollection request(final PDPRequestCollection reqCol) throws DecisionProcessingException { PDPResponseCollection respCol = new PDPResponseCollection(); Iterator itreq = reqCol.iterator(); while (itreq.hasNext()) { PDPRequest pdpRequest = (PDPRequest) itreq.next(); if (LOG.isDebugEnabled()) { LOG.debug("pdp request <" + pdpRequest + "> is permitted"); } respCol.add(new PDPResponse(PDPResponse.DECISION_PERMIT, pdpRequest)); } return respCol; } }
@Override public PDPResponseCollection request(final PDPRequestCollection reqCol) throws DecisionProcessingException { PDPRequestCollection openRequests = reqCol; Map<PDPRequest, PDPResponse> allResponses = new LinkedHashMap<PDPRequest, PDPResponse>(); PDPResponseCollection lastResponse = null; for (Iterator<DecisionService> serviceIt = m_decisionServices.iterator(); serviceIt.hasNext() && !openRequests.isEmpty(); openRequests = findOpenRequests(lastResponse, allResponses)) { DecisionService decisionService = serviceIt.next(); lastResponse = decisionService.request(openRequests); } // little optimization if (m_decisionServices.size() == 1 && lastResponse != null) { return lastResponse; } PDPResponseCollection response = new PDPResponseCollection(); for (Iterator<PDPRequest> requests = reqCol.iterator(); requests.hasNext();) { PDPResponse resp = allResponses.get(requests.next()); response.add(resp); } return response; }
public PDPResponseCollection request(PDPRequestCollection pdpReqCol) throws DecisionProcessingException { PDPResponseCollection resColl = new PDPResponseCollection(); LOG.info("PDP performs request"); Iterator it = pdpReqCol.iterator(); // iterate through request collection while (it.hasNext()) { PDPRequest request = (PDPRequest) it.next(); // only one target imaginable Target target = request.getTarget(); if (LOG.isDebugEnabled()) { LOG.debug(request); } int lPermission = permissionExists(target) ? PDPResponse.DECISION_PERMIT : PDPResponse.DECISION_DENY; PDPResponse response = new PDPResponse(lPermission, request); if (LOG.isDebugEnabled()) { LOG.debug(response); } resColl.add(response); } return resColl; }
return lastResponse; PDPResponseCollection response = new PDPResponseCollection(); for (Iterator<PDPRequest> requests = reqCol.iterator(); requests.hasNext();) { PDPResponse resp = allRequestsLookup.get(requests.next());
private PDPResponseCollection executeSingleRequest(final PDPRequestCollection pPDPRequestCollection) { final ArrayList<PDPRequest> orgRequests = new ArrayList<>(); Iterator converter = IteratorUtils.transformedIterator(pPDPRequestCollection.iterator(), new Transformer() { public Object transform(final Object input) { PDPRequest request = (PDPRequest) input; orgRequests.add(request); try { return convert52nRequestToXACMLRequest(request); } catch (XmlException e) { throw new DecisionProcessingException("can't convert pdp request: " + e, e); } } }); RequestDocument[] requests = (RequestDocument[]) IteratorUtils.toArray(converter, RequestDocument.class); ResponseDocument[] responses = m_requester.executeRequest(requests); PDPResponseCollection responseCol = new PDPResponseCollection(); for (int i = 0, j = responses.length; i < j; ++i) { ResponseDocument response = responses[i]; PDPResponse pdpresponse = convertXACMLResponseToPDPResponse(response, orgRequests.get(i)); responseCol.add(pdpresponse); } return responseCol; }
public PDPResponseCollection request(PDPRequestCollection pdpReqCol) throws DecisionProcessingException { PDPResponseCollection resColl = new PDPResponseCollection(); LOG.info("PDP performs request");