Good stuff. It may be a few days before I can test/apply this.
Cheers, On 26/06/07, Brady Johnson <[EMAIL PROTECTED]> wrote:
Ok, that's comforting to know. I did run the samples and they work with my additions. I also exercised the additions with a ProjectLoader driver that I wrote, and they also worked as expected. Thanks -------------------- Brady Johnson Lead Software Developer - HydraSCA Rogue Wave Software - [EMAIL PROTECTED] -----Original Message----- From: Pete Robbins [mailto:[EMAIL PROTECTED] Sent: Tuesday, June 26, 2007 11:08 AM To: tuscany-dev@ws.apache.org Subject: Re: Tuscany SCA native/C++ : Ability to query the runtime for its loaded operations There is no "test suite" for C++ SCA. The code under "Test" is not maintained as far as I am aware and is not part of the distributions. For testing we build/run the samples. Cheers, On 26/06/07, Brady Johnson <[EMAIL PROTECTED]> wrote: > > Hello all, > > I made a jira incident for this TUSCANY-1383. > > I'm not able to get the test suite to work. Seems like it has some > very basic compilation issues (see below). I tried with a clean > environment, right out of the box, and that didn't work either. Can > someone else try it out and confirm if the test suite is broken. > > g++ -DHAVE_CONFIG_H -I. -I. -I../.. > -I/nfs/homes/bjohnson/tuscany_cpp/tuscany_svn_latest/sca/deploy/extens > io > ns/cpp/include > -I/nfs/homes/bjohnson/tuscany_cpp/tuscany_svn_latest/sca/deploy/includ > e > -I/nfs/homes/bjohnson/tuscany_cpp/tuscany_sdo_cpp-1.0-incubator-M3-src > /d eploy/include -g -O2 -MT TestImpl.lo -MD -MP -MF .deps/TestImpl.Tpo > -c TestImpl.cpp -fPIC -DPIC -o .libs/TestImpl.o > TestImpl.cpp: In member function `virtual bool > TestImpl::compareWithFile(commonj::sdo::DataObjectPtr, std::string)': > TestImpl.cpp:46: error: `Composite' was not declared in this scope > TestImpl.cpp:46: error: `composite' was not declared in this scope > TestImpl.cpp:46: error: `getInstance' is not a member of > `tuscany::sca::SCARuntime' > TestImpl.cpp:57: error: `Utils' has not been declared > TestImpl.cpp:57: error: `compareDataObjects' was not declared in this > scope > TestImpl.cpp:61: error: `Utils' has not been declared > TestImpl.cpp:61: error: `printDO' was not declared in this scope > TestImpl.cpp:63: error: `Utils' has not been declared > make[2]: *** [TestImpl.lo] Error 1 > > > Thanks > > -------------------- > Brady Johnson > Rogue Wave Software - [EMAIL PROTECTED] Lead Software > Developer - HydraSCA > > > -----Original Message----- > From: Pete Robbins [mailto:[EMAIL PROTECTED] > Sent: Wednesday, June 20, 2007 12:28 PM > To: tuscany-dev@ws.apache.org > Subject: Re: Tuscany SCA native/C++ : Ability to query the runtime for > its loaded operations > > Brady, > > Welcome aboard! The best way to proceed is to open a Jira ( > https://issues.apache.org/jira/browse/TUSCANY) describing what you are > trying to achieve then attach a patch to the Jira. It's usually a good > idea to post on tuscany_dev when you submit a patch as some of us > filter off Jira messages and don't immediately see them. Then... some > kindly committer can apply and test the patch and, if all is well, > commit it to subversion. > > What you are proposing sounds very reasonable so I will look out for a > Jira and patch. > > Cheers, > > > On 20/06/07, Brady Johnson <[EMAIL PROTECTED]> wrote: > > > > Hello all, > > > > Im investigating using TuscanySCA (C++ version) with a container > > other > > > than Axis. To do this, the container needs to be able to obtain the > > WSDL operations, etc loaded by Tuscany. I would like to propose > > extending some of the Tuscany APIs to allow them to be queried, > > since currently you can only do a find with an operation name. These > > query operations could be done either by returning an iterator to > > the internal map, or by just returning a list of map's value > > strings. The second option would probably be safer and more > > thread-safe. Below are the extensions that I propose adding: > > > > runtime/core/src/tuscany/sca/model/Composite.h/cpp > > std::list<std::string> Composite::getNamespaces(); > > > > runtime/core/src/tuscany/sca/model/WSDLDefinition.h/cpp > > std::list<std::string> WSDLDefinition::getPortTypes(); > > std::list<std::string> WSDLDefinition::getOperations( const > > std::string &portTypeName ); > > > > If its decided to allow the internal map to be iterated over, the > > interface would look something like this: > > runtime/core/src/tuscany/sca/model/Composite.h/cpp > > std::map<std::string, WSDLDefinition*>::const_iterator > > Composite::getNamespacesIteratorBegin(); > > std::map<std::string, WSDLDefinition*>::const_iterator > > Composite::getNamespacesIteratorEnd(); > > > > Once the projects have been loaded by calling: > > tuscany::sca::SCARuntime::initializeSharedRuntime() > > > > The system composite can then be obtained by calling: > > tuscany::sca::model::Composite* SCARuntime::getSystem(); > > > > With the system composite, the extension to the Composite class > > would allow you to get all of the WSDL namespaces loaded. Then for > > each namespace, the WSDLDefinition can be obtained by calling: > > WSDLDefinition* Composite::findWSDLDefinition(const std::string& > > wsdlNamespace); > > > > Then, for each WSDLDefinition, all of the WSDL PortTypes can be > > obtained by calling the getPortTypes() method above. Then for each > > PortType, the actual operations can be retreived by calling the > > getOperations() method above. > > > > Im not currently a TuscanySCA contributor, so what would it take to > > get these changes in? > > > > Thanks > > > > -------------------- > > Brady Johnson > > Rogue Wave Software - [EMAIL PROTECTED] Lead Software > > Developer - HydraSCA > > > > > > > -- > Pete > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Pete --------------------------------------------------------------------- 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]
-- Pete --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]