org.fourthline.cling.transport.impl
Class RecoveringGENAEventProcessorImpl

java.lang.Object
  extended by org.fourthline.cling.transport.impl.GENAEventProcessorImpl
      extended by org.fourthline.cling.transport.impl.PullGENAEventProcessorImpl
          extended by org.fourthline.cling.transport.impl.RecoveringGENAEventProcessorImpl
All Implemented Interfaces:
GENAEventProcessor, ErrorHandler

@Alternative
public class RecoveringGENAEventProcessorImpl
extends PullGENAEventProcessorImpl

Implementation based on the Xml Pull Parser XML processing API.

This processor extends PullGENAEventProcessorImpl, it will always first try to read messages regularly with the superclass' methods before trying to recover from a failure.

When the superclass can't read the message, this processor will try to recover from broken XML by for example, detecting wrongly encoded XML entities, and working around other vendor-specific bugs caused by incompatible UPnP stacks in the wild.

This processor will also return partial results, if at least a single state variable value could be recovered from the (broken) event XML.

Author:
Michael Pujos

Constructor Summary
RecoveringGENAEventProcessorImpl()
           
 
Method Summary
protected  String fixXMLEncodedLastChange(String xml)
           
 void readBody(IncomingEventRequestMessage requestMessage)
          Transforms an XML message body and adds to a collection of StateVariableValues..
 
Methods inherited from class org.fourthline.cling.transport.impl.PullGENAEventProcessorImpl
readProperties, readProperty
 
Methods inherited from class org.fourthline.cling.transport.impl.GENAEventProcessorImpl
createDocumentBuilderFactory, error, fatalError, getMessageBody, getUnprefixedNodeName, readProperties, readPropertysetElement, toString, warning, writeBody, writeProperties, writePropertysetElement
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RecoveringGENAEventProcessorImpl

public RecoveringGENAEventProcessorImpl()
Method Detail

readBody

public void readBody(IncomingEventRequestMessage requestMessage)
              throws UnsupportedDataException
Description copied from interface: GENAEventProcessor
Transforms an XML message body and adds to a collection of StateVariableValues..

Specified by:
readBody in interface GENAEventProcessor
Overrides:
readBody in class PullGENAEventProcessorImpl
Parameters:
requestMessage - The message to transform.
Throws:
UnsupportedDataException

fixXMLEncodedLastChange

protected String fixXMLEncodedLastChange(String xml)


Copyright © 2013 4th Line GmbH, Switzerland. All Rights Reserved.