+1 from me damitha
On Fri, 2004-12-31 at 17:03, John Hawkins wrote: > > +1 for enum ordering - good point ! > > John Hawkins > > > > Samisa Abeysinghe <[EMAIL PROTECTED]> wrote on 31/12/2004 > 02:07:54: > > > +1 from me too. > > > > Looking into memory leaks for the past few days, I got the feeling > > that handling of types are somewhat spread across the code. > > As an example, please have a look at src/common/Param.h header. > > There are two classes here and basically, they are meant to handle > > types. (see ParamValue class) > > Would be much easy if we could centralize handling of types. > > > > Re:should we be supporting all 44 built-in simple types? > > I think yes. However, may require some effort, including WSDL2Ws tool > fixes. > > I also suggest that we consider simple things as the oder of type > > declarations in enums etc (e.g. XSDTYPETag in > > include/axis/TypeMapping.hpp). I propose we have the same ordering as > > in the spec. It is a very simple point but this helps verymuch in > > maintenance - even to have a look at the code and compare with the > > spec to see what is supported and what is not. (Just imagine how much > > effort that we have to put to compare current code with the spec) > > > > Thanks, > > Samisa... > > > > On Thu, 30 Dec 2004 11:13:46 +0000, John Hawkins <[EMAIL PROTECTED]> > wrote: > > > > > > > > > +1 for making this an Object model. > > > > > > Do we have an exception model for when the > serialisation/deserialisation > > > fails? I was specifically thinking of when the values given are out of > > > bounds. > > > To what extent is this going to resolve our issue with type constraints > - > > > My guess would be that we just want to implement the model first to > what > > > they used to be before we do any more work on ensuring that we have the > > > correct type mappings? > > > > > > John Hawkins > > > > > > Adrian Dick/UK/[EMAIL PROTECTED] wrote on 30/12/2004 08:56:08: > > > > > > > > > > > > > > > > > > > > > > > Following recent problems with Serialization/Deserialization of XSD > > > simple > > > > types, I propose a re-working of the current structure to a very > simple > > > > object oriented model mimicking the Schema heirarchy. > > > > The basic intent is to encapsulate the serialization/deserialization > > > rules > > > > within objects, one object for each simple type. These objects will > be > > > > used at every point in the code requiring the > > > serialization/deserialization > > > > of simple types, rather than the current situation where the code > occurs > > > in > > > > several places - which has been causing maintenance issues. > > > > > > > > > > > > > > > This sees the introduction of an interface which provides the > deserialize > > > > and serialize methods. The interface is to be implemented by each of > the > > > > 19 built-in primitive types (exact algorithms and values for > constraining > > > > facets to meet the XML Schema, see > > > > > http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#built-in-datatypes). > > > > The remaining 25 built-in derived types, in turn, extend from these > > > > primitive types. > > > > All the implementing classes will over-ride the getter methods for > their > > > > associated constraints with their respective values. > > > > See diagram in XSD Object Model.jpg (See attached file: XSD Object > > > > Model.JPG) (Diagram only shows a small subset of all built-in types - > see > > > > > http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#built-in-datatypes > > > for > > > > full detail) > > > > > > > > > > > > > > > > To support these are 12 interfaces, for each of the XML constraining > > > > facets, to provide validation and parsing of data being > > > > deserialized/serialized. > > > > Hopefully, each interface will have a single implementing class, but > it > > > may > > > > be necessary to have multiple implementations where the data types or > > > > algorithms are dissimilar. > > > > See diagram in Constraining Facets Object Model.jpg (See attached > file: > > > > Constraining Facets Object Model.JPG)(Diagram only shows a small > subset > > > of > > > all constraining facets - see > http://w3c.org/TR/xmlschema-2/#rf-facets > > > for > > > > full detail) > > > > > > > > > > > > > > > > The attached sequence diagrams show how the data types and > constraining > > > > facets interact for serialization and deserialization: > > > > (See attached file: Serialization Sequence.JPG)(See attached file: > > > > DeSerialization Sequence.JPG) > > > > > > > > > > > > > > > > I have identified the following points in the code for these new > objects > > > to > > > > be used: > > > > BasicTypeSerializer::serializeAsAttribute(...) > > > > BasicTypeSerializer::serializeAsElement(...) > > > > SoapDeSerializer::getAttributeAs<type>(...) - 2 occurances in > each > > > > method (RPC and Doc) > > > > SoapDeSerializer::getBasicArray(...) - " > > > > SoapDeSerializer::getElementAs<type>(...) - " > > > > SoapDeSerializer::getChardataAs(...) - this whole method will > become > > > > redundant, in fact already appears to be so. > > > > SoapSerializer::serializeAsChardata(...) - " > > > > Note: Currently, depending which sections of code you use, we only > > > support > > > > 22 or 23 of the 44 XSD built-in simple types. Is there a reason for > > > this, > > > > or should we be supporting all 44 built-in simple types? In which > case > > > we > > > > will also need to add these to > > > > org.apache.axis.wsdl.wsdl2ws.info.TypeMap.java, and ensure we have > tests > > > > for all the built-in types. > > > > > > > > It is my intention that this implementation be internal to the > runtime, > > > > probably used exclusively by SoapSerializer and SoapDeSerializer. > Though > > > > at some point in the future we may wish to extend this model to > support > > > > Complex Data types, etc., which would require externalising to allow > the > > > > WSDL2Ws generated stubs to take full advantage of the model. (But > that's > > > a > > > > while off yet!) > > > > > > > > Regards, > > > > Adrian > > > > _______________________________________ > > > > Adrian Dick ([EMAIL PROTECTED]) > > > > WebSphere MQ and ESB Development > > > > Tel: +44-(0)-1962-819212 > > > > Notes: Adrian Dick/UK/[EMAIL PROTECTED] "XSD Object Model.JPG" > > > > deleted by John Hawkins/UK/IBM] [attachment "Constraining Facets > > > > Object Model.JPG" deleted by John Hawkins/UK/IBM] [attachment > > > > "Serialization Sequence.JPG" deleted by John Hawkins/UK/IBM] > > > > [attachment "DeSerialization Sequence.JPG" deleted by John > > > Hawkins/UK/IBM] > > > > > > > > -- Damitha Kumarage hSenid Software International (PVT) Ltd [EMAIL PROTECTED] Lanka Software Foundation (http://www.opensource.lk)