Const expression suport for idltowsdl
-------------------------------------
Key: YOKO-361
URL: https://issues.apache.org/jira/browse/YOKO-361
Project: Yoko - CORBA Server
Issue Type: Bug
Components: Idl2Wsdl
Reporter: Edell Nolan
Assigned To: Edell Nolan
Matteo Vescovi [25/Apr/07 06:07 AM]
I have a few questions about const declarators... Let's use the following const
declarations as examples:
const string s1 = "hello";
const string<10> s2 = "hello";
const string<10 + 2> s3 = "hello";
const string s4 = "hello" + "world";
const string s5 = "hello" << "world";
const string<10 + 2> s6 = "hello" + "world";
const long l1 = 10;
const long l2 = 10 + 20;
const long l3 = 10 + ((10 | 20 * (100 << 2)) / 2);
const float f1 = 3.14 * 10;
...and now for the questions:
- do we need to differentiate between const strings and const bounded strings?
For example, strings s1 and s2 both have the constant value of "hello". The
information about the bound is only used when validating the idl or when
converting the wsdl back to idl. Can we relax our tool and generate the same
XmlSchema and CorbaTypeMap for both?
- do expressions on const strings even make sense? Take constant strings s4 and
s5 for example. The IDL grammar allows to produce those declarations, but are
they semantically valid? How do you shift "hello" by "world"? Is the + operator
overloaded to concatenate strings?
- if we differentiate between const strings and const bounded strings, then we
will have to compute the <10 + 2> bound spec for string s6, as we can't assign
a string to the Corba anonstring type bound member. But if we do that, we lose
information and cannot get the original IDL back.
- in general, I think we should assign the full string of const_exp to the
value="" attribute of the corba:const element in the corbatypemap. That is the
value="10 + ((10 | 20 * (100 << 2)) / 2)" for the const long l3 or value="10 +
20" for const long l2, instead of value="30". Will the code generator
(wsdl2java) be able to handle this?
[ Show » ] Matteo Vescovi [25/Apr/07 06:07 AM] I have a few questions about
const declarators... Let's use the following const declarations as examples:
const string s1 = "hello"; const string<10> s2 = "hello"; const string<10 + 2>
s3 = "hello"; const string s4 = "hello" + "world"; const string s5 = "hello" <<
"world"; const string<10 + 2> s6 = "hello" + "world"; const long l1 = 10; const
long l2 = 10 + 20; const long l3 = 10 + ((10 | 20 * (100 << 2)) / 2); const
float f1 = 3.14 * 10; ...and now for the questions: - do we need to
differentiate between const strings and const bounded strings? For example,
strings s1 and s2 both have the constant value of "hello". The information
about the bound is only used when validating the idl or when converting the
wsdl back to idl. Can we relax our tool and generate the same XmlSchema and
CorbaTypeMap for both? - do expressions on const strings even make sense? Take
constant strings s4 and s5 for example. The IDL grammar allows to produce those
declarations, but are they semantically valid? How do you shift "hello" by
"world"? Is the + operator overloaded to concatenate strings? - if we
differentiate between const strings and const bounded strings, then we will
have to compute the <10 + 2> bound spec for string s6, as we can't assign a
string to the Corba anonstring type bound member. But if we do that, we lose
information and cannot get the original IDL back. - in general, I think we
should assign the full string of const_exp to the value="" attribute of the
corba:const element in the corbatypemap. That is the value="10 + ((10 | 20 *
(100 << 2)) / 2)" for the const long l3 or value="10 + 20" for const long l2,
instead of value="30". Will the code generator (wsdl2java) be able to handle
this?
[ Permlink | Delete | « Hide ] Balaji Ravi [26/Apr/07 06:19 AM]
const strings & const bounded strings: I think we should map them differently.
We should use a simple type with a restriction on the maxLength for bounded
strings.
expressions: Can we process these expressions and then output the result in the
wsdl...
I dont think we need to reproduce the same idl for these expressions. This is
an edge case which we need not tackle. I would say we can process these
expressions and simplify the wsdl generated.
[ Show » ] Balaji Ravi [26/Apr/07 06:19 AM] const strings & const bounded
strings: I think we should map them differently. We should use a simple type
with a restriction on the maxLength for bounded strings. expressions: Can we
process these expressions and then output the result in the wsdl... I dont
think we need to reproduce the same idl for these expressions. This is an edge
case which we need not tackle. I would say we can process these expressions and
simplify the wsdl generated.
[ Permlink | Delete | « Hide ] Edell Nolan [26/Apr/07 08:00 AM]
But what happens in the case
const string<10 + 2> s6 = "hello" + "world";
Should we print the string then as "hello world" but this does not necessarily
have to be another string. Its just another const expression.
Edell.
[ Show » ] Edell Nolan [26/Apr/07 08:00 AM] But what happens in the case const
string<10 + 2> s6 = "hello" + "world"; Should we print the string then as
"hello world" but this does not necessarily have to be another string. Its just
another const expression. Edell.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.