/** * Checks for duplicate parameter names and throws an exception if any are found. * * @param aParams * an array of ConfigurationParameters * * @throws ResourceInitializationException * if there is a duplicate parameter name in the arrays */ protected void checkForDuplicateParameterNames(ConfigurationParameter[] aParams) throws ResourceInitializationException { Set<String> paramNames = new HashSet<String>(); for (int i = 0; i < aParams.length; i++) { if (!paramNames.add(aParams[i].getName())) { throw new ResourceInitializationException( ResourceInitializationException.DUPLICATE_CONFIGURATION_PARAMETER_NAME, new Object[] { aParams[i].getName(), getMetaData().getName(), aParams[i].getSourceUrlString() }); } } }
/** * Checks parameter overrides and throws a ResourceInitializationException if they are invalid. * Note that since overrides are invalid in primitive components, this default implementation * throws an exception for ANY parameter override it finds. AnalysisEngineDescription_impl * overrides this method to correctly handle parameter overrides in aggregates. * * @param aParams * an array of ConfigurationParameters * @param aGroupName * name of groups in which these parameters are contained. Null if no group * @param aResourceManager used to resolve imports by name. * * @throws ResourceInitializationException * if there is an invalid parameter override declaration */ protected void checkForInvalidParameterOverrides(ConfigurationParameter[] aParams, String aGroupName, ResourceManager aResourceManager) throws ResourceInitializationException { for (int i = 0; i < aParams.length; i++) { String[] overrides = aParams[i].getOverrides(); if (overrides.length > 0) { throw new ResourceInitializationException( ResourceInitializationException.PARAM_OVERRIDE_IN_PRIMITIVE, new Object[] { aParams[i].getName(), getMetaData().getName(), aParams[i].getSourceUrlString() }); } } }
ResourceInitializationException.DUPLICATE_CONFIGURATION_PARAMETER_NAME, new Object[] { commonParams[i].getName(), getMetaData().getName(), commonParams[i].getSourceUrlString() }); ResourceInitializationException.DUPLICATE_CONFIGURATION_PARAMETER_NAME, new Object[] { paramsInGroup[k].getName(), getMetaData().getName(), paramsInGroup[k].getSourceUrlString() });