Issue 3575: Custom marshal does not work for certain valuetypes (java-rtf) Source: Borland Software Corporation (Mr. Vijaykumar Natarajan, nobody) Nature: Uncategorized Issue Severity: Summary: This was discussed in the core rtf in boston, and the consensus was that this would be a java only issue and could be fixed in the language mapping directly. The issue: Boxed valuetypes, abstract interfaces and regular valuetypes (these can be marshaled but not in optimized format) cannot be marshaled or unmarshaled when using custom marshaling. This is because the Data*Stream APIs do not provide the requisite interfaces. Proposal: Add two new interfaces in java defined as follows package org.omg.CORBA; public interface CustomOutputStream extends org.omg.CORBA.DataOutputStream { public void write_Value(java.io.Serializable value, java.lang.String repId); // optimized valuetype writes public void write_Value(java.io.Serializable value, org.omg.CORBA.portable.BoxedValueHelper helper); //boxed valuetypes public void write_Abstract(java.lang.Object obj); // abstract interfaces } public interface CustomInputStream extends org.omg.CORBA.DataInputStream { public java.io.Serializable read_value(java.lang.String repId); // optimized valuetype reads public java.io.Serializable read_value(java.lang.Class expected); // Is this needed??? public java.lang.Object read_abstract_interface(); // abstract interfaces public java.lang.Object read_abstract_interface(java.lang.Class expected); // Is this needed??? public java.io.Serializable read_value(org.omg.CORBA.portable.BoxedValueHelper helper); // boxed valuetypes } Resolution: resolved, see below Revised Text: Add paragraph to section 1.13.1.3 CustomMarshal interface The stream APIs that are passed as arguments for the marshal and unmarshal methods are not sufficient to marshal all valuetypes. In order to support custom marshaling of valuetypes, the ORB shall actually pass an instance of CustomOutputStream and CustomInputStream to these methods respectively (see section 1.21.5 for information on Custom stream APIs). Add section following Streaming APIs (section 1.21.4), and adjust section numbers following; also add the CustomOutputStream and CustomInputStream interfaces to the Source zip file, in the org.omg.CORBA package 1.21.5 Custom Streaming APIs The Custom streaming APIs provide for the reading and writing of all the different valuetypes that may be custom marshaled. The semantics of the methods in these interfaces are identical to their counterparts (with identical signatures) in the CORBA_2_3 portable streaming APIs. public interface CustomOutputStream extends org.omg.CORBA.DataOutputStream { public void write_value(java.io.Serializable value); public void write_value(java.io.Serializable value, java.lang.String repId); public void write_value(java.io.Serializable value, org.omg.CORBA.portable.BoxedValueHelper helper); public void write_abstract_interface(java.lang.Object obj); } public interface CustomInputStream extends org.omg.CORBA.DataInputStream { public java.io.Serializable read_value(); public java.io.Serializable read_value(java.lang.String repId); public java.io.Serializable read_value(java.lang.Class expected); public java.lang.Object read_abstract_interface(); public java.lang.Object read_abstract_interface(java.lang.Class expected); public java.io.Serializable read_value( org.omg.CORBA.portable.BoxedValueHelper helper); // boxed valuetypes } Actions taken: April 20, 2000: received issue October 3, 2001: closed issue Discussion: End of Annotations:===== Date: Thu, 20 Apr 2000 15:40:15 -0700 From: "Vijaykumar Natarajan" X-Mailer: Mozilla 4.51 [en] (WinNT; I) X-Accept-Language: en MIME-Version: 1.0 To: java-rtf@omg.org Subject: Custom marshal does not work for certain valuetypes Content-Type: multipart/mixed; boundary="------------5A2E64EF60F2A9D4E1A82F86" X-UIDL: Mn\!!gW^!!1cC!!f2i!! This was discussed in the core rtf in boston, and the consensus was that this would be a java only issue and could be fixed in the language mapping directly. The issue: Boxed valuetypes, abstract interfaces and regular valuetypes (these can be marshaled but not in optimized format) cannot be marshaled or unmarshaled when using custom marshaling. This is because the Data*Stream APIs do not provide the requisite interfaces. Proposal: Add two new interfaces in java defined as follows package org.omg.CORBA; public interface CustomOutputStream extends org.omg.CORBA.DataOutputStream { public void write_Value(java.io.Serializable value, java.lang.String repId); // optimized valuetype writes public void write_Value(java.io.Serializable value, org.omg.CORBA.portable.BoxedValueHelper helper); //boxed valuetypes public void write_Abstract(java.lang.Object obj); // abstract interfaces } public interface CustomInputStream extends org.omg.CORBA.DataInputStream { public java.io.Serializable read_value(java.lang.String repId); // optimized valuetype reads public java.io.Serializable read_value(java.lang.Class expected); // Is this needed??? public java.lang.Object read_abstract_interface(); // abstract interfaces public java.lang.Object read_abstract_interface(java.lang.Class expected); // Is this needed??? public java.io.Serializable read_value(org.omg.CORBA.portable.BoxedValueHelper helper); // boxed valuetypes } Comments? Thanks, Vijay [] vijayn.vcf Date: Fri, 23 Jun 2000 15:14:28 +0100 From: Simon Nash Organization: IBM X-Mailer: Mozilla 4.72 [en] (Windows NT 5.0; I) X-Accept-Language: en MIME-Version: 1.0 To: Mary Leland CC: java-rtf@omg.org Subject: Issue 3575: Custom marshal does not work for certain valuetypes Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii X-UIDL: jf,!!M04!!m^Ce9a*Sd9 The names of the read and write methods in the proposal are inconsistent. The output stream methods should be changed to match those in the input stream, or vice versa. Unfortunately we have a historical inconsistency between the IDL names for these methods and the Java names in the portable streams. I think the cleanest way to resolve this is to use the Java names in these Java subclasses, including defining alias methods for those whose IDL name is "wrong". This would produce the following definitions: public interface CustomOutputStream extends org.omg.CORBA.DataOutputStream { public void write_value(java.io.Serializable value); // alias for naming consistency public void write_value(java.io.Serializable value, java.lang.String repId); // optimized valuetype writes public void write_value(java.io.Serializable value, org.omg.CORBA.portable.BoxedValueHelper helper); // boxed valuetypes public void write_abstract_interface(java.lang.Object obj); // alias for naming consistency } public interface CustomInputStream extends org.omg.CORBA.DataInputStream { public java.io.Serializable read_value(); // alias for naming consistency public java.io.Serializable read_value(java.lang.String repId); // optimized valuetype reads public java.io.Serializable read_value(java.lang.Class expected); // Is this needed??? public java.lang.Object read_abstract_interface(); // alias for naming consistency public java.lang.Object read_abstract_interface(java.lang.Class expected); // Is this needed??? public java.io.Serializable read_value( org.omg.CORBA.portable.BoxedValueHelper helper); // boxed valuetypes } Regarding the two methods whose need is questioned, they both support optimizations so are not strictly needed. However it seems sensible to provide them since they can easily be supported by delegation to the underlying portable streams. Simon -- Simon C Nash, Technology Architect, IBM Java Technology Centre Tel. +44-1962-815156 Fax +44-1962-818999 Hursley, England Internet: nash@hursley.ibm.com Lotus Notes: Simon Nash@ibmgb Date: Fri, 23 Jun 2000 10:43:19 -0700 From: "Vijaykumar Natarajan" X-Mailer: Mozilla 4.72 [en] (WinNT; U) X-Accept-Language: en MIME-Version: 1.0 To: Simon Nash , java-rtf@omg.org Subject: Re: Issue 3575: Custom marshal does not work for certain valuetypes References: <395370C4.B73E4D78@hursley.ibm.com> Content-Type: multipart/mixed; boundary="------------FE9E075350E993095FE26DD4" X-UIDL: :6+!!]"Y!!QB2!!W@md9 Hi Simon, There definitely is a lot of inconsistency. However, the proposed solution is inconsistent w/ its base class too. The org.omg.CORBA.DataOutputStream defines write_Value instead of write_value (which is consistent with its IDL). and so I would only change the DataInputStream to use read_Value instead of read_value. That would imply the following definitions. package org.omg.CORBA; public interface CustomOutputStream extends org.omg.CORBA.DataOutputStream { public void write_Value(java.io.Serializable value, java.lang.String repId); // optimized valuetype writes public void write_Value(java.io.Serializable value, org.omg.CORBA.portable.BoxedValueHelper helper); //boxed valuetypes public void write_Abstract(java.lang.Object obj); // abstract interfaces } public interface CustomInputStream extends org.omg.CORBA.DataInputStream { public java.io.Serializable read_Value(java.lang.String repId); // optimized valuetype reads public java.io.Serializable read_Value(java.lang.Class expected); // remove already exists in base /* public java.lang.Object read_Abstract(); // abstract interfaces */ public java.lang.Object read_Abstract(java.lang.Class expected); public java.io.Serializable read_Value(org.omg.CORBA.portable.BoxedValueHelper helper); // boxed valuetypes } Thanks, Vijay Simon Nash wrote: > The names of the read and write methods in the proposal are inconsistent. > The output stream methods should be changed to match those in the input > stream, or vice versa. Unfortunately we have a historical inconsistency > between the IDL names for these methods and the Java names in the portable > streams. I think the cleanest way to resolve this is to use the Java > names in these Java subclasses, including defining alias methods for those > whose IDL name is "wrong". This would produce the following definitions: > > public interface CustomOutputStream extends org.omg.CORBA.DataOutputStream { > public void write_value(java.io.Serializable value); > // alias for naming consistency > public void write_value(java.io.Serializable value, java.lang.String repId); > // optimized valuetype writes > public void write_value(java.io.Serializable value, > org.omg.CORBA.portable.BoxedValueHelper helper); // boxed valuetypes > public void write_abstract_interface(java.lang.Object obj); > // alias for naming consistency > } > > public interface CustomInputStream extends org.omg.CORBA.DataInputStream { > public java.io.Serializable read_value(); > // alias for naming consistency > public java.io.Serializable read_value(java.lang.String repId); > // optimized valuetype reads > public java.io.Serializable read_value(java.lang.Class expected); > // Is this needed??? > public java.lang.Object read_abstract_interface(); > // alias for naming consistency > public java.lang.Object read_abstract_interface(java.lang.Class expected); > // Is this needed??? > public java.io.Serializable read_value( > org.omg.CORBA.portable.BoxedValueHelper helper); // boxed valuetypes > } > > Regarding the two methods whose need is questioned, they both support > optimizations so are not strictly needed. However it seems sensible to > provide them since they can easily be supported by delegation to the > underlying portable streams. > > Simon > -- > Simon C Nash, Technology Architect, IBM Java Technology Centre > Tel. +44-1962-815156 Fax +44-1962-818999 Hursley, England > Internet: nash@hursley.ibm.com Lotus Notes: Simon Nash@ibmgb [] vijayn2.vcf Date: Sat, 24 Jun 2000 20:00:48 +0100 From: Simon Nash Organization: IBM X-Mailer: Mozilla 4.72 [en] (Windows NT 5.0; I) X-Accept-Language: en MIME-Version: 1.0 To: Vijaykumar Natarajan CC: java-rtf@omg.org Subject: Re: Issue 3575: Custom marshal does not work for certain valuetypes References: <395370C4.B73E4D78@hursley.ibm.com> <3953A1B7.A5FDE57D@inprise.com> Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii X-UIDL: nG$e911gd9(! > Hi Simon, > > There definitely is a lot of inconsistency. However, the proposed solution is > inconsistent w/ its base class too. The org.omg.CORBA.DataOutputStream defines > write_Value instead of write_value (which is consistent with its IDL). and so I > would only change the DataInputStream to use read_Value instead of read_value. > > That would imply the following definitions. > > package org.omg.CORBA; > > public interface CustomOutputStream extends org.omg.CORBA.DataOutputStream { > public void write_Value(java.io.Serializable value, java.lang.String repId); > // optimized valuetype writes > public void write_Value(java.io.Serializable value, > org.omg.CORBA.portable.BoxedValueHelper helper); //boxed valuetypes > public void write_Abstract(java.lang.Object obj); // abstract interfaces > } > > public interface CustomInputStream extends org.omg.CORBA.DataInputStream { > public java.io.Serializable read_Value(java.lang.String repId); // optimized > valuetype reads > public java.io.Serializable read_Value(java.lang.Class expected); > > // remove already exists in base > /* public java.lang.Object read_Abstract(); // abstract interfaces */ > > public java.lang.Object read_Abstract(java.lang.Class expected); > public java.io.Serializable > read_Value(org.omg.CORBA.portable.BoxedValueHelper helper); // boxed valuetypes > } > > Thanks, > Vijay > > Simon Nash wrote: > > > The names of the read and write methods in the proposal are inconsistent. > > The output stream methods should be changed to match those in the input > > stream, or vice versa. Unfortunately we have a historical inconsistency > > between the IDL names for these methods and the Java names in the portable > > streams. I think the cleanest way to resolve this is to use the Java > > names in these Java subclasses, including defining alias methods for those > > whose IDL name is "wrong". This would produce the following definitions: > > > > public interface CustomOutputStream extends org.omg.CORBA.DataOutputStream { > > public void write_value(java.io.Serializable value); > > // alias for naming consistency > > public void write_value(java.io.Serializable value, java.lang.String repId); > > // optimized valuetype writes > > public void write_value(java.io.Serializable value, > > org.omg.CORBA.portable.BoxedValueHelper helper); // boxed valuetypes > > public void write_abstract_interface(java.lang.Object obj); > > // alias for naming consistency > > } > > > > public interface CustomInputStream extends org.omg.CORBA.DataInputStream { > > public java.io.Serializable read_value(); > > // alias for naming consistency > > public java.io.Serializable read_value(java.lang.String repId); > > // optimized valuetype reads > > public java.io.Serializable read_value(java.lang.Class expected); > > // Is this needed??? > > public java.lang.Object read_abstract_interface(); > > // alias for naming consistency > > public java.lang.Object read_abstract_interface(java.lang.Class expected); > > // Is this needed??? > > public java.io.Serializable read_value( > > org.omg.CORBA.portable.BoxedValueHelper helper); // boxed valuetypes > > } > > > > Regarding the two methods whose need is questioned, they both support > > optimizations so are not strictly needed. However it seems sensible to > > provide them since they can easily be supported by delegation to the > > underlying portable streams. > > > > Simon > > -- > > Simon C Nash, Technology Architect, IBM Java Technology Centre > > Tel. +44-1962-815156 Fax +44-1962-818999 Hursley, England > > Internet: nash@hursley.ibm.com Lotus Notes: Simon Nash@ibmgb -- Simon C Nash, Technology Architect, IBM Java Technology Centre Tel. +44-1962-815156 Fax +44-1962-818999 Hursley, England Internet: nash@hursley.ibm.com Lotus Notes: Simon Nash@ibmgb Date: Tue, 22 May 2001 13:41:48 -0400 From: Mary Leland X-Mailer: Mozilla 4.75 [en] (Windows NT 5.0; U) X-Accept-Language: en MIME-Version: 1.0 To: Java RTF Subject: Issue 3575 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii X-UIDL: =m`!!*!+e9Q7Z!!(E#"! All (especially Simon and Vijay), There was a fairly lively discussion of this issue (Issue 3575: Custom marshal does not work for certain valuetypes) for a while (see the archive at http://cgi.omg.org/issues/issue3575.txt), but it seems to have died down without a consensus being reached. So, where do we stand on this one? Thanks, Mary Date: Tue, 22 May 2001 23:42:44 +0100 From: Simon Nash Organization: IBM X-Mailer: Mozilla 4.72 [en] (Windows NT 5.0; I) X-Accept-Language: en MIME-Version: 1.0 To: Mary Leland CC: Java RTF , vnatarajan@bprland.com Subject: Re: Issue 3575 References: <3B0AA4DC.30446A0C@fpk.hp.com> Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii X-UIDL: j54e9J0dd9;`hd9EThd9 Status: RO Mary, I think we are close to consensus. Vijay made a proposal and I sent some comments. Perhaps Vijay could make a revised proposal that incorporates my comments. Simon Mary Leland wrote: > > All (especially Simon and Vijay), > > There was a fairly lively discussion of this issue > (Issue 3575: Custom marshal does not work for certain valuetypes) > for a while (see the archive at http://cgi.omg.org/issues/issue3575.txt), > but it seems to have died down without a consensus being reached. > So, where do we stand on this one? > > Thanks, > Mary -- Simon C Nash, Chief Technical Officer, IBM Java Technology Tel. +44-1962-815156 Fax +44-1962-818999 Hursley, England Internet: nash@hursley.ibm.com Lotus Notes: Simon Nash@ibmgb Date: Mon, 04 Jun 2001 09:51:05 -0700 From: Vijaykumar Natarajan Subject: Re: Issue 3575 To: Mary Leland Cc: Vijaykumar Natarajan , Simon Nash , java-rtf@omg.org Message-id: <3B1BBC79.293986E5@inprise.com> Organization: Borland Software Corporation MIME-version: 1.0 X-Mailer: Mozilla 4.51 [en]C-CCK-MCD (WinNT; U) X-Accept-Language: en References: <3B0AA4DC.30446A0C@fpk.hp.com> <3B0AEB64.55B102D9@hursley.ibm.com> <3B1B88DC.C90AA2EF@fpk.hp.com> Content-Type: multipart/mixed; boundary="Boundary_(ID_kYVafjlaFn2KTZxNSTh1kg)" X-UIDL: ^QO!!Lhdd9Ei4e9#K-e9 Hi Mary, Here's a formal proposal for this issue: Revised text: Add paragraph to section 1.13.1.3 CustomMarshal interface The stream APIs that are passed as arguments for the marshal and unmarshal methods are not sufficient to marshal all valuetypes. In order to support custom marshaling of valuetypes, the ORB shall actually pass an instance of CustomOutputStream and CustomInputStream to these methods respectively (see section xxx for information on Custom stream APIs). Add section following Streaming APIs (section 1.21.4), and adjust section numbers following: 1.21.5 Custom Streaming APIs The Custom streaming APIs provide for the reading and writing of all the different valuetypes that may be custom marshaled. The semantics of the methods in these interfaces are identical to their counterparts (with identical signatures) in the CORBA_2_3 portable streaming APIs. public interface CustomOutputStream extends org.omg.CORBA.DataOutputStream { public void write_value(java.io.Serializable value); public void write_value(java.io.Serializable value, java.lang.String repId); public void write_value(java.io.Serializable value, org.omg.CORBA.portable.BoxedValueHelper helper); public void write_abstract_interface(java.lang.Object obj); } public interface CustomInputStream extends org.omg.CORBA.DataInputStream { public java.io.Serializable read_value(); public java.io.Serializable read_value(java.lang.String repId); public java.io.Serializable read_value(java.lang.Class expected); public java.lang.Object read_abstract_interface(); public java.lang.Object read_abstract_interface(java.lang.Class expected); public java.io.Serializable read_value( org.omg.CORBA.portable.BoxedValueHelper helper); // boxed valuetypes } Thanks, Vijay Mary Leland wrote: > > Vijay, > > I saw your note on the Java-to-IDL RTF mailing list about the problems > with your OMG-related email. It occurs to me that may be why we haven't > heard from you on this issue :-). Anyway, please let me know if you'll > have a chance to do a revised proposal in the next few days (say, by > Wednesday, June 6)? > > Thanks, > Mary > > Simon Nash wrote: > > > > Mary, > > I think we are close to consensus. Vijay made a proposal and I sent some comments. > > Perhaps Vijay could make a revised proposal that incorporates my comments. > > > > Simon > > > > Mary Leland wrote: > > > > > > All (especially Simon and Vijay), > > > > > > There was a fairly lively discussion of this issue > > > (Issue 3575: Custom marshal does not work for certain valuetypes) > > > for a while (see the archive at http://cgi.omg.org/issues/issue3575.txt), > > > but it seems to have died down without a consensus being reached. > > > So, where do we stand on this one? > > > > > > Thanks, > > > Mary > > > > -- > > Simon C Nash, Chief Technical Officer, IBM Java Technology > > Tel. +44-1962-815156 Fax +44-1962-818999 Hursley, England > > Internet: nash@hursley.ibm.com Lotus Notes: Simon Nash@ibmgb -- ------- Don't forget to vote in JDJ Readers' Choice Awards: http://www2.sys-con.com/java/readerschoice2001 or vote for all Borland's nominations in one go: http://www.borland.com/jdjvote.html This e-mail, and any attachments thereto, is intended only for use by the addressee(s) named herein and may contain legally privileged and/or confidential information. If you are not the intended recipient of this e-mail, you are hereby notified that any dissemination, distribution or copying of this e-mail, and any attachments thereto, is strictly prohibited. If you have received this e-mail in error, please immediately and permanently delete the original and any copy of any e-mail and any printout thereof. [] vnatarajan3.vcf Date: Tue, 05 Jun 2001 17:45:06 +0100 From: Simon Nash Organization: IBM X-Mailer: Mozilla 4.72 [en] (Windows NT 5.0; I) X-Accept-Language: en MIME-Version: 1.0 To: Mary Leland CC: Vijaykumar Natarajan , java-rtf@omg.org Subject: Re: Issue 3575 References: <3B0AA4DC.30446A0C@fpk.hp.com> <3B0AEB64.55B102D9@hursley.ibm.com> <3B1B88DC.C90AA2EF@fpk.hp.com> <3B1BBC79.293986E5@inprise.com> Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii X-UIDL: UjJ!!K5m!!)fjd9(/Rd9 Mary, I'agree with this proposal. Simon Vijaykumar Natarajan wrote: > > Hi Mary, > > Here's a formal proposal for this issue: > > Revised text: > Add paragraph to section 1.13.1.3 CustomMarshal interface > > The stream APIs that are passed as arguments for the marshal and > unmarshal methods are not sufficient to marshal all valuetypes. In order > to support custom marshaling of valuetypes, the ORB shall actually pass > an instance of CustomOutputStream and CustomInputStream to these methods > respectively (see section xxx for information on Custom stream APIs). > > Add section following Streaming APIs (section 1.21.4), and adjust > section numbers following: > > 1.21.5 Custom Streaming APIs > > The Custom streaming APIs provide for the reading and writing of all the > different valuetypes that may be custom marshaled. The semantics of the > methods in these interfaces are identical to their counterparts (with > identical signatures) in the CORBA_2_3 portable streaming APIs. > > public interface CustomOutputStream extends > org.omg.CORBA.DataOutputStream { > public void write_value(java.io.Serializable value); > public void write_value(java.io.Serializable value, java.lang.String > repId); > public void write_value(java.io.Serializable value, > org.omg.CORBA.portable.BoxedValueHelper helper); > public void write_abstract_interface(java.lang.Object obj); > } > > public interface CustomInputStream extends > org.omg.CORBA.DataInputStream { > public java.io.Serializable read_value(); > public java.io.Serializable read_value(java.lang.String repId); > public java.io.Serializable read_value(java.lang.Class expected); > public java.lang.Object read_abstract_interface(); > public java.lang.Object read_abstract_interface(java.lang.Class > expected); > public java.io.Serializable read_value( > org.omg.CORBA.portable.BoxedValueHelper helper); // boxed valuetypes > } > > Thanks, > Vijay > > Mary Leland wrote: > > > > Vijay, > > > > I saw your note on the Java-to-IDL RTF mailing list about the problems > > with your OMG-related email. It occurs to me that may be why we haven't > > heard from you on this issue :-). Anyway, please let me know if you'll > > have a chance to do a revised proposal in the next few days (say, by > > Wednesday, June 6)? > > > > Thanks, > > Mary > > > > Simon Nash wrote: > > > > > > Mary, > > > I think we are close to consensus. Vijay made a proposal and I sent some comments. > > > Perhaps Vijay could make a revised proposal that incorporates my comments. > > > > > > Simon > > > > > > Mary Leland wrote: > > > > > > > > All (especially Simon and Vijay), > > > > > > > > There was a fairly lively discussion of this issue > > > > (Issue 3575: Custom marshal does not work for certain valuetypes) > > > > for a while (see the archive at http://cgi.omg.org/issues/issue3575.txt), > > > > but it seems to have died down without a consensus being reached. > > > > So, where do we stand on this one? > > > > > > > > Thanks, > > > > Mary > > > > > > -- > > > Simon C Nash, Chief Technical Officer, IBM Java Technology > > > Tel. +44-1962-815156 Fax +44-1962-818999 Hursley, England > > > Internet: nash@hursley.ibm.com Lotus Notes: Simon Nash@ibmgb > > -- > ------- > Don't forget to vote in JDJ Readers' Choice Awards: > http://www2.sys-con.com/java/readerschoice2001 > or vote for all Borland's nominations in one go: > http://www.borland.com/jdjvote.html > > This e-mail, and any attachments thereto, is intended only for use by > the addressee(s) named herein and may contain legally privileged > and/or > confidential information. If you are not the intended recipient of > this e-mail, you are hereby notified that any dissemination, > distribution or copying of this e-mail, and any attachments thereto, > is > strictly prohibited. If you have received this e-mail in error, > please > immediately and permanently delete the original and any copy of any > e-mail and any printout thereof. -- Simon C Nash, Chief Technical Officer, IBM Java Technology Tel. +44-1962-815156 Fax +44-1962-818999 Hursley, England Internet: nash@hursley.ibm.com Lotus Notes: Simon Nash@ibmgb Date: Tue, 05 Jun 2001 13:53:50 -0400 From: Mary Leland X-Mailer: Mozilla 4.75 [en] (Windows NT 5.0; U) X-Accept-Language: en MIME-Version: 1.0 To: Vijaykumar Natarajan Cc: Simon Nash , java-rtf@omg.org Subject: Re: Issue 3575 References: <3B0AA4DC.30446A0C@fpk.hp.com> <3B0AEB64.55B102D9@hursley.ibm.com> <3B1B88DC.C90AA2EF@fpk.hp.com> <3B1BBC79.293986E5@inprise.com> Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii X-UIDL: b~a!!G?6!!J*1e9P!>e9 Vijay (and RTF Members), Thanks. I need a bit of clarification before I put this up to a vote: I think that the CustomOutputStream and CustomInputStream interfaces need to be included in the Source zip file, as well. The question is: what package do we put them in? Do we need to create a CORBA_2_4 package at this point? Thanks, Mary Vijaykumar Natarajan wrote: > > Hi Mary, > > Here's a formal proposal for this issue: > > Revised text: > Add paragraph to section 1.13.1.3 CustomMarshal interface > > The stream APIs that are passed as arguments for the marshal and > unmarshal methods are not sufficient to marshal all valuetypes. In order > to support custom marshaling of valuetypes, the ORB shall actually pass > an instance of CustomOutputStream and CustomInputStream to these methods > respectively (see section xxx for information on Custom stream APIs). > > Add section following Streaming APIs (section 1.21.4), and adjust > section numbers following: > > 1.21.5 Custom Streaming APIs > > The Custom streaming APIs provide for the reading and writing of all the > different valuetypes that may be custom marshaled. The semantics of the > methods in these interfaces are identical to their counterparts (with > identical signatures) in the CORBA_2_3 portable streaming APIs. > > public interface CustomOutputStream extends > org.omg.CORBA.DataOutputStream { > public void write_value(java.io.Serializable value); > public void write_value(java.io.Serializable value, java.lang.String > repId); > public void write_value(java.io.Serializable value, > org.omg.CORBA.portable.BoxedValueHelper helper); > public void write_abstract_interface(java.lang.Object obj); > } > > public interface CustomInputStream extends > org.omg.CORBA.DataInputStream { > public java.io.Serializable read_value(); > public java.io.Serializable read_value(java.lang.String repId); > public java.io.Serializable read_value(java.lang.Class expected); > public java.lang.Object read_abstract_interface(); > public java.lang.Object read_abstract_interface(java.lang.Class > expected); > public java.io.Serializable read_value( > org.omg.CORBA.portable.BoxedValueHelper helper); // boxed valuetypes > } > > Thanks, > Vijay > > Mary Leland wrote: > > > > Vijay, > > > > I saw your note on the Java-to-IDL RTF mailing list about the problems > > with your OMG-related email. It occurs to me that may be why we haven't > > heard from you on this issue :-). Anyway, please let me know if you'll > > have a chance to do a revised proposal in the next few days (say, by > > Wednesday, June 6)? > > > > Thanks, > > Mary > > > > Simon Nash wrote: > > > > > > Mary, > > > I think we are close to consensus. Vijay made a proposal and I sent some comments. > > > Perhaps Vijay could make a revised proposal that incorporates my comments. > > > > > > Simon > > > > > > Mary Leland wrote: > > > > > > > > All (especially Simon and Vijay), > > > > > > > > There was a fairly lively discussion of this issue > > > > (Issue 3575: Custom marshal does not work for certain valuetypes) > > > > for a while (see the archive at http://cgi.omg.org/issues/issue3575.txt), > > > > but it seems to have died down without a consensus being reached. > > > > So, where do we stand on this one? > > > > > > > > Thanks, > > > > Mary > > > > > > -- > > > Simon C Nash, Chief Technical Officer, IBM Java Technology > > > Tel. +44-1962-815156 Fax +44-1962-818999 Hursley, England > > > Internet: nash@hursley.ibm.com Lotus Notes: Simon Nash@ibmgb > > -- > ------- > Don't forget to vote in JDJ Readers' Choice Awards: > http://www2.sys-con.com/java/readerschoice2001 > or vote for all Borland's nominations in one go: > http://www.borland.com/jdjvote.html > > This e-mail, and any attachments thereto, is intended only for use by > the addressee(s) named herein and may contain legally privileged > and/or > confidential information. If you are not the intended recipient of > this e-mail, you are hereby notified that any dissemination, > distribution or copying of this e-mail, and any attachments thereto, > is > strictly prohibited. If you have received this e-mail in error, > please > immediately and permanently delete the original and any copy of any > e-mail and any printout thereof. Date: Tue, 05 Jun 2001 16:04:53 -0700 From: Vijaykumar Natarajan Subject: Re: Issue 3575 To: Mary Leland Cc: Vijaykumar Natarajan , Simon Nash , java-rtf@omg.org Message-id: <3B1D6595.B99498A3@inprise.com> Organization: Borland Software Corporation MIME-version: 1.0 X-Mailer: Mozilla 4.51 [en]C-CCK-MCD (WinNT; U) X-Accept-Language: en References: <3B0AA4DC.30446A0C@fpk.hp.com> <3B0AEB64.55B102D9@hursley.ibm.com> <3B1B88DC.C90AA2EF@fpk.hp.com> <3B1BBC79.293986E5@inprise.com> <3B1D1CAE.1C0C58C2@fpk.hp.com> Content-Type: multipart/mixed; boundary="Boundary_(ID_I3eqf4etEiXzAkGy9psafA)" X-UIDL: kEUd9Ajkd9!k7!!%1od9 Status: RO I believe since this is a new set of interfaces, it can go into org.omg.CORBA package. Comments? Vijay Mary Leland wrote: > > Vijay (and RTF Members), > > Thanks. I need a bit of clarification before I put this up > to a vote: > > I think that the CustomOutputStream and CustomInputStream > interfaces need to be included in the Source zip file, as well. > The question is: what package do we put them in? Do we need > to create a CORBA_2_4 package at this point? > > Thanks, > Mary > > Vijaykumar Natarajan wrote: > > > > Hi Mary, > > > > Here's a formal proposal for this issue: > > > > Revised text: > > Add paragraph to section 1.13.1.3 CustomMarshal interface > > > > The stream APIs that are passed as arguments for the marshal and > > unmarshal methods are not sufficient to marshal all valuetypes. In order > > to support custom marshaling of valuetypes, the ORB shall actually pass > > an instance of CustomOutputStream and CustomInputStream to these methods > > respectively (see section xxx for information on Custom stream APIs). > > > > Add section following Streaming APIs (section 1.21.4), and adjust > > section numbers following: > > > > 1.21.5 Custom Streaming APIs > > > > The Custom streaming APIs provide for the reading and writing of all the > > different valuetypes that may be custom marshaled. The semantics of the > > methods in these interfaces are identical to their counterparts (with > > identical signatures) in the CORBA_2_3 portable streaming APIs. > > > > public interface CustomOutputStream extends > > org.omg.CORBA.DataOutputStream { > > public void write_value(java.io.Serializable value); > > public void write_value(java.io.Serializable value, java.lang.String > > repId); > > public void write_value(java.io.Serializable value, > > org.omg.CORBA.portable.BoxedValueHelper helper); > > public void write_abstract_interface(java.lang.Object obj); > > } > > > > public interface CustomInputStream extends > > org.omg.CORBA.DataInputStream { > > public java.io.Serializable read_value(); > > public java.io.Serializable read_value(java.lang.String repId); > > public java.io.Serializable read_value(java.lang.Class expected); > > public java.lang.Object read_abstract_interface(); > > public java.lang.Object read_abstract_interface(java.lang.Class > > expected); > > public java.io.Serializable read_value( > > org.omg.CORBA.portable.BoxedValueHelper helper); // boxed valuetypes > > } > > > > Thanks, > > Vijay > > > > Mary Leland wrote: > > > > > > Vijay, > > > > > > I saw your note on the Java-to-IDL RTF mailing list about the problems > > > with your OMG-related email. It occurs to me that may be why we haven't > > > heard from you on this issue :-). Anyway, please let me know if you'll > > > have a chance to do a revised proposal in the next few days (say, by > > > Wednesday, June 6)? > > > > > > Thanks, > > > Mary > > > > > > Simon Nash wrote: > > > > > > > > Mary, > > > > I think we are close to consensus. Vijay made a proposal and I sent some comments. > > > > Perhaps Vijay could make a revised proposal that incorporates my comments. > > > > > > > > Simon > > > > > > > > Mary Leland wrote: > > > > > > > > > > All (especially Simon and Vijay), > > > > > > > > > > There was a fairly lively discussion of this issue > > > > > (Issue 3575: Custom marshal does not work for certain valuetypes) > > > > > for a while (see the archive at http://cgi.omg.org/issues/issue3575.txt), > > > > > but it seems to have died down without a consensus being reached. > > > > > So, where do we stand on this one? > > > > > > > > > > Thanks, > > > > > Mary > > > > > > > > -- > > > > Simon C Nash, Chief Technical Officer, IBM Java Technology > > > > Tel. +44-1962-815156 Fax +44-1962-818999 Hursley, England > > > > Internet: nash@hursley.ibm.com Lotus Notes: Simon Nash@ibmgb > > > > -- > > ------- > > Don't forget to vote in JDJ Readers' Choice Awards: > > http://www2.sys-con.com/java/readerschoice2001 > > or vote for all Borland's nominations in one go: > > http://www.borland.com/jdjvote.html > > > > This e-mail, and any attachments thereto, is intended only for use by > > the addressee(s) named herein and may contain legally privileged > > and/or > > confidential information. If you are not the intended recipient of > > this e-mail, you are hereby notified that any dissemination, > > distribution or copying of this e-mail, and any attachments thereto, > > is > > strictly prohibited. If you have received this e-mail in error, > > please > > immediately and permanently delete the original and any copy of any > > e-mail and any printout thereof. -- ------- Don't forget to vote in JDJ Readers' Choice Awards: http://www2.sys-con.com/java/readerschoice2001 or vote for all Borland's nominations in one go: http://www.borland.com/jdjvote.html This e-mail, and any attachments thereto, is intended only for use by the addressee(s) named herein and may contain legally privileged and/or confidential information. If you are not the intended recipient of this e-mail, you are hereby notified that any dissemination, distribution or copying of this e-mail, and any attachments thereto, is strictly prohibited. If you have received this e-mail in error, please immediately and permanently delete the original and any copy of any e-mail and any printout thereof. [] vnatarajan6.vcf Date: Wed, 06 Jun 2001 19:12:24 +0100 From: Simon Nash Organization: IBM X-Mailer: Mozilla 4.72 [en] (Windows NT 5.0; I) X-Accept-Language: en MIME-Version: 1.0 To: Vijaykumar Natarajan CC: Mary Leland , java-rtf@omg.org Subject: Re: Issue 3575 References: <3B0AA4DC.30446A0C@fpk.hp.com> <3B0AEB64.55B102D9@hursley.ibm.com> <3B1B88DC.C90AA2EF@fpk.hp.com> <3B1BBC79.293986E5@inprise.com> <3B1D1CAE.1C0C58C2@fpk.hp.com> <3B1D6595.B99498A3@inprise.com> Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii X-UIDL: \O_d9h"bd9C?Vd9n#"e9 Status: RO Vijay, Yes, I agree. Simon Vijaykumar Natarajan wrote: > > I believe since this is a new set of interfaces, it can go into > org.omg.CORBA package. > > Comments? > > Vijay > > Mary Leland wrote: > > > > Vijay (and RTF Members), > > > > Thanks. I need a bit of clarification before I put this up > > to a vote: > > > > I think that the CustomOutputStream and CustomInputStream > > interfaces need to be included in the Source zip file, as well. > > The question is: what package do we put them in? Do we need > > to create a CORBA_2_4 package at this point? > > > > Thanks, > > Mary > > > > Vijaykumar Natarajan wrote: > > > > > > Hi Mary, > > > > > > Here's a formal proposal for this issue: > > > > > > Revised text: > > > Add paragraph to section 1.13.1.3 CustomMarshal interface > > > > > > The stream APIs that are passed as arguments for the marshal and > > > unmarshal methods are not sufficient to marshal all valuetypes. In order > > > to support custom marshaling of valuetypes, the ORB shall actually pass > > > an instance of CustomOutputStream and CustomInputStream to these methods > > > respectively (see section xxx for information on Custom stream APIs). > > > > > > Add section following Streaming APIs (section 1.21.4), and adjust > > > section numbers following: > > > > > > 1.21.5 Custom Streaming APIs > > > > > > The Custom streaming APIs provide for the reading and writing of all the > > > different valuetypes that may be custom marshaled. The semantics of the > > > methods in these interfaces are identical to their counterparts (with > > > identical signatures) in the CORBA_2_3 portable streaming APIs. > > > > > > public interface CustomOutputStream extends > > > org.omg.CORBA.DataOutputStream { > > > public void write_value(java.io.Serializable value); > > > public void write_value(java.io.Serializable value, java.lang.String > > > repId); > > > public void write_value(java.io.Serializable value, > > > org.omg.CORBA.portable.BoxedValueHelper helper); > > > public void write_abstract_interface(java.lang.Object obj); > > > } > > > > > > public interface CustomInputStream extends > > > org.omg.CORBA.DataInputStream { > > > public java.io.Serializable read_value(); > > > public java.io.Serializable read_value(java.lang.String repId); > > > public java.io.Serializable read_value(java.lang.Class expected); > > > public java.lang.Object read_abstract_interface(); > > > public java.lang.Object read_abstract_interface(java.lang.Class > > > expected); > > > public java.io.Serializable read_value( > > > org.omg.CORBA.portable.BoxedValueHelper helper); // boxed valuetypes > > > } > > > > > > Thanks, > > > Vijay > > > > > > Mary Leland wrote: > > > > > > > > Vijay, > > > > > > > > I saw your note on the Java-to-IDL RTF mailing list about the problems > > > > with your OMG-related email. It occurs to me that may be why we haven't > > > > heard from you on this issue :-). Anyway, please let me know if you'll > > > > have a chance to do a revised proposal in the next few days (say, by > > > > Wednesday, June 6)? > > > > > > > > Thanks, > > > > Mary > > > > > > > > Simon Nash wrote: > > > > > > > > > > Mary, > > > > > I think we are close to consensus. Vijay made a proposal and I sent some comments. > > > > > Perhaps Vijay could make a revised proposal that incorporates my comments. > > > > > > > > > > Simon > > > > > > > > > > Mary Leland wrote: > > > > > > > > > > > > All (especially Simon and Vijay), > > > > > > > > > > > > There was a fairly lively discussion of this issue > > > > > > (Issue 3575: Custom marshal does not work for certain valuetypes) > > > > > > for a while (see the archive at http://cgi.omg.org/issues/issue3575.txt), > > > > > > but it seems to have died down without a consensus being reached. > > > > > > So, where do we stand on this one? > > > > > > > > > > > > Thanks, > > > > > > Mary > > > > > > > > > > -- > > > > > Simon C Nash, Chief Technical Officer, IBM Java Technology > > > > > Tel. +44-1962-815156 Fax +44-1962-818999 Hursley, England > > > > > Internet: nash@hursley.ibm.com Lotus Notes: Simon Nash@ibmgb > > > > > > -- > > > ------- > > > Don't forget to vote in JDJ Readers' Choice Awards: > > > http://www2.sys-con.com/java/readerschoice2001 > > > or vote for all Borland's nominations in one go: > > > http://www.borland.com/jdjvote.html > > > > > > This e-mail, and any attachments thereto, is intended only for use by > > > the addressee(s) named herein and may contain legally privileged > > > and/or > > > confidential information. If you are not the intended recipient of > > > this e-mail, you are hereby notified that any dissemination, > > > distribution or copying of this e-mail, and any attachments thereto, > > > is > > > strictly prohibited. If you have received this e-mail in error, > > > please > > > immediately and permanently delete the original and any copy of any > > > e-mail and any printout thereof. > > -- > ------- > Don't forget to vote in JDJ Readers' Choice Awards: > http://www2.sys-con.com/java/readerschoice2001 > or vote for all Borland's nominations in one go: > http://www.borland.com/jdjvote.html > > This e-mail, and any attachments thereto, is intended only for use by > the addressee(s) named herein and may contain legally privileged > and/or > confidential information. If you are not the intended recipient of > this e-mail, you are hereby notified that any dissemination, > distribution or copying of this e-mail, and any attachments thereto, > is > strictly prohibited. If you have received this e-mail in error, > please > immediately and permanently delete the original and any copy of any > e-mail and any printout thereof. -- Simon C Nash, Chief Technical Officer, IBM Java Technology Tel. +44-1962-815156 Fax +44-1962-818999 Hursley, England Internet: nash@hursley.ibm.com Lotus Notes: Simon Nash@ibmgb Date: Thu, 07 Jun 2001 10:13:01 -0400 From: Mary Leland X-Mailer: Mozilla 4.75 [en] (Windows NT 5.0; U) X-Accept-Language: en MIME-Version: 1.0 To: Java RTF Cc: Vijaykumar Natarajan Subject: VOTE: IDL to Java RTF Issue 3575. Due June 14, 2001 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii X-UIDL: p,1!!~f8e9Tb=!!`p8!! Issue 3575: Custom marshal does not work for certain valuetypes This was discussed in the core rtf in boston, and the consensus was that this would be a java only issue and could be fixed in the language mapping directly. The issue: Boxed valuetypes, abstract interfaces and regular valuetypes (these can be marshaled but not in optimized format) cannot be marshaled or unmarshaled when using custom marshaling. This is because the Data*Stream APIs do not provide the requisite interfaces. ------------------------------------------------------------------------------------ Votes Due: 5 pm EDT (US), June 14, 2001 ------------------------------------------------------------------------------------ Proposal: [This is Vijay's proposal of June 4, 2001, with the addition of a phrase about putting the CustomOutputStream and CustomInputStream interfaces in the Source zip file, in the org.omg.CORBA package] Add paragraph to section 1.13.1.3 CustomMarshal interface The stream APIs that are passed as arguments for the marshal and unmarshal methods are not sufficient to marshal all valuetypes. In order to support custom marshaling of valuetypes, the ORB shall actually pass an instance of CustomOutputStream and CustomInputStream to these methods respectively (see section 1.21.5 for information on Custom stream APIs). Add section following Streaming APIs (section 1.21.4), and adjust section numbers following; also add the CustomOutputStream and CustomInputStream interfaces to the Source zip file, in the org.omg.CORBA package 1.21.5 Custom Streaming APIs The Custom streaming APIs provide for the reading and writing of all the different valuetypes that may be custom marshaled. The semantics of the methods in these interfaces are identical to their counterparts (with identical signatures) in the CORBA_2_3 portable streaming APIs. public interface CustomOutputStream extends org.omg.CORBA.DataOutputStream { public void write_value(java.io.Serializable value); public void write_value(java.io.Serializable value, java.lang.String repId); public void write_value(java.io.Serializable value, org.omg.CORBA.portable.BoxedValueHelper helper); public void write_abstract_interface(java.lang.Object obj); } public interface CustomInputStream extends org.omg.CORBA.DataInputStream { public java.io.Serializable read_value(); public java.io.Serializable read_value(java.lang.String repId); public java.io.Serializable read_value(java.lang.Class expected); public java.lang.Object read_abstract_interface(); public java.lang.Object read_abstract_interface(java.lang.Class expected); public java.io.Serializable read_value( org.omg.CORBA.portable.BoxedValueHelper helper); // boxed valuetypes }