From 1a474bf60f09d23af8ad2effebaf48b93d36ae80 Mon Sep 17 00:00:00 2001 From: mguesdon Date: Mon, 3 Jun 2002 08:27:15 +0000 Subject: [PATCH] 2002-06-03 Manuel Guesdon * GSWeb.framework/GSWBundle.m: o use smartTakeValue:forKey: instead of takeValue:forKey: * GSWeb.framework/GSWAssociation.m: o use smartTakeValue:forKeyPath: instead of takeValue:forKeyPath: * GSWeb.framework/GSWComponent.m: o use smartTakeValue:forKey: instead of takeValue:forKey: * GSWeb.framework/GSWDisplayGroup.m: o changes in -description o logs * GSWExtensions.framework/GSWExceptionPage.gswc/GSWExceptionPage.gswd: o added "reference" * GSWExtensions.framework/GSWExceptionPage.gswc/GSWExceptionPage.html: o added "reference" * GSWExtensions.framework/French.lproj/GSWExceptionPage.gswc/GSWExceptionPage.html: o added "reference" * GSWExtensions.framework/GSWExceptionPage.gswc/GSWExceptionPage.h/.m: o added "reference" * GSWExtensionsGSW.framework/GSWFileUploadComponent.h/.m: o bug fixes * GSWExtensionsGSW.framework/GSWFileUploadComponent.gswc/GSWFileUploadComponent.gswd: o added Height & With parameters for images * GSWExtensionsGSW.framework/GSWFileUploadComponent.gswc/GSWFileUploadComponent.html: o added delete check box title * GSWeb.framework/GSWElement.m: o logs * GSWeb.framework/GSWFileUpload.m: o logs * GSWeb.framework/GSWRequest.m: o bug fix for uploaded files git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gsweb/trunk@13762 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 33 ++++++++- .../GSWExceptionPage.html | 8 ++ .../GSWExceptionPage.gswd | 7 ++ .../GSWExceptionPage.html | 8 ++ GSWExtensions.framework/GSWExceptionPage.h | 2 + GSWExtensions.framework/GSWExceptionPage.m | 11 +++ .../GSWFileUploadComponent.gswd | 9 +++ .../GSWFileUploadComponent.html | 3 +- .../GSWFileUploadComponent.h | 2 +- .../GSWFileUploadComponent.m | 35 +++++---- GSWeb.framework/GSWAssociation.m | 2 +- GSWeb.framework/GSWBundle.m | 2 +- GSWeb.framework/GSWComponent.m | 7 +- GSWeb.framework/GSWDisplayGroup.m | 73 ++++++++++++------- GSWeb.framework/GSWElement.h | 1 + GSWeb.framework/GSWElement.m | 9 ++- GSWeb.framework/GSWFileUpload.m | 8 +- GSWeb.framework/GSWImageButton.m | 1 + GSWeb.framework/GSWRequest.m | 16 +++- 19 files changed, 179 insertions(+), 58 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0e79bd9..ed5302d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,35 @@ -2002-05-xx Manuel Guesdon +2002-06-03 Manuel Guesdon + * GSWeb.framework/GSWBundle.m: + o use smartTakeValue:forKey: instead of takeValue:forKey: + * GSWeb.framework/GSWAssociation.m: + o use smartTakeValue:forKeyPath: instead of takeValue:forKeyPath: + * GSWeb.framework/GSWComponent.m: + o use smartTakeValue:forKey: instead of takeValue:forKey: + * GSWeb.framework/GSWDisplayGroup.m: + o changes in -description + o logs + * GSWExtensions.framework/GSWExceptionPage.gswc/GSWExceptionPage.gswd: + o added "reference" + * GSWExtensions.framework/GSWExceptionPage.gswc/GSWExceptionPage.html: + o added "reference" + * GSWExtensions.framework/French.lproj/GSWExceptionPage.gswc/GSWExceptionPage.html: + o added "reference" + * GSWExtensions.framework/GSWExceptionPage.gswc/GSWExceptionPage.h/.m: + o added "reference" + * GSWExtensionsGSW.framework/GSWFileUploadComponent.h/.m: + o bug fixes + * GSWExtensionsGSW.framework/GSWFileUploadComponent.gswc/GSWFileUploadComponent.gswd: + o added Height & With parameters for images + * GSWExtensionsGSW.framework/GSWFileUploadComponent.gswc/GSWFileUploadComponent.html: + o added delete check box title + * GSWeb.framework/GSWElement.m: + o logs + * GSWeb.framework/GSWFileUpload.m: + o logs + * GSWeb.framework/GSWRequest.m: + o bug fix for uploaded files + +2002-05-16 Manuel Guesdon * GSWeb.framework/GSWTextField.m: o added warning in _isFormattedValueInComponent:equalToFormattedValue: o added warning in takeValuesFromRequest:inContext: diff --git a/GSWExtensions.framework/French.lproj/GSWExceptionPage.gswc/GSWExceptionPage.html b/GSWExtensions.framework/French.lproj/GSWExceptionPage.gswc/GSWExceptionPage.html index 4ad07e9..545433d 100644 --- a/GSWExtensions.framework/French.lproj/GSWExceptionPage.gswc/GSWExceptionPage.html +++ b/GSWExtensions.framework/French.lproj/GSWExceptionPage.gswc/GSWExceptionPage.html @@ -25,6 +25,14 @@
+ + + Reference: + + +
+ + Erreur: diff --git a/GSWExtensions.framework/GSWExceptionPage.gswc/GSWExceptionPage.gswd b/GSWExtensions.framework/GSWExceptionPage.gswc/GSWExceptionPage.gswd index 1f3bbc0..4e724e4 100644 --- a/GSWExtensions.framework/GSWExceptionPage.gswc/GSWExceptionPage.gswd +++ b/GSWExtensions.framework/GSWExceptionPage.gswc/GSWExceptionPage.gswd @@ -18,6 +18,13 @@ ApplicationNameString: GSWString escapeHTML = NO; } +ReferenceString: GSWString +{ + value = referenceString; + escapeHTML = YES; + convertHTMLEntities = YES; +} + ExceptionNameString: GSWString { value = exception.name; diff --git a/GSWExtensions.framework/GSWExceptionPage.gswc/GSWExceptionPage.html b/GSWExtensions.framework/GSWExceptionPage.gswc/GSWExceptionPage.html index ff77c4b..8b014a0 100644 --- a/GSWExtensions.framework/GSWExceptionPage.gswc/GSWExceptionPage.html +++ b/GSWExtensions.framework/GSWExceptionPage.gswc/GSWExceptionPage.html @@ -25,6 +25,14 @@
+ + + Reference: + + +
+ + Error: diff --git a/GSWExtensions.framework/GSWExceptionPage.h b/GSWExtensions.framework/GSWExceptionPage.h index b24d413..c7e50cb 100644 --- a/GSWExtensions.framework/GSWExceptionPage.h +++ b/GSWExtensions.framework/GSWExceptionPage.h @@ -35,6 +35,7 @@ NSException* _exception; NSArray* _reasons; + id _reference; }; -(void)dealloc; @@ -42,6 +43,7 @@ -(void)appendToResponse:(GSWResponse*)response inContext:(GSWContext*)context; -(void)setException:(NSException*)exception; +-(NSString*)referenceString; @end #endif // _GSWExceptionPage_h__ diff --git a/GSWExtensions.framework/GSWExceptionPage.m b/GSWExtensions.framework/GSWExceptionPage.m index f8e4c3c..f847581 100644 --- a/GSWExtensions.framework/GSWExceptionPage.m +++ b/GSWExtensions.framework/GSWExceptionPage.m @@ -42,6 +42,8 @@ static char rcsId[] = "$Id$"; DESTROY(_exception); GSWLogC("Dealloc GSWExceptionPage reasons\n"); DESTROY(_reasons); + GSWLogC("Dealloc GSWExceptionPage reference\n"); + DESTROY(_reference); GSWLogC("Dealloc GSWExceptionPage super\n"); [super dealloc]; GSWLogC("Dealloc GSWExceptionPage end\n"); @@ -49,6 +51,10 @@ static char rcsId[] = "$Id$"; -(void)awake { + if (!_reference) + { + ASSIGN(_reference,[NSCalendarDate calendarDate]); + } [super awake]; }; @@ -87,4 +93,9 @@ static char rcsId[] = "$Id$"; else return _tmpUserInfoValue; } + +-(NSString*)referenceString +{ + return _reference; +} @end diff --git a/GSWExtensionsGSW.framework/GSWFileUploadComponent.gswc/GSWFileUploadComponent.gswd b/GSWExtensionsGSW.framework/GSWFileUploadComponent.gswc/GSWFileUploadComponent.gswd index 53b8311..80ef96e 100644 --- a/GSWExtensionsGSW.framework/GSWFileUploadComponent.gswc/GSWFileUploadComponent.gswd +++ b/GSWExtensionsGSW.framework/GSWFileUploadComponent.gswc/GSWFileUploadComponent.gswd @@ -29,12 +29,16 @@ ImageWithPath: GSWImage { filename = fileInfo.filePath; border = 0; + width = ^imageWidth; + height = ^imageHeight; }; ImageWithURL: GSWImage { src = fileInfo.fileURL; border = 0; + width = ^imageWidth; + height = ^imageHeight; }; UploadFile: GSWFileUpload @@ -71,3 +75,8 @@ DeleteCheckBox: GSWCheckBox enabled=isDeleteEnabled; checked= fileInfo.isDeleted; }; + +DeleteCheckBoxTitle: GSWString +{ + value = ^deleteCheckBoxText; +}; diff --git a/GSWExtensionsGSW.framework/GSWFileUploadComponent.gswc/GSWFileUploadComponent.html b/GSWExtensionsGSW.framework/GSWFileUploadComponent.gswc/GSWFileUploadComponent.html index eed5144..46476cf 100644 --- a/GSWExtensionsGSW.framework/GSWFileUploadComponent.gswc/GSWFileUploadComponent.html +++ b/GSWExtensionsGSW.framework/GSWFileUploadComponent.gswc/GSWFileUploadComponent.html @@ -16,7 +16,8 @@ +

