2003-11-26 Tim Coleman <tim@timcoleman.com>
authorTim Coleman <tim@mono-cvs.ximian.com>
Wed, 26 Nov 2003 19:03:15 +0000 (19:03 -0000)
committerTim Coleman <tim@mono-cvs.ximian.com>
Wed, 26 Nov 2003 19:03:15 +0000 (19:03 -0000)
        * System.Data.ObjectSpaces_test.dll.sources:
        * Makefile:
                Add stuff for tests
        * System.Data.ObjectSpaces/PersistenceError.cs:
        * System.Data.ObjectSpaces/PersistenceException.cs:
        * System.Data.ObjectSpaces.Schema/ExtendedProperty.cs:
        * System.Data.ObjectSpaces.Schema/ExtendedPropertyCollection.cs:
        * System.Data.ObjectSpaces.Schema/ObjectRelationship.cs:
        * System.Data.ObjectSpaces.Schema/ObjectRelationshipCollection.cs:
        * System.Data.ObjectSpaces.Schema/ObjectRelationshipType.cs:
        * System.Data.ObjectSpaces.Schema/SchemaClass.cs:
        * System.Data.ObjectSpaces.Schema/SchemaClassCollection.cs:
        * System.Data.ObjectSpaces.Schema/SchemaMember.cs:
        * System.Data.ObjectSpaces.Schema/SchemaMemberCollection.cs:
        * System.Data.ObjectSpaces.dll.sources:
                New class stubs added
        * System.Data.ObjectSpaces/CommonObjectContext.cs:
        * System.Data.ObjectSpaces/ContextException.cs:
        * System.Data.ObjectSpaces/DbObjectReader.cs:
        * System.Data.ObjectSpaces/ObjectContext.cs:
        * System.Data.ObjectSpaces/ObjectException.cs:
        * System.Data.ObjectSpaces/ObjectKeyManager.cs:
        * System.Data.ObjectSpaces/ObjectList.cs:
        * System.Data.ObjectSpaces/OneToManyRelationship.cs:
        * System.Data.ObjectSpaces/OneToOneRelationship.cs:
        * System.Data.ObjectSpaces.Schema/ObjectSchema.cs:
                Updates to make more correct

svn path=/trunk/mcs/; revision=20499

25 files changed:
mcs/class/System.Data.ObjectSpaces/ChangeLog
mcs/class/System.Data.ObjectSpaces/Makefile
mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces.Schema/ExtendedProperty.cs [new file with mode: 0644]
mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces.Schema/ExtendedPropertyCollection.cs [new file with mode: 0644]
mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces.Schema/ObjectRelationship.cs [new file with mode: 0644]
mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces.Schema/ObjectRelationshipCollection.cs [new file with mode: 0644]
mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces.Schema/ObjectRelationshipType.cs [new file with mode: 0644]
mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces.Schema/ObjectSchema.cs
mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces.Schema/SchemaClass.cs [new file with mode: 0644]
mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces.Schema/SchemaClassCollection.cs [new file with mode: 0644]
mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces.Schema/SchemaMember.cs [new file with mode: 0644]
mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces.Schema/SchemaMemberCollection.cs [new file with mode: 0644]
mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces.dll.sources
mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces/CommonObjectContext.cs
mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces/ContextException.cs
mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces/DbObjectReader.cs
mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces/ObjectContext.cs
mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces/ObjectException.cs
mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces/ObjectKeyManager.cs
mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces/ObjectList.cs
mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces/OneToManyRelationship.cs
mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces/OneToOneRelationship.cs
mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces/PersistenceError.cs [new file with mode: 0755]
mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces/PersistenceException.cs [new file with mode: 0755]
mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces_test.dll.sources [new file with mode: 0644]

index 7f0c72357c1a574a4b9a2194a03b30e15c2179d3..41d22cff9867e8c034a08d4b040f87fc5be4f5ca 100644 (file)
@@ -1,3 +1,32 @@
+2003-11-26  Tim Coleman <tim@timcoleman.com>
+       * System.Data.ObjectSpaces_test.dll.sources:
+       * Makefile:
+               Add stuff for tests
+       * System.Data.ObjectSpaces/PersistenceError.cs:
+       * System.Data.ObjectSpaces/PersistenceException.cs:
+       * System.Data.ObjectSpaces.Schema/ExtendedProperty.cs:
+       * System.Data.ObjectSpaces.Schema/ExtendedPropertyCollection.cs:
+       * System.Data.ObjectSpaces.Schema/ObjectRelationship.cs:
+       * System.Data.ObjectSpaces.Schema/ObjectRelationshipCollection.cs:
+       * System.Data.ObjectSpaces.Schema/ObjectRelationshipType.cs:
+       * System.Data.ObjectSpaces.Schema/SchemaClass.cs:
+       * System.Data.ObjectSpaces.Schema/SchemaClassCollection.cs:
+       * System.Data.ObjectSpaces.Schema/SchemaMember.cs:
+       * System.Data.ObjectSpaces.Schema/SchemaMemberCollection.cs:
+       * System.Data.ObjectSpaces.dll.sources:
+               New class stubs added
+       * System.Data.ObjectSpaces/CommonObjectContext.cs:
+       * System.Data.ObjectSpaces/ContextException.cs:
+       * System.Data.ObjectSpaces/DbObjectReader.cs:
+       * System.Data.ObjectSpaces/ObjectContext.cs:
+       * System.Data.ObjectSpaces/ObjectException.cs:
+       * System.Data.ObjectSpaces/ObjectKeyManager.cs:
+       * System.Data.ObjectSpaces/ObjectList.cs:
+       * System.Data.ObjectSpaces/OneToManyRelationship.cs:
+       * System.Data.ObjectSpaces/OneToOneRelationship.cs:
+       * System.Data.ObjectSpaces.Schema/ObjectSchema.cs:
+               Updates to make more correct
+
 2003-11-25  Tim Coleman <tim@timcoleman.com>
        * System.Data.ObjectSpaces/PersistenceErrorBehaviour.cs:
        * System.Data.ObjectSpaces/PersisteneceErrorType.cs:
index 5c19f9703bb0c77276129e66414ee48a69c2623f..9962da22a7b44b9261b9814aab1accef04f072ab 100644 (file)
@@ -4,7 +4,7 @@ include ../../build/rules.make
 
 LIBRARY = System.Data.ObjectSpaces.dll
 LIB_MCS_FLAGS = /r:$(corlib),System.dll,System.Data.dll,System.Xml.dll,System.Data.SqlXml.dll
-NO_TEST = yes
+TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
 
 EXTRA_DISTFILES =
 
