You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by Brady Johnson <bj...@roguewave.com> on 2007/06/20 20:04:29 UTC
Tuscany SCA native/C++ : Ability to query the runtime for its loaded operations
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 - brady.johnson@roguewave.com
Lead Software Developer - HydraSCA
Re: Tuscany SCA native/C++ : Ability to query the runtime for its loaded operations
Posted by Andrew Borley <aj...@gmail.com>.
Hi Brady,
That would need that standard Apache way (tm)!
Raise an issue in our Jira system (under the SCA C++ component), check
out the code head from SVN, make your changes, make sure they compile
and the basic tests run and then create a patch and attach it to the
Jira. Add a note on this thread to explain what you've changed and a
committer should check and apply the patch.
The idea is that you do the above often enough so that the committers
get bored of applying your patches and vote you on as a committer!
Cheers
Andy
On 6/20/07, Brady Johnson <bj...@roguewave.com> 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 - brady.johnson@roguewave.com
> Lead Software Developer - HydraSCA
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org
Re: Tuscany SCA native/C++ : Ability to query the runtime for its loaded operations
Posted by Pete Robbins <ro...@googlemail.com>.
Good stuff. It may be a few days before I can test/apply this.
Cheers,
On 26/06/07, Brady Johnson <bj...@roguewave.com> 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 - brady.johnson@roguewave.com
>
>
>
> -----Original Message-----
> From: Pete Robbins [mailto:robbinspg@googlemail.com]
> 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 <bj...@roguewave.com> 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 - brady.johnson@roguewave.com Lead Software
> > Developer - HydraSCA
> >
> >
> > -----Original Message-----
> > From: Pete Robbins [mailto:robbinspg@googlemail.com]
> > 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 <bj...@roguewave.com> 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 - brady.johnson@roguewave.com Lead Software
> > > Developer - HydraSCA
> > >
> > >
> >
> >
> > --
> > Pete
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
> > For additional commands, e-mail: tuscany-dev-help@ws.apache.org
> >
> >
>
>
> --
> Pete
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: tuscany-dev-help@ws.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: tuscany-dev-help@ws.apache.org
>
>
--
Pete
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org
RE: Tuscany SCA native/C++ : Ability to query the runtime for its loaded operations
Posted by Brady Johnson <bj...@roguewave.com>.
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 - brady.johnson@roguewave.com
-----Original Message-----
From: Pete Robbins [mailto:robbinspg@googlemail.com]
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 <bj...@roguewave.com> 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 - brady.johnson@roguewave.com Lead Software
> Developer - HydraSCA
>
>
> -----Original Message-----
> From: Pete Robbins [mailto:robbinspg@googlemail.com]
> 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 <bj...@roguewave.com> 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 - brady.johnson@roguewave.com Lead Software
> > Developer - HydraSCA
> >
> >
>
>
> --
> Pete
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: tuscany-dev-help@ws.apache.org
>
>
--
Pete
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org
Re: Tuscany SCA native/C++ : Ability to query the runtime for its loaded operations
Posted by Pete Robbins <ro...@googlemail.com>.
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 <bj...@roguewave.com> 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/extensio
> ns/cpp/include
> -I/nfs/homes/bjohnson/tuscany_cpp/tuscany_svn_latest/sca/deploy/include
> -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 - brady.johnson@roguewave.com
> Lead Software Developer - HydraSCA
>
>
> -----Original Message-----
> From: Pete Robbins [mailto:robbinspg@googlemail.com]
> 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 <bj...@roguewave.com> 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 - brady.johnson@roguewave.com Lead Software
> > Developer - HydraSCA
> >
> >
>
>
> --
> Pete
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: tuscany-dev-help@ws.apache.org
>
>
--
Pete
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org
RE: Tuscany SCA native/C++ : Ability to query the runtime for its loaded operations
Posted by Brady Johnson <bj...@roguewave.com>.
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/extensio
ns/cpp/include
-I/nfs/homes/bjohnson/tuscany_cpp/tuscany_svn_latest/sca/deploy/include
-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 - brady.johnson@roguewave.com
Lead Software Developer - HydraSCA
-----Original Message-----
From: Pete Robbins [mailto:robbinspg@googlemail.com]
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 <bj...@roguewave.com> 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 - brady.johnson@roguewave.com Lead Software
> Developer - HydraSCA
>
>
--
Pete
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org
Re: Tuscany SCA native/C++ : Ability to query the runtime for its loaded operations
Posted by Pete Robbins <ro...@googlemail.com>.
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 <bj...@roguewave.com> 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 - brady.johnson@roguewave.com
> Lead Software Developer - HydraSCA
>
>
--
Pete