You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by sc...@apache.org on 2008/01/27 15:14:54 UTC
svn commit: r615607 - in
/incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata:
LanguagePrecondition.java impl/LanguagePrecondition_impl.java
Author: schor
Date: Sun Jan 27 06:14:51 2008
New Revision: 615607
URL: http://svn.apache.org/viewvc?rev=615607&view=rev
Log:
[UIMA-722]
Modified:
incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/LanguagePrecondition.java
incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/LanguagePrecondition_impl.java
Modified: incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/LanguagePrecondition.java
URL: http://svn.apache.org/viewvc/incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/LanguagePrecondition.java?rev=615607&r1=615606&r2=615607&view=diff
==============================================================================
--- incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/LanguagePrecondition.java (original)
+++ incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/LanguagePrecondition.java Sun Jan 27 06:14:51 2008
@@ -50,6 +50,11 @@
* {@link #setDefault(boolean) default} property determines whether this precondition is
* satisfied.
*
+ * The ISO language identifiers are cannonicalized by lower-casing them and replacing
+ * underscores with hyphens. Also, if any of the identifiers are x-unspecified, the array
+ * is replaced with an array of just one element: x-unspecified, since all languages are defined
+ * to match that one.
+ *
* @param aLanguages
* the languages that satisfy this precondition
*
Modified: incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/LanguagePrecondition_impl.java
URL: http://svn.apache.org/viewvc/incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/LanguagePrecondition_impl.java?rev=615607&r1=615606&r2=615607&view=diff
==============================================================================
--- incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/LanguagePrecondition_impl.java (original)
+++ incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/LanguagePrecondition_impl.java Sun Jan 27 06:14:51 2008
@@ -27,6 +27,7 @@
import org.apache.uima.cas.ConstraintFactory;
import org.apache.uima.cas.FSMatchConstraint;
import org.apache.uima.cas.FSTypeConstraint;
+import org.apache.uima.cas.text.Language;
import org.apache.uima.resource.metadata.LanguagePrecondition;
/**
@@ -70,7 +71,18 @@
throw new UIMA_IllegalArgumentException(UIMA_IllegalArgumentException.ILLEGAL_ARGUMENT,
new Object[] { aValue, "aValue", "setComparisonValue" });
}
- super.setComparisonValue(aValue);
+ String [] languages = (String []) aValue;
+ String [] normalizedLanguages = new String[languages.length];
+ int i = 0;
+ for (String language : languages) {
+ normalizedLanguages[i++] = Language.normalize(language);
+ if (Language.UNSPECIFIED_LANGUAGE.equals(normalizedLanguages[i-1])) {
+ // return new object to guard against modifications
+ super.setComparisonValue(new String[]{Language.UNSPECIFIED_LANGUAGE});
+ return;
+ }
+ }
+ super.setComparisonValue(normalizedLanguages);
}
/**