IMHO the SERIALIZED and SERIALIZED_TS should get no header. If they had one, the ObjectStream would run into a problem during deserialization because the default UIMA binary file header does not conform to the Java serialization specification. Even it if did, existing code reading the serialized CAS from an ObjectStream would break because it expects a CasSerializer or a CasCompleteSerializer and not any kind of header object.
Cheers, -- Richard > On 22.07.2016, at 21:17, Marshall Schor <[email protected]> wrote: > > I think the model for these two formats is more general than what you are > imagining. These are formats that follow the standard Java serialization > standard, see for example, > https://docs.oracle.com/javase/7/docs/platform/serialization/spec/serialTOC.html > > The bytes corresponding to the serialized form are expected to (in general) be > written anywhere in a data output stream, perhaps preceded or followed by > (maybe > many) other serialized objects; the overall format of that stream is up to the > user designing it, including any headers the user might decide on. > > In the data output stream, each data object, including one representing the > CAS, > for example, has a format dictated by the Java standard for object > serialization. > > What error do you get when you try to deserialize a CAS object in a data > stream > with an older version of UIMA? > > -Marshall > > On 7/22/2016 9:31 AM, Peter Klügl wrote: >> So SERIALIZED and SERIALIZED_TS get no header?
