Author: burn
Date: Tue Jun 28 18:24:08 2016
New Revision: 1750552

URL: http://svn.apache.org/viewvc?rev=1750552&view=rev
Log:
UIMA_4990 Drop incorrect use of XmiSerializationSharedData (is only for a 
service when serializing a reply to a deserialized request)

Modified:
    
uima/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/AllInOne.java
    
uima/uima-ducc/trunk/uima-ducc-user/src/main/java/org/apache/uima/ducc/user/common/DuccUimaSerializer.java
    
uima/uima-ducc/trunk/uima-ducc-user/src/main/java/org/apache/uima/ducc/user/jd/JdUserCollectionReader.java
    
uima/uima-ducc/trunk/uima-ducc-user/src/main/java/org/apache/uima/ducc/user/jp/DuccAbstractProcessContainer.java
    
uima/uima-ducc/trunk/uima-ducc-user/src/main/java/org/apache/uima/ducc/user/jp/UimaASProcessContainer.java
    
uima/uima-ducc/trunk/uima-ducc-user/src/main/java/org/apache/uima/ducc/user/jp/UimaProcessContainer.java

Modified: 
uima/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/AllInOne.java
URL: 
http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/AllInOne.java?rev=1750552&r1=1750551&r2=1750552&view=diff
==============================================================================
--- 
uima/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/AllInOne.java
 (original)
+++ 
uima/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/AllInOne.java
 Tue Jun 28 18:24:08 2016
@@ -30,8 +30,6 @@ public class AllInOne {
        
        private static DuccUimaSerializer uimaSerializer = new 
DuccUimaSerializer();
        
-       private static XmiSerializationSharedData xmiSerializationSharedData = 
new XmiSerializationSharedData();
-       
     private MsgHandler mh = new MsgHandler();
     
     private Properties jobRequestProperties = new Properties();
@@ -54,7 +52,7 @@ public class AllInOne {
        CasGenerator casGenerator;
        CasPipeline casPipeline;
 
-    private boolean timestamp;
+    //private boolean timestamp;
 
     private boolean debug;
        
@@ -68,7 +66,7 @@ public class AllInOne {
                }
          }
       // Properties will have been validated in AllInOneLauncher
-      timestamp = jobRequestProperties.containsKey(Timestamp);
+      //timestamp = jobRequestProperties.containsKey(Timestamp);
       debug = jobRequestProperties.containsKey(Debug);
        }
        
