From: SourceForge.net <no...@so...> - 2009-04-28 07:07:08
|
Bugs item #2766931, was opened at 2009-04-16 09:21 Message generated for change (Comment added) made by s-hashi You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=712784&aid=2766931&group_id=128809 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: sfcb Group: Standards Compliance Status: Open Resolution: None Priority: 5 Private: No Submitted By: Shigeyoshi Hashi (s-hashi) Assigned to: Chris Buccella (buccella) Summary: Treating of empty array does not comply DSP0200 Initial Comment: I was teached following XML are valid empty array in mailing list. I issue GetInstance with following PropertyList, I expect responces do not have any properties which is described in DSP0200. a) Empty array 1 <IPARAMVALUE NAME="PropertyList"> <VALUE.ARRAY> <VALUE/> </VALUE.ARRAY> </IPARAMVALUE> b) Empty array 2 <IPARAMVALUE NAME="PropertyList"> <VALUE.ARRAY/> </IPARAMVALUE> About a), responce is filtered correctly. But, b)'s responce has all properties that are not filtered, it is not comply DSP0200. My proposal fix; in the case of b), Bison parser build same result object as a). ---------------------------------------------------------------------- >Comment By: Shigeyoshi Hashi (s-hashi) Date: 2009-04-28 16:06 Message: I would like to make more update as follows; (a) Add proposed fix for EnumerateInstances method of the InteropProvier. (b) Correct proposed fix for EnumerateInstances method of the InteropServerProvier. ---------------------------------------------------------------------- Comment By: Shigeyoshi Hashi (s-hashi) Date: 2009-04-27 17:53 Message: I would like to update patch, because I propose more fixes for InteropProvider and InteropServerProvider. About InteropProvider; InteropProvider calls getInstance() in brokerUpc.c. In this function, the empty array PropertyList is treated PropertyList=NULL, and it is not generate empty MsgSegment. My proposal is that it generates empty MsgSegment for empty array PropertyList. About InteropServerProvider; There is no PropertyList filter setting in the InteropServerProvider. I added SetPropertyFilter() function in GetInstance and EnumerateInstances. ---------------------------------------------------------------------- Comment By: Shigeyoshi Hashi (s-hashi) Date: 2009-04-27 17:40 Message: It is a little bit complicated, because instances are handled by some providers. I verified following three providers; (1) InternalProvider I checked with CIM_RegisteredProfile Instance (InstanceId=CIM:SFCB_PR) which already exists. (2) InteropProvider I create CIM_IndicationFilter instance by using CIM-XML which is described in DSP0200 Appendix B.12. Subscription Example. (3) InteropServerProvider I used CIM_NameSpace Instance (Name=root/interop) which already exists. CIM-XML; (1) InternalProvider: Request <?xml version="1.0" encoding="utf-8"?> <CIM CIMVERSION="2.0" DTDVERSION="2.0"> <MESSAGE ID="5328" PROTOCOLVERSION="1.0"> <SIMPLEREQ> <IMETHODCALL NAME="GetInstance"> <LOCALNAMESPACEPATH> <NAMESPACE NAME="root"/> <NAMESPACE NAME="interop"/> </LOCALNAMESPACEPATH> <IPARAMVALUE NAME="InstanceName"> <INSTANCENAME CLASSNAME="CIM_RegisteredProfile"> <KEYBINDING NAME="instanceid"> <KEYVALUE>CIM:SFCB_PR</KEYVALUE> </KEYBINDING> </INSTANCENAME> </IPARAMVALUE> <IPARAMVALUE NAME="PropertyList"> <VALUE.ARRAY/> </IPARAMVALUE> </IMETHODCALL> </SIMPLEREQ> </MESSAGE> </CIM> (1) InternalProvider: Response <?xml version="1.0" encoding="utf-8"?> <CIM CIMVERSION="2.0" DTDVERSION="2.0"> <MESSAGE ID="5328" PROTOCOLVERSION="1.0"> <SIMPLERSP> <IMETHODRESPONSE NAME="GetInstance"> <IRETURNVALUE> <INSTANCE CLASSNAME="cim_registeredprofile"> <PROPERTY.ARRAY NAME="AdvertiseTypeDescriptions" TYPE="string"> </PROPERTY.ARRAY> <PROPERTY.ARRAY NAME="AdvertiseTypes" TYPE="uint16"> <VALUE.ARRAY> <VALUE>3</VALUE> </VALUE.ARRAY> </PROPERTY.ARRAY> <PROPERTY NAME="RegisteredVersion" TYPE="string"> <VALUE>1.0.0</VALUE> </PROPERTY> <PROPERTY NAME="RegisteredName" TYPE="string"> <VALUE>Profile Registration</VALUE> </PROPERTY> <PROPERTY NAME="OtherRegisteredOrganization" TYPE="string"> </PROPERTY> <PROPERTY NAME="RegisteredOrganization" TYPE="uint16"> <VALUE>2</VALUE> </PROPERTY> <PROPERTY NAME="InstanceID" TYPE="string"> <VALUE>CIM:SFCB_PR</VALUE> </PROPERTY> <PROPERTY NAME="Caption" TYPE="string"> </PROPERTY> <PROPERTY NAME="Description" TYPE="string"> </PROPERTY> <PROPERTY NAME="ElementName" TYPE="string"> </PROPERTY> </INSTANCE> </IRETURNVALUE> </IMETHODRESPONSE> </SIMPLERSP> </MESSAGE> </CIM> (2) InteropProvider: Create Instance <?xml version="1.0" encoding="utf-8"?> <CIM CIMVERSION="2.0" DTDVERSION="2.0"> <MESSAGE ID="5227" PROTOCOLVERSION="1.0"> <SIMPLEREQ> <IMETHODCALL NAME="CreateInstance"> <LOCALNAMESPACEPATH> <NAMESPACE NAME="root"/> <NAMESPACE NAME="interop"/> </LOCALNAMESPACEPATH> <IPARAMVALUE NAME="NewInstance"> <INSTANCE CLASSNAME="CIM_IndicationFilter"> <PROPERTY NAME="CreationClassName" TYPE="string"> <VALUE>CIM_IndicationFilter</VALUE> </PROPERTY> <PROPERTY NAME="Name" TYPE="string"> <VALUE>ACMESubscription12345</VALUE> </PROPERTY> <PROPERTY NAME="SystemCreationClassName" TYPE="string"> <VALUE>CIM_UnitaryComputerSystem</VALUE> </PROPERTY> <PROPERTY NAME="SystemName" TYPE="string"> <VALUE>server001.acme.com</VALUE> </PROPERTY> <PROPERTY NAME="Query" TYPE="string"> <VALUE>SELECT Description, AlertType, PerceivedSeverity, ProbableCause, IndicationTime FROM CIM_AlertIndication WHERE PerceivedSeverity = 3</VALUE> </PROPERTY> <PROPERTY NAME="QueryLanguage" TYPE="string"> <VALUE>WQL</VALUE> </PROPERTY> <PROPERTY NAME="SourceNamespace" TYPE="string"> <VALUE>root/interop</VALUE> </PROPERTY> </INSTANCE> </IPARAMVALUE> </IMETHODCALL> </SIMPLEREQ> </MESSAGE> </CIM> (2) InteropProvider: Request <?xml version="1.0" encoding="utf-8"?> <CIM CIMVERSION="2.0" DTDVERSION="2.0"> <MESSAGE ID="5315" PROTOCOLVERSION="1.0"> <SIMPLEREQ> <IMETHODCALL NAME="GetInstance"> <LOCALNAMESPACEPATH> <NAMESPACE NAME="root"/> <NAMESPACE NAME="interop"/> </LOCALNAMESPACEPATH> <IPARAMVALUE NAME="InstanceName"> <INSTANCENAME CLASSNAME="CIM_IndicationFilter"> <KEYBINDING NAME="creationclassname"> <KEYVALUE>CIM_IndicationFilter</KEYVALUE> </KEYBINDING> <KEYBINDING NAME="name"> <KEYVALUE>ACMESubscription12345</KEYVALUE> </KEYBINDING> <KEYBINDING NAME="systemcreationclassname"> <KEYVALUE>CIM_UnitaryComputerSystem</KEYVALUE> </KEYBINDING> <KEYBINDING NAME="systemname"> <KEYVALUE>server001.acme.com</KEYVALUE> </KEYBINDING> </INSTANCENAME> </IPARAMVALUE> <IPARAMVALUE NAME="PropertyList"> <VALUE.ARRAY/> </IPARAMVALUE> </IMETHODCALL> </SIMPLEREQ> </MESSAGE> </CIM> (2) InteropProvider: Response <?xml version="1.0" encoding="utf-8"?> <CIM CIMVERSION="2.0" DTDVERSION="2.0"> <MESSAGE ID="5315" PROTOCOLVERSION="1.0"> <SIMPLERSP> <IMETHODRESPONSE NAME="GetInstance"> <IRETURNVALUE> <INSTANCE CLASSNAME="CIM_IndicationFilter"> <PROPERTY NAME="QueryLanguage" TYPE="string"> <VALUE>WQL</VALUE> </PROPERTY> <PROPERTY NAME="Query" TYPE="string"> <VALUE>SELECT Description, AlertType, PerceivedSeverity, ProbableCause, IndicationTime FROM CIM_AlertIndication WHERE PerceivedSeverity = 3</VALUE> </PROPERTY> <PROPERTY NAME="SourceNamespace" TYPE="string"> <VALUE>root/interop</VALUE> </PROPERTY> <PROPERTY NAME="Name" TYPE="string"> <VALUE>ACMESubscription12345</VALUE> </PROPERTY> <PROPERTY NAME="CreationClassName" TYPE="string"> <VALUE>CIM_IndicationFilter</VALUE> </PROPERTY> <PROPERTY NAME="SystemName" TYPE="string"> <VALUE>server001.acme.com</VALUE> </PROPERTY> <PROPERTY NAME="SystemCreationClassName" TYPE="string"> <VALUE>CIM_UnitaryComputerSystem</VALUE> </PROPERTY> <PROPERTY NAME="Caption" TYPE="string"> </PROPERTY> <PROPERTY NAME="Description" TYPE="string"> </PROPERTY> <PROPERTY NAME="ElementName" TYPE="string"> </PROPERTY> </INSTANCE> </IRETURNVALUE> </IMETHODRESPONSE> </SIMPLERSP> </MESSAGE> </CIM> (3) InteropServerProvider: Request <?xml version="1.0" encoding="utf-8"?> <CIM CIMVERSION="2.0" DTDVERSION="2.0"> <MESSAGE ID="4959" PROTOCOLVERSION="1.0"> <SIMPLEREQ> <IMETHODCALL NAME="GetInstance"> <LOCALNAMESPACEPATH> <NAMESPACE NAME="root"/> <NAMESPACE NAME="interop"/> </LOCALNAMESPACEPATH> <IPARAMVALUE NAME="InstanceName"> <INSTANCENAME CLASSNAME="CIM_Namespace"> <KEYBINDING NAME="Name"> <KEYVALUE>root/interop</KEYVALUE> </KEYBINDING> </INSTANCENAME> </IPARAMVALUE> <IPARAMVALUE NAME="PropertyList"> <VALUE.ARRAY/> </IPARAMVALUE> </IMETHODCALL> </SIMPLEREQ> </MESSAGE> </CIM> (3) InteropServerProvider: Response <?xml version="1.0" encoding="utf-8"?> <CIM CIMVERSION="2.0" DTDVERSION="2.0"> <MESSAGE ID="4959" PROTOCOLVERSION="1.0"> <SIMPLERSP> <IMETHODRESPONSE NAME="GetInstance"> <IRETURNVALUE> <INSTANCE CLASSNAME="CIM_Namespace"> <PROPERTY NAME="DescriptionOfClassType" TYPE="string"> </PROPERTY> <PROPERTY NAME="ClassTypeVersion" TYPE="string"> </PROPERTY> <PROPERTY NAME="ClassType" TYPE="uint16"> </PROPERTY> <PROPERTY NAME="DescriptionOfClassInfo" TYPE="string"> </PROPERTY> <PROPERTY NAME="ClassInfo" TYPE="uint16"> <VALUE>0</VALUE> </PROPERTY> <PROPERTY NAME="Name" TYPE="string"> <VALUE>root/interop</VALUE> </PROPERTY> <PROPERTY NAME="CreationClassName" TYPE="string"> <VALUE>CIM_Namespace</VALUE> </PROPERTY> <PROPERTY NAME="ObjectManagerName" TYPE="string"> <VALUE>sfcb:NO-UUID-FILE-ubuntu-vm</VALUE> </PROPERTY> <PROPERTY NAME="ObjectManagerCreationClassName" TYPE="string"> <VALUE>CIM_ObjectManager</VALUE> </PROPERTY> <PROPERTY NAME="SystemName" TYPE="string"> <VALUE>ubuntu-vm</VALUE> </PROPERTY> <PROPERTY NAME="SystemCreationClassName" TYPE="string"> <VALUE>CIM_ComputerSystem</VALUE> </PROPERTY> <PROPERTY NAME="Caption" TYPE="string"> </PROPERTY> <PROPERTY NAME="Description" TYPE="string"> </PROPERTY> <PROPERTY NAME="ElementName" TYPE="string"> </PROPERTY> </INSTANCE> </IRETURNVALUE> </IMETHODRESPONSE> </SIMPLERSP> </MESSAGE> </CIM> ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=712784&aid=2766931&group_id=128809 |