Issue 15966: XML-Based QoS Policy Settings (DDS-PSM-Cxx/DDS-PSM-Java) (dds-psm-java-ftf) Source: PrismTech (Dr. Angelo Corsaro, PhD., angelo.corsaro(at)prismtech.com) Nature: Uncategorized Issue Severity: Minor Summary: ISSUE The newly introduced XML Based Policy configuration adds new methods in the core DDS entities that allow to fetch QoS from XML filers. This solution is not ideal since if generalized, e.g. QoS configuration from an URI, JSON stream, etc., would lead to an explosion of the core DDS API. The suggestion is to remove the added methods from the core API and use instead a Builder pattern (of some form). A sketch of the suggested change is provided below: PolicyBuilder builder = PolicyBuilder::load("XMLBuilder"); TopicQos tqos = builder.topic_qos(file_name, profile_name); ============================================================================== Notice that the suggested approach allows to easily extend the supported format for QoS representation w/o any impact on the core DDS API and overall facilitate the support for multiple approaches. Resolution: Revised Text: Actions taken: January 17, 2011: received issue Discussion: End of Annotations:===== te: Mon, 17 Jan 2011 12:12:37 +0100 From: Angelo Corsaro User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.13) Gecko/20101218 Thunderbird/3.1.7 To: DDS-PSM-Java FTF , DDS-PSM-Cxx FTF , Richard Warren , Juergen Boldt Subject: ISSUE: XML-Based QoS Policy Settings (DDS-PSM-Cxx/DDS-PSM-Java) Dear All, Below the description of an issue that applies to both the DDS-PSM-Cxx and the DDS-PSM-Java. ============================================================================== ISSUE The newly introduced XML Based Policy configuration adds new methods in the core DDS entities that allow to fetch QoS from XML filers. This solution is not ideal since if generalized, e.g. QoS configuration from an URI, JSON stream, etc., would lead to an explosion of the core DDS API. The suggestion is to remove the added methods from the core API and use instead a Builder pattern (of some form). A sketch of the suggested change is provided below: PolicyBuilder builder = PolicyBuilder::load("XMLBuilder"); TopicQos tqos = builder.topic_qos(file_name, profile_name); ============================================================================== Notice that the suggested approach allows to easily extend the supported format for QoS representation w/o any impact on the core DDS API and overall facilitate the support for multiple approaches. Cheers, Angelo -- Angelo Corsaro, PhD Chief Technology Officer PrismTech 4 rue Angiboust | 91460 Marcoussis | France T +33 1 69 01 53 54 | M +33 6 42 30 75 65 --------------------------------------------------------------------------------------------------------------------------------------- http://twitter.com/acorsaro | http://opensplice.blogspot.com | http://slideshare.net/angelo.corsaro ---------------------------------------------------------------------------------------------------------------------------------------