X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=datarouter-prov%2Fsrc%2Fmain%2Fjava%2Fcom%2Fatt%2Fresearch%2Fdatarouter%2Fauthz%2Fimpl%2FAuthRespImpl.java;fp=datarouter-prov%2Fsrc%2Fmain%2Fjava%2Fcom%2Fatt%2Fresearch%2Fdatarouter%2Fauthz%2Fimpl%2FAuthRespImpl.java;h=db318d390c42acb3622992120122a19aca71bbe5;hb=aaf2df8b908fcb48043d2cd51803d8fd99f18b43;hp=0000000000000000000000000000000000000000;hpb=6ec9a9ce6c1062efa99da501fe8c6ea116aebf6f;p=dmaap%2Fdatarouter.git diff --git a/datarouter-prov/src/main/java/com/att/research/datarouter/authz/impl/AuthRespImpl.java b/datarouter-prov/src/main/java/com/att/research/datarouter/authz/impl/AuthRespImpl.java new file mode 100644 index 00000000..db318d39 --- /dev/null +++ b/datarouter-prov/src/main/java/com/att/research/datarouter/authz/impl/AuthRespImpl.java @@ -0,0 +1,97 @@ +/******************************************************************************* + * ============LICENSE_START================================================== + * * org.onap.dmaap + * * =========================================================================== + * * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * * =========================================================================== + * * Licensed under the Apache License, Version 2.0 (the "License"); + * * you may not use this file except in compliance with the License. + * * You may obtain a copy of the License at + * * + * * http://www.apache.org/licenses/LICENSE-2.0 + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, + * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * * See the License for the specific language governing permissions and + * * limitations under the License. + * * ============LICENSE_END==================================================== + * * + * * ECOMP is a trademark and service mark of AT&T Intellectual Property. + * * + ******************************************************************************/ + + +package com.att.research.datarouter.authz.impl; + +import java.util.ArrayList; +import java.util.List; + +import com.att.research.datarouter.authz.AuthorizationResponse; +import com.att.research.datarouter.authz.AuthorizationResponseSupplement; + + +/** A representation of an authorization response returned by a XACML Policy Decision Point. + * In Data Router R1, advice and obligations are not used. + * @author J. F. Lucas + * + */ +public class AuthRespImpl implements AuthorizationResponse { + private boolean authorized; + private List advice; + private List obligations; + + /** Constructor. This version will not be used in Data Router R1 since we will not have advice and obligations. + * + * @param authorized flag indicating whether the response carried a permit response (true) + * or something else (false). + * @param advice list of advice elements returned in the response. + * @param obligations list of obligation elements returned in the response. + */ + public AuthRespImpl(boolean authorized, List advice, List obligations) { + this.authorized = authorized; + this.advice = (advice == null ? null : new ArrayList (advice)); + this.obligations = (obligations == null ? null : new ArrayList (obligations)); + } + + /** Constructor. Simple version for authorization responses that have no advice and no obligations. + * + * @param authorized flag indicating whether the response carried a permit (true) or something else (false). + */ + public AuthRespImpl(boolean authorized) { + this(authorized, null, null); + } + + /** + * Indicates whether the request is authorized or not. + * + * @return a boolean flag that is true if the request is permitted, and false otherwise. + */ + @Override + public boolean isAuthorized() { + return authorized; + } + + /** + * Returns any advice elements that were included in the authorization response. + * + * @return A list of objects implementing the AuthorizationResponseSupplement interface, with each object representing an + * advice element from the authorization response. + */ + @Override + public List getAdvice() { + return advice; + } + + /** + * Returns any obligation elements that were included in the authorization response. + * + * @return A list of objects implementing the AuthorizationResponseSupplement interface, with each object representing an + * obligation element from the authorization response. + */ + @Override + public List getObligations() { + return obligations; + } + +}