| Hi Fabian, 
 On 2/15/2011 11:47 PM, Fabian Meyer wrote:
 
      
      
      Using non-serializable object as shared objects
      
      Hi,
 is there a way to use non-serializable object as shared
          objects in ECF? At the moment I'm using somethings that looks
          a littly hacky to me and doesn't feel correct...
 
      I wrote a bundle which tracks the
          IContainerManager services. When a new SOContainer is created
          I'm calling the setSharedObjectMessageSerializer to inject my
          own message serializer. The serializer uses a special input
          and output stream for object reading/writing where known
          non-serializable objects are serialized by hand and wrapped in
          a container.
 @Override
 protected Object replaceObject(Object obj) throws IOException
          {
 if (obj instanceof OWLObject) {
 OWLObjectContainer cont = new
          OWLObjectContainer();
 
 final String owlObjectString =
          renderer.render((OWLObject) obj);
 cont.setOWLObjectString(owlObjectString);
 
 return cont;
 }
 
 return obj;
 }
 
 On the client side the container is resolved and replaced by
          the unserialiable object.
 
 @Override
 protected Object resolveObject(Object obj) throws IOException
          {
 
 if (obj instanceof OWLObjectContainer) {
 String owlObjectString = ((OWLObjectContainer)
          obj).getOWLObjectString();
 OWLObject owlObj =
          parser.parse(owlObjectString));
 return owlObj;
 }
 
 return obj;
 }
 
 I'm not sure I understand...this is working for you...but it doesn't
    seem correct?
 
 
 
 
      
          Is it possible to register something like a "serializer
          service" in ecf that is used to serialize a special class of
          objects?
 No, not currently.  It would be perfectly feasible to introduce such
    a serializer service (presumably meant to be an OSGi service using
    whiteboard pattern?), so please open an enhancement/bug to that
    effect.  And if you can help implement, please do...as our resources
    for new features are currently minimal.
 
 Scott
 
 
 
 |