Hi, I uploaded a patch for TUSCANY-1366. If someone could review and apply it that would be great.
Thanks, Michael -----Original Message----- From: Michael Yoder (JIRA) [mailto:[EMAIL PROTECTED] Sent: Friday, August 17, 2007 8:33 AM To: [email protected] Subject: [jira] Updated: (TUSCANY-1366) C++ SDO spec portability: SDORuntimeException off-spec member functions [ https://issues.apache.org/jira/browse/TUSCANY-1366?page=com.atlassian.ji ra.plugin.system.issuetabpanels:all-tabpanel ] Michael Yoder updated TUSCANY-1366: ----------------------------------- Attachment: TUSCANY-1366.txt This patch removes the off-spec API from C++ SDO Exception classes. The shift operator is kept as a global operator. All the SDO existing exceptions were using a SCA exception serverity level of warning, so SDO to SCA exception conversion uses this level of severity. In looking at the code reporting multiple exception contexts (via re-throwing) was never functional (the code to do so was commented out with crash warnings). Likewise, this code will report on the initial context where the exception was thrown. > C++ SDO spec portability: SDORuntimeException off-spec member > C++ functions > ---------------------------------------------------------------------- > - > > Key: TUSCANY-1366 > URL: https://issues.apache.org/jira/browse/TUSCANY-1366 > Project: Tuscany > Issue Type: Improvement > Components: C++ SDO, C++ Specification > Affects Versions: Cpp-M3 > Environment: portability issue -- all platforms > Reporter: Michael Yoder > Fix For: Cpp-Next > > Attachments: TUSCANY-1366.txt > > > Tuscany C++ SDO specification class SDORuntimeException has off-spec member functions used by SCA (shown in the e-mail thread below). It would seem that for portability these should be taken internal to Tuscany SDO, or submitted to the spec committee. > -----Original Message----- > From: Michael Yoder > Sent: Thursday, June 21, 2007 7:37 PM > To: '[email protected]' > Subject: RE: C++ SDO spec compliance/portability: SDORuntimeException > Thanks Pete, Yes, these issues I am putting together and posting came > up when doing a portability study using HydraSDO to build Tuscany SCA. Since the SDO spec is separate from SCA, we were thinking this would be a good goal. That seems to mean making them internal to Tuscany SDO or taking them to the committee. > Michael > -----Original Message----- > From: Pete Robbins [mailto:[EMAIL PROTECTED] > Sent: Thursday, June 21, 2007 9:02 AM > To: [email protected] > Subject: Re: C++ SDO spec compliance/portability: SDORuntimeException > Michael, An interesting set of questions! I'm not convinced that > adding methods to the spec api classes is a compliance issue (in fact it may be impossible to implement without modifying the spec apis ... constructors etc.) but it could be a portability issue if it is not clear that the methods are implementation specific. > The methods below are added so that an SDORuntimeException can contain a "stack" of locations indicating where it was thrown/rethrown etc.. These are only used within the Tuscany implementation so I guess could be moved to protected and make the classes that use them friends?? I'm not sure how useful these are anyway but the exception class pre-dates it being used for SDORuntimeException. > There are also methods to allow simple streaming: > catch(SDORuntimeException& e) > { > cout << e; > } > I like the simplicity of this but I guess we could write an SDOUtils method to do something similar instead. > I'm not sure if any of these should be mandated by the specification. > Cheers, > On 21/06/07, Michael Yoder <[EMAIL PROTECTED]> wrote: > > > > Hi, > > > > The Tuscany SDO C++ class SDORuntimeException has these public > > member functions which do not appear in the C++ 2.1 specification: > > > > > > SDO_API severity_level getSeverity() const; SDO_API void > > setSeverity(severity_level sev); SDO_API void setMessageText(const > > std::string& msg_text); SDO_API void setExceptionLocation(const > > std::string& file, > > unsigned long line, > > const std::string& function=""); > > SDO_API void setLocation(const std::string& file, > > unsigned long line, > > const std::string& function=""); > > > > SDO_API void trace(const std::string& text="%1:\n %3 %4 %2"); > > > > SDO_API virtual ostream& PrintSelf(ostream &os) const; SDO_API > > friend ostream& operator<< (ostream &os, const SDORuntimeException > > &except); > > > > > > What's the rational behind these additional member functions? Would > > it be appropriate to file a bug to have them removed from the public API? > > Or alternatively a bug for them to be submitted to the spec committee? > > > > Thanks, > > > > Michael Yoder > > Software Developer > > Rogue Wave Software > > > > -------------------------------------------------------------------- > > - To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > -- > Pete -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
