Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA.
*/
-// $Id$
#include "WOLabelAssociation.h"
#include <NGObjWeb/WOApplication.h>
/*
- Copyright (C) 2000-2003 SKYRIX Software AG
+ Copyright (C) 2000-2004 SKYRIX Software AG
- This file is part of OGo
+ This file is part of OpenGroupware.org.
OGo is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the
Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA.
*/
-// $Id$
#ifndef __NGObjWeb_WOResourceURLAssociation_H__
#define __NGObjWeb_WOResourceURLAssociation_H__
#include <NGObjWeb/WOAssociation.h>
+/*
+ WOResourceURLAssociation
+
+ Lookup an association value as a resource URL. Eg for a binding:
+ <img rsrc:src="image.gif" />
+
+ "image.gif" will be looked up using WOResourceManager and the URL for the
+ image will be returned.
+
+ Note: you cannot trigger that association in a .wo wrapper template.
+*/
+
@class NSString;
@interface WOResourceURLAssociation : WOAssociation < NSCopying >
+2004-10-07 Helge Hess <helge.hess@opengroupware.org>
+
+ * v4.3.54
+
+ * WebDAV/SoObject+SoDAV.m: -isCollection now also checks whether
+ objects are contained in the toManyRelationshipKeys collection
+
+ * WebDAV/SoObject+SoDAVQuery.m: -davChildKeys now returns the values of
+ both, -toOneRelationshipKeys and -toManyRelationshipKeys
+
2004-10-07 Helge Hess <helge.hess@skyrix.com>
* WebDAV/SoObjectWebDAVDispatcher.m: added more debug output (v4.3.53)
/*
- Copyright (C) 2000-2003 SKYRIX Software AG
+ Copyright (C) 2000-2004 SKYRIX Software AG
- This file is part of OGo
+ This file is part of OpenGroupware.org.
OGo is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the
Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA.
*/
-// $Id$
#include "WOInput.h"
#include "common.h"
/*
- Copyright (C) 2000-2003 SKYRIX Software AG
+ Copyright (C) 2000-2004 SKYRIX Software AG
- This file is part of OGo
+ This file is part of OpenGroupware.org.
OGo is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the
Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA.
*/
-// $Id$
#ifndef __SoObjects_SoLookupAssociation_H__
#define __SoObjects_SoLookupAssociation_H__
SoLookupAssociation
This association is experimental, behaviour isn't fixed yet.
+ TODO: this should probably traverse relative to the clientObject, not to
+ the component?!
+ Or we might want to support keypath _and_ lookup path, like:
+ "component.context.clientObject:+/abc/toolbar/"
+
+ Currently it traverses the path being passed in relative to the component:
+ [_component traversePathArray:self->traversalPath
+ acquire:self->acquire];
+
+ If you prefix the path with a "+" acquisition will be turned on, eg:
+ <var:string lookup:value="+toolbar/label" />
Namespace: http://www.skyrix.com/od/so-lookup
*/
/*
- Copyright (C) 2000-2003 SKYRIX Software AG
+ Copyright (C) 2000-2004 SKYRIX Software AG
- This file is part of OGo
+ This file is part of OpenGroupware.org.
OGo is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the
Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA.
*/
-// $Id$
#include "SoLookupAssociation.h"
#include "SoObject.h"
# version file
-SUBMINOR_VERSION:=53
+SUBMINOR_VERSION:=54
# v4.3.42 requires libNGExtensions v4.3.116
# v4.3.40 requires libNGExtensions v4.3.115
- (BOOL)davIsCollection {
id v;
+
if ([self respondsToSelector:@selector(isCollection)])
return [self isCollection];
- if ((v = [self valueForKey:@"NSFileType"])) {
+ if ([(v = [self valueForKey:@"NSFileType"]) isNotNull]) {
if ([v isEqualToString:NSFileTypeDirectory])
return YES;
else
return NO;
}
- return [[self toOneRelationshipKeys] count] > 0 ? YES : NO;
+ if ([[self toManyRelationshipKeys] count] > 0)
+ return YES;
+ if ([[self toOneRelationshipKeys] count] > 0)
+ return YES;
+ return NO;
}
- (BOOL)davIsFolder {
Could return toOneRelationshipKeys+toManyRelationshipKeys ?
*/
NSClassDescription *cd;
+ NSArray *t1, *tn;
- if ((cd = [self soClassDescription]))
- return [[cd toOneRelationshipKeys] objectEnumerator];
+ /*
+ Note: this is done explicitly because the WebDAV class description
+ can be different to the 'EOF' class description.
+ */
+ if ((cd = [self soClassDescription]) != nil) {
+ t1 = [cd toOneRelationshipKeys];
+ tn = [cd toManyRelationshipKeys];
+ }
+ else {
+ t1 = [self toOneRelationshipKeys];
+ tn = [self toManyRelationshipKeys];
+ }
+
+ if ([tn count] == 0)
+ return [t1 objectEnumerator];
+ if ([t1 count] == 0)
+ return [tn objectEnumerator];
- return [[self toOneRelationshipKeys] objectEnumerator];
+ return [[t1 arrayByAddingObjectsFromArray:tn] objectEnumerator];
}
- (EODataSource *)contentDataSourceInContext:(id)_ctx {
/*
- Copyright (C) 2000-2003 SKYRIX Software AG
+ Copyright (C) 2002-2004 SKYRIX Software AG
- This file is part of OGo
+ This file is part of OpenGroupware.org.
OGo is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the
Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA.
*/
-// $Id$
#include "SoObjectDataSource.h"
#include "SoObjectResultEntry.h"
+ (void)initialize {
debugOn = [[NSUserDefaults standardUserDefaults]
- boolForKey:@"SoObjectDataSourceDebugEnabled"];
+ boolForKey:@"SoObjectDataSourceDebugEnabled"];
}
- (id)initWithObject:(id)_object inContext:(id)_ctx {
- (void)setFetchSpecification:(EOFetchSpecification *)_fetchSpec {
if ([_fetchSpec isEqual:self->fspec]) return;
+
ASSIGN(self->fspec, _fetchSpec);
[self postDataSourceChangedNotification];
}