You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by bu...@apache.org on 2013/08/13 19:14:30 UTC
svn commit: r1513594 - in /uima/uimaj/trunk/uimaj-core/src:
main/java/org/apache/uima/resource/metadata/impl/
main/resources/org/apache/uima/ test/resources/TextAnalysisEngineImplTest/
Author: burn
Date: Tue Aug 13 17:14:29 2013
New Revision: 1513594
URL: http://svn.apache.org/r1513594
Log:
UIMA-3123 Avoid a NPE by checking for missing elements in a nameValuePair
Modified:
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/ResourceMetaData_impl.java
uima/uimaj/trunk/uimaj-core/src/main/resources/org/apache/uima/UIMAException_Messages.properties
uima/uimaj/trunk/uimaj-core/src/test/resources/TextAnalysisEngineImplTest/AnnotatorWithGroupParameterError.xml
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/ResourceMetaData_impl.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/ResourceMetaData_impl.java?rev=1513594&r1=1513593&r2=1513594&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/ResourceMetaData_impl.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/ResourceMetaData_impl.java Tue Aug 13 17:14:29 2013
@@ -287,6 +287,10 @@ public class ResourceMetaData_impl exten
for (int i = 0; i < aNVPs.length; i++) {
// look up the parameter info
String name = aNVPs[i].getName();
+ if (name == null) {
+ throw new ResourceConfigurationException(InvalidXMLException.ELEMENT_NOT_FOUND,
+ new Object[] { "name", "nameValuePair" });
+ }
ConfigurationParameter param = aParamDecls.getConfigurationParameter(aGroupName, name);
if (param == null) {
if (aGroupName == null) {
@@ -324,6 +328,10 @@ public class ResourceMetaData_impl exten
NameValuePair aNVP) throws ResourceConfigurationException {
String paramName = aParam.getName();
String paramType = aParam.getType();
+ if (aNVP.getValue() == null) {
+ throw new ResourceConfigurationException(ResourceConfigurationException.CONFIG_SETTING_ABSENT,
+ new Object[] { paramName });
+ }
Class<?> valClass = aNVP.getValue().getClass();
if (aParam.isMultiValued()) // value must be an array
Modified: uima/uimaj/trunk/uimaj-core/src/main/resources/org/apache/uima/UIMAException_Messages.properties
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/resources/org/apache/uima/UIMAException_Messages.properties?rev=1513594&r1=1513593&r2=1513594&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/resources/org/apache/uima/UIMAException_Messages.properties (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/resources/org/apache/uima/UIMAException_Messages.properties Tue Aug 13 17:14:29 2013
@@ -103,9 +103,9 @@ cas_multiplier_not_supported = The Flow
#--------------------------------
#ResourceConfigurationException
#--------------------------------
-nonexistent_parameter = No configuration parameter with name {0} is declared in component "{1}".
+nonexistent_parameter = No configuration parameter with name "{0}" is declared in component "{1}".
-nonexistent_parameter_in_group = No configuration parameter with name {0} is declared in group \
+nonexistent_parameter_in_group = No configuration parameter with name "{0}" is declared in group \
{1} in component "{2}".
parameter_type_mismatch = Parameter type mismatch in component "{0}". A value of class {1} cannot be \
@@ -121,9 +121,7 @@ mandatory_value_missing_in_group = No va
resource_data_not_valid = The configuration data "{0}" for Configuration parameter "{1}" in the resource is not valid
-config_setting_absent = Configuration setting for parameter "{0}" is absent.
-
-resource_not_found = Configuration setting for parameter "{0}" is absent.
+config_setting_absent = Configuration setting for the value of parameter "{0}" is absent.
directory_not_found = Invalid value for parameter "{0}" in component "{1}" -- \
directory "{2}" does not exist.
@@ -288,8 +286,6 @@ malformed_url = Malformed URL "{0}". (De
resource_data_not_valid = The configuration data "{0}" for Configuration parameter "{1}" in the resource is not valid
-config_setting_absent = Configuration setting for parameter "{0}" is absent.
-
duplicate_index_name = Two different CAS FeatureStructure indexes with name "{0}" have been defined. (Descriptors: {1}, {2})
param_override_in_primitive = Configuration parameter "{0}" in primitive Analysis Engine "{1}" \
Modified: uima/uimaj/trunk/uimaj-core/src/test/resources/TextAnalysisEngineImplTest/AnnotatorWithGroupParameterError.xml
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/test/resources/TextAnalysisEngineImplTest/AnnotatorWithGroupParameterError.xml?rev=1513594&r1=1513593&r2=1513594&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/test/resources/TextAnalysisEngineImplTest/AnnotatorWithGroupParameterError.xml (original)
+++ uima/uimaj/trunk/uimaj-core/src/test/resources/TextAnalysisEngineImplTest/AnnotatorWithGroupParameterError.xml Tue Aug 13 17:14:29 2013
@@ -87,10 +87,6 @@
<settingsForGroup name="en">
<nameValuePair>
- <name>StringParam</name>
- <value><string>en</string></value>
- </nameValuePair>
- <nameValuePair>
<name>StringArrayParam</name>
<value><array>
<string>e</string>
@@ -128,7 +124,7 @@
</nameValuePair>
<nameValuePair>
<name>IntegerArrayParam</name>
- <!-- Value should be an array ... will fail unless UIMA_Jira3123 is set -->
+ <!-- Value should be an array ... will fail in a future release unless UIMA_Jira3123 is set -->
<value><integer>1776</integer></value>
</nameValuePair>
</settingsForGroup>