/* Copyright 2012-2015 SAP SE
*
* 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.
*/
package eu.aniketos.securebpmn.xacml;
import eu.aniketos.securebpmn.xacml.pdp.runtimeEvaluation.EvalInfoProvider;
import eu.aniketos.securebpmn.xacml.pdp.runtimeEvaluation.EvaluationEventHub;
import eu.aniketos.securebpmn.xacml.support.EvaluationIdContext;
import com.sun.xacml.PDPConfig;
import com.sun.xacml.ParsingException;
import com.sun.xacml.ctx.RequestCtx;
/**
* This is the context required for analysis, as it holds the
* objects to keep track of the current evaluation and analysis status.
* <br/>
* For running an analysis evaluation, an AnalysisCtx has to be created
* and analysed with PDPServer.analyse()
*
*/
public class AnalysisCtx extends EvaluationIdContext {
private EvaluationEventHub evalHub;
private EvalInfoProvider evalInfo;
public AnalysisCtx(RequestCtx request, PDPConfig config, Long evaluationId,
EvaluationEventHub evalHub)
throws ParsingException {
super(request, config.getAttributeFinder(),
config.getRevocationFinder(), true, evaluationId);
this.evalHub = evalHub;
this.evalInfo = evalHub.getEvalInfo();
}
public EvaluationEventHub getEvalHub() {
return this.evalHub;
}
public EvalInfoProvider getEvalInfo() {
return this.evalInfo;
}
}