for TARGET_J2EE only:
[mono.git] / mcs / class / System.Configuration / System.Configuration / ChangeLog
1 2007-12-05  Marek Habersack  <mhabersack@novell.com>
2
3         * ConfigurationElement.cs: some property values may be null
4         objects in GetHashCode.
5
6 2007-11-23  Marek Habersack  <mhabersack@novell.com>
7
8         * ConfigurationElementCollection.cs: ThrowOnDuplicate returns true
9         if the collection is one of the AddRemoveClearMap or
10         AddRemoveClearMapAlternate types.
11
12 2007-11-15  Atsushi Enomoto  <atsushi@ximian.com>
13
14         Part of fix for bug #323708.
15         * ConfigurationSection.cs : in GetRuntimeObject(), take parent
16           section instance into consideration.
17         * SectionInformation.cs : to make it possible, GetParentSection()
18           should be implemented.
19         * Configuration.cs : to make it possible, GetSectionInstance()
20           should set parent section on its SectionInformation. It used to
21           just steal parent's xml when its own xml does not exist, but
22           it now blocks correct configuration retrieval.
23
24 2007-11-15  Atsushi Enomoto  <atsushi@ximian.com>
25
26         * SectionGroupInfo.cs : remove extra StringBuilder creation.
27
28 2007-11-14  Atsushi Enomoto  <atsushi@ximian.com>
29
30         * Configuration.cs : (Save) when the given file path is relative
31           it failed to create directory. Fixed standalone test t25/t26.
32         * InternalConfigurationHost.cs : pass userLevel to create a host
33           instance.
34
35 2007-10-04  Atsushi Enomoto  <atsushi@ximian.com>
36
37         * InternalConfigurationHost.cs : when the streamName is for
38           machine.config, try get_bundled_machine_config() icall first.
39           This hopefully implements the requested feature in bug #325022.
40         * Configuration.cs : added comment.
41
42 2007-08-31  Gert Driesen  <drieseng@users.sourceforge.net>
43
44         * ConfigurationManager.cs: Fixed line endings. Avoid warning by
45         changing accessibility of ChangeConfigurationSystem to internal.
46         * Configuration.cs: Fixed compiler warnings.
47         * DpapiProtectedConfigurationProvider.cs: Fixed line endings.
48
49 2007-08-21  Atsushi Enomoto  <atsushi@ximian.com>
50
51         * ConfigurationManager.cs : To open exe configuration, use 
52           GetEntryAssembly() first, and GetCallingAssembly() only when
53           it was not found. Should fix bug #82071.
54
55 2007-06-21  Atsushi Enomoto  <atsushi@ximian.com>
56
57         * Configuration.cs, InternalConfigurationHost.cs :
58           configuration file to write might be given as an absolute path,
59           where the ancestor directories may not exist.
60
61 2007-06-20  Atsushi Enomoto  <atsushi@ximian.com>
62
63         * ConfigurationManager.cs : in OpenExeConfiguration() and
64           OpenMappedExeConfiguration(), take userLevel into consideration.
65         * InternalConfigurationHost.cs : consider ConfigurationUserLevel and
66           use correct config map file in InitForConfiguration().
67
68 2007-06-18  Atsushi Enomoto  <atsushi@ximian.com>
69
70         * ClientConfigurationSystem.cs : do not asume GetEntryAssembly()
71           returns non-null. Patch by Patrick Perry.
72
73 2007-06-13  Atsushi Enomoto  <atsushi@ximian.com>
74
75         * ConfigurationElement.cs : SerializeToXmlElement() should be
76           called regardless of HasValues() return value, especially since
77           it could be overriden (e.g. in SettingsValueElement).
78
79 2007-06-13  Atsushi Enomoto  <atsushi@ximian.com>
80
81         * ConfigurationSectionGroup.cs
82           Configuration.cs : ConfigurationSectionGroup must be initialized
83           at least when being added to a collection.
84
85 2007-06-12  Vladimir Krasnov  <vladimirk@mainsoft.com>
86
87         * ConfigurationElement.cs: refactored GetKeyProperties and
88         GetDefaultCollection methods, map should not be used here, Properties
89         will do instead. Refactored ElementMap class
90         * ConfigurationElementCollection.cs: fixed InitFromProperty, GetMap()
91         should not be called here
92         * ElementInformation.cs: fixed Properties, moved to ctor to be thread
93         safe
94         * PropertyInformation.cs: members assigned readonly modifier
95
96 2007-05-30  Marek Habersack  <mhabersack@novell.com>
97
98         * SectionGroupInfo.cs: <location> elements are case-insensitive
99         and the same 'path' attribute may be used only once.
100
101         * ConfigurationLocationCollection.cs: Find should be
102         case-insensitive for all targets, not just TARGET_JVM.
103
104 2007-05-17 Igor Zelmanovich <igorz@mainsoft.com>
105
106         * Configuration.cs: FilePath implemented according to MSDN:
107         If the value for this FilePath property represents a merged view and 
108         no actual file exists for the application, the path to the parent 
109         configuration file is returned.
110
111 2007-05-15 Igor Zelmanovich <igorz@mainsoft.com>
112
113         * Configuration.cs:
114         * ConfigurationLocation.cs:
115         implemented EvaluationContext property.         
116
117 2007-05-15 Igor Zelmanovich <igorz@mainsoft.com>
118
119         * ConfigurationLocationCollection.cs: for TARGET_JVM only:
120         location path is case-insensitive.
121                 
122 2007-05-15  Marek Habersack  <mhabersack@novell.com>
123
124         * ConfigurationElement.cs: added value validation on
125         deserialization from the config file.
126
127 2007-05-14 Igor Zelmanovich <igorz@mainsoft.com>
128
129         * ConfigurationElement.cs: when attribute value cannot be parsed,
130         ConfigurationErrorException is thrown.
131                 
132 2007-05-09 Igor Zelmanovich <igorz@mainsoft.com>
133
134         * ConfigurationManager.cs:
135         added MonoLimitation attribute for TARGATE_JVM. 
136                 
137 2007-05-08 Igor Zelmanovich <igorz@mainsoft.com>
138
139         * ConnectionStringSettingsCollection.cs: removed 'new' keyword, cause 
140         property doesn't hide any inherit property.
141
142 2007-04-24  Atsushi Enomoto  <atsushi@ximian.com>
143
144         * InternalConfigurationHost.cs : machine configuration covers all
145           ConfigurationAllowDefinition values.
146
147 2007-04-17  Atsushi Enomoto  <atsushi@ximian.com>
148
149         * ConfigurationSectionCollection.cs : GetEnumerator() should return
150           IEnumerator for the items, not keys.
151         * ConfigurationProperty.cs : more helpful type mismatch message.
152
153 2007-04-16  Marek Habersack  <mhabersack@novell.com>
154
155         * SectionGroupInfo.cs: another (and final, hopefully) fix for bug
156         #81321 and several other related issues that were discovered by
157         the way. Thanks to Atsushi for help with XmlReader!
158
159 2007-04-15  Marek Habersack  <mhabersack@novell.com>
160
161         * SectionGroupInfo.cs: another incarnation of the fix for bug
162         #81321.
163
164 2007-04-12  Marek Habersack  <mhabersack@novell.com>
165
166         * SectionGroupInfo.cs: a better fix for #81321
167
168 2007-04-10  Marek Habersack  <mhabersack@novell.com>
169
170         * SectionGroupInfo.cs: make sure empty sections with the
171         short-circuit tag ends (<section/>) don't make the process loop
172         endlessly. Fixes bug #81321.
173
174 2007-03-22  Konstantin Triger <kostat@mainsoft.com>
175
176         * ConfigInfo.cs: should be able instantiate types with private ctors.
177
178 2007-03-19  Vladimir Krasnov  <vladimirk@mainsoft.com>
179
180         * ConfigurationSectionCollection.cs,
181         * ConfigurationSectionGroupCollection.cs,
182         * PropertyInformationCollection.cs, 
183         * SectionGroupInfo.cs: used StringComparer.Ordinal instead of
184         OrdinalComparer
185
186 2007-03-15  Vladimir Krasnov  <vladimirk@mainsoft.com>
187
188         * ConfigurationSectionCollection.cs,
189         * ConfigurationSectionGroupCollection.cs,
190         * PropertyInformationCollection.cs, 
191         * SectionGroupInfo.cs: these collections should be based on case
192         insensitive NameObjectCollectionBase
193         * added OrdinalComparer.cs for use in NameObjectCollectionBase
194
195 2007-02-07  Atsushi Enomoto  <atsushi@ximian.com>
196
197         * SectionInfo.cs : don't stop at restartOnExternalChanges attribute.
198
199 2007-01-16  Konstantin Triger <kostat@mainsoft.com>
200
201         * ConfigurationElement.cs: ignore properties with null or empty name.
202
203 2007-01-16  Konstantin Triger <kostat@mainsoft.com>
204
205         * ConfigurationElement.cs: Try to deserilalize an unrecognized element by
206                 current element, and only if failed delegate to default collection.
207
208 2006-12-27  Vladimir Krasnov  <vladimirk@mainsoft.com>
209
210         * ConfigurationElementCollection.cs: fixed BaseAdd, looking for
211         identical element when collection type is not alternate
212
213 2006-12-27  Vladimir Krasnov  <vladimirk@mainsoft.com>
214
215         * ConnectionStringSettingsCollection.cs: made connection string key
216         case insensitive
217
218 2006-12-27  Atsushi Enomoto  <atsushi@ximian.com>
219
220         * ConfigurationElementCollection.cs : fixed BaseAdd() with
221           throwIfExists to not raise an error for identical element
222           but for different element which shares the same key. Fix by
223           Konstantin Triger.
224
225 2006-12-21  Vladimir Krasnov  <vladimirk@mainsoft.com>
226
227         * ConfigurationProperty.cs: fixed DefaultValue of type Enum
228
229 2006-12-10  Konstantin Triger <kostat@mainsoft.com>
230
231         * ConfigurationElement.cs: Delegate parameter checking and default
232                 assigning to Configuratin property.
233         * ConfigurationProperty.cs:
234                 Ensure the TypeConvert and Validator always exist.
235                 Ensure the primitive types are properly initialized.
236
237 2006-12-09  Vladimir Krasnov  <vladimirk@mainsoft.com>
238
239         * ConfigurationElementCollection.cs
240         * ConfigurationRemoveElement.cs: fixed key for <remove> element in
241         ConfigurationRemoveElement class
242
243 2006-11-28  Marek Habersack  <grendello@gmail.com>
244
245         * SectionGroupInfo.cs: Implement merging of section groups with
246         the same names and parents.
247
248         * ConfigInfo.cs: Add an abstract method for merging sections.
249
250         * SectionInfo.cs: Add implementation of an abstract base method
251
252 2006-08-23  Konstantin Triger <kostat@mainsoft.com>
253
254         * SectionInfo.cs: refactoring - remove unneeded bool? usage.
255         
256 2006-11-05  Vladimir Krasnov  <vladimirk@mainsoft.com>
257
258         * added: ConfigurationRemoveElement.cs, common element for <remove>
259         * ConnectionStringSettingsCollection.cs: reverted last fix for
260         <remove> element
261         * ConfigurationElementCollection.cs: fixed the way that
262         OnDeserializeUnrecognizedElement method handles <remove> element
263
264 2006-11-02  Vladimir Krasnov  <vladimirk@mainsoft.com>
265
266         * ConfigurationElement.cs: typo in DefaultCollectionProperty
267         method
268
269 2006-10-30  Joel Reed <joel.reed@ddiworld.com>
270
271         * NameValueConfigurationCollection.cs: Implement the Properties
272         property. 
273
274 2006-08-23  Konstantin Triger <kostat@mainsoft.com>
275
276         * ConfigurationLocation.cs: do not read root element, correctly close stream.
277         * Configuration.cs: use ReadData for nested content to throw if location
278                 elements are encounterd.
279                 In constructor taking parent Configurqation: do not call Init and so avoid
280                 rereading config file.
281
282 2006-09-05  Vladimir Krasnov  <vladimirk@mainsoft.com>
283
284         * NameValueConfigurationElement.cs: fixed functionality
285         * ConfigurationElementCollection.cs,
286         ConnectionStringSettingsCollection.cs: fixed <remove> element in
287         connectionStrings section
288
289 2006-08-23  Konstantin Triger <kostat@mainsoft.com>
290
291         * ConfigurationSection.cs: for net 1.1 SectionHandlers: return null in case
292                 RawXml is null, as net 1.1 does.
293
294 2006-08-17  Vladimir Krasnov  <vladimirk@mainsoft.com>
295
296         * ConfigurationFileMap.cs: added TARGET_JVM on not supported members
297         in grasshopper
298
299 2006-07-07  Atsushi Enomoto  <atsushi@ximian.com>
300
301         * ConfigurationManager.cs : OpenExeConfiguration(null) should still
302           work. This is required for embedded scenario.
303
304 2006-06-10  Atsushi Enomoto  <atsushi@ximian.com>
305
306         * SectionGroupInfo.cs : skip <dllmap> in configuration.
307
308 2006-05-14  Atsushi Enomoto  <atsushi@ximian.com>
309
310         * ConfigurationManager.cs: since ConfigurationSystem is different
311           for web.config, cast from ConfigurationSection to runtime object
312           should be done at GetSection().
313           This really fixed bug #78372.
314
315 2006-05-12  Atsushi Enomoto  <atsushi@ximian.com>
316
317         * Configuration.cs : configPath is null for machine.config, so don't
318           use it. Use streamName instead. To my understanding, this should
319           fix bug #78372.
320
321 2006-05-10  Atsushi Enomoto  <atsushi@ximian.com>
322
323         * ConnectionStringSettings.cs : it seems that "name" property
324           could be null i.e. there is no StringValidator.
325         * StringValidator.cs : allow null.
326
327 2006-05-10  Atsushi Enomoto  <atsushi@ximian.com>
328
329         * ConfigurationManager.cs : use GetCallingAssembly() instead of
330           GetEntryAssembly() which possibly returns null (e.g. nunit) in
331           OpenExeConfiguration(). Several nunit test failures are gone.
332
333 2006-05-10  Atsushi Enomoto  <atsushi@ximian.com>
334
335         * ConnectionStringSettings.cs : oops, this API fix broke standalone
336           test.
337
338 2006-05-10  Atsushi Enomoto  <atsushi@ximian.com>
339
340         * ConfigurationElement.cs,
341           ConfigurationErrorsException.cs,
342           ConfigurationUserLevel.cs,
343           ConfigurationPropertyOptions.cs,
344           ConnectionStringSettings.cs : assorted minor corcompare fixes.
345
346 2006-05-10  Atsushi Enomoto  <atsushi@ximian.com>
347
348         * Configuration.cs : some kind of refactoring is absolutely needed
349           here. Reuse RawXml from parentSection when data was not available
350           on current section. This should fix bug #78353.
351
352 2006-05-10  Atsushi Enomoto  <atsushi@ximian.com>
353
354         * ConfigurationElement.cs,
355           DefaultSection.cs :
356           in some cases RawXml was set null string, so skip such cases.
357         * Configuration.cs : support IConfigurationSectionHandler here.
358         * ConfigurationManager.cs : GetSection() now returns name value
359           collection, not a section.
360         * ConfigurationSection.cs : added SectionHandler for
361           IConfigurationSectionHandler support, and use its Create() in
362           GetRuntimeObject().
363         * ClientConfigurationSystem.cs :
364           use GetRuntimeObject() in GetSection(). Thus now
365           ConfigurationManager.GetSection() returns a runtime object.
366           Fixed bug #78337.
367
368 2006-04-28  Atsushi Enomoto  <atsushi@ximian.com>
369
370         * SectionGroupInfo.cs :
371           sections which are defined in sectionGroups could be directly
372           referenced, so search corresponding section recursively.
373         * DefaultSection.cs : It does not reject unrecognized contents.
374
375 2006-04-26  Chris Toshok  <toshok@ximian.com>
376
377         * SectionInformation.cs (.ctor): add MonoTODO about the default
378         value for require_permission.
379         (RequirePermission): implement the getter/setter for this so
380         Atsushi's previous commit doesn't break everything :)
381
382 2006-04-26  Atsushi Enomoto  <atsushi@ximian.com>
383
384         * Configuration.cs,
385           SectionInfo.cs : added support for "requirePermission" attribute
386           in "section" element. This fixes bug #77957.
387
388 2006-04-25  Chris Toshok  <toshok@ximian.com>
389
390         * ConfigurationElementCollection.cs (Reset): it makes no sense to
391         pass the typename to CreateNewElementInternal.  the argument is
392         the elementname. pass null instead.
393         (Unmerge): same.
394
395 2006-02-01  Atsushi Enomoto  <atsushi@ximian.com>
396
397         * ConfigurationElement.cs : ListErrors() and SetPropertyValue()
398           are protected.
399         * ConfigurationSection.cs : the .ctor() is protected.
400         * ConfigurationElementCollection.cs : CollectionType is public.
401           Count and BaseAdd() are not virtual.
402         * ConfigurationPropertyCollection.cs : Count is not virtual.
403
404 2006-02-01  Chris Toshok  <toshok@ximian.com>
405
406         * ConfigurationElement.cs: revert the patch that stores and writes
407         out xmlns attributes for all elements.
408
409         * ClientConfigurationSystem.cs: SupportsUserConfig == false.
410
411         * AppSettingsSection.cs (GetRuntimeObject): call col.SetReadOnly()
412         only if SupportsUserConfig != true.
413
414         * ConfigurationManager.cs (ConfigurationSystem): add a property
415         like ConfigurationFactory, and use it instead of the private field
416         throughout.
417
418 2006-01-26  Chris Toshok  <toshok@ximian.com>
419
420         * SectionGroupInfo.cs (ReadContent): handle "location" (seemingly)
421         correctly.
422
423         * InternalConfigurationRoot.cs: misc logical additions.  still
424         isn't useful.
425
426         * ConfigurationManager.cs (OpenExeConfigurationInternal): throw an
427         exception if both calling_assembly and exePath are null.  Allow
428         the exePath to be a path to a config file as well, checking to see
429         if it ends in .config before appending.
430         (OpenExeConfiguration): stop blindly passing
431         Assembly.GetCallingAssembly.  I'm assuming this will likely break
432         .dll.config usage.  need to investigate that (and write more unit
433         tests.)
434         (GetSection): call configSystem.GetSection.
435         (RefreshSection): call configSystem.RefreshSection.
436         (ChangeConfigurationSystem): modeled after the
437         ConfigurationSettings System.Web hack - allow
438         WebConfigurationManager to replace the current
439         IInternalConfigSystem.
440
441         * InternalConfigurationHost.cs (InternalConfigurationHost): make
442         abstract, and remove all the NotImplenmentedException's.
443
444         * ConfigurationElement.cs (DeserializeElement): store off the xml
445         namespace if there is one.
446         (SerializeElement): write out the namespace if there was one.
447
448         * ClientConfigurationSystem.cs: new class, based on some stack
449         traces I've seen in tests.  Kinda (well, not *kinda*..) hacky.
450
451         * Configuration.cs (NamespaceDeclared): implement.
452         (Load): don't swallow all exceptions, just the ones raised when we
453         open the stream for reading.
454         (ReadConfigFile): handle xmlns.
455
456 2006-01-25  Chris Toshok  <toshok@ximian.com>
457
458         * ConfigInfo.cs (ThrowException): throw a
459         ConfigurationErrorsException, not a ConfigurationException.
460
461         * SectionGroupInfo.cs (ReadContent): throw an exception
462         unconditionally if we see a <location>.  they aren't valid in
463         section groups.
464
465 2006-01-25  Chris Toshok  <toshok@ximian.com>
466
467         * KeyValueInternalCollection.cs: don't use a nested collection,
468         just defer to our base class.  This fixes usage of
469         ConfigurationManager.AppSettings.Keys.
470
471 2006-01-13  Chris Toshok  <toshok@ximian.com>
472
473         * AppSettingsSection.cs (GetRuntimeObject): only access
474         Settings[key] once per iteration.
475
476 2006-01-09  Chris Toshok  <toshok@ximian.com>
477
478         * ConfigurationManager.cs (AppSettings): just return
479         AppSettingsSection.GetRuntimeObject() here.
480
481         * AppSettingsSection.cs: fix the "file" property to match dumper
482         output.
483         (GetRuntimeObject): this returns a KeyValueInternalCollection in
484         MS's implementation.
485
486 2006-01-09  Chris Toshok  <toshok@ximian.com>
487
488         * ElementInformation.cs (Validator): if propertyInfo == null,
489         return a DefaultValidator instance.
490
491 2006-01-09  Chris Toshok  <toshok@ximian.com>
492
493         * AppSettingsSection.cs (.cctor): specify null for
494         validator/converter.
495
496         * ProtectedProviderSettings.cs (.cctor): specify null for
497         validator/converter.
498
499 2006-01-03  Chris Toshok  <toshok@ximian.com>
500
501         * Configuration.cs (SaveAs): open with FileMode.OpenOrCreate so we
502         can save to a new file.
503         (CreateSection): don't bother to set the section information's
504         Name here.  we'll do it in SectionInfo.CreateInstance.
505
506         * ProtectedConfiguration.cs (Section): new static property so we
507         can remove all the GetSection calls.
508         (GetProvider): load a named provider, optionally throwing an
509         exception if it's not found.
510
511         * InternalConfigurationHost.cs (EncryptSection, DecryptSection):
512         make these private interface implementations, and call
513         protectedSection.{EncryptSection,DecryptSection}.
514
515         * ProtectedConfigurationSection.cs (EncryptSection,
516         DecryptSection): add these two calls.  They really shouldn't be
517         here, but I saw them in an MS stack trace and thought "why not?".
518
519         * ConfigurationSection.cs (SectionInformation): don't set
520         attributes here, that's done in SectionInfo.CreateInstance.
521         (DeserializeSection): shoehorn in the decryption stuff here.  It
522         doesn't belong here, and I've added a MonoTODO about it.  It
523         should live someplace like SectionInfo.ReadData (which would make
524         it similar to the encryption stuff in .WriteData).
525
526         * SectionInformation.cs (IsProtected): remove the special flag,
527         just return true if we have a non-null protection_provider.
528         (ProtectSection): do nothing but try to instantiate the named
529         provider.
530         (UnprotectSection): null out protection_provider.
531
532         * DpapiProtectedConfigurationProvider.cs: move the
533         NotSupportedExceptions to Decrypt/Encrypt so we don't bomb out
534         when parsing our machine.config file.
535
536         * RsaProtectedConfigurationProvider.cs: initial implementation.
537         much is missing (OAEP support, key importing, adding/deleting
538         keys), but it can be used.
539
540 2006-01-02  Chris Toshok  <toshok@ximian.com>
541
542         * RsaProtectedConfigurationProvider.cs: implement the
543         CspProviderName and UseOAEP properties..
544
545 2006-01-02  Chris Toshok  <toshok@ximian.com>
546
547         * ProtectedConfigurationSection.cs: flesh this out (and add logic
548         to instantiate providers, based on some of the standalone test
549         exception stack traces.)
550
551         * ProtectedConfiguration.cs: new implementation.
552
553         * ProtectedConfigurationProviderCollection.cs: new
554         implementation.
555
556         * ProtectedProviderSettings.cs: new implementation.
557
558         * ProtectedConfigurationProvider.cs: trim the superclass's name.
559
560         * RsaProtectedConfigurationProvider.cs: stubbed, unimplemented.
561
562         * DpapiProtectedConfigurationProvider.cs: add stubbed
563         implementation that throws NotSupportedException telling people
564         they should be using RsaProtectedConfigurationProvider.
565
566 2006-01-02  Chris Toshok  <toshok@ximian.com>
567
568         * DefaultSection.cs (Properties): implement.
569
570         * IgnoreSection.cs: move from lazily creating the properties
571         collection to sharing a single one across all instances.
572
573         * ConfigurationLockCollection.cs (IsReadOnly): fix compiler warning.
574
575         * ConfigurationElementCollection.cs (BaseAdd) remove logic to
576         remove an old matching element.
577         (BaseGetKey): throw an exception if @index is out of range.
578
579         * SectionInformation.cs (SectionName): just return name, like Name
580         does.. redundant, but it matches tests.
581         (GetRawXml): implement.
582         (SetRawXml): implement.
583
584         * ConfigurationSection.cs (SectionInformation): fill in
585         sectionInformation.Type before returning.
586         (DeserializeSection): save off the raw xml to our
587         SectionInformation.
588
589         * ConfigurationElement.cs (LockItem): implement.
590         (DeserializeElement): add support for the "lockItem" attribute.
591
592 2005-12-16  Chris Toshok  <toshok@ximian.com>
593
594         * ConfigurationLockCollection.cs (Add): only add the name if it's
595         not already there.
596         (IsReadOnly): always return false for the time being, in the
597         non-exceptional case.
598
599 2005-12-15  Chris Toshok  <toshok@ximian.com>
600
601         * ConfigurationElement.cs (LockAllAttributesExcept): implement.
602         (LockAllElementsExcept): implement.
603         (DeserializeElement): handle the built-in attributes (lock* for
604         the time being).
605
606 2005-12-15  Chris Toshok  <toshok@ximian.com>
607
608         * ConfigurationLockCollection.cs (..ctor): don't call Populate.
609         (Populate): nuke.
610         (CheckName): make sure the passes in name is valid for this type
611         of lock collection.
612         (Add): call CheckName, and set is_modified to true.
613         (Clear): set is_modified.
614         (IsReadOnly): add plausable implementation, including exception in
615         the case where the name isn't found.
616         (Remove): set is_modified.
617         (SetFromList): implement.
618         (get_AttributeList): implement.
619         (set_IsModified): add internal setter so we can clear the modified
620         flag.
621
622 2005-12-12  Chris Toshok  <toshok@ximian.com>
623
624         * AppSettingsSection.cs (DeserializeElement): provide rather naive
625         version of the file="" handling.  It's enough to make our tests
626         pass.
627
628 2005-12-11  Chris Toshok  <toshok@ximian.com>
629
630         * ConnectionStringsSection.cs (..cctor): use "" instead of null
631         for the name of the default collection.
632
633         * AppSettingsSection.cs (..cctor): create a property for the
634         default collection.
635         (DeserializeElement): call base.DeserializeElement.
636         (File): index off the property, not the name.
637         (Settings): don't use an private variable here, use
638         base[_propSettings].
639
640         * ConfigurationManager.cs (GetSection): GetEntryAssembly returns
641         null for new app domains.  so deal with this by calling
642         GetCallingAssembly if it's null.  This is probably still wrong but
643         it doesn't NRE in xsp2.
644         (AppSettings): remove MonoTODO.
645         
646         * KeyValueConfigurationElement.cs (..ctor): new method, create the
647         ConfigurationProperty's and the collection here.
648         (.ctor): add internal arg-less ctor.
649         (Key): use keyProp instead of "key".
650         (Value): use vlaueProp instead of "value".
651         (Properties): return our class's properties.
652
653         * KeyValueConfigurationCollection.cs (CreateNewElement): use the
654         arg-less ctor.
655         (GetElementKey): re-enable the BaseIndexOf test.
656
657 2005-12-02  Chris Toshok  <toshok@ximian.com>
658
659         * Configuration.cs (Save): call WriteStartDocument.
660
661         * ConnectionStringSettingsCollection.cs (CreateNewElement): use
662         parameter-less ctor to keep from generating exceptions when using
663         the collection.
664
665 2005-12-02  Chris Toshok  <toshok@ximian.com>
666
667         * ConnectionStringSettings.cs: tabify, fix default values, and add
668         a string validator for "name".
669
670 2005-12-02  Chris Toshok  <toshok@ximian.com>
671
672         * CommaDelimitedStringCollectionConverter.cs (ConvertTo): change
673         the type check away from an exact check for
674         CommaDelimitedStringCollection to an assignable test from
675         StringCollection.  This is due to the fact that AuthorizationRule
676         doesn't create CommaDelimitedStringCollections, for some odd
677         reason.  It uses StringCollections.
678
679         * PropertyInformation.cs (Value): remove the case for
680         IsDefaultCollection - it's not necessary, as the property is an
681         Element.
682
683         * ConnectionStringSettings.cs: fix formatting and remove some
684         #regions.
685
686         * ConnectionStringSettingsCollection.cs: same.
687
688         * ConnectionStringsSection.cs: same.
689
690         * ConfigurationElement.cs (SerializeToXmlElement): don't write the
691         enclosing start/end elements if the elementName is null or "".
692         this fixes the case for the DefaultCollections (at least in the
693         case of connectionStrings).
694
695         * IgnoreSection.cs (Properties): remove the MonoTODO.
696
697         * SectionInfo.cs (WriteData): remove the "<!-- dd -->" output.
698
699 2005-11-28  Chris Toshok  <toshok@ximian.com>
700
701         * ProviderSettings.cs: use ConfigurationProperty's to implement
702         the properties.
703
704 2005-11-24  Chris Toshok  <toshok@ximian.com>
705
706         * ConfigurationProperty.cs (Validate): add internal method.
707
708 2005-11-24  Chris Toshok  <toshok@ximian.com>
709
710         * ConfigurationElement.cs (ElementProperty): make this protected
711         internal virtual instead of public.
712         (SetPropertyValue): add a validator call and a blurb about the
713         code based on information gleaned from tests.
714         (set_Item (string)): call SetPropertyValue in the setter.
715         
716 2005-11-14  Chris Toshok  <toshok@ximian.com>
717
718         * CommaDelimitedStringCollection.cs: reformat things a bit, and
719         flag ToString() as override.
720
721         * DefaultSection.cs: new stubbed out implementation.
722
723         * CommaDelimitedStringCollectionConverter.cs: new implementation.
724
725 2005-11-10  Chris Toshok  <toshok@ximian.com>
726
727         * AppSettingsSection.cs (DeserializeElement): stop explicitly
728         calling Settings.DeserializeElement, as the DefaultCollection
729         works now.
730
731         * ConfigurationElement.cs (DeserializeElement): rework the loop
732         here so that we actually loop over all the content elements.
733
734 2005-11-09  Chris Toshok  <toshok@ximian.com>
735
736         * ConfigurationElement.cs: Add support for DefaultCollection
737         attributes.
738
739         * PropertyInformation.cs (PropertyInformation.Value): add case for
740         IsDefaultCollection.
741
742         * SectionGroupInfo.cs (SectionGroupInfo.ReadConfig): when we read
743         a "type" attribute, make sure the cached System.Type is cleared.
744
745 2005-10-25  Chris Toshok  <toshok@ximian.com>
746
747         * InfiniteTimeSpanConverter.cs: new implementation.
748
749         * InfiniteIntConverter.cs: new implementation.
750
751         * GenericEnumConverter.cs: new implementation.
752
753         * Configuration.cs: we don't need to check with "is" after we use
754         "as"..  just check for null-ness.
755
756         * KeyValueConfigurationCollection.cs: GetElementKey should throw
757         NRE if element == null.
758
759         * CommaDelimitedStringCollection.cs: raise the correct exceptions
760         in the read only case, and return null from ToString if there are
761         0 elements.
762
763 2005-10-25  Chris Toshok  <toshok@ximian.com>
764
765         * PositiveTimeSpanValidatorAttribute.cs: new implementation.
766
767         * PositiveTimeSpanValidator.cs: new implementation.
768
769 2005-10-24  Chris Toshok  <toshok@ximian.com>
770
771         * TimeSpanSecondsOrInfiniteConverter.cs: new implementation.
772
773         * TypeNameConverter.cs: new implementation.
774
775         * WhiteSpaceTrimStringConverter.cs: new implementation.
776
777 2005-10-24  Chris Toshok  <toshok@ximian.com>
778
779         * AppSettingsSection.cs (DeserializeElement, SerializeSection):
780         split the behavior based on if File == "".  If it is, we do the
781         default.  otherwise we throw NIE.
782
783         * ConnectionStringsSection.cs (DeserializeElement): we shouldn't
784         need this, but we do until the IsDefaultCollection stuff is fixed.
785
786         * ConfigurationElementCollection.cs
787         (OnDeserializeUnrecognizedElement): for clearElementName, make
788         sure we have no attributes.
789
790         * ConnectionStringSettingsCollection.cs (get_Properties): for now
791         just chain up to base.Properties.
792
793         * ConfigurationElement.cs (ReflectProperties): do the default
794         value/property type check in a more robust way, using
795         Convert.ChangeType.
796
797 2005-10-24  Chris Toshok  <toshok@ximian.com>
798
799         * ConfigurationElement.cs: treat
800         ConfigurationProperty.NoDefaultValue the same as null when we're
801         checking the default value's type.  this fixes t13 and 14.
802
803         * ConnectionStringsSection.cs (ConnectionStrings): fix the
804         DefaultValue in the ConfigurationPropertyAttribute.
805
806 2005-10-24  Chris Toshok  <toshok@ximian.com>
807
808         * KeyValueConfigurationCollection.cs (GetElementKey): sacrifice
809         one test to get another working.  Return a valid key even if the
810         element is not in this collection.
811         (get_ThrowOnDuplicate): return false.
812
813         * ConfigurationElementCollection.cs (BaseAdd): if we're adding an
814         element with the same key, overwrite the old one (remove the old
815         one after inserting the new one).  Also, re-enable the throwing of
816         exceptions if ThrowOnDuplicate == true.
817
818 2005-10-24  Chris Toshok  <toshok@ximian.com>
819
820         * AppSettingsSection.cs (Settings): fix ConfigurationProperty
821         attribute.
822
823         * ProtectedConfigurationSection.cs (Providers): same.
824
825 2005-10-12  Chris Toshok  <toshok@ximian.com>
826
827         * ConfigurationPermission.cs: flesh out as per tests.
828
829 2005-10-11  Chris Toshok  <toshok@ximian.com>
830
831         * ConfigurationProperty.cs: don't use null to mean no default
832         value, use NoDefaultValue.
833
834 2005-10-11  Chris Toshok  <toshok@ximian.com>
835
836         * KeyValueConfigurationCollection.cs (GetElementKey): duh.
837         BaseGet calls GetElementKey, so we were hitting an infinite
838         recursion here.  Use BaseIndexOf instead.
839
840 2005-10-07  Chris Toshok  <toshok@ximian.com>
841
842         * InternalConfigurationHost.cs: some interface work, adding in the
843         new methods.
844
845         * ConfigurationProperty.cs: remove debug spew.
846
847         * Configuration.cs: add NIE'd NamespaceDeclared property.
848
849         * ElementInformation.cs: add NIE'd Errors property.
850
851         * PropertyInformationCollection.cs: add NIE'd GetObjectData().
852
853         * ConfigurationManager.cs: quite a bit of new work here.  Some
854         definie TODO's still though.
855
856 2005-10-07  Chris Toshok  <toshok@ximian.com>
857
858         * ConfigurationErrorsException.cs (.ctor): for the (string)
859         overload, chain up to the base (string) ctor.
860
861 2005-10-07  Chris Toshok  <toshok@ximian.com>
862
863         * ConfigurationElement.cs (ElementMap.ReflectProperties): make
864         sure the type of the default value is compatible with that of the
865         property itself, and throw ConfigurationErrorsException if they
866         don't match.  Fixes t12.
867
868 2005-10-07  Chris Toshok  <toshok@ximian.com>
869
870         * ConfigHelper.cs: remove some unused code.
871
872         * ConfigurationProperty.cs: disambiguate the ctor we chain to.
873
874         * ConfigurationElement.cs (ElementProperty): implement.
875         (ElementMap.ReflectProperties): make DefaultValidator the default
876         validator, not null.
877
878 2005-10-06  Chris Toshok  <toshok@ximian.com>
879
880         * KeyValueConfigurationElement.cs: uncomment out some stuff.
881         (Properties): just return base.Properties.  Not sure why they
882         override this, as the base class's implementation passes our test.
883
884         * KeyValueConfigurationCollection.cs (Add): for the keyValue
885         overload, call keyValue.Init as the unit test stack traces
886         indicates that'9s where it's called.  For the string,string
887         overload, just call the keyValue overload instead of calling
888         BaseAdd.
889         (CreateNewElement): just use the name/value ctor, and specify ""
890         for each.
891         (GetElementKey): this function always returns "" for elements that
892         haven't been added to the collection.  Once theyre added, it seems
893         to always return keyValue.Key.
894         (Properties): the unit tests show this returns a 0 length
895         collection.
896
897 2005-10-05  Chris Toshok  <toshok@ximian.com>
898
899         * ConfigurationPermissionAttribute.cs: stub out.
900
901 2005-10-05  Chris Toshok  <toshok@ximian.com>
902
903         * TimeSpanMinutesOrInfiniteConverter.cs: fill in the
904         implementation.
905
906 2005-10-05  Chris Toshok  <toshok@ximian.com>
907
908         * TimeSpanSecondsConverter.cs: new implementation.
909
910 2005-10-05  Chris Toshok  <toshok@ximian.com>
911
912         * TimeSpanMinutesConverter.cs: flesh out implementation.
913
914         * ConfigurationConverterBase.cs: make all subclasses work with
915         strings only, since that's what seems to manifest itself in the
916         tests.
917
918 2005-10-05  Chris Toshok  <toshok@ximian.com>
919
920         * ConfigurationLockCollection.cs: add NIE'd AttributeList
921         property.
922
923         * ConfigurationConverterBase.cs: add MonoTODO'd CanConvertFrom and
924         CanConvertTo methods.
925
926         * ConfigurationSectionGroup.cs: add NIE'd IsDeclared property.
927
928         * ProtectedConfigurationSection.cs: add NIE'd properties.
929
930         * ConfigurationElementCollection.cs: add MonoTODO'd IsReadOnly
931         and SetReadOnly methods, and have then chain up to the base class.
932
933         * KeyValueConfigurationCollection.cs: add the class level
934         ConfigurationCollectionAttribute, and add a NIE'ed Properties
935         property.
936
937         * ProviderSettingsCollection.cs: add the class level
938         ConfigurationCollectionAttribute, and add a "new" keyword to the
939         this property.  Also, nuke the Provider's property.
940
941         * SectionInformation.cs: add some NEI'd properties.
942
943         * ConfigurationSection.cs (ResetModified): leave the MonoTODO, but
944         chain up to base class's method instead of throwing NIE.
945
946         * ConnectionStringSettingsCollection.cs: add the class-level
947         ConfigurationCollectionAttribute, and add the unimplemented
948         Properties property.
949
950         * ConfigurationErrorsException.cs: flesh this out, and add a
951         pragma to disable the obsolete warnings from our base class.
952
953         * ProviderSettings.cs: add unimplemented Properties property.
954
955         * ConfigurationElement.cs: remove unnecessary
956         EvaluationInformation.
957
958         * InternalConfigurationRoot.cs: add unimplemented IsDesignTime
959         property.
960
961         * ConfigurationProperty.cs: add a missing ctor.
962
963         * AppSettingsSection.cs: add missing "override" keyword.
964
965         * ConnectionStringsSection.cs: remove override.
966         
967         * ConfigurationSectionCollection.cs: AllKeys -> Keys, and add
968         unimplemented GetObjectData override.
969
970         * ConfigurationSectionGroupCollection.cs: same.
971
972         * ConfigurationCollectionAttribute.cs: add missing CollectionType
973         property.
974
975 2005-10-05  Chris Toshok  <toshok@ximian.com>
976
977         * ConfigurationPermission.cs: new implementation.
978
979         * IgnoreSection.cs: new implementation.
980
981 2005-10-05  Chris Toshok  <toshok@ximian.com>
982
983         * CommaDelimitedStringCollection.cs: new implementation.
984
985 2005-10-05  Chris Toshok  <toshok@ximian.com>
986
987         * NameValueConfigurationCollection.cs: new implementation.
988
989         * NameValueConfigurationElement.cs: new implementation.
990
991 2005-10-05  Chris Toshok  <toshok@ximian.com>
992
993         * ValidatorCallback.cs: new implementation.
994
995         * SubclassTypeValidator.cs, SubclassTypeValidatorAttribute.cs: new
996         implementation.
997
998         * CallbackValidator.cs, CallbackValidatorAttribute.cs: new
999         implementation.
1000
1001         * RegexStringValidator.cs, RegexStringValidatorAttribute.cs: new
1002         implementation.
1003
1004         * LongValidator.cs, LongValidatorAttribute.cs: new implementation.
1005
1006         * IntegerValidator.cs, IntegerValidatorAttribute.cs: new
1007         implementation.
1008
1009         * DefaultValidator.cs: new implementation.
1010
1011 2005-09-28  Chris Toshok  <toshok@ximian.com>
1012
1013         * ConfigurationElementCollection.cs: more work on the "<clear />"
1014         handling - just skip the element for now.  this causes a failure
1015         in one test ('<clear hi="bye" />' doesn't throw an exception when
1016         it should), but it succeeds for collections that have required
1017         attributes.
1018
1019         * ConnectionStringSettings.cs: providerName isn't a required
1020         attribute.
1021
1022         * AppSettingsSection.cs (.cctor): initialize our "file" Property.
1023         (File): implement.
1024         (Properties): fix.
1025         (GetRuntimeObject): call the base class method instead of just
1026         returning "this".
1027
1028         * ConnectionStringsSection.cs: Add a hacky DeserializeElement
1029         method here (that isn't in MS's) for the time being so we actually
1030         deserialize our collection.
1031
1032 2005-09-28  Chris Toshok  <toshok@ximian.com>
1033
1034         * KeyValueInternalCollection.cs: found this by way of a stack
1035         trace in one of the tests.  A NameValueCollection that wraps a
1036         KeyValueConfigurationCollection.
1037
1038         * Configuration.cs (Init): save off configPath.
1039         (EvaluationContext): new, mostly implemented.
1040         (GetSectionInstance): use IgnoreSection instead of
1041         RuntimeOnlySection.
1042         (Load): don't fail when we can't load a file.
1043
1044         * IgnoreSection.cs: replace RuntimeOnlySection with this new
1045         public type.
1046
1047         * RuntimeOnlySection.cs: nuke.
1048         
1049 2005-09-27  Chris Toshok  <toshok@ximian.com>
1050
1051         * TimeSpanMinutesOrInfiniteConverter.cs: this is sealed.
1052
1053 2005-09-27  Chris Toshok  <toshok@ximian.com>
1054
1055         * ConfigurationProperty.cs: add IsDefaultCollection property.
1056
1057 2005-09-27  Chris Toshok  <toshok@ximian.com>
1058
1059         * ConfigurationElementProperty.cs: new file.
1060
1061         * ConfigurationLockCollection.cs: new file.
1062
1063         * ConfigurationElementCollection.cs
1064         (OnDeserializeUnrecognizedElement): make sure we consume the
1065         <clear /> element so we don't into an endless loop.
1066
1067         * ConfigurationElement.cs: add a bunch of NIE's properties.
1068
1069         * ContextInformation.cs: Add NIE'ed IsMachineLevel property.
1070
1071 2005-09-23  Chris Toshok  <toshok@ximian.com>
1072
1073         * AppSettingsSection.cs: fix build and add a couple of TODO'ed
1074         properties.
1075
1076 2005-09-23  Chris Toshok  <toshok@ximian.com>
1077
1078         * ProviderSettings.cs (Unmerge): track change to
1079         ConfigurationElement.Unmerge.
1080
1081         * ConfigurationSection.cs: add functions nuked from
1082         ConfigurationElement here.
1083
1084         * ConfigurationElementCollection.cs: add DebuggerDisplay attribute
1085         to the class.
1086         (BaseGetAllKeys): returns object[], not string[].
1087         (BaseGetKey): returns object, not string.
1088         (Unmerge): track change to ConfigurationElement.Unmerge signature.
1089
1090         * ConfigurationElement.cs (ConfigurationElement.Unmerge): fix
1091         signature (drop the serializeCollectionKey parameter).
1092         
1093
1094 2005-09-23  Chris Toshok  <toshok@ximian.com>
1095
1096         * StringValidator.cs: throw ArgumentException instead of
1097         ConfigurationErrorsException.
1098
1099 2005-09-23  Chris Toshok  <toshok@ximian.com>
1100
1101         * ConnectionStringsSection.cs: track change to
1102         ConfigurationPropertyOptions.
1103
1104         * ConfigurationPropertyAttribute.cs, ConfigurationProperty.cs,
1105         ProviderSettings.cs: track change to ConfigurationPropertyOptions.
1106
1107         * ConnectionStringSettings.cs: track change to
1108         ConfigurationProprertyOptions, and add some ConfigurationProperty
1109         attributes.
1110         
1111         * ConfigurationPropertyOptions.cs: DefaultCollection ->
1112         IsDefaultCollection, Required -> IsRequired.
1113
1114 2005-09-22  Chris Toshok  <toshok@ximian.com>
1115
1116         * PositiveTimeSpanValidator.cs: this lives in
1117         System.Web.Configuration, not System.Configuration.
1118
1119 2005-09-22  Chris Toshok  <toshok@ximian.com>
1120
1121         * TimeSpanValidator.cs: change to ArgumentException and alter the
1122         messages slightly.
1123
1124 2005-09-22  Chris Toshok  <toshok@ximian.com>
1125
1126         * ExeConfigurationFileMap.cs (ctor): init all the strings to "".
1127
1128 2005-07-01  Lluis Sanchez Gual  <lluis@novell.com>
1129
1130         * ProviderSettings.cs: Implemented properties using property attributes.
1131         * ConfigurationElement.cs: Implemented ElementInformation property and
1132         moved there all value management.
1133         * ProtectedConfigurationProvider.cs: Set the correct base class.
1134         * SectionInformation.cs: Added missing AllowExeDefinition property.
1135         * TimeSpanValidatorAttribute.cs: Implemented.
1136         * StringValidator.cs: Implemented.
1137         * ProviderSettingsCollection.cs: Added missing class attribute.
1138         * ConfigurationSaveMode.cs: Fix enum values.
1139         * ConfigurationElementCollection.cs: Added Init method for initializing
1140         elements from properties.
1141         * StringValidatorAttribute.cs: Implemented.
1142         * ConfigurationLocation.cs: Added support for allowOverride flag.
1143         * TimeSpanMinutesOrInfiniteConverter.cs: Created skeleton class.
1144         * PositiveTimeSpanValidator.cs: Implemented.
1145         * TimeSpanMinutesConverter.cs: Created skeleton class.
1146         * SectionInfo.cs: Properly read, store and check the values of AllowLocation,
1147         AllowDefinition and AllowExeDefinition.
1148         * TimeSpanValidator.cs: Implemented.
1149         * ConfigurationConverterBase.cs: Created skeleton class.
1150         * InternalConfigurationHost.cs: Implemented IsDefinitionAllowed and
1151         VerifyDefinitionAllowed.
1152         * ConfigurationManager.cs: That class must be static.
1153         * PropertyInformationCollection.cs: Implemented.
1154         * Configuration.cs: Added some checks for AllowLocation, AllowDefinition and
1155         so on. In Save(), don't forget to save location elements.
1156         * ConfigurationProperty.cs: Keep track of collection attributes.
1157         * ConfigInfo.cs: Support overrideAllowed flag.
1158         * KeyValueConfigurationElement.cs: Define properties using attributes.
1159         * PropertyValueOrigin.cs: implemented.
1160         * PropertyInformation.cs: Mostly implemented.
1161         * SectionGroupInfo.cs: Properly propagate the overrideAllowed flag.
1162         * ElementInformation.cs: Mostly implemented.
1163         * ConfigurationPropertyAttribute.cs: Set the correct default value.
1164         * ConfigurationCollectionAttribute.cs: Implemented.
1165
1166 2005-06-23  Lluis Sanchez Gual <lluis@novell.com>
1167
1168         * SectionInfo.cs: Set the config host when loading the section.
1169         * InternalConfigurationHost.cs: Implemented some basic methods.
1170         * Configuration.cs: Find the correct parent for the configuration,
1171         taking into accound locations and such. Use Host functions to get
1172         types from names.
1173         * ConfigurationLocationCollection.cs: Added find method.
1174         * ConfigInfo.cs: Added Host property.
1175         * InternalConfigurationFactory.cs: The InitForConfiguration calls
1176         are now done in each correspoding configuration.
1177         * SectionGroupInfo.cs: When reading a location element, create
1178         a Configuration object for each path specified in the location.
1179         * ConfigurationElementCollection.cs: Added the CreateNewElementInternal
1180         method, which properly initializes the created element.
1181         * ConfigurationLocation.cs: OpenConfiguration now has to read the
1182         xml contents. It also has to find the correct parent configuration,
1183         if it has not been specified.
1184
1185 2005-06-17  Lluis Sanchez Gual <lluis@novell.com>
1186
1187         * SectionInfo.cs, ConfigInfo.cs, SectionGroupInfo.cs: Minor api fixes.
1188         * ConfigurationPropertyCollection.cs: Added Clear method.
1189         * ContextInformation.cs: Implemented.
1190         * ConfigurationManager.cs: Implemented some missing methods.
1191         Configuration objects are now created through the ConfigurationFactory.
1192         * InternalConfigurationHost.cs: Implementation of IInternalConfigHost
1193         to be used for exe files and machine.config.
1194         * ConfigurationFileMap.cs: Implemented.
1195         * Configuration.cs: Read and write config files using the methods that
1196           IInternalConfigHost provides.
1197         * InternalConfigurationRoot.cs: IInternalConfigRoot stub.
1198         * ExeContext.cs: Implemented.
1199         * AppSettingsSection.cs: Use the KeyValueConfigurationCollection
1200         collection to store values.
1201         * KeyValueConfigurationElement.cs: Implemented.
1202         * KeyValueConfigurationCollection.cs: Implemented.
1203         * InternalConfigurationFactory.cs: An implementation of 
1204         IInternalConfigConfigurationFactory.
1205         * ConfigurationPropertyAttribute.cs: Added missing attributes.
1206         * ExeConfigurationFileMap.cs: Implemented.
1207
1208 2005-06-15  Lluis Sanchez Gual <lluis@novell.com>
1209
1210         * ConfigurationElement.cs, ConfigurationErrorsException.cs
1211         SectionInfo.cs, ConnectionStringSettingsCollection.cs,
1212         ConfigurationPropertyCollection.cs, ProtectedConfigurationProvider.cs,
1213         ConfigurationSection.cs, NonEmptyStringConfigurationProperty.cs,
1214         ConfigurationElementCollectionType.cs, Configuration.cs, 
1215         ConnectionStringSettings.cs, ConfigurationProperty.cs,
1216         ConfigurationLocationCollection.cs, TimeSpanConfigurationProperty.cs,
1217         ConfigurationAllowDefinition.cs, ConfigInfo.cs,
1218         ConfigurationSectionGroupCollection.cs, AppSettingsSection.cs,
1219         ProviderSettingsCollection.cs, IntegerConfigurationProperty.cs,
1220         SectionGroupInfo.cs, ConfigurationUserLevel.cs,
1221         ConnectionStringsSection.cs, ConfigurationPropertyAttribute.cs,
1222         ConfigurationLocation.cs, ConfigurationSectionCollection.cs,
1223         ConfigurationSectionGroup.cs, RuntimeOnlySection.cs,
1224         ProviderSettings.cs: 
1225                 Track API changes.
1226         
1227         * ConfigurationElementCollection.cs: Implemented support for Basic
1228         collection type. Other fixes.
1229         
1230         * ConfigurationPropertyFlags.cs: Renamed to ConfigurationPropertyOptions.
1231         * ConfigurationUpdateMode.cs: Renamed to ConfigurationSaveMode.
1232         
1233         * SectionInformation.cs, ConfigurationAllowExeDefinition.cs
1234         ConfigurationManager.cs, ConfigurationSaveMode.cs,
1235         ConfigurationValidatorAttribute.cs, ProtectedConfigurationSection.cs,
1236         ConfigurationValidatorBase.cs, ConfigurationPropertyOptions.cs:
1237                 New files.
1238         
1239         * ConfigurationValidationAttribute.cs: Removed.
1240         
1241         * ProviderBase.cs: Moved to System.dll.
1242
1243 2005-06-14  Lluis Sanchez Gual <lluis@novell.com>
1244
1245         * AppSettingsSection.cs, ConfigInfo.cs, Configuration.cs
1246         ConfigurationAllowDefinition.cs, ConfigurationElement.cs
1247         ConfigurationElementCollection.cs, ConfigurationElementCollectionType.cs
1248         ConfigurationLocation.cs, ConfigurationLocationCollection.cs
1249         ConfigurationProperty.cs, ConfigurationPropertyAttribute.cs
1250         ConfigurationPropertyCollection.cs, ConfigurationPropertyFlags.cs
1251         ConfigurationSection.cs, ConfigurationSectionCollection.cs
1252         ConfigurationSectionGroup.cs, ConfigurationSectionGroupCollection.cs
1253         ConfigurationUpdateMode.cs, ConfigurationUserLevel.cs
1254         ConfigurationValidationAttribute.cs, ConnectionStringsSection.cs
1255         ConnectionStringSettingsCollection.cs, ConnectionStringSettings.cs
1256         IntegerConfigurationProperty.cs, NonEmptyStringConfigurationProperty.cs
1257         NonEmptyStringFlags.cs, PathLevel.cs, ProtectedConfigurationProvider.cs
1258         ProviderBase.cs, ProviderSettings.cs, ProviderSettingsCollection.cs
1259         RuntimeOnlySection.cs, SectionInfo.cs, SectionGroupInfo.cs
1260         TimeSpanConfigurationProperty.cs, TimeSpanPropertyFlags.cs
1261         TimeSpanSerializedFormat.cs:
1262
1263         Moved from the System assembly.