1 2010-03-04 Atsushi Enomoto <atsushi@ximian.com>
3 * SerializationMap.cs : return array instance if the runtime type is
4 an array (it used to return ArrayList without conveting to array).
6 2010-03-01 Atsushi Enomoto <atsushi@ximian.com>
8 * SerializationMap.XsdExporter.cs, XsdDataContractExporter-new.cs:
9 refresh implementation to reflect the latest WCF impl.
10 * SerializationMap.cs : make types partial.
12 2010-02-19 Atsushi Enomoto <atsushi@ximian.com>
14 * XsdDataContractImporter.cs : fix extension type name (and comment).
16 2010-02-19 Atsushi Enomoto <atsushi@ximian.com>
18 * XsdDataContractImporter.cs : added dictionary support.
20 2010-02-18 Atsushi Enomoto <atsushi@ximian.com>
22 * XsdDataContractImporter-new.cs, XsdDataContractImporter.cs :
23 replaced implementation.
24 * ImportOptions.cs : add correct MonoTODOs.
26 2010-02-18 Atsushi Enomoto <atsushi@ximian.com>
28 * XsdDataContractImporter-new.cs : output [KnownType] to expose
29 base/derived type relationship.
31 2010-02-18 Atsushi Enomoto <atsushi@ximian.com>
33 * XsdDataContractImporter-new.cs : fix GenerateInternal.
35 2010-02-17 Atsushi Enomoto <atsushi@ximian.com>
37 * XsdDataContractImporter-new.cs : refresh implementation that is
38 not based on xml serialization. Not enabled yet.
39 * KnownTypeCollection.cs : add cosmetic comment.
41 2010-02-09 Atsushi Enomoto <atsushi@ximian.com>
43 * XsdDataContractImporter.cs : add appropriate code namespaces
44 imported from xsd namespace.
46 2010-02-08 Atsushi Enomoto <atsushi@ximian.com>
48 * XsdDataContractImporter.cs : do not add primitive ArrayOfxxx types.
50 2010-02-08 Atsushi Enomoto <atsushi@ximian.com>
52 * XsdDataContractImporter.cs : some generated attributes are put
55 2010-01-25 Atsushi Enomoto <atsushi@ximian.com>
57 * SerializationMap.cs : allow readonly field as data member.
60 2010-01-08 Atsushi Enomoto <atsushi@ximian.com>
62 * SerializationMap.cs, KnownTypeCollection.cs : differentiate
63 [DataContract(Namespace=null)] and [DataContract(Namespace="")].
66 2009-12-01 Sebastien Pouliot <sebastien@ximian.com>
68 * DataContractSerializer.cs: Add two missing methods for FX3.0
71 2009-10-22 Atsushi Enomoto <atsushi@ximian.com>
73 * SerializationMap.cs : partly revert previous sorting fix in
74 Sep.28th. Do not sort and mix members in base and derived types.
77 2009-10-21 Jb Evain <jbevain@novell.com>
79 * SerializationMap.cs, KnownTypeCollection.cs: avoid using LINQ
80 on arrays as MonoTouch has issues with them.
82 2009-09-28 Atsushi Enomoto <atsushi@ximian.com>
84 * SerializationMap.cs :
85 There were some places that ignored possible whitespace nodes.
86 Fixed sorting of ordered members so that it does not give
87 incomplete sorting among base/derived types. (should fix #539563.)
88 Give xml error details in some places.
90 2009-09-28 Atsushi Enomoto <atsushi@ximian.com>
92 * KnownTypeCollection.cs : (the previous one didn't fix #539563.)
93 Consider attempts to register the same collection type as it did
96 2009-09-28 Atsushi Enomoto <atsushi@ximian.com>
98 * SerializationMap.cs, KnownTypeCollection.cs : nested use of type
99 in its members resulted in infinite loop. This hopefully fixes
102 2009-09-07 Atsushi Enomoto <atsushi@ximian.com>
104 * IgnoreDataMemberAttribute.cs : add missing type.
105 * SerializationMap.cs : support above.
107 2009-07-23 Sebastien Pouliot <sebastien@ximian.com>
109 * SerializationMap.cs : Ensure Dictionary is still deserialized
110 correctly (wrt previous change). Fix moonlight isolated storage
113 2009-07-22 Atsushi Enomoto <atsushi@ximian.com>
115 * SerializationMap.cs : for empty element, do not try to consume
116 children. Fixed bug #524086.
117 For enum, it is always error when the enum is not flags, and
118 is always default value for flags.
120 2009-07-22 Atsushi Enomoto <atsushi@ximian.com>
122 * XmlFormatterDeserializer.cs : when reading empty primitive value,
123 make sure to consume the reader. Fixed bug #524083.
125 2009-07-22 Atsushi Enomoto <atsushi@ximian.com>
127 * SerializationMap.cs : call MoveToContent() before examining
128 the reader node type.
130 2009-07-22 Atsushi Enomoto <atsushi@ximian.com>
132 * KnownTypeCollection.cs : Find KnownTypeAttributes in base types
133 too. Patch by Rolf Bjarne Kvinge. Fixed bug #524088.
135 2009-07-21 Atsushi Enomoto <atsushi@ximian.com>
137 * DataContractSerializer.cs : it does not write dictionary string
138 when it was not created with it.
140 2009-07-07 Atsushi Enomoto <atsushi@ximian.com>
142 * XmlFormatterDeserializer.cs, SerializationMap.cs : IXmlSerializable
143 were not deserialized correctly as it has mismatch on wrapper
144 element. This fixes PeerNodeAddress.EndpointAddress deserialization.
146 2009-06-26 Atsushi Enomoto <atsushi@ximian.com>
148 * XmlFormatterDeserializer.cs : verifyObjectName rather blocked
149 correct names provided as the root names.
151 2009-06-01 Atsushi Enomoto <atsushi@ximian.com>
153 * XmlFormatterSerializer.cs, KnownTypeCollection.cs : collection
154 types does not emit xsi:type when the actual type is different
155 from the nominal serilaization type. To achieve this, introduced
156 the idea of the actual serialization type.
158 2009-05-28 Atsushi Enomoto <atsushi@ximian.com>
160 * SerializationMap.cs : for default / shared type map, members are
161 serialized in alphabetical order.
163 2009-05-28 Atsushi Enomoto <atsushi@ximian.com>
165 * SerializationMap.cs : generic interface search has to be more
166 complicated. Give kind error message on setting deserialized value.
168 2009-05-28 Atsushi Enomoto <atsushi@ximian.com>
170 * SerializationMap.cs: collection interface cannot be instantiated,
171 so create List<T> (generic) or ArrayList (non-generic) instead.
173 2009-05-25 Atsushi Enomoto <atsushi@ximian.com>
175 * SerializationMap.cs, XmlFormatterSerializer.cs :
176 collection types should not output xsi:type e.g. IList<T> should
177 not exposed xsi:type as xsi:type=List`1.
179 2009-05-18 Atsushi Enomoto <atsushi@ximian.com>
181 * SerializationMap.cs, XmlFormatterDeserializer.cs,
182 KnownTypeCollection.cs : Support for array of some primitive types
183 in the deserializer was missing, which resulted in peer resolver
184 RegisterInfo deserialization failure.
186 2009-05-18 Atsushi Enomoto <atsushi@ximian.com>
188 * XmlFormatterDeserializer.cs : remove type lookup optimization
189 (since .NET 3.5 introduced system types with DC) and fix
190 serialization of system types (ISerializable types were not
191 resolved in previous code).
193 2009-05-18 Atsushi Enomoto <atsushi@ximian.com>
195 * SerializationMap.cs : it was only about 2.1. Fix build.
197 2009-05-18 Atsushi Enomoto <atsushi@ximian.com>
199 * SerializationMap.cs : It is not possible to get schema without
200 IXmlSerializable instance.
202 2009-05-15 Atsushi Enomoto <atsushi@ximian.com>
204 * DataContractSerializer.cs : write dictionary string directly for
205 root name/ns (root only, so far).
207 2009-05-14 Atsushi Enomoto <atsushi@ximian.com>
209 * SerializationMap.cs: interface collection failed to serialize as
210 it was calling inappropriate GetInterfaceMap().
212 2009-04-01 Atsushi Enomoto <atsushi@ximian.com>
214 * XmlFormatterDeserializer.cs : more hack to handle empty
217 2009-03-24 Atsushi Enomoto <atsushi@ximian.com>
219 * SerializationMap.cs, XmlFormatterDeserializer.cs:
220 empty collection deserialization resulted in extra
221 consumption of the next xml node.
223 2009-03-19 Atsushi Enomoto <atsushi@ximian.com>
225 * KnownTypeCollection.cs, XmlFormatterDeserializer.cs :
226 to infer type from xml qname, consider DataContractAttribute
229 2009-03-12 Atsushi Enomoto <atsushi@ximian.com>
231 * SerializationMap.cs : make generic type parsing sloppy.
232 because we don't know some cryptic hash algorithm:
233 http://jeffbarnes.net/portal/blogs/jeff_barnes/archive/2007/05/10/wcf-serialization-and-generics.aspx
235 2009-03-12 Atsushi Enomoto <atsushi@ximian.com>
237 * SerializationMap.cs, KnownTypeCollection.cs :
238 support CollectionDataContract-based dictionary too.
240 2009-03-12 Atsushi Enomoto <atsushi@ximian.com>
242 * SerializationMap.cs, KnownTypeCollection.cs :
243 added support for dictionary serialization (not for
244 CollectionDataContract-attributed dictionary yet).
246 2009-03-12 Atsushi Enomoto <atsushi@ximian.com>
248 * SerializationMap.cs : cosmetic !NET_2_1 fix (no effect).
249 * KnownTypeCollection.cs : use ICollection<> and IList instead of
250 IEnumerable. This causes confusion for dictionary.
252 2009-03-11 Atsushi Enomoto <atsushi@ximian.com>
254 * XmlFormatterSerializer.cs, XmlObjectSerializer.cs,
255 XmlFormatterDeserializer.cs, KnownTypeCollection.cs :
256 add more xsi:type to cover collection items.
258 2009-03-11 Atsushi Enomoto <atsushi@ximian.com>
260 * KnownTypeCollection.cs : fix generic argument names in xml.
261 They should use xmlized names instead of raw type name.
262 * XmlFormatterDeserializer.cs : remove extra Console.WriteLine.
264 2009-03-11 Atsushi Enomoto <atsushi@ximian.com>
266 * SerializationMap.cs : eliminate whitespace misuses.
268 2009-03-11 Atsushi Enomoto <atsushi@ximian.com>
270 * SerializationMap.cs : actually it could just be ICollection<T>.
272 2009-03-11 Atsushi Enomoto <atsushi@ximian.com>
274 * SerializationMap.cs : implemented generic IList deserialization.
276 2009-03-10 Atsushi Enomoto <atsushi@ximian.com>
278 * KnownTypeCollection.cs : fix for generic serialization.
280 2009-02-27 Atsushi Enomoto <atsushi@ximian.com>
282 * SerializationMap.cs : look for unordered members first, in
283 different iteration. Got SL OpenStreetMap working.
285 2009-02-13 Atsushi Enomoto <atsushi@ximian.com>
287 * SerializationMap.cs : remove use of non-2.1 CreateInstance().
288 * XmlFormatterDeserializer.cs : allow empty element.
290 2009-02-13 Atsushi Enomoto <atsushi@ximian.com>
292 * SerializationMap.cs, DataContractSerializer.cs,
293 KnownTypeCollection.cs : now .NET 3.5/SP1 supports non-contract
296 2009-02-13 Atsushi Enomoto <atsushi@ximian.com>
298 * SerializationMap.cs, KnownTypeCollection.cs : couple of refactoring
299 to simplify code base and handle CollectionDataContract namespace.
301 2009-02-13 Atsushi Enomoto <atsushi@ximian.com>
303 * SerializationMap.cs : oops, remove debug lines.
305 2009-02-13 Atsushi Enomoto <atsushi@ximian.com>
307 * DataContractSerializer.cs : remove extra writexmlns.
308 * SerializationMap.cs : allow DataMember of collection contract type
310 * KnownTypeCollection.cs : it was not iterating interfaces to find
311 IEnumerable<T> correctly.
313 2009-02-03 Atsushi Enomoto <atsushi@ximian.com>
315 * SerializationMap.cs : a bit more detailed error message.
317 2009-01-23 Atsushi Enomoto <atsushi@ximian.com>
319 * KnownTypeCollection.cs : similar fix to the previous one,
322 2009-01-22 Alan McGovern <amcgovern@novell.com>
324 * KnownTypeCollection.cs : The byte overload doesn't exist in
325 Silverlight, so cast the byte to an int instead.
327 2008-11-23 Atsushi Enomoto <atsushi@ximian.com>
329 * DataContractAttribute.cs : remove MonoTODO.
331 2008-11-23 Atsushi Enomoto <atsushi@ximian.com>
333 * SerializationMap.cs, XmlFormatterSerializer.cs,
334 XmlFormatterDeserializer.cs, DataContractAttribute.cs,
335 CollectionDataContractAttribute.cs, KnownTypeCollection.cs :
336 support IsReference (new in 3.5 SP1).
338 2008-11-23 Atsushi Enomoto <atsushi@ximian.com>
340 * DataContractSerializer.cs : remove extra type validity check.
342 2008-11-23 Atsushi Enomoto <atsushi@ximian.com>
344 * XmlFormatterSerializer.cs : one object could not be serialized
345 twice in non-circular situation.
347 2008-09-09 Atsushi Enomoto <atsushi@ximian.com>
348 Jb Evain <jbevain@novell.com>
350 * IDataContractSurrogater.cs, SerializationMap.cs:
351 add support to build on the net_2_1 profile.
353 2008-06-19 Noam Lampert <noaml@mainsoft.com>
355 * KnownTypeCollection.cs: Support anyUri type
357 2008-06-05 Noam Lampert <noaml@mainsoft.com>
359 * KnownTypeCollection.cs: Support XmlRoot attribute
361 2008-06-01 Noam Lampert <noaml@mainsoft.com>
363 * KnownTypeCollection.cs: Implement byte[] serialization.
365 2008-05-19 Noam Lampert <noaml@mainsoft.com>
367 * KnownTypeCollection.cs: Implement char serialization.
369 2008-05-19 Noam Lampert <noaml@mainsoft.com>
371 * KnownTypeCollection.cs, XmlFormatterDeserializer.cs: Imporve support for
372 Nullable types in contracts.
374 2008-04-29 Eyal Alaluf <eyala@mainsoft.com>
376 * KnownTypeCollection.cs: Fixed a typo in long conversion.
378 2008-04-17 Eyal Alaluf <eyala@mainsoft.com>
380 * SerializationMap.cs: Implement partially collections deserialization.
381 Supports arrays and types derived from IList. Needs support for calling
382 'Add' method and for dictionaries.
383 * SerializationMap.cs XmlFormatterSerializer.cs DataContractSerializer.cs:
384 Serialize namespaces for base members according to base class namespace.
386 2008-04-14 Eyal Alaluf <eyala@mainsoft.com>
388 * SerializationMap.cs: Use FormatterServices.GetUninitializedObject instead
389 of Activator.CreateInstance.
391 2008-04-10 Eyal Alaluf <eyala@mainsoft.com>
393 * DataContractSerializer.cs: Write and register the current type namespace
395 * XmlObjectSerializer.cs: ReadObject verifies by default.
396 * XmlFormatterSerializer.cs: Write and register XML namespaces.
397 * XmlFormatterDeserializer.cs: Refactored so Deserialize instance method can
398 be used from SerializationMap deserialization logic recursively.
399 * SerializationMap.cs: Reimplemented main deserialization logic. Now it
400 handles better missing entries, consumes the XmlReader until the end
401 element and handles XML namespaces correctly.
402 Enabled checks for required fields.
404 2008-02-27 Eyal Alaluf <eyala@mainsoft.com>
406 * SerializationMap.cs: Fix namespace logic at least in simple case where
407 there are several unknown elements before the current element.
408 * ContractNamespaceAttribute.cs: The ClrNamespace is not set by the ctor.
409 * XmlObjectSerializer.cs: Dispose the XmlWriter created in WriteObject
411 * DataMemberAttribute.cs: Added the EmitDefaultValue property.
412 * XsdDataContractImporter.cs: Handle null arguments in Import methods.
413 * KnownTypeCollection.cs: Use XmlConvert.ToDateTime with roundtrip style.
415 2007-12-05 Atsushi Enomoto <atsushi@ximian.com>
417 * XmlObjectSerializer.cs : some methods became virtual (in Redbits).
418 * DataContractSerializer.cs : added some overriden methods in Redbits.
419 knownTypes can be null in .ctor().
421 2007-08-17 Atsushi Enomoto <atsushi@ximian.com>
423 * SerializationMap.cs : for void it cannot be instantiated. Return
426 2007-08-17 Atsushi Enomoto <atsushi@ximian.com>
428 * XmlFormatterDeserializer.cs DataContractSerializer.cs :
429 uhoh, the semantic of bool parameter in ReadObject() has
430 changed in the RTM. Implemented it as verifyObjectName.
432 2007-03-27 Atsushi Enomoto <atsushi@ximian.com>
434 * SerializationMap.cs
435 XmlFormatterSerializer.cs
436 DataContractSerializer.cs :
437 now it needs some mess to handle serialization namespaces.
438 Collection items are serialized in its own xml namespace. Others,
439 (including the collection member itself) is serialized in its
440 parent xml namespace. Collection items are serialized with its
442 * XsdDataContractImporter.cs : use constant.
444 2007-03-26 Atsushi Enomoto <atsushi@ximian.com>
446 * KnownTypeCollection.cs : added support for Guid serialization.
448 2006-10-20 Atsushi Enomoto <atsushi@ximian.com>
450 * KnownTypeCollection.cs : (RemoveItem) don't remove items while
453 2006-09-06 Ankit Jain <jankit@novell.com>
455 * SerializationMap.cs (SerializationMap.GetSequence): Set minOccurs = 0
457 2006-09-05 Ankit Jain <jankit@novell.com>
459 * XsdDataContractExporter.cs (XsdDataContractExporter.MSTypesSchema):
460 Load resource mstypes.schema
461 (XsdDataContractExporter.Schemas): Add MSTypesSchema by default.
463 2006-09-05 Ankit Jain <jankit@novell.com>
465 * SerializationMap.cs (SerializationMap.AddImport): New.
466 (SerializationMap.GetSequence): Use AddImport.
468 2006-09-04 Ankit Jain <jankit@novell.com>
470 * SerializationMap.cs (SerializationMap.GetSchemaSet): Remove.
471 (SerializationMap.GetSchemaType):
472 (SerializationMap.GetSequence):
473 (SerializationMap.GetSchema): Change XmlSchemas param to XmlSchemaSet.
474 Call XmlSchemaSet.Reprocess whenever an existing schema is modified.
475 * XsdDataContractExporter.cs (XsdDataContractExporter.Export): Update to
476 changes in SerializationMap.
477 (XsdDataContractExporter.CanExport): Implement.
478 (XsdDataContractExporter.GetSchemaType): Implement.
479 (XsdDataContractExporter.GetSchemaTypeName): Implement.
480 (XsdDataContractExporter.KnownTypes): New.
481 (XsdDataContractExporter.GeneratedTypes): New.
483 2006-09-01 Ankit Jain <jankit@novell.com>
485 * SerializationMap.cs (SerializationMap.GetSchemaSet): New.
486 (SerializationMap.IsPrimitive): New.
487 (SerializationMap.GetSchemaType): New.
488 (SerializationMap.GetSequence): New.
489 (SerializationMap.GetMembers): New.
490 (SerializationMap.GetSchemaElement): New.
491 (SerializationMap.GetSchema): New.
492 (SerializationMap.GetQualifiedName): New.
493 New methods for exporting schema for the type.
495 (SharedContractMap.ctor): Move code for building Members list to ..
496 (SharedContractMap.GetMembers): .. here.
498 (CollectionTypeMap.Serialize): Mark 'override'.
499 (CollectionTypeMap.GetMembers): 'override' and throw
500 NotImplementedException.
501 (CollectionTypeMap.GetSchemaType): Implement.
503 (SharedTypeMap..ctor): Move code to ..
504 (SharedTypeMap.GetMembers): .. here.
505 (EnumMap.GetSchemaType): Implement.
507 * XsdDataContractExporter.cs (XsdDataContractExporter.Export):
509 * KnownTypeCollection.cs (KnownTypeCollection.GetCollectionQName): Use
510 GetQName instead of GetXmlName. Set Namespace for collections of
511 primitive types to MSArraysNamespace
513 2006-08-31 Ankit Jain <jankit@novell.com>
515 * SerializationMap.cs (EnumMap): New. For de/serializing enums.
516 (EnumMemberInfo): New.
517 (SerializationMap.DeserializeContent): Made protected virtual from private.
518 * DataContractSerializer.cs (WriteStartObject):
519 Ensure that "i:type" is not emitted for enums.
520 * KnownTypeCollection.cs (GetPrimitiveTypeName): Don't treat enum as a
522 (GetQName): Likewise. Use GetEnumQName for enums.
524 (IsPrimitiveNotEnum): New.
525 (TryRegister): Add support for enums.
528 2006-08-14 Atsushi Enomoto <atsushi@ximian.com>
530 * XmlFormatterSerializer.cs : (contd from my previous change)
531 ... and don't complain at WriteObject(). It is somehow required
532 in S.SM.D.WSTrustContract (soon to be committed).
534 2006-07-27 Ankit Jain <jankit@novell.com>
536 * XsdDataContractImporter.cs (Compile): Remove, thanks to eno
537 XmlSchemaSet.Compile () works now.
538 Update to directly use XmlSchemaSet.Compile ()
540 2006-07-27 Ankit Jain <jankit@novell.com>
542 * XsdDataContractImporter.cs (ImportInternal): New.
543 Update various overloads of Import to use this.
544 (ImportFromTypeMapping): New. Emits code for a DataContract from a
545 XmlTypeMapping. Code is duplicate of
546 ServiceContractGenerator.ExportDataContract .
547 (GetNamespace): New. Duplicate like above.
548 (Compile): New. Temporary hack, will XmlSchemaSet.Compile is not
551 2006-07-18 Atsushi Enomoto <atsushi@ximian.com>
553 * XmlFormatterSerializer.cs, KnownTypeCollection.cs :
554 don't raise an error at DataContractSerializer..ctor(). Raise
555 InvalidDataContractException on WriteObject().
557 2006-07-12 Ankit Jain <jankit@novell.com>
559 * SerializationMap.cs (XmlSerializableMap): New. Map for classes which
560 implement IXmlSerializable interface.
561 * KnownTypeCollection.cs (KnownTypeCollection.GetQName): Add support for
562 types which implement IXmlSerializable interface. Change the order in
563 which DataContractAttribute/IXmlSerializable/SerializableAttribute get
565 (KnownTypeCollection.TryRegister): Change the order like above.
566 (KnownTypeCollection.RegisterIXmlSerializable): New.
568 2006-07-04 Atsushi Enomoto <atsushi@ximian.com>
570 * XsdDataContractExporter.cs, XmlObjectSerializer.cs,
571 InvalidDataContractException.cs : some June CTP updates.
573 2006-07-04 Atsushi Enomoto <atsushi@ximian.com>
575 * IDataContractSurrogate.cs, ExportOptions.cs,
576 DataContractSerializer.cs, KnownTypeCollection.cs :
579 2006-05-09 Atsushi Enomoto <atsushi@ximian.com>
581 * DataContractSerializer.cs : null knownTypes argument is allowed.
582 * KnownTypeCollection.cs : Type.Namespace could be null.
584 2006-05-09 Atsushi Enomoto <atsushi@ximian.com>
586 * KnownTypeCollection.cs : for nested classes, treat localName of
587 the QName as "Parent.Child", not "Child".
588 Don't encode name here (to pass ".").
590 2006-05-09 Atsushi Enomoto <atsushi@ximian.com>
592 * DataContractSerializer.cs :
593 Added maxObjectsInGraph range check.
594 interface type has BaseType as null, so end base type check when
595 it is null (I don't think this check is required btw).
597 2006-04-05 Atsushi Enomoto <atsushi@ximian.com>
599 * DataContractSerializer.cs : xmlns:xsi is not written when the
600 target type is string.
602 2006-03-22 Ankit Jain <jankit@novell.com>
604 * SerializationMap.cs (CheckDataContractEqual): Remove.
605 (Deserialize): Allows expected type to be a derived one from actual
607 (DeserializeInternal): Handle DataMember of type 'object'.
608 * XmlFormatterSerializer.cs (SerializeNonPrimitive): Serialize types not
610 * DataContractSerializer.cs (.ctor): Use KnownTypeCollection.GetQName
611 instead of doing it manually.
612 (PopulateTypes): Change return type from KnownTypeCollection to void.
613 Scan the base types to ensure that all have DataContract or Serializable
615 Add all (including inherited) KnownTypeAttribute values to the
618 2006-03-18 Ankit Jain <jankit@novell.com>
620 * SerializationMap.cs (SerializationMap.GetEmptyInstance): Rename to ..
621 (SerializationMap.GetInstance): .. this. Gets the instance or null if nil=true.
622 (SerializationMap.DeserializeInternal): New. Renamed from ..
623 (SerializationMap.Deserialize): .. this. Check DataContract equivalence, and use new
624 DeserializeInternal for rest of the work.
625 (DeserializeContent): Cleanup and handle various "null" cases.
626 * XmlFormatterSerializer.cs (Write_i_type): New. Write i:type=".."
627 (SerializeNonPrimitive): Update to use Write_i_type.
628 * DataContractSerializer.cs (WriteStartObject): Add rootType to known_types.
630 2006-03-16 Ankit Jain <jankit@novell.com>
632 * SerializationMap.cs (SerializationMap.Deserialize): Use NameTable.Get
633 before reader.LookupNamespace.
634 (DataMemberInfo.Compare): Use String.CompareOrdinal instead of
637 2006-03-16 Ankit Jain <jankit@novell.com>
639 * SerializationMap.cs (SerializationMap.GetEmptyInstance): New.
640 (SerializationMap.Deserialize): Refactor, handle primitive types and nils.
641 (SerializationMap.DeserializeContent): Handle nils and nested DataContracts.
642 (SharedContractMap.ctor): Include inherited properties and fields, in
645 2006-03-15 Ankit Jain <jankit@novell.com>
647 * KnownTypeCollection.cs (IsPrimitiveType): New.
648 * SerializationMap.cs (Deserialize): Handle primitive types.
650 2006-03-15 Ankit Jain <jankit@novell.com>
652 * DataContractSerializer.cs (WriteObjectContent): Handle null.
653 (WriteStartObject): Rewritten.
654 * KnownTypeCollection.cs (GetQName): New. Return QName for a given type.
656 (GetSerializableQName):
657 (GetCollectionQName): New.
659 (RegisterSerializable):
660 (RegisterCollection): Update to use new Get* methods.
661 * SerializationMap.cs (CheckDataContractEqual): New.
662 (Deserialize): Split into this and ..
663 (DeserializeContent): .. this.
664 * XmlDictionaryWriter.cs (CreateTextWriter): Use UTF8Encoding.
666 2006-03-09 Atsushi Enomoto <atsushi@ximian.com>
668 * DataContractSerializer.cs : xmlns output should be done at
671 2006-03-08 Ankit Jain <jankit@novell.com>
673 * DataContractSerializer.cs (.ctor): Use name & namespace specified (if any)
674 with the DataContractAttribute for non-primitive types.
675 (DataContractSerializer.WriteStartObject): DataContractAttribute.Name
678 2006-03-03 Atsushi Enomoto <atsushi@ximian.com>
680 * DataContractSerializer.cs : Handle primitive type name rather than
681 raw type name in constructors that don't receive root QName.
682 In case the actual graph is not of root type, write xsi:type.
684 2006-03-02 Atsushi Enomoto <atsushi@ximian.com>
686 * KnownTypeCollection.cs : default namespace contains common MS base
688 * XmlObjectSerializer.cs : added internal common utility field.
689 * DataContractSerializer.cs : Fixed constructors to fill fields and
691 * NetDataContractSerializer.cs : just leave it unimplemented until
692 we find how it works. It looks different from what
693 DataContractSerializer does.
695 2006-01-17 Atsushi Enomoto <atsushi@ximian.com>
697 * XmlFormatter.cs : extra namespaces are not written in Dec.CTP.
699 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
701 * KnownTypeCollection.cs : override.
703 2005-11-02 Atsushi Enomoto <atsushi@ximian.com>
705 * SerializationMap.cs, XmlFormatterSerializer.cs, XmlFormatter.cs
706 XmlFormatterDeserializer.cs, KnownTypeCollection.cs :
707 several changes. Partial support for collection serialization.
708 SerializationMap now contains its own Deserialize()/Serialize()
711 2005-10-20 Atsushi Enomoto <atsushi@ximian.com>
713 * XmlFormatterDeserializer.cs : new file.
714 * SerializationMap.cs, XmlFormatter.cs, KnownTypeCollection.cs :
715 several changes for pretty primitive Deserialize() implementation.
717 2005-10-07 Atsushi Enomoto <atsushi@ximian.com>
719 Added hacky serialization feature. Actually it should be rewritten to
720 be based on IDataContractSurrogate.
721 * SerializationMap.cs, XmlFormatterSerializer.cs :
722 new files for Serialize() implementation.
723 * KnownTypeCollection.cs : use serialization maps to check contracts.
724 * XmlFormatter.cs : implemented hacky Serialize().
725 * DataMemberAttribute.cs : default Order is -1.
726 * DataContractAttribute.cs : added tiny comment.
728 2005-10-03 Atsushi Enomoto <atsushi@ximian.com>
730 * XmlFormatter.cs : Added implementation switch between
731 BinaryFormatter and internal DataContractFormatter.
732 * XmlSerializableServices.cs : WriteNodes() impl.
734 2005-10-03 Atsushi Enomoto <atsushi@ximian.com>
736 * XmlSerializableServices.cs : ReadNodes() impl.
738 2005-09-28 Atsushi Enomoto <atsushi@ximian.com>
740 * KnownTypeAttribute.cs : fixed attribute usage.
742 2005-09-22 Atsushi Enomoto <atsushi@ximian.com>
744 * IDataContractSurrogate.cs, ContractNamespaceAttribute.cs,
745 XsdDataContractExporter.cs, KnownTypeAttribute.cs,
746 SerializationMode.cs, XmlFormatter.cs, DataMemberAttribute.cs,
747 ImportOptions.cs, UnknownSerializationData.cs,
748 SerializationFactoryMethodAttribute.cs, XmlSerializableServices.cs,
749 DataContractAttribute.cs, ExportOptions.cs,
750 InvalidDataContractException.cs, IUnknownSerializationData.cs,
751 CollectionDataContractAttribute.cs, XsdDataContractImporter.cs,
752 KnownTypeCollection.cs :
753 #if NET_2_0. coding style was updated.
755 2005-09-22 Atsushi Enomoto <atsushi@ximian.com>
757 * CollectionDataContractAttribute.cs
758 ContractNamespaceAttribute.cs
759 DataContractAttribute.cs
760 DataMemberAttribute.cs
762 IDataContractSurrogate.cs
763 InvalidDataContractException.cs
764 IUnknownSerializationData.cs
766 KnownTypeAttribute.cs
767 KnownTypeCollection.cs
768 SerializationFactoryMethodAttribute.cs
770 UnknownSerializationData.cs
772 XmlSerializableServices.cs
773 XsdDataContractExporter.cs
774 XsdDataContractImporter.cs : new files.