Commit graph

48 commits

Author SHA1 Message Date
Dave Wetzel
b6d3915786 * EOAccess/EOModel.m:
entities: make sure we use a mutable array. Destroy _entities cache when adding a new one.
(We run into wrong sorted arrays otherwise)
* EOAccess/EOEntity.m:
make setName: work
* EOAccess/EORelationship.m
add support for KVObserving.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@30397 72102866-910b-0410-8b05-ffd578937521
2010-05-16 08:14:49 +00:00
Dave Wetzel
e92812fdff * EOAccess/EODatabaseContext.m
implemented _assertValidStateWithSelector:
fixed leaks
* EOAccess/Makefile.preamble: added -Werror-implicit-function-declaration
* EOAccess/*: ported to new runtime and OS X



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@30242 72102866-910b-0410-8b05-ffd578937521
2010-04-26 21:52:42 +00:00
Matt Rice
80a2657f4a * EOAccess/EOModel.m (-setName:, -setAdaptorName:, -setDocComment):
* EOAccess/EORelationship.m (-setName:, -setDocComment:):
* EOAccess/EOStoredProcedure.m (-setName:, -setExternalName:):
* EOAccess/EOAttribute.m (-setAdaptorValueConversionMethodName:)
(-setName, -setColumnName:, -setExternalType:, -setValueType:):
(-setValueClassName:, -setWriteFormat:, -setReadFormat:):
(-setDocComment:, -setValueFactoryMethodName:):
(-setAdaptorValueConversionMethodName:): Use ASSIGNCOPY instead of
ASSIGN.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@26594 72102866-910b-0410-8b05-ffd578937521
2008-06-05 23:14:14 +00:00
Matt Rice
2cac738da8 * EOAccess/EOModel.m (-addEntity:): Reword assertion message.
(-_setEntity:forEntityName:className:): Add assertion.
        * EOAccess/EOAttribute.m (-initWithPropertyList:owner:): Validate the
        name.
        * EOAccess/EORelationship.m (-initWithPropertyList:owner:): Ditto.
        * EOAccess/EOEntity.m (-initWithPropertyList:owner:): Ditto.
        (-attributes): Remove checks for duplicate names.
        (-relationships): Remove checks for duplicate names.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@26275 72102866-910b-0410-8b05-ffd578937521
2008-03-11 19:43:57 +00:00
Matt Rice
e35a70da43 * DBModeler/Modeler.m,
* EOAccess/EOEntityPriv.h,
        * EOAccess/EOModel.h/m,
        * EOAccess/EOEntity.h/m,
        * EOAccess/EORelationship.h/m: Remove setCreateMutableObjects: and
        createsMutableObjects.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@26227 72102866-910b-0410-8b05-ffd578937521
2008-03-06 16:28:22 +00:00
David Ayers
08cd084eaa * EOControl/EOAndQualifier.m,
* EOControl/EOFault.m,
	* EOControl/EOFaultHandler.m,
	* EOControl/EOKeyComparisonQualifier.m,
	* EOControl/EOKeyValueArchiver.m,
	* EOControl/EOKeyValueCoding.m,
	* EOControl/EOKeyValueCodingBase.m,
	* EOControl/EOMutableKnownKeyDictionary.h,
	* EOControl/EONotQualifier.m,
	* EOControl/EOOrQualifier.m,
	* EOControl/EOQualifier.m,
	* EOAccess/EOAdaptor.m,
	* EOAccess/EOAdaptorContext.m,
	* EOAccess/EOAttribute.m,
	* EOAccess/EODatabase.m,
	* EOAccess/EODatabaseContext.m,
	* EOAccess/EOExpressionArray.m,
	* EOAccess/EOJoin.m,
	* EOAccess/EOModel.m,
	* EOAccess/EOModelGroup.m,
	* EOAccess/EORelationship.m,
	* EOAccess/EOSQLExpression.m,
	* EOAccess/EOSQLQualifier.m,
	* EOAccess/EOSchemaGeneration.m,
	* EOAccess/EOStoredProcedure.m,
	* EOAdaptors/PostgreSQLAdaptor/PostgreSQLAdaptor.m,
	* EOAdaptors/PostgreSQLAdaptor/PostgreSQLChannel.m,
	* EOAdaptors/PostgreSQLAdaptor/PostgreSQLExpression.m,
	* EOAdaptors/SQLiteAdaptor/SQLite3Adaptor.m,
	* EOAdaptors/SQLiteAdaptor/SQLite3Channel.m,
	* EOInterface/EOTableViewAssociation.m,
	* EOModeler/EOModelExtensions.m,
	* EOModeler/EOModelerApp.m,
	* DBModeler/ModelerAttributeEditor.m,
	* DBModeler/ModelerEntityEditor.m: Remove references to NSUtilities.h.
	Add includes for missing header references.

	* DBModeler/Modeler.m (-[showEditor:]): Add cast to avoid compiler
	warning.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@25994 72102866-910b-0410-8b05-ffd578937521
2008-01-22 13:57:07 +00:00
David Ayers
9720ac993d * COPYING.LIB: Update to LGPL 3.
* DB2Modeler/COPYING:  Update to GPL 3.
	* *.*: Update copyright notices.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@25326 72102866-910b-0410-8b05-ffd578937521
2007-07-12 06:39:22 +00:00
David Ayers
c4bf6fba06 * EOAccess/EOAccessFault.h/m: Minor cleanups for autogsdoc.
* EOAccess/EOAdaptor.m: Ditto.
	* EOAccess/EOAdaptorChannel.h/m: Ditto.
	* EOAccess/EOAdaptorContext.h: Ditto.
	* EOAccess/EODatabase.h/m: Ditto.
	* EOAccess/EODatabaseChannel.m: Ditto.
	* EOAccess/EODatabaseContext.h/m: Ditto.
	* EOAccess/EODatabaseDataSource.h: Ditto.
	* EOAccess/EODatabaseOperation.h: Ditto.
	* EOAccess/EOEntity.h/m: Ditto.
	* EOAccess/EOModel.h/m: Ditto.
	* EOAccess/EORelationship.h: Ditto.
	* EOAccess/EOSchemaGeneration.h: Ditto.
	* EOAccess/EOUtilities.h/m: Ditto.

	* EOAccess/EOSQLExpression.h/m: Minor cleanups for autogsdoc.
	(EOSchemaGeneration): Move implementation from here to ...
	* EOAccess/EOSchemaGeneration.m: ... new file for autogsdoc.
	* EOAccess/GNUmakefile: Add EOSchemaGeneration.m.

	* EOAccess/EOUtilities.m (EOObjectStoreCoordinator EOModelGroup):
	Move implementation from here to ...
	* EOAccess/EOModelGroup.m: ... to here for autogsdoc.

	* common.make: (GDL2_AGSDOC_FLAGS): Add extern declarations.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@24302 72102866-910b-0410-8b05-ffd578937521
2007-01-01 11:52:38 +00:00
Matt Rice
9e08693c96 * EOAccess/EOModel.m (-dealloc): Set entities model to nil.
* EOAccess/EOEntityPriv.h: Add functions for maintining list of
        relationships and their destination entities.
        * EOAccess/EOEntity.m: Implement new functions.
        (-dealloc:): Set attributes entities, and relationships source 
	and destinations entities to nil.
        (+initialize:): Initialize static map table.
        * EOAccess/EORelationship.m: Call functions to maintain 
	destination entities.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@23954 72102866-910b-0410-8b05-ffd578937521
2006-10-23 15:29:27 +00:00
Matt Rice
a1605b6f72 * EOAccess: Revert previous changes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@23949 72102866-910b-0410-8b05-ffd578937521
2006-10-23 11:39:48 +00:00
Matt Rice
f9f1fdb6d3 * EOAccess/EOPrivate.h: Add notification constants.
* EOAccess/EOAttribute.m: Observe EOEntity's notification.
        * EOAccess/EORelationship.m: Observe EOEntity's notification.
        * EOAccess/EOModel.m: Post notification when deallocating.
        * EOAccess/EOEntity.m: Post notification when deallocating, and
        observe EOModels notification.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@23946 72102866-910b-0410-8b05-ffd578937521
2006-10-22 20:16:31 +00:00
Matt Rice
da74a77858 * EOAccess/EOAttribute.m: Remove usage of GCObject, and its
subclasses.
        * EOAccess/EOModelGroup.h: Ditto.
        * EOAccess/EOStoredProcedure.m: Ditto.
        * EOAccess/EOModelGroup.m: Ditto.
        * EOAccess/EOExpressionArray.h: Ditto.
        * EOAccess/EORelationship.h: Ditto.
        * EOAccess/EOExpressionArray.m: Ditto.
        * EOAccess/EOEntity.h: Ditto.
        * EOAccess/EOEntity.m: Ditto.
        * EOAccess/EOJoin.h: Ditto.
        * EOAccess/EOModel.h: Ditto.
        * EOAccess/EOAttribute.h: Ditto.
        * EOAccess/EOAttributePriv.h: Ditto.
        * EOAccess/EOJoin.m: Ditto.
        * EOAccess/EORelationship.m: Ditto, and don't retain source and
        * EOAccess/EOStoredProcedure.h: Ditto, and don't retain model.
        * EOAccess/EOModel.m: Ditto.
        (-addStoredProcedure:): Fix error when using non-mutable objects.
        (-dealloc): Add missing ivars.
        destination entities.
        * EOAccess/GNUmakefile: Remove slash on last header file.
        * EOControl/EOPrivate.m: Update comment.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@23874 72102866-910b-0410-8b05-ffd578937521
2006-10-15 12:23:42 +00:00
Matt Rice
fa9b96612d * EOAccess/EOEntity.m (-awakeWithPropertyList:): Setup the
connection to the parent entity.
        (-encodeIntoPropertyList:): Encode the parent entity name.
        (-init): Initialize the _subEntities ivar.
        (-addSubEntity:): Pass correct argument.
        * EOAccess/EOModel.m (-encodeTableOfContentsIntoPropertyList:):
        encode the parent entity name.
        (-_addEntityWithPropertyList): Call -awakeWithPropertyList:



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@23740 72102866-910b-0410-8b05-ffd578937521
2006-10-03 15:19:33 +00:00
Matt Rice
4394a323d0 * EOAccess/EOModel.m (writeToFile:): Use the default permissions
on .eomodeld files.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@23537 72102866-910b-0410-8b05-ffd578937521
2006-09-16 21:34:10 +00:00
David Ayers
7331d77528 * EOAdaptors/Postgres95/GNUmakefile.in:
Install into GNUSTEP_SYSTEM_ROOT by default.

	* * Update email addresses for Mirko Viviani and David Ayers.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@23510 72102866-910b-0410-8b05-ffd578937521
2006-09-14 16:06:21 +00:00
Matt Rice
fbedef852f * EOControl/EODetailDataSource.m (-editingContext): Return the master
data sources editing context.
* EOControl/EOGlobalID.m (-description): Correct conversion specification.
* EOAccess/EOModel.m (-referencesToProperty:): Implement.
* EOAccess/EORelationship.m (-referencesProperty:): Fix bug in or when
	sending messages to nil.
	(-validateName:): Return nil if the name is the properties current name.
* EOAccess/EOModel.m (-validateName:): Ditto.
* EOAccess/EOEntity.m (-validateName:): Ditto.
        (-relationships): Handle partially converted relationships array.
        (-addAttribute:): Remove unnecessary cast.
        (-addRelationship:): Ditto.
        (-removeAttribute): Remove property from the class properties and
        primary key attributes arrays.
        (-removeRelationship:): Remove property from the class properties
        array.
        (-_setIsEdited:): Rebuild _relationshipsByName.
* EOAdaptors/Postgres95/Postgres95SQLExpression.m: Fix warning.
* EOAdaptors/Postgres95/Postgres95Values.m: Remove c99 usage.




git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@22681 72102866-910b-0410-8b05-ffd578937521
2006-03-19 18:03:50 +00:00
David Ayers
9647f11503 * COPYING.LIB: Update to LGPL 2.1.
* configure: Regenerate.
	* Update FSF Address and Copyright years.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21645 72102866-910b-0410-8b05-ffd578937521
2005-08-17 08:07:57 +00:00
Matt Rice
4ba78b33b4 * dev-apps/test/Testsuite/gdl2/GDL2Testing.h: Include ObjectTesting.h instead of stuff.h.
* dev-apps/test/Testsuite/gdl2/EOModel/test05.m: New test for -removeEntity:.

* dev-libs/gdl2/EOAccess/EOEntity.m (-_setModel:): Accept nil argument, comment.
* dev-libs/gdl2/EOAccess/EOModel.m (-removeEntity:): Comment.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21321 72102866-910b-0410-8b05-ffd578937521
2005-06-17 14:46:37 +00:00
David Ayers
627c340174 * EOAccess/EOModel.m (setName:): Remove from group before
changing name and readd afterwards.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20831 72102866-910b-0410-8b05-ffd578937521
2005-03-02 15:34:57 +00:00
Matt Rice
74a8e976bf Call -willChange: to support EOObserving in EOModel, EOEntity, EOAttribute,
EORelationship, EOStoredProcedure.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20745 72102866-910b-0410-8b05-ffd578937521
2005-02-18 16:46:38 +00:00
David Ayers
75f86142d0 * EOAccess/EOModel.m (writeToFile:): Clairfy documentation
about setting receivers name and path.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20708 72102866-910b-0410-8b05-ffd578937521
2005-02-14 12:11:49 +00:00
David Ayers
6d1dc39232 * EOAccess/EOModel.m (-writeToFile:): Make sure all objects
are loaded before making backup.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20678 72102866-910b-0410-8b05-ffd578937521
2005-02-09 13:26:08 +00:00
David Ayers
8a224e3e37 * EOAccess/EOModel.m (-init): Initialize _storedProcedures.
(-storedProcedureNames): Simplify.
        (-storedProcedureNamed:): Reimplement.
        (-storedProcedures): Simplify.
        (-writeToFile:): Call _setPath: after preliminary testing.
        Write stored procedures.
        (-initWithTableOfContentsPropertyList:path:): Reimplement
        stored procedure handling.
        (-encodeTableOfContentsIntoPropertyList:): Handle stored
        procedures.
        (-encodeIntoPropertyList:): Fix encoding title for stored
        procedures.
        (-addStoredProcedure:, -removeStoredProcedure:) Make more
        thread safe.
        (-loadAllModelObjects): Implement.
        * EOAccess/EOStoredProcedure.m (-initWithPropertyList:): Call
        awakeWithPropertyList: to finish initialization.
        (-encodeIntoPropertyList:): Implement.
        (-description): Implement.
        (-_setIsEdited): Implement.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20676 72102866-910b-0410-8b05-ffd578937521
2005-02-09 11:39:42 +00:00
David Ayers
2f6232368a * EOAccess/EOModelGroup.m ([+globalModelGroup]): Search for
.eomodel files as well and call -addModelWithFile: with full
        path.
        * EOAccess/EOModel.m ([-initWithContentsOfFile:]): Add assert
        if file could not be read.

        * EOControl/EOKeyGlobalID.m ([-hash]): Improve quality of hash
        values.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20294 72102866-910b-0410-8b05-ffd578937521
2004-11-04 11:08:10 +00:00
David Ayers
4590ef7618 * EOAccess/EOAttribute.m (-[copyWithZone:]): Override
implementation of GCObject as it isn't safe to copy
        EOAttributes.
        * EOAccess/EOEntity.m (-[addAttribute:]); Use NSAsserts to check
        integrity of parameters.  Insure that attribute is not used by
        other entity or stored procedure.
        (-[_setModel:]): Rename from -setModel:.  Assert that entity
        is not used by another model.
        * EOAccess/EOEntityPriv.h (-[_setModel:]): Rename from
        -setModel:.
        * EOAccess/EOModel.m (-[_addEntity:]): Use -_setModel: instead
        of -setModel:.
        (-[removeEntity:]): Ditto.
        (-[addEntity:)): Use NSAssert to insure that entity name is
        unique and that the entity is not being used by other mode.  Use
        -_setModel: instead of -setModel:.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20032 72102866-910b-0410-8b05-ffd578937521
2004-09-08 13:05:25 +00:00
David Ayers
fd7890a4cf * EOAccess/EOModel.m: Include EOKeyValueCoding.h.
(-[_addEntity:]): Set model via public API.
	* EOAccess/EOEntityPriv.h (-[_setModel:]): Remove.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20027 72102866-910b-0410-8b05-ffd578937521
2004-09-07 17:20:29 +00:00
David Ayers
87b002d68d * EOAccess/EOModel.m (-[_updateCache]): New method.
* EOAccess/EOEntity.m
        (-[EOModel _updateCache]): Declare private EOModel method.
        (-[setName:]): Insure model updates its cache.
        (-[setModel]): Set instance variable directly without
        retaining it.
        (-[_setModel]): Remove.
        (-[gcDecrementRefCountOfContainedObjects]): Do not decrement
        backward reference to owning model.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20023 72102866-910b-0410-8b05-ffd578937521
2004-09-07 16:14:23 +00:00
David Ayers
dae87e4bec * EOAccess/EOAccessFault.m: Include privat headers locally.
* EOAccess/EOAdaptor.m: Ditto.
	* EOAccess/EOAdaptorChannel.m: Ditto.
	* EOAccess/EOAdaptorContext.m: Ditto.
	* EOAccess/EOAttribute.m: Ditto.
	* EOAccess/EODatabaseChannel.m: Ditto.
	* EOAccess/EODatabaseContext.m: Ditto.
	* EOAccess/EODatabaseOperation.m: Ditto.
	* EOAccess/EOModel.m: Ditto.
	* EOAccess/EORelationship.m: Ditto.
	* EOAccess/EOSQLExpression.m: Ditto.
	* EOAccess/EOSQLQualifier.m: Ditto.

	* EOAccess/EOEntity.h: Remove declarations of privat methods.
	Reorder declaraions.
	(+[entity], +[entityWithPropertyList:owner:]): Deprecate.
	(-[sharedObjectFetchSpecificationNames]): New method.
	(-[setSharedObjectFetchSpecificationsByName:]: Ditto.
	(-[addSharedObjectFetchSpecificationByName:]: Ditto.
	(-[removeSharedObjectFetchSpecificationByName:]: Ditto.
	* EOAccess/EOEntityPriv.h: Add declarations of privat methods.
	Reorder declarations.
	* EOAccess/EOEntity.m: Reorder implementations according to
	headers.  Include privat headers locally.
	(+[entity], +[entityWithPropertyList:owner:]): Deprecate.
	(-[sharedObjectFetchSpecificationNames]): New method.
	(-[setSharedObjectFetchSpecificationsByName:]: Ditto.
	(-[addSharedObjectFetchSpecificationByName:]: Ditto.
	(-[removeSharedObjectFetchSpecificationByName:]: Ditto.

	* EOAccess/EOEntity.m: Adapt usage of deprecated -[entity...]
	and privat methods.
	* EOAccess/EOModel.m: Ditto.
	* EOAdaptors/Postgres95/Postgres95SQLExpression.m: Ditto.

	* TODO: Add comment.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@19772 72102866-910b-0410-8b05-ffd578937521
2004-07-23 18:33:29 +00:00
David Ayers
d50838d4a0 * EOAccess/EOModel.m ([EOModel entityNamed:]): Fix typo.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@19286 72102866-910b-0410-8b05-ffd578937521
2004-05-12 09:18:21 +00:00
David Ayers
6d8f87b9a5 * EOAccess/EOModel.m ([EOModel writeToFile:]) Set path (and
name implicitly) of the receiver.  Create backup file when
        necessary after removing the potentially existing backup file.
        Raise NSInvalidArgumentExceptions upon failures.  Add support
        for .eomodel files.  Document.
        ([EOModel _verifyBuiltEntityObject:named:]): Add support for
        .eomodel files.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@19129 72102866-910b-0410-8b05-ffd578937521
2004-04-16 13:10:43 +00:00
David Ayers
a601888682 * *.[hm] Use GNUSTEP in favor of NeXT_Foundation_LIBRARY
as requested by Marcus Mueller <znek@mulle-kybernetik.com>.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@18856 72102866-910b-0410-8b05-ffd578937521
2004-03-19 16:41:21 +00:00
David Ayers
278882edb5 EOAccess/EOModel.m ([EOModel beautifyNames]): Remove log and
reformat comments.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@18657 72102866-910b-0410-8b05-ffd578937521
2004-02-25 12:01:09 +00:00
David Ayers
53d93cb550 * EOAccess/EOAdaptor.m: Include GNUstep-specific headers for
non-GNUstep systems.
        * EOAccess/EOAdaptorChannel.m: Ditto.
        * EOAccess/EOAdaptorContext.m: Ditto.
        * EOAccess/EOAttribute.m: Ditto.
        * EOAccess/EODatabaseChannel.m: Ditto.
        * EOAccess/EODatabaseDataSource.m: Ditto.
        * EOAccess/EOEntity.m: Ditto.
        * EOAccess/EOModel.m: Ditto.
        * EOAccess/EOModelGroup.m: Ditto.
        * EOAccess/EORelationship.m: Ditto.
        * EOAccess/EOSQLQualifier.m: Ditto.
        * EOAccess/EOUtilities.m: Ditto.
        * EOControl/EOAndQualifier.m: Ditto.
        * EOControl/EOClassDescription.m: Ditto.
        * EOControl/EODataSource.m: Ditto.
        * EOControl/EOEditingContext.m: Ditto.
        * EOControl/EOFault.m: Ditto.
        * EOControl/EOFaultHandler.m: Ditto.
        * EOControl/EOFetchSpecification.m: Ditto.
        * EOControl/EOKeyValueArchiver.m: Ditto.
        * EOControl/EOKeyValueQualifier.m: Ditto.
        * EOControl/EOMutableKnownKeyDictionary.m: Ditto.
        * EOControl/EONSAddOns.m: Ditto.
        * EOControl/EOObjectStore.m: Ditto.
        * EOControl/EOObjectStoreCoordinator.m: Ditto.
        * EOControl/EOObserver.m: Ditto.
        * EOControl/EOOrQualifier.m: Ditto.
        * EOControl/EOQualifier.m: Ditto.
        * EOControl/EOUndoManager.m: Ditto.
        * EOModeler/EOModelExtensions.m: Ditto.

        * EOAccess/EOModel.h/m (+/-[EOModel version]) Remove.
        ([EOModel init]): Handle version internally.
        ([EOModel encodeTableOfContentsIntoPropertyList:]): Ditto.
        ([EOModel encodeIntoPropertyList:]): Ditto.
        * EOAccess/EODatabaseContext.m ([EODatabaseContext dealloc]):
        Use NSCountHashTable instead of NSCountMapTable on hash table.
        * EOAccess/EOAttribute.m ([EOAttribute
        newValueForBytes:length:]):
        Added casts to avoid warnings.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@18500 72102866-910b-0410-8b05-ffd578937521
2004-01-29 13:23:22 +00:00
David Ayers
5f1314ddfc * EOAccess/EOEntity.m/.h:
o added _instanceDictionaryInitializer.
	    Permit to have a restricted dictionary initializer
	    (i.e. propertyDictionaryInitializer minus instance
	     object ivars).
	  o added NSObject
	    +_instanceDictionaryInitializerExcludedPropertyNames
	  o more information in log/exception in _parseRelationshipPath
	  o added -_instanceDictionaryInitializer
	  o added - _dictionaryForInstanceProperties
	  o added -_classForInstances
	* EOAccess/EOModel.m:
	  o added asserts
	  o clean warnings
	* EOAccess/EORelationship.m:
	  o asserts
	  o fix in -isReciprocalToRelationship:


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@18224 72102866-910b-0410-8b05-ffd578937521
2003-11-28 22:47:32 +00:00
David Ayers
0135ad09da * *.h/m: Updated to new header layout.
* Tools/eoutil.m:  Added missing include.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@17539 72102866-910b-0410-8b05-ffd578937521
2003-08-25 20:01:59 +00:00
David Ayers
9238fc1a32 * *.m: Include GNUstep.h if GNUSTEP is not defined for OS X.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@17191 72102866-910b-0410-8b05-ffd578937521
2003-07-11 19:04:05 +00:00
Mirko Viviani
19ea7ea1fc * EOAccess/EOAttribute.m ([EOAttribute -awakeWithPropertyList:]): set
the prototype.
([EOAttribute -encodeIntoPropertyList:]): likewise.
([EOAttribute -serverTimeZone]): return the value from the prototype.
([EOAttribute -columnName]): likewise.
([EOAttribute -readFormat]): likewise.
([EOAttribute -writeFormat]): likewise.
([EOAttribute -scale]): likewise.
([EOAttribute -precision]): likewise.
([EOAttribute -width]): likewise.
([EOAttribute -allowsNull]): likewise.
([EOAttribute -isReadOnly]): likewise.
([EOAttribute -valueClassName]): likewise.
([EOAttribute -externalType]): likewise.
([EOAttribute -valueType]): likewise.

* EOAccess/EOAttribute.h: removed ivar _prototypeName.

* EOAccess/EOModel.m ([EOModel -prototypeAttributeNamed:]): implemented.

* EOAccess/EOAdaptor.m|.h ([EOAdaptor -prototypeAttributes]): renamed
from +prototypes and implemented.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@16483 72102866-910b-0410-8b05-ffd578937521
2003-04-18 19:01:06 +00:00
David Ayers
f3e520ee9a 2003-03-30 David Ayers <d.ayers@inode.at>
* *.h/m, *.h/m):
	Used #include instead of depricated #import.  Avoid including
	entire library headers.  Use export macro where applicable.

	* EOControl/GNUmakefile: Removed EOKeyValueCodingBase.m/h and
	EOUndoMananger.h.  Added EOArrayDataSource.m/h, EODefines.h
	and EODepricated.h.
	* EOControl/EODefines.h: Updated for GDL2 & gnustep-make.
	* EOControl/EODebug.h: Updated.
	* EOControl/EODepricated.h: Updated for current state of GDL2.
	([NSObject +flushClassKeyBindings]): Added declaration.
	([EOClassDescription +setDelegate:]): Added declaration.
	([EOClassDescription +delegate]): Added declaration.
	(EOUndoManager): Moved declaration of interface here.
	* EOControl/EOKeyValueCoding.m
	([EOClassDescription +flushClassKeyBindings]): Added empty
	implementation.
	([NSObject takeStoredValuesFromDictionary:]): Cache EONull
	instance and use it instead of isKindOfClass:.
	* EOControl/EOEditingContext.m
	([EOEditingContext +initialize]): Tidied.
	([EOEditingContest -deleteObject]): Use NSUndoManager instead of
	EOUndoManager.
	* EOControl/EOQualifier.m
	([NSArray -filteredArrayUsingQualifier:]): Added minor
	optimization tweak.
	* EOControl/EOClassDescription.m: Removed inactive commented
	code.  Added private declerations of EOAccess methods to avoid
	compiler warnings.
	([EOClassDescription +initialize]): Tidied.
	([EOClassDescription -classDescriptionForClass:]): Use
	GSObjCName() instead of objc runtime routines.
	* EOControl/EOFault.m: Exchanged direct usages of ObjC runtime
	routines with NS/GSObjCRuntime abstraction API.
	([EOFault +superclass]): Ditto.
	([EOFault +targetClassForFault:]): Ditto.
	([EOFault -respondsToSelector:]): Ditto.
	([EOFault +initialize]): Cache static class variable.
	([EOFault +isKindOfClass]): Use static class variable.
	([EOFault +handlerForFault:]): Ditto.
	([EOFault +targetClassForFault:]): Ditto.
	([EOFault -dealloc]): Ditto.
	* EOControl/EOGenericRecord.m:
	([EOGenericRecord +initialize]): Tidied.
	* EOControl/EOKeyComparisonQualifier.m: Tidied documentation.
	* EOControl/EOKeyValueQualifier.m: Ditto.
	* EOControl/EONSAddOns.h/m: Added declarations to surpress
	compiler warnings.
	([NSObject -eoCompareOnName:]): Adjusted casts to surpress
	compiler warnings.
	(GSUseStrictWO451Compatibility): Added function.
	(GDL2GlobalLock, GDL2GlobalRecursive): Ditto.
	* EOControl/EONull: Remove implementations for foundation
	libraries without key value coding and fully rely on NSNull.
	Added assertions in all intance methods as instances should never
	be created.
	([EONull +allocWithZone:]) Corrected method name so it will
	actually be used.
	* EOControl/EOSortOrdering.m
	([NSArray sortedArrayUsingKeyOrderArray:]): Tidied.
	([NSMutableArray sortUsingKeyOrderArray:]): Ditto.
	([EONull compareAscending:]): Sync with referencs implementation.
	([EONull compareDescending:]): Ditto.
	([EONull compareCaseInsensitiveAscending:]): Ditto.
	([EONull compareCaseInsensitiveDescending:]): Ditto.

	* EOAccess/EOAdaptor.h: Added comment about API compatibility.
	* EOAccess/EOAdaptor.m ([EOAdaptor -contexts]): Return array of
	adaptor contexts rather tham GC-wrapper objects containing adaptor
	contexts.
	([EOAdaptor -databaseEncoding]): Use GSEncodingName() instead of
	GetEncodingName().
	* EOAccess/EODatabaseContext.m
	([EODatabaseContext -_turnFault:gid:editingContext:isComplete:]):
	Use GSObjCClass() instead of trying to access isa by dereferencing
	from id with incorrect member.
	* EOAccess/EOModel.m ([EOModel -entityNames]): Sort returned array
	to insure comparable output.
	* EOAccess/EOSQLExpression.m
	([EOSQLExpression sqlStringForArrayOfQualifiers:operation:]):
	Added cast to surpress compiler warning.
	* EOAccess/EOUtilities.m
	([EOObjectStoreCoordinator setModelGroup:]): Ditto.
	* EOAccess/EORelationship.h ([EORelationship -docComment]):
	Added declaration.
	* EOAccess/GNUmakefile: Added EODefines.h and EODepricated.h.

	* Tools/*.m: Use RCS_ID macro.
	* Tools/EOAttribute+GSDoc.h:
	([EOAttribute gsdocContentWithTagName:idPtr:]): Corrected Typo.
	* Tools/EOModel+GSDoc.h/m:
	([EOModel gsdocContentSplittedByEntities:idPtr:]): Ditto.
	* Tools/EORelationship+GSDoc.m:
	([EORelationship gsdocContentWithTagName:idPtr:]): Change variable
	type to supress compiler warnings.
	* Tools/eoutil.m (dump): Initialize variables to supress compiler
	warnings.
	* Tools/gsdoc-model.m: Include GSCategories.h to supress compiler
	warnings.
	(main): Added cast to supress compiler warning.  Fixed typo in
	method invocation.

2003-03-25  Stephane Corthesy  <stephane@sente.ch>

	* EOControl/EODefines.h: Added new file for export/win32 support.
	* EOControl/EODepricated.h: Added new file for depricated features.
	* EOControl/EOControl.h: Added EOArrayDataSource.h and EODefines.h.
	* EOControl/EOArrayDataSource.h/m: Added new files.  Some methods
	(<NSCoding> and qualifier bindings) are empty stubs.
	* EOControl/EODebug.h: Use export macro instead of explicit extern for
	function and symbol declarations.
	* EOControl/EOGlobalID.h: Ditto.
	* EOControl/EONull.h: Ditto.
	* EOControl/EOObjectStore.h: Ditto.
	* EOControl/EOOrQualifier.m: Replaced autorelease by AUTORELEASE
	and fixed typo.
	* EOControl/EOQualifier.m
	([NSArray -filteredArrayUsingQualifier:]): Implemented.
	* EOControl/EONSAddOns.m: Use volatile in some exception handlers
	(man longjmp for more info).
	* EOControl/EOSortOrdering.h/m
	([EOSortOrdering -copyWithZone:]): Implemented <NSCopying>.
	([EOSortOrdering -encodeWithKeyValueArchiver:]): Implemented.

	* EOAccess/EODefines.h: Added new file for export/win32 support.
	* EOAccess/EODepricated.h: Added new file for depricated features.
	* EOAccess/EOAccess.h: Added EODefines.h.
	* EOAccess/EOSQLExpression.h/m: Fixed typo for
	EOPrimaryKeyConstraintKey.
	* EOAccess/EOExpressionArray.h/m: Use volatile for variables usein
	in exception handlers. (man longjmp for more info)
	* EOAccess/EODatabase.h: Use export macro instead of explicit
	extern for function and symbol declarations.
	* EOAccess/EOEntity.h: Ditto.
	* EOAccess/EOModel.h: Ditto.
	* EOAccess/EOSchemaGeneration.h: Ditto.
	* EOAccess/EOSQLExpression.h: Ditto.
	* EOAccess/EOUtilities.h: Ditto.
	* Tools/eoutil.m (dump): Implemented use of -postinstall option.
	Corrected bug when getting adaptor's expression class.  Renamed
	symbol EOPrimaryKeyContraintsKey into EOPrimaryKeyConstraintsKey.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@16298 72102866-910b-0410-8b05-ffd578937521
2003-03-31 00:24:15 +00:00
David Ayers
63fe01e58e 2003-02-06 David Ayers <d.ayers@inode.at>
* EOAccess/EOModel.m
	([EOModel -encodeTableOfContentsIntoPropertyList:]),
	([EOModel -initWithPropertyList:owner:]),
	([EOModel -encodeIntoPropertyList:]), ([EOModel -addEntity:]),
	([EOModel -removeEntity:]), ([EOModel -beautifyNames]),
	([EOModel -setCreateMutableObjects:]):
	Do not access _entities until cache is triggered.
	* EOAccess/EOModel.m
	([EOModel +findPathForModelNamed:]),
	([EOModel -gcDecrementRefCountOfContainedObjects]),
	([EOModel -storedProcedures]), ([EOModel -initWithContentsOfFile:]),
	([EOModel -initWithTableOfContentsPropertyList:path:]),
	([EOModel -initWithPropertyList:owner:]),
	([EOModel -_classDescriptionNeeded:]), ([EOModel -_entityForClass:]),
	([EOModel -_addEntityWithPropertyList:]), ([EOModel -_addEntity:]),
	([EOModel -_verifyBuiltEntityObject:named:]):
	replaced NSDebugMLLog with EOFLOGObject/ClassLevelArgs.
	* EOAccess/EOModel.m ([EOModel -description]), ([EOModel
	-addEntity]), ([EOModel removeEntity]): Make temporary objects
	autoreleased versions instead explicit release handling.

	* EOAccess/EOAdaptor.m ([EOAdaptor +adaptorWithName:]):
	reinserted accessing adaptor class by principal class of bundle as
	fallback in case EOAdaptorClassName isn't found.  Raise an
	exception if the provided class is not a subclass of EOAdaptor.
	* EOAccess/EOAdaptor.m ([EOAdaptor +adaptorWithName:]),
	([EOAdaptor -fetchedValueForValue:attribute]),
	([EOAdaptor -fetchedValueForStringValue:attribute]):
	replaced NSLog/NSDebugMLLog with EOFLOGObject/ClassLevelArgs.
	* EOAccess/EOAdaptor.m ([EOAdaptor +adaptorWithModel:]),
	([EOAdaptor +adaptorWithName:]),
	([EOAdaptor +availableAdaptorNames]):
	replaced autorelease with AUTORELEASE().

	* EOAdaptors/Postgres95Adaptor/Info.plist: Added
	EOAdaptorClassName entry.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@15900 72102866-910b-0410-8b05-ffd578937521
2003-02-06 21:18:29 +00:00
Mirko Viviani
75e5869bb6 Changes for OSX and fixes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@15865 72102866-910b-0410-8b05-ffd578937521
2003-02-03 14:53:03 +00:00
Mirko Viviani
0121e588e2 * EOAccess/EOUtilities.m|.h ([EOObjectStoreCoordinator -modelGroup]),
([EOObjectStoreCoordinator -setModelGroup:]): moved from EOControl/
EOObjectStoreCoordinator.m

* EOAccess/EOUtilities.m|.h ([EOFetchSpecification
+fetchSpecificationNamed:entityNamed:]): moved from EOControl/
EOFetchSpecification.m

* EOControl/EOFetchSpecification.m ([EOFetchSpecification
+fetchSpecificationNamed:entityNamed:]): return nil.

* EOAccess/EOAccessFault.m|.h ([EOFault -databaseContext]): moved from
EOControl/EOFault.m

* EOControl/EOEditingContext.m ([EOEditingContext -tryToSaveChanges]),
([EOEditingContext -saveChanges:]): use respondsToSelector:


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@15431 72102866-910b-0410-8b05-ffd578937521
2002-12-31 16:25:21 +00:00
Mirko Viviani
3e08b99be1 Added missing debug includes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@15410 72102866-910b-0410-8b05-ffd578937521
2002-12-30 23:00:10 +00:00
Mirko Viviani
b738a6145b * EOAdaptors/Postgres95/Postgres95Channel.m ([Postgres95Channel
-describeTableNames]): implemented.

* EOAccess/EOSQLExpression.h: added missing declaration.
* EOAccess/EORelationship.m ([EORelationship -removeJoin:]): added cast.
* EOAccess/EOModel.m ([EOModel -dealloc]): removes observer correctly.
* EOAccess/EODatabaseContext.h: added missing declaration.
* EOControl/EOFetchSpecification.m ([EOFetchSpecification
-copyWithZone:]): fixed cast.
([EOFetchSpecification -hints]): added cast.
* EOControl/EOClassDescription.m  ([NSException
+validationExceptionWithFormat:]), ([NSException
+aggregateExceptionWithExceptions:]),
([NSException -exceptionAddingEntriesToUserInfo:]): renamed local
variables.
* rearranged header inclusion in all sources.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@15409 72102866-910b-0410-8b05-ffd578937521
2002-12-30 22:10:43 +00:00
Manuel Guesdon
f411047efc 2002-11-27 Manuel Guesdon <mguesdon@orange-concept.com>
* EOAccess/EOModel.m:
		o fixed typo in -entityNamed:


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@15138 72102866-910b-0410-8b05-ffd578937521
2002-11-27 13:49:27 +00:00
Richard Frith-Macdonald
45aafd7755 Fix typo and nil reference
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@15131 72102866-910b-0410-8b05-ffd578937521
2002-11-27 10:00:34 +00:00
Richard Frith-Macdonald
feae00e114 Patch added
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@15130 72102866-910b-0410-8b05-ffd578937521
2002-11-27 06:44:53 +00:00
Richard Frith-Macdonald
9931b82a55 Remove dependency on the obsolete Extensions library.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@15102 72102866-910b-0410-8b05-ffd578937521
2002-11-25 20:01:43 +00:00
Mirko Viviani
bf5ba60b07 *** empty log message ***
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@14993 72102866-910b-0410-8b05-ffd578937521
2002-11-15 22:57:05 +00:00