@@ -102,9 +100,9 @@ public class AllInOne {
                        mh.frameworkDebug(cid, mid, "cas:"+count);
                        
                        // Emulate a DUCC job by serializing then deserializing 
into the aggregate's possibly larger typesystem
-                       String serializedCas = 
uimaSerializer.serializeCasToXmi(cas, xmiSerializationSharedData);
+                       String serializedCas = 
uimaSerializer.serializeCasToXmi(cas);
                        CAS cas2 = casPipeline.getEmptyCas();  // Always 
returns the same CAS
-                       uimaSerializer.deserializeCasFromXmi(serializedCas, 
cas2, xmiSerializationSharedData, true, -1);
+                       uimaSerializer.deserializeCasFromXmi(serializedCas, 
cas2);
                        
                        casPipeline.process(cas2);
                        count++;

Modified: 
uima/uima-ducc/trunk/uima-ducc-user/src/main/java/org/apache/uima/ducc/user/common/DuccUimaSerializer.java
URL: 
http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-user/src/main/java/org/apache/uima/ducc/user/common/DuccUimaSerializer.java?rev=1750552&r1=1750551&r2=1750552&view=diff
==============================================================================
--- 
uima/uima-ducc/trunk/uima-ducc-user/src/main/java/org/apache/uima/ducc/user/common/DuccUimaSerializer.java
 (original)
+++ 
uima/uima-ducc/trunk/uima-ducc-user/src/main/java/org/apache/uima/ducc/user/common/DuccUimaSerializer.java
 Tue Jun 28 18:24:08 2016
@@ -19,10 +19,7 @@
 
 package org.apache.uima.ducc.user.common;
 
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
 import java.io.IOException;
-import java.io.OutputStream;
 import java.io.Reader;
 import java.io.StringReader;
 import java.io.StringWriter;
@@ -30,23 +27,10 @@ import java.io.Writer;
 
 import javax.xml.parsers.FactoryConfigurationError;
 import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.OutputKeys;
 
-import org.apache.uima.aae.InProcessCache.CacheEntry;
 import org.apache.uima.cas.CAS;
-import org.apache.uima.cas.Marker;
-import org.apache.uima.cas.SerialFormat;
-import org.apache.uima.cas.TypeSystem;
-import org.apache.uima.cas.impl.AllowPreexistingFS;
-import org.apache.uima.cas.impl.BinaryCasSerDes6;
-import org.apache.uima.cas.impl.BinaryCasSerDes6.ReuseInfo;
-import org.apache.uima.cas.impl.MarkerImpl;
-import org.apache.uima.cas.impl.OutOfTypeSystemData;
-import org.apache.uima.cas.impl.Serialization;
-import org.apache.uima.cas.impl.TypeSystemImpl;
 import org.apache.uima.cas.impl.XmiCasDeserializer;
 import org.apache.uima.cas.impl.XmiCasSerializer;
-import org.apache.uima.cas.impl.XmiSerializationSharedData;
 import org.apache.uima.util.XMLSerializer;
 import org.xml.sax.ContentHandler;
 import org.xml.sax.InputSource;
@@ -59,58 +43,17 @@ import org.xml.sax.helpers.XMLReaderFact
 //import java.util.concurrent.ConcurrentHashMap;
 
 public class DuccUimaSerializer {
-  private final ThreadLocal<XMLReader> localXmlReader = new 
ThreadLocal<XMLReader>();
-
-
-  /**
-   * Serializes CAS into a given OutputStream in Xmi format
-   * 
-   * @param stream
-   * @param aCAS
-   * @param encoding
-   * @param typeSystem
-   * @throws IOException
-   * @throws SAXException
-   */
-  public void serializeToXMI(OutputStream stream, CAS aCAS, String encoding, 
TypeSystem typeSystem,
-          OutOfTypeSystemData otsd) throws IOException, SAXException {
-
-    if (typeSystem == null)
-      typeSystem = aCAS.getTypeSystem();
-    XMLSerializer xmlSer = new XMLSerializer(stream, false);
-    if (encoding != null)
-      xmlSer.setOutputProperty(OutputKeys.ENCODING, encoding);
-
-    XmiCasSerializer ser = new XmiCasSerializer(typeSystem);
-
-    ser.serialize(aCAS, xmlSer.getContentHandler());
-  }
 
   /**
    * Utility method for serializing a CAS to an XMI String
    */
-  public String serializeCasToXmi(CAS aCAS, XmiSerializationSharedData 
serSharedData)
+  public String serializeCasToXmi(CAS aCAS)
           throws Exception {
     Writer writer = new StringWriter();
     try {
       XMLSerializer xmlSer = new XMLSerializer(writer, false);
       XmiCasSerializer ser = new XmiCasSerializer(aCAS.getTypeSystem());
-      ser.serialize(aCAS, xmlSer.getContentHandler(), null, serSharedData);
-      return writer.toString();
-    } catch (SAXException e) {
-      throw e;
-    } finally {
-      writer.close();
-    }
-  }
-
-  public String serializeCasToXmi(CAS aCAS, XmiSerializationSharedData 
serSharedData, Marker aMarker)
-          throws Exception {
-    Writer writer = new StringWriter();
-    try {
-      XMLSerializer xmlSer = new XMLSerializer(writer, false);
-      XmiCasSerializer ser = new XmiCasSerializer(aCAS.getTypeSystem());
-      ser.serialize(aCAS, xmlSer.getContentHandler(), null, serSharedData, 
aMarker);
+      ser.serialize(aCAS, xmlSer.getContentHandler());
       return writer.toString();
     } catch (SAXException e) {
       throw e;
@@ -124,122 +67,15 @@ public class DuccUimaSerializer {
    * Does both processing of requests arriving to this service
    *   and responses returning to this service, or to a client. 
    */
-  public void deserializeCasFromXmi(String anXmlStr, CAS aCAS,
-          XmiSerializationSharedData aSharedData, boolean aLenient, int 
aMergePoint)
+  public void deserializeCasFromXmi(String anXmlStr, CAS aCAS)
           throws FactoryConfigurationError, ParserConfigurationException, 
SAXException, IOException {
 
-    if (localXmlReader.get() == null) {
-      localXmlReader.set(XMLReaderFactory.createXMLReader());
-    }
     XMLReader xmlReader = XMLReaderFactory.createXMLReader(); // 
localXmlReader.get();
-
-    Reader reader = new StringReader(anXmlStr);
-    XmiCasDeserializer deser = new XmiCasDeserializer(aCAS.getTypeSystem());
-    ContentHandler handler = deser.getXmiCasHandler(aCAS, aLenient, 
aSharedData, aMergePoint);
-    xmlReader.setContentHandler(handler);
-    xmlReader.parse(new InputSource(reader));
-  }
-
-  /**
-   * Only does the processing of responses (not requests) returning from 
remotes.
-   * Has extra param: AllowPreexistingFS which can be allow, disallow, and 
ignore
-   *   This is for parallel dispatch of remotes, normally configured to 
disallow
-   *     modifications below the delta-cas point
-   *     3 cases: allow - for non parallel
-   *              disallow - for parallel, with delta cas being returned
-   *              ignore - for parallel, with no delta cas being returned
-   *                       because earlier version of client wasn't supporting 
delta cas
-   * See above method for requests and responses
-   */
-  public void deserializeCasFromXmi(String anXmlStr, CAS aCAS,
-          XmiSerializationSharedData aSharedData, boolean aLenient, int 
aMergePoint,
-          AllowPreexistingFS allow) throws FactoryConfigurationError, 
ParserConfigurationException,
-          SAXException, IOException {
-
-    if (localXmlReader.get() == null) {
-      localXmlReader.set(XMLReaderFactory.createXMLReader());
-    }
-    XMLReader xmlReader = localXmlReader.get();
     Reader reader = new StringReader(anXmlStr);
     XmiCasDeserializer deser = new XmiCasDeserializer(aCAS.getTypeSystem());
-    ContentHandler handler = deser
-            .getXmiCasHandler(aCAS, aLenient, aSharedData, aMergePoint, allow);
+    ContentHandler handler = deser.getXmiCasHandler(aCAS);
     xmlReader.setContentHandler(handler);
     xmlReader.parse(new InputSource(reader));
   }
-
-  /** Utility method for deserializing a CAS from a binary */
-  public SerialFormat deserializeCasFromBinary(byte[] binarySource, CAS aCAS) 
throws Exception {
-    ByteArrayInputStream fis = null;
-    try {
-      fis = new ByteArrayInputStream(binarySource);
-      return Serialization.deserializeCAS(aCAS, fis);
-    } catch (Exception e) {
-      throw e;
-    } finally {
-      if (fis != null) {
-        fis.close();
-      }
-    }
-  }
-
-  public byte[] serializeCasToBinary(CAS aCAS) throws Exception {
-    ByteArrayOutputStream fos = null;
-    try {
-      fos = new ByteArrayOutputStream();
-      Serialization.serializeCAS(aCAS, fos);
-      return fos.toByteArray();
-    } catch (Exception e) {
-      throw e;
-    } finally {
-      if (fos != null) {
-        fos.close();
-      }
-    }
-  }
-
-  public byte[] serializeCasToBinary(CAS aCAS, Marker aMark) throws Exception {
-    ByteArrayOutputStream fos = null;
-    try {
-      fos = new ByteArrayOutputStream();
-      Serialization.serializeCAS(aCAS, fos, aMark);
-      return fos.toByteArray();
-    } catch (Exception e) {
-      throw e;
-    } finally {
-      if (fos != null) {
-        fos.close();
-      }
-    }
-  }
-  
-  // used to return non-delta cas's (used if delta cas disallowed, for 
instance by having a CPP delegate)
-  public byte[] serializeCasToBinary6(CAS aCAS) throws Exception {
-    ByteArrayOutputStream fos = null;
-    fos = new ByteArrayOutputStream();
-    BinaryCasSerDes6 bcs = new BinaryCasSerDes6(aCAS);
-    bcs.serialize(fos);
-    return fos.toByteArray();
-  }
-
-  // used to send CASes to remotes
-  public byte[] serializeCasToBinary6(CAS aCAS, CacheEntry entry, 
TypeSystemImpl tgtTs) throws Exception {
-    ByteArrayOutputStream fos = null;
-    fos = new ByteArrayOutputStream();
-    BinaryCasSerDes6 bcs = new BinaryCasSerDes6(aCAS, tgtTs);
-    bcs.serialize(fos);
-    entry.setCompress6ReuseInfo(bcs.getReuseInfo());
-    return fos.toByteArray();
-  }
-  
-  public byte[] serializeCasToBinary6(CAS aCAS, Marker aMark, ReuseInfo 
reuseInfo) throws Exception {
-    ByteArrayOutputStream fos = null;
-    fos = new ByteArrayOutputStream();
-    BinaryCasSerDes6 bcs = new BinaryCasSerDes6(aCAS, (MarkerImpl) aMark, 
null, reuseInfo);
-    bcs.serialize(fos);
-    return fos.toByteArray();
-  }
-  
- 
   
 }

Modified: 
uima/uima-ducc/trunk/uima-ducc-user/src/main/java/org/apache/uima/ducc/user/jd/JdUserCollectionReader.java
URL: 
http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-user/src/main/java/org/apache/uima/ducc/user/jd/JdUserCollectionReader.java?rev=1750552&r1=1750551&r2=1750552&view=diff
==============================================================================
--- 
uima/uima-ducc/trunk/uima-ducc-user/src/main/java/org/apache/uima/ducc/user/jd/JdUserCollectionReader.java
 (original)
+++ 
uima/uima-ducc/trunk/uima-ducc-user/src/main/java/org/apache/uima/ducc/user/jd/JdUserCollectionReader.java
 Tue Jun 28 18:24:08 2016
@@ -25,12 +25,8 @@ import java.util.Map;
 import java.util.Map.Entry;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-
 import org.apache.uima.UIMAFramework;
 import org.apache.uima.cas.CAS;
-import org.apache.uima.cas.impl.XmiSerializationSharedData;
 import org.apache.uima.collection.CollectionException;
 import org.apache.uima.collection.CollectionReader;
 import org.apache.uima.ducc.CasHelper;
@@ -49,12 +45,10 @@ import org.apache.uima.util.InvalidXMLEx
 import org.apache.uima.util.Progress;
 import org.apache.uima.util.XMLInputSource;
 import org.apache.uima.util.XMLParser;
-import org.xml.sax.SAXException;
 
 public class JdUserCollectionReader {
 
        private static DuccUimaSerializer uimaSerializer = new 
DuccUimaSerializer();
-       private static XmiSerializationSharedData xmiSerializationSharedData = 
new XmiSerializationSharedData();
        
        private String crXml = null;
        private String crCfg = null;
@@ -183,18 +177,10 @@ public class JdUserCollectionReader {
        }
        
        public String serialize(CAS cas) throws Exception {
-               String serializedCas = uimaSerializer.serializeCasToXmi(cas, 
xmiSerializationSharedData);
+               String serializedCas = uimaSerializer.serializeCasToXmi(cas);
                return serializedCas;
        }
        
-       public CAS deserialize(String serializedCas) throws 
ResourceInitializationException, FactoryConfigurationError, 
ParserConfigurationException, SAXException, IOException {
-               CAS cas = cm.getEmptyCas();
-               boolean lenient = true;
-               int mergePoint = -1;
-               uimaSerializer.deserializeCasFromXmi(serializedCas, cas, 
xmiSerializationSharedData, lenient, mergePoint);
-               return cas;
-       }
-       
        public void recycle(CAS cas) {
                cm.recycle(cas);
        }

Modified: 
uima/uima-ducc/trunk/uima-ducc-user/src/main/java/org/apache/uima/ducc/user/jp/DuccAbstractProcessContainer.java
URL: 
http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-user/src/main/java/org/apache/uima/ducc/user/jp/DuccAbstractProcessContainer.java?rev=1750552&r1=1750551&r2=1750552&view=diff
==============================================================================
--- 
uima/uima-ducc/trunk/uima-ducc-user/src/main/java/org/apache/uima/ducc/user/jp/DuccAbstractProcessContainer.java
 (original)
+++ 
uima/uima-ducc/trunk/uima-ducc-user/src/main/java/org/apache/uima/ducc/user/jp/DuccAbstractProcessContainer.java
 Tue Jun 28 18:24:08 2016
@@ -28,7 +28,6 @@ import java.util.Properties;
 import org.apache.uima.UIMAFramework;
 import org.apache.uima.analysis_engine.metadata.AnalysisEngineMetaData;
 import org.apache.uima.cas.CAS;
-import org.apache.uima.cas.impl.XmiSerializationSharedData;
 import org.apache.uima.ducc.CasHelper;
 import org.apache.uima.ducc.user.common.DuccUimaSerializer;
 import org.apache.uima.ducc.user.jp.iface.IProcessContainer;
@@ -74,9 +73,7 @@ public abstract class DuccAbstractProces
                        cas = CasCreationUtils.createCas(tsd, tp, fsid, props);
                }
                // deserialize the CAS
-               XmiSerializationSharedData deserSharedData = new 
XmiSerializationSharedData();
-               getUimaSerializer().
-                   deserializeCasFromXmi((String)xmi, cas, deserSharedData, 
true,-1);
+               getUimaSerializer().deserializeCasFromXmi((String)xmi, cas);
                
                String key = CasHelper.getId(cas);
                cas.release();

Modified: 
uima/uima-ducc/trunk/uima-ducc-user/src/main/java/org/apache/uima/ducc/user/jp/UimaASProcessContainer.java
URL: 
http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-user/src/main/java/org/apache/uima/ducc/user/jp/UimaASProcessContainer.java?rev=1750552&r1=1750551&r2=1750552&view=diff
==============================================================================
--- 
uima/uima-ducc/trunk/uima-ducc-user/src/main/java/org/apache/uima/ducc/user/jp/UimaASProcessContainer.java
 (original)
+++ 
uima/uima-ducc/trunk/uima-ducc-user/src/main/java/org/apache/uima/ducc/user/jp/UimaASProcessContainer.java
 Tue Jun 28 18:24:08 2016
@@ -48,7 +48,6 @@ import org.apache.uima.aae.monitor.stati
 import org.apache.uima.adapter.jms.client.BaseUIMAAsynchronousEngine_impl;
 import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
 import org.apache.uima.cas.CAS;
-import org.apache.uima.cas.impl.XmiSerializationSharedData;
 import org.apache.uima.collection.EntityProcessStatus;
 import org.apache.uima.ducc.IUser;
 import org.apache.uima.util.Level;
@@ -69,10 +68,7 @@ public class UimaASProcessContainer  ext
        protected Object initializeMonitor = new Object();
        public volatile boolean initialized = false;
        private static final Class<?> CLASS_NAME = UimaASProcessContainer.class;
-       private static final char FS = 
System.getProperty("file.separator").charAt(
-                       0);
-       // use this map to pin each thread to its own instance of UimaSerializer
-//     private static Map<Long, UimaSerializer> serializerMap = new 
HashMap<Long, UimaSerializer>();
+       private static final char FS = 
System.getProperty("file.separator").charAt(0);
     private String[] deploymentDescriptors = null;
        private String[] ids = null;
     private String duccHome=null;
@@ -124,8 +120,7 @@ public class UimaASProcessContainer  ext
        public byte[] getLastSerializedError() throws Exception {
 
                if (lastError != null) {
-
-                       return super.serialize(lastError);
+                       return serialize(lastError);
                }
                return null;
 
@@ -180,8 +175,6 @@ public class UimaASProcessContainer  ext
 
                        } finally {
                        }
-                       //      Pin thread to its own CAS serializer
-//                     serializerMap.put( Thread.currentThread().getId(), new 
UimaSerializer());
                }
        }
          public static void dump(ClassLoader cl, int numLevels) {
@@ -344,10 +337,8 @@ public class UimaASProcessContainer  ext
                try {
                        // reset last error
                        lastError = null;
-                       XmiSerializationSharedData deserSharedData = new 
XmiSerializationSharedData();
                        // Use thread dedicated UimaSerializer to de-serialize 
the CAS
-                       super.getUimaSerializer().
-                               deserializeCasFromXmi((String)xmi, cas, 
deserSharedData, true,-1);
+                       getUimaSerializer().deserializeCasFromXmi((String)xmi, 
cas);
 
                        /*
                         * The following code commented for now. Re-enable when 
uima-as

Modified: 
uima/uima-ducc/trunk/uima-ducc-user/src/main/java/org/apache/uima/ducc/user/jp/UimaProcessContainer.java
URL: 
http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-user/src/main/java/org/apache/uima/ducc/user/jp/UimaProcessContainer.java?rev=1750552&r1=1750551&r2=1750552&view=diff
==============================================================================
--- 
uima/uima-ducc/trunk/uima-ducc-user/src/main/java/org/apache/uima/ducc/user/jp/UimaProcessContainer.java
 (original)
+++ 
uima/uima-ducc/trunk/uima-ducc-user/src/main/java/org/apache/uima/ducc/user/jp/UimaProcessContainer.java
 Tue Jun 28 18:24:08 2016
@@ -34,7 +34,6 @@ import org.apache.uima.analysis_engine.A
 import org.apache.uima.analysis_engine.AnalysisEngineManagement;
 import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
 import org.apache.uima.cas.CAS;
-import org.apache.uima.cas.impl.XmiSerializationSharedData;
 import org.apache.uima.ducc.user.common.UimaUtils;
 import 
org.apache.uima.ducc.user.jp.uima.UimaAnalysisEngineInstancePoolWithThreadAffinity;
 import org.apache.uima.impl.UimaVersion;
@@ -107,8 +106,7 @@ public class UimaProcessContainer extend
        public byte[] getLastSerializedError() throws Exception {
 
                if (lastError != null) {
-
-                       return super.serialize(lastError);
+                       return serialize(lastError);
                }
                return null;
 
@@ -188,10 +186,8 @@ public class UimaProcessContainer extend
                try {
                        // reset last error
                        lastError = null;
-                       XmiSerializationSharedData deserSharedData = new 
XmiSerializationSharedData();
                        // deserialize the CAS
-                       super.getUimaSerializer().
-                           deserializeCasFromXmi((String)xmi, cas, 
deserSharedData, true,-1);
+                       getUimaSerializer().deserializeCasFromXmi((String)xmi, 
cas);
 
                        // the following checks out AE instance pinned to this 
thread
                        ae = instanceMap.checkout();
@@ -222,7 +218,7 @@ public class UimaProcessContainer extend
                        
                        return metricsList;
                } catch( Throwable e ) {
-                       super.lastError = e;
+                       lastError = e;
                        Logger logger = UIMAFramework.getLogger();
                        logger.log(Level.WARNING, "UimaProcessContainer", e);
                        e.printStackTrace();


Reply via email to