*
* @throws ResourceInitializationException
* if there is an invalid parameter override declaration
*/
protected void validateOperationalProperties() throws ResourceInitializationException {
OperationalProperties aggProps = getAnalysisEngineMetaData().getOperationalProperties();
if (aggProps != null) {
boolean atLeastOneCasMultiplier = false;
Iterator<ProcessingResourceMetaData> metadataIterator = _getComponentMetaData().values().iterator();
while (metadataIterator.hasNext()) {
ProcessingResourceMetaData md = metadataIterator.next();
OperationalProperties componentProps = md.getOperationalProperties();
if (componentProps != null) {
if (aggProps.isMultipleDeploymentAllowed()
&& !componentProps.isMultipleDeploymentAllowed()) {
throw new ResourceInitializationException(
ResourceInitializationException.INVALID_MULTIPLE_DEPLOYMENT_ALLOWED,
new Object[] { getAnalysisEngineMetaData().getName(), md.getName(),
getAnalysisEngineMetaData().getSourceUrlString() });
}
if (!aggProps.getModifiesCas() && componentProps.getModifiesCas()) {
throw new ResourceInitializationException(
ResourceInitializationException.INVALID_MODIFIES_CAS, new Object[] {
getAnalysisEngineMetaData().getName(), md.getName(),
getAnalysisEngineMetaData().getSourceUrlString() });
}
if (componentProps.getOutputsNewCASes()) {
atLeastOneCasMultiplier = true;
}
}
}
if (aggProps.getOutputsNewCASes() && !atLeastOneCasMultiplier) {