* {@link GraphChain#parser} is not available, any exception during
* parsing or if the parsed RDF data are not a valid execution plan
*/
private void updateExecutionPlan() throws ChainException {
if(resourceData == null){
throw new ChainException("The configured resource '"+resourceName+
"' for the execution plan is not available via the" +
"DataFileProvider infrastructure");
}
if(parser == null){
throw new ChainException("Unable to parse RDF data from resource '"+
resourceName+"' because the RDF parser service is not available!");
}
try {
executionPlan = parser.parse(new ByteArrayInputStream(resourceData), format);
}catch(Exception e){
throw new ChainException("Unable to parse RDF from resource '"+resourceName+
"' using format '"+format+"'!",e);
}
resourceData = null; //we have the graph no need to keep the raw data
//we need still to parse the engines and to validate the plan
engineNames = validateExecutionPlan(executionPlan);