- + diff --git a/GSWExtensionsGSW.framework/GSWFileUploadComponent.h b/GSWExtensionsGSW.framework/GSWFileUploadComponent.h index 7eb217c..bf74b64 100644 --- a/GSWExtensionsGSW.framework/GSWFileUploadComponent.h +++ b/GSWExtensionsGSW.framework/GSWFileUploadComponent.h @@ -26,7 +26,7 @@ //==================================================================== @interface GSWFileUploadComponent : GSWComponent { - NSMutableDictionary* _fileInfo; + NSMutableDictionary* _tmpFileInfo; }; -(id)init; -(void)dealloc; diff --git a/GSWExtensionsGSW.framework/GSWFileUploadComponent.m b/GSWExtensionsGSW.framework/GSWFileUploadComponent.m index 30ce8f4..5ed5f19 100644 --- a/GSWExtensionsGSW.framework/GSWFileUploadComponent.m +++ b/GSWExtensionsGSW.framework/GSWFileUploadComponent.m @@ -51,6 +51,7 @@ static char rcsId[] = "$Id$"; { LOGObjectFnStart(); [super awake]; + _tmpFileInfo=nil; LOGObjectFnStop(); }; @@ -58,6 +59,7 @@ static char rcsId[] = "$Id$"; -(void)sleep { LOGObjectFnStart(); + _tmpFileInfo=nil; [super sleep]; LOGObjectFnStop(); }; @@ -65,7 +67,6 @@ static char rcsId[] = "$Id$"; //-------------------------------------------------------------------- -(void)dealloc { - DESTROY(_fileInfo); [super dealloc]; }; @@ -82,6 +83,7 @@ static char rcsId[] = "$Id$"; [aResponse appendDebugCommentContentString:[[self fileInfo]description]]; [super appendToResponse:aResponse inContext:aContext]; + _tmpFileInfo=nil; }; //-------------------------------------------------------------------- @@ -89,19 +91,20 @@ static char rcsId[] = "$Id$"; inContext:(GSWContext*)aContext { LOGObjectFnStart(); - NSDebugMLog(@"fileInfo %@",_fileInfo); + NSDebugMLog(@"fileInfo %@",_tmpFileInfo); [super takeValuesFromRequest:aRequest inContext:aContext]; - NSDebugMLog(@"fileInfo.fileURL %@",[_fileInfo valueForKey:@"fileURL"]); - NSDebugMLog(@"fileInfo.fileName %@",[_fileInfo valueForKey:@"fileName"]); - NSDebugMLog(@"fileInfo.filePath %@",[_fileInfo valueForKey:@"filePath"]); - NSDebugMLog(@"fileInfo.data %p",[_fileInfo valueForKey:@"data"]); - NSDebugMLog(@"fileInfo.mimeType %@",[_fileInfo valueForKey:@"mimeType"]); - NSDebugMLog(@"fileInfo.isDeleted %@",[_fileInfo valueForKey:@"isDeleted"]); - if ([[_fileInfo valueForKey:@"data"]length]>0 || boolValueWithDefaultFor([_fileInfo valueForKey:@"isDeleted"],NO)) - [self setValue:_fileInfo + NSDebugMLog(@"fileInfo.fileURL %@",[_tmpFileInfo valueForKey:@"fileURL"]); + NSDebugMLog(@"fileInfo.fileName %@",[_tmpFileInfo valueForKey:@"fileName"]); + NSDebugMLog(@"fileInfo.filePath %@",[_tmpFileInfo valueForKey:@"filePath"]); + NSDebugMLog(@"fileInfo.data %p",[_tmpFileInfo valueForKey:@"data"]); + NSDebugMLog(@"fileInfo.data length %d",(int)[[_tmpFileInfo valueForKey:@"data"] length]); + NSDebugMLog(@"fileInfo.mimeType %@",[_tmpFileInfo valueForKey:@"mimeType"]); + NSDebugMLog(@"fileInfo.isDeleted %@",[_tmpFileInfo valueForKey:@"isDeleted"]); + if ([[_tmpFileInfo valueForKey:@"data"]length]>0 || boolValueWithDefaultFor([_tmpFileInfo valueForKey:@"isDeleted"],NO)) + [self setValue:_tmpFileInfo forBinding:@"fileInfo"]; - DESTROY(_fileInfo); + _tmpFileInfo=nil; LOGObjectFnStop(); }; @@ -109,17 +112,17 @@ static char rcsId[] = "$Id$"; -(NSMutableDictionary*)fileInfo { LOGObjectFnStart(); - if (!_fileInfo) + if (!_tmpFileInfo) { if ([self hasBinding:@"fileInfo"]) { - _fileInfo=[[self valueForBinding:@"fileInfo"] mutableCopy]; - if (!_fileInfo) - _fileInfo=[NSMutableDictionary new]; + _tmpFileInfo=[[[self valueForBinding:@"fileInfo"] mutableCopy] autorelease]; + if (!_tmpFileInfo) + _tmpFileInfo=(NSMutableDictionary*)[NSMutableDictionary dictionary]; }; }; LOGObjectFnStop(); - return _fileInfo; + return _tmpFileInfo; }; //-------------------------------------------------------------------- diff --git a/GSWeb.framework/GSWAssociation.m b/GSWeb.framework/GSWAssociation.m index 5742f85..ff16810 100644 --- a/GSWeb.framework/GSWAssociation.m +++ b/GSWeb.framework/GSWAssociation.m @@ -763,7 +763,7 @@ static NSMutableArray* associationsLogsHandlerClasses=nil; if (keyPath) { #if GDL2 - [object takeValue:value + [object smartTakeValue:value forKeyPath:keyPath]; #else NSMutableArray* keys=[[keyPath_ componentsSeparatedByString:@"."] mutableCopy]; diff --git a/GSWeb.framework/GSWBundle.m b/GSWeb.framework/GSWBundle.m index 3f26629..61cc285 100644 --- a/GSWeb.framework/GSWBundle.m +++ b/GSWeb.framework/GSWBundle.m @@ -402,7 +402,7 @@ objectForReference:(NSString*)keyPath variableValue, variableValue, [variableValue retainCount]); - [object_ takeValue:variableValue + [object_ smartTakeValue:variableValue forKey:variableName]; NSDebugMLLog(@"bundles",@"AFT variableValue %p:%@ [RC=%d]", variableValue, diff --git a/GSWeb.framework/GSWComponent.m b/GSWeb.framework/GSWComponent.m index def8b5a..0f67f77 100644 --- a/GSWeb.framework/GSWComponent.m +++ b/GSWeb.framework/GSWComponent.m @@ -430,8 +430,13 @@ associationsKeys:(NSArray*)associationsKeys inComponent:self]; /*//MGNEW [self setIVarNamed:aKey withValue:aValue];*/ +#if GDL2 // GDL2 implementation + [self smartTakeValue:aValue + forKey:aKey]; +#else [self takeValue:aValue forKey:aKey]; +#endif }; }; }; @@ -838,7 +843,7 @@ associationsKeys:(NSArray*)associationsKeys { NS_DURING { - [self takeValue:value_ + [self smartTakeValue:value_ forKey:parentBindingName_]; } NS_HANDLER; diff --git a/GSWeb.framework/GSWDisplayGroup.m b/GSWeb.framework/GSWDisplayGroup.m index 66e26e4..d2f460f 100644 --- a/GSWeb.framework/GSWDisplayGroup.m +++ b/GSWeb.framework/GSWDisplayGroup.m @@ -135,37 +135,51 @@ Description: -(NSString*)description { - NSString* _dscr=nil; + NSString* dscr=nil; GSWLogAssertGood(self); NSDebugMLLog(@"gswdisplaygroup",@"GSWDisplayGroup description Self=%p",self); - _dscr=[NSString stringWithFormat:@"<%s %p - \n", - object_get_class_name(self), - (void*)self]; + dscr=[NSString stringWithFormat:@"<%s %p - \n", + object_get_class_name(self), + (void*)self]; - _dscr=[_dscr stringByAppendingFormat:@"numberOfObjectsPerBatch:[%d]\n", - _numberOfObjectsPerBatch]; - _dscr=[_dscr stringByAppendingFormat:@"fetchesOnLoad:[%s]\n", - _flags.autoFetch ? "YES" : "NO"]; - _dscr=[_dscr stringByAppendingFormat:@"validatesChangesImmediately:[%s]\n", - _flags.validateImmediately ? "YES" : "NO"]; - _dscr=[_dscr stringByAppendingFormat:@"selectsFirstObjectAfterFetch:[%s]\n", - _flags.selectFirstObject ? "YES" : "NO"]; - _dscr=[_dscr stringByAppendingFormat:@"localKeys:[%@]\n", - _localKeys]; - _dscr=[_dscr stringByAppendingFormat:@"dataSource:[%@]\n", - _dataSource]; - _dscr=[_dscr stringByAppendingFormat:@"sortOrdering:[%@]\n", - _sortOrdering]; - _dscr=[_dscr stringByAppendingFormat:@"qualifier:[%@]\n", - _qualifier]; - _dscr=[_dscr stringByAppendingFormat:@"formatForLikeQualifier:[%@]\n", - _defaultStringMatchFormat]; - _dscr=[_dscr stringByAppendingFormat:@"insertedObjectDefaultValues:[%@]\n", - _insertedObjectDefaultValues]; - _dscr=[_dscr stringByAppendingFormat:@"queryOperator:[%@]\n", - _queryOperator]; - - return _dscr; + dscr=[dscr stringByAppendingFormat:@"numberOfObjectsPerBatch:[%d]\n", + _numberOfObjectsPerBatch]; + dscr=[dscr stringByAppendingFormat:@"fetchesOnLoad:[%s]\n", + _flags.autoFetch ? "YES" : "NO"]; + dscr=[dscr stringByAppendingFormat:@"validatesChangesImmediately:[%s]\n", + _flags.validateImmediately ? "YES" : "NO"]; + dscr=[dscr stringByAppendingFormat:@"selectsFirstObjectAfterFetch:[%s]\n", + _flags.selectFirstObject ? "YES" : "NO"]; + dscr=[dscr stringByAppendingFormat:@"localKeys:[%@]\n", + _localKeys]; + dscr=[dscr stringByAppendingFormat:@"dataSource:[%@]\n", + _dataSource]; + dscr=[dscr stringByAppendingFormat:@"sortOrdering:[%@]\n", + _sortOrdering]; + dscr=[dscr stringByAppendingFormat:@"qualifier:[%@]\n", + _qualifier]; + dscr=[dscr stringByAppendingFormat:@"formatForLikeQualifier:[%@]\n", + _defaultStringMatchFormat]; + dscr=[dscr stringByAppendingFormat:@"insertedObjectDefaultValues:[%@]\n", + _insertedObjectDefaultValues]; + dscr=[dscr stringByAppendingFormat:@"queryOperator:[%@]\n", + _queryOperator]; + dscr=[dscr stringByAppendingFormat:@"queryMatch:[%@]\n", + _queryMatch]; + dscr=[dscr stringByAppendingFormat:@"queryMin:[%@]\n", + _queryMin]; + dscr=[dscr stringByAppendingFormat:@"queryMax:[%@]\n", + _queryMax]; + dscr=[dscr stringByAppendingFormat:@"queryOperator:[%@]\n", + _queryOperator]; + dscr=[dscr stringByAppendingFormat:@"defaultStringMatchOperator:[%@]\n", + _defaultStringMatchOperator]; + dscr=[dscr stringByAppendingFormat:@"defaultStringMatchFormat:[%@]\n", + _defaultStringMatchFormat]; + dscr=[dscr stringByAppendingFormat:@"queryBindings:[%@]\n", + _queryBindings]; + dscr=[dscr stringByAppendingString:@">"]; + return dscr; }; @@ -1816,6 +1830,7 @@ self setSelectionIndexes:indexes of objects in objects? //ret 1 ofObject:masterObject]; if ([self fetchesOnLoad]) { + NSDebugMLLog(@"gswdisplaygroup",@"will fetch"); [self fetch]; }; }; @@ -1844,6 +1859,7 @@ self setSelectionIndexes:indexes of objects in objects? //ret 1 //self selectedObjects // self updateDisplayedObjects NSDebugMLog(@"objects=%@",objects); + [_allObjects removeAllObjects]; [_allObjects addObjectsFromArray:objects]; @@ -2053,6 +2069,7 @@ STOP ? else { _batchIndex = [self batchCount]; + NSDebugMLog(@"_batchIndex=%d",_batchIndex); [self displayNextBatch]; } diff --git a/GSWeb.framework/GSWElement.h b/GSWeb.framework/GSWElement.h index 73e667e..6dafc12 100644 --- a/GSWeb.framework/GSWElement.h +++ b/GSWeb.framework/GSWElement.h @@ -66,6 +66,7 @@ extern BYTE ElementsMap_attributeElement; #endif -(NSString*)definitionName; +-(void)setDefinitionName:(NSString*)definitionName; @end #ifdef NDEBBUG diff --git a/GSWeb.framework/GSWElement.m b/GSWeb.framework/GSWElement.m index 8447b86..0c3a5d1 100644 --- a/GSWeb.framework/GSWElement.m +++ b/GSWeb.framework/GSWElement.m @@ -60,20 +60,22 @@ BYTE ElementsMap_attributeElement = (BYTE)0x41; line:(int)line { LOGObjectFnStartC("GSWElement"); - NSDebugMLog(@"In Object %p Class %@ definitionName=%@ _appendToResponseElementID=%@ [_appendToResponseElementID length]=%d", +/* NSDebugMLog(@"In Object %p Class %@ definitionName=%@ _appendToResponseElementID=%@ [_appendToResponseElementID length]=%d", self, [self class], [self definitionName], _appendToResponseElementID,[_appendToResponseElementID length]); +*/ [self assertIsElementIDInContext:context method:method file:file line:line]; - NSDebugMLog(@"In Object %p Class %@ definitionName=%@ _appendToResponseElementID=%@ [_appendToResponseElementID length]=%d", +/* NSDebugMLog(@"In Object %p Class %@ definitionName=%@ _appendToResponseElementID=%@ [_appendToResponseElementID length]=%d", self, [self class], [self definitionName], _appendToResponseElementID,[_appendToResponseElementID length]); +*/ if ([_appendToResponseElementID length]>0) { NSString* elementID=[context elementID]; @@ -116,10 +118,11 @@ BYTE ElementsMap_attributeElement = (BYTE)0x41; line:(int)line { LOGObjectFnStartC("GSWElement"); - NSDebugMLog(@"self=%p definitionName=%@ _appendToResponseElementID=%@ %p / [context elementID]=%@", +/* NSDebugMLog(@"self=%p definitionName=%@ _appendToResponseElementID=%@ %p / [context elementID]=%@", self, [self definitionName], _appendToResponseElementID,_appendToResponseElementID,[context elementID]); +*/ if (_appendToResponseElementID && [_appendToResponseElementID length]==0 && [[context elementID] length]>0) { NSString* msg=[NSString stringWithFormat:@"In Object %p Class %@ definitionName=%@ (file %s line %d), in %@ _appendToResponseElementID '%@' (%p) is not set", diff --git a/GSWeb.framework/GSWFileUpload.m b/GSWeb.framework/GSWFileUpload.m index 632967d..5b3a3c1 100644 --- a/GSWeb.framework/GSWFileUpload.m +++ b/GSWeb.framework/GSWFileUpload.m @@ -145,8 +145,8 @@ static char rcsId[] = "$Id$"; if (fileDatasCount==1) { dataValue=[fileDatas objectAtIndex:0]; - NSDebugMLLog(@"gswdync",@"dataValue (class=%@)=%@", - [dataValue class],dataValue); + NSDebugMLLog(@"gswdync",@"dataValue %p (class=%@)=%@", + dataValue,[dataValue class],dataValue); if (dataValue) { if ([dataValue isKindOfClass:[NSData class]]) @@ -161,12 +161,16 @@ static char rcsId[] = "$Id$"; if ([dataValue isKindOfClass:[NSString class]] && [dataValue length]==0) { LOGError(@"No Data: %@",dataValue); + NSDebugMLLog(@"gswdync",@"No Data: %p (class=%@)=%@", + dataValue,[dataValue class],dataValue); dataValue=nil; } else { NSLog(@"content type request : %@",[request _contentType]); NSLog(@"data class = %@",NSStringFromClass([dataValue class])); + NSDebugMLLog(@"gswdync",@"??Data: %p (class=%@)=%@", + dataValue,[dataValue class],dataValue); /*if (![dataValue isMemberOfClass:[NSString class]]) { ExceptionRaise(@"GSWFileUpload", @"GSWFileUpload: bad data :%@", diff --git a/GSWeb.framework/GSWImageButton.m b/GSWeb.framework/GSWImageButton.m index 32b2197..fa7919b 100644 --- a/GSWeb.framework/GSWImageButton.m +++ b/GSWeb.framework/GSWImageButton.m @@ -378,6 +378,7 @@ static char rcsId[] = "$Id$"; else { //TODO + thisOne=YES;//?? }; }; } diff --git a/GSWeb.framework/GSWRequest.m b/GSWeb.framework/GSWRequest.m index 256591d..61cd5fc 100644 --- a/GSWeb.framework/GSWRequest.m +++ b/GSWeb.framework/GSWRequest.m @@ -1390,17 +1390,27 @@ method=%@, uri=%@, httpVersion=%@, headers=%@, content=%@, userInfo=%@, defaultF if (!_headersEnd) { //TODO error + NSDebugMLog(@"Error"); } else { - NSDebugMLLog(@"requests",@"i=%d",i); + NSDebugMLLog(@"requests",@"i=%d _dataLength=%d _dataLength-i=%d",i,_dataLength,(_dataLength-i)); _data=[data_ subdataWithRange:NSMakeRange(i,_dataLength-i)]; + //I'm not sure this is good but it avoid 2 bytes datas on an empty input type=file located t the end of the request) + //It may be better to deal with this few lines up, around (_headersEnd=YES;) + + if ([_data length]==2) + { + const unsigned char* _bytes=(unsigned char*)[_data bytes]; + if (_bytes[0]=='\r' && _bytes[1]=='\n') + _data=[NSData data]; + }; }; _headers=[NSDictionary dictionaryWithDictionary:_headers]; _parsedData=[NSArray arrayWithObjects:_headers,_data,nil]; NSDebugMLLog(@"requests",@"_headers=%@",_headers); - NSDebugMLLog(@"requests",@"_data=%@",_data); - NSDebugMLLog(@"requests",@"_parsedData=%@",_parsedData); + NSDebugMLLog(@"requests",@"_data %p (length=%d)=%@",_data,[_data length],_data); + NSDebugMLLog(@"requests",@"_parsedData %p =%@",_parsedData,_parsedData); }; LOGObjectFnStop(); return _parsedData;