Bug 4085 - CIAO can not handle <portName>supports</portName> correctly.
Summary: CIAO can not handle <portName>supports</portName> correctly.
Status: NEW
Alias: None
Product: CIAO
Classification: Unclassified
Component: CIAO Container Implementation (show other bugs)
Version: 1.1.7
Hardware: All All
: P3 normal
Assignee: DOC Center Support List (internal)
URL:
Depends on:
Blocks:
 
Reported: 2013-01-22 00:52 CST by Jiang Wei
Modified: 2013-01-22 06:27 CST (History)
1 user (show)

See Also:


Attachments
fix it myself. Seems to work fine (1.11 KB, patch)
2013-01-22 00:55 CST, Jiang Wei
Details
autotest -- cd $CIAO_ROOT/tests/DAnCE && tar xzf test.tgz (3.10 KB, application/octet-stream)
2013-01-22 06:27 CST, Jiang Wei
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jiang Wei 2013-01-22 00:52:08 CST
Common Object Request Broker Architecture (CORBA) Specification, Version 3.3
Part 3: CORBA Component Model
15.3.1 Component

If a CCM home or component supports an interface, their ComponentInterfaceDescription has a special port named “supports” that can be used in connections for any of the “supported” interfaces. If, in an assembly, a connection is to be provided by any of the component’s or home’s supported interfaces, then the port name of the ComponentExternalPortEndpoint or SubcomponentPortEndpoint class is “supports.” For CCM homes, this port also provides their equivalent interface. The “supports” port for CCM components does not provide the equivalent interface, since this would be problematic for assembly implementations of components.
Comment 1 Jiang Wei 2013-01-22 00:55:12 CST
Created attachment 1440 [details]
fix it myself. Seems to work fine
Comment 2 Johnny Willemsen 2013-01-22 01:02:18 CST
Can you provide an automated unit test as reproducer, see CIAO/tests/DAnCE/ExecutionManager-Deployments for tests that could be used as starting point. I would advice not to depend heavily on supports if possible, it is very likely that a future component model doesn't support this at all.
Comment 3 Johnny Willemsen 2013-01-22 01:55:18 CST
Another option would be to handle this in the servant as port name, something to look at when we have an automated reproducer
Comment 4 Jiang Wei 2013-01-22 06:27:49 CST
Created attachment 1442 [details]
autotest -- cd $CIAO_ROOT/tests/DAnCE && tar xzf test.tgz 

[jw@cool ExecutionManager-Deployments]$ ./run_test.pl SimpleSuportsConnection.cdp
Starting test for deployment SimpleSuportsConnection.cdp
Starting Naming Service
Invoking node daemon
Run node daemon
Run node daemon
Invoking execution manager
Invoking executor - launch the application -
SimpleSupports_exec_i::hello - Got the following information from trig port: Test successful; hello from SimpleUser.
Teardown the application
Executor finished.


$ tar czf test.tgz Components/SimpleSupports.idl  Components/SimpleSupports.mpc  Components/SimpleSupports_exec.h  Components/SimpleSupports_exec.cpp ExecutionManager-Deployments/SimpleSuportsConnection.cdp