* EOAccess/EOAttribute.m ([EOAttribute -encodeIntoPropertyList:]):

Encode missing aattributes as reported by Dirk Lattermann.  Also
	corrected encoding of parameterDirection.
	([EOAttribute initWithPropertyList:owner:]): Corrected parsing of
	parameterDirection to account for WO 4.5 compatibility and
	previous encodings.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@16740 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
David Ayers 2003-05-16 20:21:56 +00:00
parent 89d7e88574
commit 341fc72ae8
2 changed files with 80 additions and 11 deletions

View file

@ -1,4 +1,13 @@
2003-08-14 David Ayers <d.ayers@inode.at>
2003-05-16 David Ayers <d.ayers@inode.at>
* EOAccess/EOAttribute.m ([EOAttribute -encodeIntoPropertyList:]):
Encode missing aattributes as reported by Dirk Lattermann. Also
corrected encoding of parameterDirection.
([EOAttribute initWithPropertyList:owner:]): Corrected parsing of
parameterDirection to account for WO 4.5 compatibility and
previous encodings.
2003-05-14 David Ayers <d.ayers@inode.at>
* EOAccess/EODatabaseDataSource.m ([EODatabaseDataSource
-initWithEditingContext:entityName:fetchSpecificationName:]):
@ -8,7 +17,7 @@
([EOEntity -addFetchSpecification:withName:]): Corrected name and
initialization as reported by Dirk Lattermann.
2003-08-05 David Ayers <d.ayers@inode.at>
2003-05-08 David Ayers <d.ayers@inode.at>
* EOControl/EOObjectStoreCoordinator.m ([EOObjectStoreCoordinator
+initialize]): Insure EODatabaseContext is setup to receive

View file

@ -181,16 +181,23 @@ static NSString *defaultCalendarFormat = @"%b %d %Y %H:%M";
tmpString = [propertyList objectForKey: @"parameterDirection"];
if (tmpString)
{
EOParameterDirection eDirection = EOVoid;
if ([tmpString isKindOfClass: [NSNumber class]])
{
[self setParameterDirection: [tmpString intValue]];
}
else
{
EOParameterDirection eDirection = EOVoid;
if ([tmpString isEqual: @"in"])
eDirection = EOInParameter;
else if ([tmpString isEqual: @"out"])
eDirection = EOOutParameter;
else if ([tmpString isEqual: @"inout"])
eDirection = EOInOutParameter;
if ([tmpString isEqual: @"in"])
eDirection = EOInParameter;
else if ([tmpString isEqual: @"out"])
eDirection = EOOutParameter;
else if ([tmpString isEqual: @"inout"])
eDirection = EOInOutParameter;
[self setParameterDirection: eDirection];
[self setParameterDirection: eDirection];
}
}
tmpObject = [propertyList objectForKey: @"userInfo"];
@ -278,18 +285,71 @@ static NSString *defaultCalendarFormat = @"%b %d %Y %H:%M";
[propertyList setObject: _valueClassName forKey: @"valueClassName"];
if (_valueType)
[propertyList setObject: _valueType forKey: @"valueType"];
if (_valueFactoryMethodName)
{
NSString *methodArg;
[propertyList setObject: _valueFactoryMethodName
forKey: @"valueFactoryMethodName"];
switch (_argumentType)
{
case EOFactoryMethodArgumentIsNSData:
methodArg = @"EOFactoryMethodArgumentIsNSData";
break;
case EOFactoryMethodArgumentIsNSString:
methodArg = @"EOFactoryMethodArgumentIsNSString";
break;
case EOFactoryMethodArgumentIsBytes:
methodArg = @"EOFactoryMethodArgumentIsBytes";
break;
default:
methodArg = nil;
[NSException raise: NSInternalInconsistencyException
format: @"%@ -- %@ 0x%x: Invalid value for _argumentType:%d",
NSStringFromSelector(_cmd),
NSStringFromClass([self class]),
self, _argumentType];
}
[propertyList setObject: methodArg
forKey: @"factoryMethodArgumentType"];
}
if (_adaptorValueConversionMethodName)
[propertyList setObject: _adaptorValueConversionMethodName
forKey: @"adaptorValueConversionMethodName"];
if (_readFormat)
[propertyList setObject: _readFormat forKey: @"readFormat"];
if (_writeFormat)
[propertyList setObject: _writeFormat forKey: @"writeFormat"];
if (_width > 0)
[propertyList setObject: [NSNumber numberWithUnsignedInt: _width]
forKey: @"width"];
if (_precision > 0)
[propertyList setObject: [NSNumber numberWithUnsignedShort: _precision]
forKey: @"precision"];
if (_scale != 0)
[propertyList setObject: [NSNumber numberWithShort: _scale]
forKey: @"scale"];
if (_parameterDirection != 0)
[propertyList setObject: [NSNumber numberWithInt: _parameterDirection]
forKey: @"parameterDirection"];
if (_userInfo)
[propertyList setObject: _userInfo forKey: @"userInfo"];
if (_docComment)
[propertyList setObject: _docComment forKey: @"docComment"];
if (_flags.isReadOnly)
[propertyList setObject: [NSString stringWithCString: "Y"]
[propertyList setObject: @"Y"
forKey: @"isReadOnly"];
if (_flags.allowsNull)
[propertyList setObject: @"Y"
forKey: @"allowsNull"];
}
- (void)dealloc