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 2012/01/20 05:03:53 UTC

svn commit: r1233752 - /uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/OperationalProperties_impl.java

Author: schor
Date: Fri Jan 20 04:03:53 2012
New Revision: 1233752

URL: http://svn.apache.org/viewvc?rev=1233752&view=rev
Log:
[UIMA-2350] make operational properties creation from xml have proper defaults

Modified:
    uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/OperationalProperties_impl.java

Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/OperationalProperties_impl.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/OperationalProperties_impl.java?rev=1233752&r1=1233751&r2=1233752&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/OperationalProperties_impl.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/OperationalProperties_impl.java Fri Jan 20 04:03:53 2012
@@ -20,6 +20,11 @@
 package org.apache.uima.resource.metadata.impl;
 
 import org.apache.uima.resource.metadata.OperationalProperties;
+import org.apache.uima.util.InvalidXMLException;
+import org.apache.uima.util.XMLParser;
+import org.apache.uima.util.XMLParser.ParsingOptions;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
 
 public class OperationalProperties_impl extends MetaDataObject_impl implements
         OperationalProperties {
@@ -85,4 +90,29 @@ public class OperationalProperties_impl 
           new PropertyXmlInfo[] { new PropertyXmlInfo("modifiesCas"),
               new PropertyXmlInfo("multipleDeploymentAllowed"),
               new PropertyXmlInfo("outputsNewCASes") });
+
+  /* (non-Javadoc)
+   * @see org.apache.uima.resource.metadata.impl.MetaDataObject_impl#buildFromXMLElement(org.w3c.dom.Element, org.apache.uima.util.XMLParser, org.apache.uima.util.XMLParser.ParsingOptions)
+   */
+  @Override
+  public void buildFromXMLElement(Element aElement, XMLParser aParser, ParsingOptions aOptions)
+      throws InvalidXMLException {
+    // overridden to set proper defaults
+    // https://issues.apache.org/jira/browse/UIMA-2350
+    // These change depending on the element which is the parent of the parent of this element
+    String grandParentName = "";
+    Node p = aElement.getParentNode();
+    if (p instanceof Element) {
+      Node gp = p.getParentNode();
+      if (gp instanceof Element) {
+        grandParentName = ((Element) gp).getTagName();
+      }
+    }
+    setModifiesCas(grandParentName.equals("casConsumerDescription") ? false : true);
+    setOutputsNewCASes(grandParentName.equals("collectionReaderDescription") ? true : false);
+    setMultipleDeploymentAllowed(grandParentName.equals("collectionReaderDescription") ||
+                                 grandParentName.equals("casConsumerDescription") ? false : true);   
+    super.buildFromXMLElement(aElement, aParser, aOptions);
+  }
 }
+