diff --git a/mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces.Schema/ExtendedProperty.cs b/mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces.Schema/ExtendedProperty.cs
new file mode 100644 (file)
index 0000000..a182019
--- /dev/null
@@ -0,0 +1,63 @@
+//\r
+// System.Data.ObjectSpaces.Schema.ExtendedProperty.cs\r
+//\r
+// Author:\r
+//   Tim Coleman (tim@timcoleman.com)\r
+//\r
+// Copyright (C) Tim Coleman, 2003\r
+//\r
+\r
+#if NET_1_2\r
+\r
+using System.Xml;\r
+\r
+namespace System.Data.ObjectSpaces.Schema {\r
+       public class ExtendedProperty \r
+       {\r
+               #region Fields\r
+\r
+               XmlQualifiedName qname;\r
+               object propertyValue;\r
+               string prefix;\r
+\r
+               #endregion // Fields\r
+\r
+               #region Constructors\r
+\r
+               [MonoTODO]\r
+               public ExtendedProperty (XmlQualifiedName qualifiedName, object propertyValue)\r
+               {\r
+                       QualifiedName = qualifiedName;\r
+                       PropertyValue = propertyValue;\r
+               }\r
+\r
+               public ExtendedProperty (XmlQualifiedName qualifiedName, object propertyValue, string prefix)\r
+                       : this (qualifiedName, propertyValue)\r
+               {\r
+                       Prefix = prefix;\r
+               }\r
+\r
+               #endregion // Constructors\r
+\r
+               #region Properties\r
+\r
+               public string Prefix {\r
+                       get { return prefix; }\r
+                       set { prefix = value; }\r
+               }\r
+\r
+               public object PropertyValue {\r
+                       get { return propertyValue; }\r
+                       set { propertyValue = value; }\r
+               }\r
+\r
+               public XmlQualifiedName QualifiedName {\r
+                       get { return qname; }\r
+                       set { qname = value; }\r
+               }\r
+\r
+               #endregion // Properties\r
+       }\r
+}\r
+\r
+#endif // NET_1_2\r
diff --git a/mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces.Schema/ExtendedPropertyCollection.cs b/mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces.Schema/ExtendedPropertyCollection.cs
new file mode 100644 (file)
index 0000000..5584b2b
--- /dev/null
@@ -0,0 +1,126 @@
+//\r
+// System.Data.ObjectSpaces.Schema.ExtendedPropertyCollection.cs\r
+//\r
+// Author:\r
+//   Tim Coleman (tim@timcoleman.com)\r
+//\r
+// Copyright (C) Tim Coleman, 2003\r
+//\r
+\r
+#if NET_1_2\r
+\r
+using System.Collections;\r
+using System.Xml;\r
+\r
+namespace System.Data.ObjectSpaces.Schema {\r
+       public class ExtendedPropertyCollection : CollectionBase\r
+       {\r
+               #region Fields\r
+\r
+               ArrayList qnames;\r
+\r
+               #endregion\r
+\r
+               #region Constructors\r
+\r
+               public ExtendedPropertyCollection ()\r
+               {\r
+                       qnames = new ArrayList();\r
+               }\r
+\r
+               public ExtendedPropertyCollection (ExtendedProperty[] value)\r
+                       : this ()\r
+               {\r
+                       AddRange (value);\r
+               }\r
+\r
+               public ExtendedPropertyCollection (ExtendedPropertyCollection value)\r
+                       : this ()\r
+               {\r
+                       AddRange (value);\r
+               }\r
+\r
+               #endregion // Constructors\r
+\r
+               #region Properties\r
+\r
+               public ExtendedProperty this [int obj] {\r
+                       get { return (ExtendedProperty) List [obj]; }\r
+                       set { \r
+                               List [obj] = value;\r
+                               qnames [obj] = value.QualifiedName;\r
+                       }\r
+               }\r
+\r
+               [MonoTODO]\r
+               public ExtendedProperty this [XmlQualifiedName type] {\r
+                       get { return (ExtendedProperty) List [qnames.IndexOf (type)]; }\r
+                       set { List [qnames.IndexOf (type)] = value; }\r
+               }\r
+\r
+               #endregion // Properties\r
+\r
+               #region Methods\r
+\r
+               public void Add (ExtendedProperty value)\r
+               {\r
+                       Insert (Count, value);\r
+               }\r
+\r
+               public void AddRange (ExtendedProperty[] value)\r
+               {\r
+                       foreach (ExtendedProperty p in value)\r
+                               Add (p);\r
+               }\r
+\r
+               public void AddRange (ExtendedPropertyCollection value)\r
+               {\r
+                       foreach (ExtendedProperty p in value)\r
+                               Add (p);\r
+               }\r
+\r
+               public bool Contains (ExtendedProperty value)\r
+               {\r
+                       return List.Contains (value);\r
+               }\r
+\r
+               public void CopyTo (ExtendedProperty[] array, int index)\r
+               {\r
+                       List.CopyTo (array, index);\r
+               }\r
+\r
+               public int IndexOf (ExtendedProperty value)\r
+               {\r
+                       return List.IndexOf (value);\r
+               }\r
+\r
+               [MonoTODO]\r
+               public void Insert (int index, ExtendedProperty value)\r
+               {\r
+                       List.Insert (index, value);\r
+                       qnames [index] = value.QualifiedName;\r
+               }\r
+\r
+               [MonoTODO]\r
+               protected override void OnInsert (int index, object value)\r
+               {\r
+               }\r
+\r
+               [MonoTODO]\r
+               protected override void OnRemove (int index, object value)\r
+               {\r
+               }\r
+\r
+               [MonoTODO]\r
+               public void Remove (ExtendedProperty value)\r
+               {\r
+                       int index = IndexOf (value);\r
+                       List.Remove (value);\r
+                       qnames.RemoveAt (index);\r
+               }\r
+\r
+               #endregion // Methods\r
+       }\r
+}\r
+\r
+#endif // NET_1_2\r
diff --git a/mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces.Schema/ObjectRelationship.cs b/mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces.Schema/ObjectRelationship.cs
new file mode 100644 (file)
index 0000000..32d56a7
--- /dev/null
@@ -0,0 +1,124 @@
+//\r
+// System.Data.ObjectSpaces.Schema.ObjectRelationship.cs\r
+//\r
+// Author:\r
+//   Tim Coleman (tim@timcoleman.com)\r
+//\r
+// Copyright (C) Tim Coleman, 2003\r
+//\r
+\r
+#if NET_1_2\r
+\r
+using System.Data.Mapping;\r
+\r
+namespace System.Data.ObjectSpaces.Schema {\r
+       public sealed class ObjectRelationship : IDomainConstraint\r
+       {\r
+               #region Fields\r
+\r
+               string name;\r
+               SchemaClass childClass;\r
+               SchemaMember childMember;\r
+               SchemaClass parentClass;\r
+               SchemaMember parentMember;\r
+               ObjectRelationshipType type;\r
+               bool isCascadeDelete;\r
+\r
+               #endregion // Fields\r
+\r
+               #region Constructors\r
+\r
+               [MonoTODO]\r
+               public ObjectRelationship (string name, SchemaClass parentClass, SchemaMember parentMember, SchemaClass childClass, SchemaMember childMember, ObjectRelationshipType type)\r
+               {\r
+                       Name = name;\r
+                       Type = type;\r
+\r
+                       this.parentClass = parentClass;\r
+                       this.parentMember = parentMember;\r
+                       this.childClass = childClass;\r
+                       this.childMember = childMember;\r
+               }\r
+\r
+               [MonoTODO]\r
+               public ObjectRelationship (string name, SchemaClass parentClass, SchemaMember parentMember, SchemaClass childClass, SchemaMember childMember, ObjectRelationshipType type, bool isCascadeDelete)\r
+                       : this (name, parentClass, parentMember, childClass, childMember, type)\r
+               {\r
+                       IsCascadeDelete = isCascadeDelete;\r
+               }\r
+\r
+               #endregion // Constructors\r
+\r
+               #region Properties\r
+\r
+               public SchemaClass ChildClass {\r
+                       get { return childClass; }\r
+               }\r
+\r
+               public SchemaMember ChildMember {\r
+                       get { return childMember; }\r
+               }\r
+\r
+               [MonoTODO]\r
+               public ObjectSchema DeclaringObjectSchema {\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+\r
+               [MonoTODO]\r
+               public ExtendedPropertyCollection ExtendedProperties {\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+\r
+               private bool IDomainConstraint.CascadeDelete {\r
+                       get { return IsCascadeDelete; }\r
+               }\r
+\r
+               [MonoTODO]\r
+               private IDomainSchema IDomainConstraint.DomainSchema {\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+\r
+               [MonoTODO]\r
+               private IDomainFieldJoinCollection IDomainConstraint.FieldJoins {\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+\r
+               [MonoTODO]\r
+               private IDomainStructure IDomainConstraint.FromDomainStructure {\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+\r
+               [MonoTODO]\r
+               private IDomainStructure IDomainConstraint.ToDomainStructure {\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+\r
+               public bool IsCascadeDelete {\r
+                       get { return isCascadeDelete; }\r
+                       set { isCascadeDelete = value; }\r
+               }\r
+\r
+               public string Name {\r
+                       get { return name; }\r
+                       set { name = value; }\r
+               }\r
+\r
+\r
+               public SchemaClass ParentClass {\r
+                       get { return parentClass; }\r
+               }\r
+\r
+               public SchemaMember ParentMember {\r
+                       get { return parentMember; }\r
+               }\r
+\r
+               public ObjectRelationshipType Type {\r
+                       get { return type; }\r
+                       set { type = value; }\r
+               }\r
+\r
+               #endregion // Properties\r
+       }\r
+}\r
+\r
+#endif // NET_1_2\r
diff --git a/mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces.Schema/ObjectRelationshipCollection.cs b/mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces.Schema/ObjectRelationshipCollection.cs
new file mode 100644 (file)
index 0000000..f1921d2
--- /dev/null
@@ -0,0 +1,86 @@
+//\r
+// System.Data.ObjectSpaces.Schema.ObjectRelationshipCollection.cs\r
+//\r
+// Author:\r
+//   Tim Coleman (tim@timcoleman.com)\r
+//\r
+// Copyright (C) Tim Coleman, 2003\r
+//\r
+\r
+#if NET_1_2\r
+\r
+using System.Collections;\r
+\r
+namespace System.Data.ObjectSpaces.Schema {\r
+       public class ObjectRelationshipCollection : CollectionBase\r
+       {\r
+               #region Properties\r
+\r
+               [MonoTODO]\r
+               public ObjectRelationship this [string name] {\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+\r
+               [MonoTODO]\r
+               public ObjectRelationship this [int index] {\r
+                       get { return (ObjectRelationship) List [index]; }\r
+               }\r
+\r
+               #endregion // Properties\r
+\r
+               #region Methods\r
+\r
+               public void Add (ObjectRelationship relationship)\r
+               {\r
+                       Insert (Count, relationship);\r
+               }\r
+\r
+               public bool Contains (ObjectRelationship relationship)\r
+               {\r
+                       return List.Contains (relationship);\r
+               }\r
+\r
+               [MonoTODO]\r
+               public ObjectRelationship[] GetChildRelationships (Type type)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               public ObjectRelationship[] GetParentRelationships (Type type)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               public int IndexOf (ObjectRelationship relationship)\r
+               {\r
+                       return List.IndexOf (relationship);\r
+               }\r
+\r
+               public void Insert (int index, ObjectRelationship relationship)\r
+               {\r
+                       List.Insert (index, relationship);\r
+               }\r
+\r
+               [MonoTODO]\r
+               protected override void OnInsert (int index, object value)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               protected override void OnRemove (int index, object value)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               public void Remove (ObjectRelationship relation)\r
+               {\r
+                       List.Remove (relation);\r
+               }\r
+\r
+               #endregion // Methods\r
+       }\r
+}\r
+\r
+#endif // NET_1_2\r
diff --git a/mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces.Schema/ObjectRelationshipType.cs b/mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces.Schema/ObjectRelationshipType.cs
new file mode 100644 (file)
index 0000000..2de3e47
--- /dev/null
@@ -0,0 +1,21 @@
+//\r
+// System.Data.ObjectSpaces.Schema.ObjectRelationshipType.cs\r
+//\r
+// Author:\r
+//   Tim Coleman (tim@timcoleman.com)\r
+//\r
+// Copyright (C) Tim Coleman, 2003\r
+//\r
+\r
+#if NET_1_2\r
+\r
+namespace System.Data.ObjectSpaces.Schema {\r
+       public enum ObjectRelationshipType\r
+       {\r
+               OneToMany,\r
+               OneToOne,\r
+               ManyToMany\r
+       }\r
+}\r
+\r
+#endif // NET_1_2\r
index a88322cba708647d77ac4b9780f49e4ccf4f6ae4..29589556731f413365fd00b375d195b287e1d0eb 100644 (file)
 //\r
 // Author:\r
 //   Mark Easton (mark.easton@blinksoftware.co.uk)\r
+//   Tim Coleman (tim@timcoleman.com)\r
 //\r
 // (C) BLiNK Software Ltd.  http://www.blinksoftware.co.uk\r
+// Copyright (C) Tim Coleman, 2003\r
 //\r
 \r
-namespace System.Data.ObjectSpaces.Schema\r
-{\r
-       public class ObjectSchema\r
+#if NET_1_2\r
+\r
+using System.Data.Mapping;\r
+using System.IO;\r
+using System.Xml;\r
+using System.Xml.Schema;\r
+\r
+namespace System.Data.ObjectSpaces.Schema {\r
+       public class ObjectSchema : ICloneable, IDomainSchema\r
        {\r
+               #region Fields\r
+\r
+               string name;\r
+\r
+               #endregion // Fields\r
+\r
+               #region Constructors\r
+\r
+               [MonoTODO]\r
+               public ObjectSchema ()\r
+               {\r
+               }\r
+\r
+               [MonoTODO]\r
+               public ObjectSchema (string url)\r
+               {\r
+               }\r
+\r
+               #endregion // Constructors\r
+\r
+               #region Properties\r
+\r
+               [MonoTODO]\r
+               public SchemaClassCollection Classes {\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+\r
+               [MonoTODO]\r
+               public ExtendedPropertyCollection ExtendedProperties {\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+\r
+               [MonoTODO]\r
+               private MappingDataSourceType IDomainSchema.DomainType {\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+\r
+               [MonoTODO ("Verify")]\r
+               public string Name {\r
+                       get { return name; }\r
+                       set { name = value; }\r
+               }\r
+\r
+               [MonoTODO]\r
+               public string Namespace {\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+\r
+               [MonoTODO]\r
+               public ObjectRelationshipCollection Relationships {\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+\r
+               [MonoTODO]\r
+               public string SourceUri {\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+\r
+               #endregion // Properties\r
+\r
+               #region Methods\r
+\r
+               [MonoTODO]\r
+               public Object Clone ()\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               public string GetSchemaXml ()\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               private IDomainConstraint IDomainSchema.GetDomainConstraint (string select, IXmlNamespaceResolver namespaces)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               private IDomainStructure IDomainSchema.GetDomainStructure (string select, IXmlNamespaceResolver namespaces)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               private void IDomainSchema.Read (string url)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               private void IDomainSchema.Read (string url, ValidationEventHandler validationEventHandler)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               private void IDomainSchema.Read (XmlReader reader)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               private void IDomainSchema.Read (XmlReader reader, ValidationEventHandler validationEventHandler)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               private void IDomainSchema.ReadExtensions (XmlReader reader)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               private void IDomainSchema.ReadExtensions (XmlReader reader, ValidationEventHandler validationEventHandler)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               private void IDomainSchema.Write (string schemaLocation)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               private void IDomainSchema.Write (string schemaLocation, IXmlNamespaceResolver namespaceResolver)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               private void IDomainSchema.Write (XmlWriter writer)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               private void IDomainSchema.Write (XmlWriter writer, IXmlNamespaceResolver namespaceResolver)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               private void IDomainSchema.Write (Stream stream)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               private void IDomainSchema.Write (Stream stream, IXmlNamespaceResolver namespaceResolver)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               private void IDomainSchema.Write (TextWriter writer)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               private void IDomainSchema.Write (TextWriter writer, IXmlNamespaceResolver namespaceResolver)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               private void IDomainSchema.WriteExtensions (XmlWriter reader)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               private void IDomainSchema.WriteExtensions (XmlWriter reader, IXmlNamespaceResolver namespaceResolver)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               public void Read (string url)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               public void Read (string url, ValidationEventHandler validationEventHandler)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               public void Read (XmlReader reader)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               public void Read (XmlReader reader, ValidationEventHandler validationEventHandler)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               public void Reset ()\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               public void Write (string schemaLocation)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               public void Write (string schemaLocation, IXmlNamespaceResolver namespaceResolver)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               public void Write (XmlWriter writer)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               public void Write (XmlWriter writer, IXmlNamespaceResolver namespaceResolver)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               public void Write (Stream stream)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               public void Write (Stream stream, IXmlNamespaceResolver namespaceResolver)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               public void Write (TextWriter writer)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               public void Write (TextWriter writer, IXmlNamespaceResolver namespaceResolver)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               #endregion // Methods\r
        }\r
 }\r
+\r
+#endif // NET_1_2\r
diff --git a/mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces.Schema/SchemaClass.cs b/mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces.Schema/SchemaClass.cs
new file mode 100644 (file)
index 0000000..4900af4
--- /dev/null
@@ -0,0 +1,91 @@
+//\r
+// System.Data.ObjectSpaces.Schema.SchemaClass.cs\r
+//\r
+// Author:\r
+//   Tim Coleman (tim@timcoleman.com)\r
+//\r
+// Copyright (C) Tim Coleman, 2003\r
+//\r
+\r
+#if NET_1_2\r
+\r
+using System.Data.Mapping;\r
+using System.Xml;\r
+\r
+namespace System.Data.ObjectSpaces.Schema {\r
+       public sealed class SchemaClass : IDomainStructure\r
+       {\r
+               #region Fields\r
+\r
+               bool canInherit;\r
+               Type classType;\r
+\r
+               #endregion // Fields\r
+\r
+               #region Constructors\r
+\r
+               [MonoTODO]\r
+               public SchemaClass ()\r
+               {\r
+               }\r
+\r
+               [MonoTODO]\r
+               public SchemaClass (Type classType)\r
+               {\r
+                       ClassType = classType;\r
+               }\r
+\r
+               #endregion // Constructors\r
+\r
+               #region Properties\r
+\r
+               public bool CanInherit {\r
+                       get { return canInherit; }\r
+                       set { canInherit = value; }\r
+               }\r
+\r
+               public Type ClassType {\r
+                       get { return classType; }\r
+                       set { classType = value; }\r
+               }\r
+\r
+               [MonoTODO]\r
+               public ObjectSchema DeclaringObjectSchema {\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+\r
+               [MonoTODO]\r
+               public ExtendedPropertyCollection ExtendedProperties {\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+\r
+               [MonoTODO]\r
+               private IDomainSchema IDomainStructure.DomainSchema {\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+\r
+               [MonoTODO]\r
+               private string IDomainStructure.Select {\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+\r
+               [MonoTODO]\r
+               public SchemaMemberCollection SchemaMembers {\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+\r
+               #endregion // Properties\r
+\r
+               #region Methods\r
+\r
+               [MonoTODO]\r
+               private IDomainField IDomainStructure.GetDomainField (string select, IXmlNamespaceResolver namespaces)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               #endregion // Methods\r
+       }\r
+}\r
+\r
+#endif // NET_1_2\r
diff --git a/mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces.Schema/SchemaClassCollection.cs b/mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces.Schema/SchemaClassCollection.cs
new file mode 100644 (file)
index 0000000..1441040
--- /dev/null
@@ -0,0 +1,78 @@
+//\r
+// System.Data.ObjectSpaces.Schema.SchemaClassCollection.cs\r
+//\r
+// Author:\r
+//   Tim Coleman (tim@timcoleman.com)\r
+//\r
+// Copyright (C) Tim Coleman, 2003\r
+//\r
+\r
+#if NET_1_2\r
+\r
+using System.Collections;\r
+\r
+namespace System.Data.ObjectSpaces.Schema {\r
+       public class SchemaClassCollection : CollectionBase\r
+       {\r
+               #region Properties\r
+\r
+               public SchemaClass this [int index] {\r
+                       get { return (SchemaClass) List [index]; }\r
+               }\r
+\r
+               [MonoTODO]\r
+               public SchemaClass this [string typeName] {\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+\r
+               #endregion // Properties\r
+\r
+               #region Methods\r
+\r
+               public void Add (SchemaClass schemaClass)\r
+               {\r
+                       Insert (Count, schemaClass);\r
+               }\r
+\r
+               public bool Contains (SchemaClass schemaClass)\r
+               {\r
+                       return List.Contains (schemaClass);\r
+               }\r
+\r
+               public void CopyTo (SchemaClass[] array, int index)\r
+               {\r
+                       List.CopyTo (array, index);\r
+               }\r
+\r
+               public int IndexOf (SchemaClass schemaClass)\r
+               {\r
+                       return List.IndexOf (schemaClass);\r
+               }\r
+\r
+               public void Insert (int index, SchemaClass schemaClass)\r
+               {\r
+                       List.Insert (index, schemaClass);\r
+               }\r
+\r
+               [MonoTODO]\r
+               protected override void OnInsert (int index, object value)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               protected override void OnRemove (int index, object value)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               public void Remove (SchemaClass schemaClass)\r
+               {\r
+                       List.Remove (schemaClass);\r
+               }\r
+\r
+               #endregion // Methods\r
+       }\r
+}\r
+\r
+#endif // NET_1_2\r
diff --git a/mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces.Schema/SchemaMember.cs b/mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces.Schema/SchemaMember.cs
new file mode 100644 (file)
index 0000000..32b14e2
--- /dev/null
@@ -0,0 +1,112 @@
+//\r
+// System.Data.ObjectSpaces.Schema.SchemaMember.cs\r
+//\r
+// Author:\r
+//   Tim Coleman (tim@timcoleman.com)\r
+//\r
+// Copyright (C) Tim Coleman, 2003\r
+//\r
+\r
+#if NET_1_2\r
+\r
+using System.Data.Mapping;\r
+using System.Reflection;\r
+\r
+namespace System.Data.ObjectSpaces.Schema {\r
+       public class SchemaMember : IDomainField\r
+       {\r
+               #region Fields\r
+\r
+               string alias;\r
+               bool isHidden;\r
+               bool isKey;\r
+               bool isLazyLoad;\r
+               KeyGenerator keyGenerator;\r
+               string name;\r
+\r
+               #endregion // Fields\r
+\r
+               #region Constructors\r
+\r
+               [MonoTODO]\r
+               public SchemaMember ()\r
+               {\r
+               }\r
+\r
+               [MonoTODO]\r
+               public SchemaMember (string name)\r
+               {\r
+                       Name = name;\r
+               }\r
+\r
+               [MonoTODO]\r
+               public SchemaMember (string name, bool key)\r
+                       : this (name)\r
+               {\r
+                       IsKey = key;\r
+               }\r
+\r
+               #endregion // Constructors\r
+\r
+               #region Properties\r
+\r
+               public string Alias {\r
+                       get { return alias; }\r
+                       set { alias = value; }\r
+               }\r
+\r
+               [MonoTODO]\r
+               public SchemaClass DeclaringSchemaClass {\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+\r
+               [MonoTODO]\r
+               public ExtendedPropertyCollection ExtendedProperties {\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+\r
+               [MonoTODO]\r
+               private IDomainStructure IDomainField.DomainStructure {\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+\r
+               public bool IsHidden {\r
+                       get { return isHidden; }\r
+                       set { isHidden = value; }\r
+               }\r
+\r
+               public bool IsKey {\r
+                       get { return isKey; }\r
+                       set { isKey = value; }\r
+               }\r
+\r
+               public bool IsLazyLoad {\r
+                       get { return isLazyLoad; }\r
+                       set { isLazyLoad = value; }\r
+               }\r
+\r
+               public KeyGenerator KeyGenerator {\r
+                       get { return keyGenerator; }\r
+                       set { keyGenerator = value; }\r
+               }\r
+\r
+               [MonoTODO]\r
+               public MemberInfo MemberInfo {\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+\r
+               public string Name {\r
+                       get { return name; }\r
+                       set { name = value; }\r
+               }\r
+\r
+               [MonoTODO]\r
+               public ObjectRelationship ObjectRelationship {\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+\r
+               #endregion // Properties\r
+       }\r
+}\r
+\r
+#endif // NET_1_2\r
diff --git a/mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces.Schema/SchemaMemberCollection.cs b/mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces.Schema/SchemaMemberCollection.cs
new file mode 100644 (file)
index 0000000..5f78c85
--- /dev/null
@@ -0,0 +1,78 @@
+//\r
+// System.Data.ObjectSpaces.Schema.SchemaMemberCollection.cs\r
+//\r
+// Author:\r
+//   Tim Coleman (tim@timcoleman.com)\r
+//\r
+// Copyright (C) Tim Coleman, 2003\r
+//\r
+\r
+#if NET_1_2\r
+\r
+using System.Collections;\r
+\r
+namespace System.Data.ObjectSpaces.Schema {\r
+       public class SchemaMemberCollection : CollectionBase\r
+       {\r
+               #region Properties\r
+\r
+               public SchemaMember this [int index] {\r
+                       get { return (SchemaMember) List [index]; }\r
+               }\r
+\r
+               [MonoTODO]\r
+               public SchemaMember this [string typeName] {\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+\r
+               #endregion // Properties\r
+\r
+               #region Methods\r
+\r
+               public void Add (SchemaMember member)\r
+               {\r
+                       Insert (Count, member);\r
+               }\r
+\r
+               public bool Contains (SchemaMember member)\r
+               {\r
+                       return List.Contains (member);\r
+               }\r
+\r
+               public void CopyTo (SchemaMember[] array, int index)\r
+               {\r
+                       List.CopyTo (array, index);\r
+               }\r
+\r
+               public int IndexOf (SchemaMember member)\r
+               {\r
+                       return List.IndexOf (member);\r
+               }\r
+\r
+               public void Insert (int index, SchemaMember member)\r
+               {\r
+                       List.Insert (index, member);\r
+               }\r
+\r
+               [MonoTODO]\r
+               protected override void OnInsert (int index, object value)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               protected override void OnRemove (int index, object value)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               public void Remove (SchemaMember member)\r
+               {\r
+                       List.Remove (member);\r
+               }\r
+\r
+               #endregion // Methods\r
+       }\r
+}\r
+\r
+#endif // NET_1_2\r
index ece43c31450d92d86b0820ca3b35ba3f8f680902..4288ac463d61112de5fc9d0b126734d185b2c439 100644 (file)
@@ -1,4 +1,6 @@
 TODOAttribute.cs
+Assembly/AssemblyInfo.cs
+Assembly/Locale.cs
 System.Data.ObjectSpaces/ASTBaseParser.cs
 System.Data.ObjectSpaces/AstKeywords.cs
 System.Data.ObjectSpaces/CommonObjectContext.cs
@@ -28,14 +30,15 @@ System.Data.ObjectSpaces/ObjectSpace.cs
 System.Data.ObjectSpaces/ObjectState.cs
 System.Data.ObjectSpaces/OneToManyRelationship.cs
 System.Data.ObjectSpaces/OneToOneRelationship.cs
+System.Data.ObjectSpaces/PersistenceError.cs
 System.Data.ObjectSpaces/PersistenceErrorBehavior.cs
 System.Data.ObjectSpaces/PersistenceErrorType.cs
+System.Data.ObjectSpaces/PersistenceException.cs
 System.Data.ObjectSpaces/PersistenceOptions.cs
 System.Data.ObjectSpaces/UpdateErrorType.cs
 System.Data.ObjectSpaces/ValueRecord.cs
 System.Data.ObjectSpaces/ValueRecordMergeEventArgs.cs
 System.Data.ObjectSpaces/ValueRecordMergeEventHandler.cs
-System.Data.ObjectSpaces.Schema/ObjectSchema.cs
 System.Data.ObjectSpaces.Query/ASTQueryParser.cs
 System.Data.ObjectSpaces.Query/Axis.cs
 System.Data.ObjectSpaces.Query/Binary.cs
@@ -65,3 +68,13 @@ System.Data.ObjectSpaces.Query/TypeCast.cs
 System.Data.ObjectSpaces.Query/TypeConversion.cs
 System.Data.ObjectSpaces.Query/TypeFilter.cs
 System.Data.ObjectSpaces.Query/Unary.cs
+System.Data.ObjectSpaces.Schema/SchemaClass.cs
+System.Data.ObjectSpaces.Schema/ObjectRelationship.cs
+System.Data.ObjectSpaces.Schema/ObjectRelationshipCollection.cs
+System.Data.ObjectSpaces.Schema/ObjectRelationshipType.cs
+System.Data.ObjectSpaces.Schema/ObjectSchema.cs
+System.Data.ObjectSpaces.Schema/SchemaMemberCollection.cs
+System.Data.ObjectSpaces.Schema/SchemaMember.cs
+System.Data.ObjectSpaces.Schema/SchemaClassCollection.cs
+System.Data.ObjectSpaces.Schema/ExtendedProperty.cs
+System.Data.ObjectSpaces.Schema/ExtendedPropertyCollection.cs
index f2bc6c658c1232682295bbdfdbaedcd250f98786..ed85f9d12fcf1394aa29a2ec5b64fe093372a632 100755 (executable)
@@ -3,44 +3,64 @@
 //\r
 // Author:\r
 //   Mark Easton (mark.easton@blinksoftware.co.uk)\r
+//   Tim Coleman (tim@timcoleman.com)\r
 //\r
 // (C) BLiNK Software Ltd.  http://www.blinksoftware.co.uk\r
+// Copyright (C) Tim Coleman, 2003\r
 //\r
 \r
 #if NET_1_2\r
 \r
+using System;\r
 using System.Data.ObjectSpaces.Schema;\r
+using System.Globalization;\r
 \r
 namespace System.Data.ObjectSpaces\r
 {\r
         public class CommonObjectContext : ObjectContext\r
         {\r
-                 [MonoTODO]\r
-                public CommonObjectContext (ObjectSchema objectSchema)\r
-                {\r
+               #region Fields\r
+\r
+               ObjectSchema objectSchema;\r
+\r
+               #endregion // Fields\r
+\r
+               #region Constructors\r
+\r
+               public CommonObjectContext (ObjectSchema objectSchema)\r
+               {\r
                         if (objectSchema == null)\r
-                                throw ObjectException.CreateObjectException ();\r
-                }\r
+                               throw new ArgumentNullException ("objectSchema", Locale.GetText ("'objectSchema' argument cannot be null."));\r
+                       this.objectSchema = objectSchema;\r
+               }\r
+\r
+               #endregion // Constructors\r
+\r
+               #region Methods\r
                 \r
                 [MonoTODO]\r
                 public override void Add (object obj, ObjectState state)\r
                 {\r
                         if (obj == null)\r
-                                throw ObjectException.CreateObjectException ();\r
+                               throw new ContextException (Locale.GetText ("Cannot add null object into any object context."));\r
+                       if (!Enum.IsDefined (typeof (ObjectState), state))\r
+                               throw new NullReferenceException ();\r
+                       if (state == ObjectState.Unknown)\r
+                               throw new ContextException (Locale.GetText ("Cannot add any object into an object context as an Unknown object."));\r
                 }\r
-                \r
+\r
                 [MonoTODO]\r
                 public override void Delete (object obj)\r
                 {\r
                         if (obj == null)\r
-                                throw ObjectException.CreateObjectException ();\r
+                               throw new ArgumentNullException ("obj", Locale.GetText ("'obj' argument cannot be null."));\r
                 }\r
                 \r
                 [MonoTODO]\r
                 public override ValueRecord GetCurrentValueRecord (object obj)\r
                 {\r
                         if (obj == null)\r
-                                throw ObjectException.CreateObjectException ();\r
+                               throw new ArgumentNullException ("obj", Locale.GetText ("'obj' argument cannot be null."));\r
                         \r
                         return null;        \r
                 }\r
@@ -49,7 +69,7 @@ namespace System.Data.ObjectSpaces
                 public override ObjectState GetObjectState (object obj)\r
                 {\r
                         if (obj == null)\r
-                                throw ObjectException.CreateObjectException ();\r
+                               throw new ArgumentNullException ("obj", Locale.GetText ("'obj' argument cannot be null."));\r
                       \r
                        throw new NotImplementedException ();\r
                 }\r
@@ -58,7 +78,7 @@ namespace System.Data.ObjectSpaces
                 public override ValueRecord GetOriginalValueRecord (object obj)\r
                 {\r
                         if (obj == null)\r
-                                throw ObjectException.CreateObjectException ();\r
+                               throw new ArgumentNullException ("obj", Locale.GetText ("'obj' argument cannot be null."));\r
                         \r
                         return null;        \r
                 }\r
@@ -67,23 +87,26 @@ namespace System.Data.ObjectSpaces
                 public override void Import (ObjectContext context)\r
                 {\r
                         if (context == null)\r
-                                throw ObjectException.CreateObjectException ();\r
+                               throw new ArgumentNullException ("context", Locale.GetText ("'context' argument cannot be null."));\r
                 }\r
                                 \r
                 [MonoTODO]\r
                 public override void Import (ObjectContext context, object obj)\r
                 {\r
+                        if (obj == null)\r
+                               throw new ArgumentNullException ("obj", Locale.GetText ("'obj' argument cannot be null."));\r
                         if (context == null)\r
-                                throw ObjectException.CreateObjectException ();\r
+                               throw new ArgumentNullException ("context", Locale.GetText ("'context' argument cannot be null."));\r
                 }\r
 \r
                 [MonoTODO]\r
                 public override void Remove (object obj)\r
                 {\r
                         if (obj == null)\r
-                                throw ObjectException.CreateObjectException ();\r
+                               throw new ArgumentNullException ("obj", Locale.GetText ("'obj' argument cannot be null."));\r
                 }\r
-                \r
+\r
+               #endregion // Methods\r
         }\r
 }\r
 \r
index ea0d198cf415e643935a0ee31b32b4a2ef0b3893..16d595af61f5230f2188d6c627b28054efe5c480 100755 (executable)
@@ -9,6 +9,7 @@
 \r
 #if NET_1_2\r
 \r
+using System.Globalization;\r
 using System.Runtime.Serialization;\r
 \r
 namespace System.Data.ObjectSpaces\r
@@ -16,17 +17,29 @@ namespace System.Data.ObjectSpaces
         public class ContextException : ObjectException\r
         {\r
                 [MonoTODO]        \r
-                protected ContextException () {}\r
+                public ContextException () \r
+                       : base (Locale.GetText ("A Context Exception has occurred."))\r
+               {\r
+               }\r
                 \r
                 [MonoTODO]\r
-                protected ContextException (SerializationInfo info, StreamingContext context) {}\r
+                protected ContextException (SerializationInfo info, StreamingContext context) \r
+                       : base (info, context)\r
+               {\r
+               }\r
                                 \r
                 [MonoTODO]\r
-                protected ContextException (string message) {}\r
+                public ContextException (string message) \r
+                       : base (message)\r
+               {\r
+               }\r
 \r
                 [MonoTODO]\r
-                protected ContextException (string message, Exception innerException) {}\r
+                public ContextException (string message, Exception innerException) \r
+                       : base (message, innerException)\r
+               {\r
+               }\r
         }\r
 }\r
 \r
-#endif
\ No newline at end of file
+#endif\r
index bc7afa574850a78073f7e6e51419b47e6fc756c9..d4567ffafcf51888a17235e7ec7ee09b0c416ef3 100755 (executable)
@@ -20,16 +20,15 @@ namespace System.Data.ObjectSpaces
                 public DbObjectReader (IDataReader dataReader, Type type, MappingSchema map) \r
                 {\r
                         if (dataReader == null || type == null || map == null)\r
-                                throw ObjectException.CreateObjectException ();\r
+                                throw new ObjectException ();\r
                         \r
                 }\r
                         \r
                 [MonoTODO]                        \r
-                public DbObjectReader(IDataReader dataReader, Type type, MappingSchema map,\r
-                        ObjectContext context)\r
+                public DbObjectReader (IDataReader dataReader, Type type, MappingSchema map, ObjectContext context)\r
                 {\r
                         if (dataReader == null || type == null || map == null || context == null)\r
-                                throw ObjectException.CreateObjectException (); \r
+                                throw new ObjectException (); \r
                 }\r
 \r
                [MonoTODO]\r
index d8dd8f451407b41dd3be60494f48d36d0ea93cea..3a914b6ab71795c84e9503b01f239692c2cf909d 100755 (executable)
@@ -14,13 +14,19 @@ namespace System.Data.ObjectSpaces
         public abstract class ObjectContext\r
         {\r
                 [MonoTODO]\r
-                protected ObjectContext () {}\r
+                protected ObjectContext () \r
+               {\r
+               }\r
                 \r
-                [MonoTODO]\r
-                public virtual void Add (object obj) {}\r
+                public virtual void Add (object obj) \r
+               {\r
+                       Add (obj, (ObjectState) (-1));\r
+               }\r
                 \r
                 [MonoTODO]\r
-                public virtual void Add (object obj, ObjectState state) {}\r
+                public virtual void Add (object obj, ObjectState state) \r
+               {\r
+               }\r
 \r
                 public abstract void Delete (object obj);\r
                 public abstract ValueRecord GetCurrentValueRecord (object obj);\r
index e42c9b16174a245d5e0783ad26be1a2bf341a79a..47a6bf62e3239113b0e9a8f5c7befbec41a20aeb 100755 (executable)
@@ -10,6 +10,7 @@
 #if NET_1_2\r
 \r
 using System;\r
+using System.Globalization;\r
 using System.Runtime.Serialization;\r
 \r
 namespace System.Data.ObjectSpaces\r
@@ -23,28 +24,22 @@ namespace System.Data.ObjectSpaces
                }\r
 \r
                [MonoTODO()]\r
-               protected ObjectException ()\r
-                       : base ("An object exception has occurred.")\r
+               public ObjectException ()\r
+                       : base (Locale.GetText ("An object exception has occurred."))\r
                {\r
                }\r
 \r
                [MonoTODO()]\r
-               protected ObjectException (String s)\r
+               public ObjectException (String s)\r
                        : base (s)\r
                {\r
                }\r
 \r
                [MonoTODO()]\r
-               protected ObjectException (String s, Exception innerException)\r
+               public ObjectException (String s, Exception innerException)\r
                        : base (s, innerException)\r
                {\r
                }\r
-\r
-               [MonoTODO ("Placeholder")]\r
-               internal static ObjectException CreateObjectException ()\r
-               {\r
-                       return new ObjectException ();\r
-               }\r
        }\r
 }\r
 \r
index 8c1b7f79f6006ac0b256423e1aed072082a12f3f..ebde85c0b004ce2d489d1f19a2951a13d48cbda6 100755 (executable)
@@ -3,25 +3,25 @@
 //\r
 // Author:\r
 //   Mark Easton (mark.easton@blinksoftware.co.uk)\r
+//   Tim Coleman (tim@timcoleman.com)\r
 //\r
 // (C) BLiNK Software Ltd.  http://www.blinksoftware.co.uk\r
+// Copyright (C) Tim Coleman, 2003\r
 //\r
 \r
 #if NET_1_2\r
 \r
-namespace System.Data.ObjectSpaces\r
-{\r
-        [MonoTODO]\r
-        public class ObjectKeyManager \r
+namespace System.Data.ObjectSpaces {\r
+        public abstract class ObjectKeyManager \r
         {\r
                 [MonoTODO]\r
-                public override int GetHashCode(\r
+                public override bool Equals (object obj\r
                {\r
                        throw new NotImplementedException ();\r
                }\r
-                \r
+\r
                 [MonoTODO]\r
-                public override bool Equals(object obj\r
+                public override int GetHashCode (\r
                {\r
                        throw new NotImplementedException ();\r
                }\r
index 05f2bf6331b9c697b159afc90e2c189dafcdf65a..5fbe8e5cb5466ef817e6df836ed8819718991b07 100755 (executable)
@@ -24,7 +24,7 @@ namespace System.Data.ObjectSpaces
                 public ObjectList (Type type, object[] parameters)\r
                 {\r
                         if (type == null || !(type is IList))\r
-                                throw ObjectException.CreateObjectException ();\r
+                                throw new ObjectException ();\r
                 }\r
 \r
                 [MonoTODO]\r
index faea14d4f01df780f46507c39ca030b1e54d0d75..06ea05c2079c8d5c789de09adad05a6b06db66cb 100755 (executable)
@@ -14,9 +14,9 @@ namespace System.Data.ObjectSpaces
         [MonoTODO]\r
         public class OneToManyRelationship : ObjectKeyManager \r
         {\r
-             \r
-                                                                                                                 \r
+\r
+\r
         }\r
 }\r
 \r
-#endif
\ No newline at end of file
+#endif\r
index a7ca221eb119f471c5e8897b9e364a672b453ed8..754490bfac2c21d7f352e1b202e9f24cfa8db3b9 100755 (executable)
@@ -3,23 +3,32 @@
 //\r
 // Author:\r
 //   Mark Easton (mark.easton@blinksoftware.co.uk)\r
+//   Tim Coleman (tim@timcoleman.com)\r
 //\r
 // (C) BLiNK Software Ltd.  http://www.blinksoftware.co.uk\r
+// Copyright (C) Tim Coleman, 2003\r
 //\r
 \r
 #if NET_1_2\r
 \r
-namespace System.Data.ObjectSpaces\r
-{\r
-        [MonoTODO]\r
-        public class OneToOneRelationship : ObjectKeyManager \r
-        {\r
-                [MonoTODO]\r
-                public ObjectKey ForeignKey {\r
-                        get { return null; }\r
-                        set {}\r
-                }                                                                                                                 \r
-        }\r
+namespace System.Data.ObjectSpaces {\r
+       public class OneToOneRelationship : ObjectKeyManager \r
+       {\r
+               #region Fields\r
+\r
+               ObjectKey foreignKey;\r
+\r
+               #endregion // Fields\r
+\r
+               #region Properties\r
+\r
+               public ObjectKey ForeignKey {\r
+                       get { return foreignKey; }\r
+                       set { foreignKey = value; }\r
+               }\r
+\r
+               #endregion // Properties\r
+       }\r
 }\r
 \r
-#endif
\ No newline at end of file
+#endif\r
diff --git a/mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces/PersistenceError.cs b/mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces/PersistenceError.cs
new file mode 100755 (executable)
index 0000000..9988d18
--- /dev/null
@@ -0,0 +1,36 @@
+//\r
+// System.Data.ObjectSpaces.PersistenceError\r
+//\r
+// Author:\r
+//   Tim Coleman (tim@timcoleman.com)\r
+//\r
+// Copyright (C) Tim Coleman, 2003\r
+//\r
+\r
+#if NET_1_2\r
+\r
+namespace System.Data.ObjectSpaces {\r
+       public class PersistenceError \r
+       {\r
+               #region Properties\r
+\r
+               [MonoTODO]\r
+               public object ErrorObject {\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+\r
+               [MonoTODO]      \r
+               public PersistenceErrorType ErrorType {\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+\r
+               [MonoTODO]      \r
+               public Exception InnerException {\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+                       \r
+               #endregion // Properties\r
+       }\r
+}\r
+\r
+#endif\r
diff --git a/mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces/PersistenceException.cs b/mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces/PersistenceException.cs
new file mode 100755 (executable)
index 0000000..faf48b9
--- /dev/null
@@ -0,0 +1,76 @@
+//\r
+// System.Data.ObjectSpaces.PersistenceException\r
+//\r
+// Author:\r
+//   Tim Coleman (tim@timcoleman.com)\r
+//\r
+// Copyright (C) Tim Coleman, 2003\r
+//\r
+\r
+#if NET_1_2\r
+\r
+using System.Collections;\r
+using System.Runtime.Serialization;\r
+\r
+namespace System.Data.ObjectSpaces {\r
+       public class PersistenceException : ObjectException\r
+       {\r
+               #region Fields\r
+\r
+               ArrayList errors;\r
+\r
+               #endregion // Fields\r
+\r
+               #region Constructors\r
+\r
+               [MonoTODO]\r
+               public PersistenceException (SerializationInfo info, StreamingContext context)\r
+                       : base (info, context)\r
+               {\r
+                       this.errors = new ArrayList ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               public PersistenceException ()\r
+                       : base ("A PersistenceException has occurred.")\r
+               {\r
+                       this.errors = new ArrayList ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               public PersistenceException (PersistenceError[] errors, string s)\r
+                       : base (s)\r
+               {\r
+                       this.errors = new ArrayList (errors);\r
+               }\r
+\r
+               [MonoTODO]\r
+               public PersistenceException (PersistenceError[] errors, string s, Exception innerException)\r
+                       : base (s, innerException)\r
+               {\r
+                       this.errors = new ArrayList (errors);\r
+               }\r
+\r
+               #endregion // Constructors\r
+\r
+               #region Properties\r
+\r
+               public ArrayList Errors {\r
+                       get { return errors; }\r
+               }\r
+\r
+               #endregion // Properties\r
+\r
+               #region Methods\r
+\r
+               [MonoTODO]\r
+               public override void GetObjectData (SerializationInfo info, StreamingContext context)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               #endregion Methods\r
+       }\r
+}\r
+\r
+#endif\r
diff --git a/mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces_test.dll.sources b/mcs/class/System.Data.ObjectSpaces/System.Data.ObjectSpaces_test.dll.sources
new file mode 100644 (file)
index 0000000..779cb41
--- /dev/null
@@ -0,0 +1 @@
+System.Data.ObjectSpaces/CommonObjectContextTests.cs