]> err.no Git - sope/blobdiff - sope-core/NGExtensions/EOExt.subproj/EOFilterDataSource.m
added --frameworks option to configure
[sope] / sope-core / NGExtensions / EOExt.subproj / EOFilterDataSource.m
index 154244dbe067e8d9167c1b7a5ee0d67b0aba8927..d47b4d76f5c5feaa0fffd7f59b82f1eb7c91bde8 100644 (file)
   
   objs = [[self source] fetchObjects];
   
-  if ([self auxiliaryQualifier])
+  if ([self auxiliaryQualifier] != nil)
     objs = [objs filteredArrayUsingQualifier:[self auxiliaryQualifier]];
 
   if ((groups = [self groupings]) != nil) {
 
     grouping = [groups lastObject];
     
-    if ((sos = [self sortOrderings]) != nil) {
+    if ((sos = [self sortOrderings]) != nil)
       [grouping setSortOrderings:sos];
-    }
+    
     groupDict = [objs arrayGroupedBy:grouping];
 
     allKeys = [groupDict allKeys];
     allKeys = [allKeys sortedArrayUsingSelector:@selector(compare:)];
     objs    = [groupDict flattenedArrayWithHint:cnt andKeys:allKeys];
   }
-  else if ([self sortOrderings])
+  else if ([self sortOrderings] != nil)
     objs = [objs sortedArrayUsingKeyOrderArray:[self sortOrderings]];
   
   objs = [objs copy];
   ms = [NSMutableString stringWithCapacity:64];
   [ms appendFormat:@"<0x%08X[%@]:", self, NSStringFromClass([self class])];
 
-  if (self->source) [ms appendFormat:@" source=%@", self->source];
-  if (self->auxiliaryQualifier) 
+  if (self->source != nil)
+    [ms appendFormat:@" source=%@", self->source];
+  if (self->auxiliaryQualifier != nil) 
     [ms appendFormat:@" qualifier=%@", self->auxiliaryQualifier];
-  if (self->sortOrderings)
+  if (self->sortOrderings != nil)
     [ms appendFormat:@" orderings=%@", self->sortOrderings];
-  if (self->groupings)
-    [ms appendFormat:@" groupings=%@", self->sortOrderings];
+  if (self->groupings != nil)
+    [ms appendFormat:@" groupings=%@", self->groupings];
   
   [ms appendString:@">"];
   return ms;
 
 @end /* EOFilterDataSource */
 
+
 @implementation NSDictionary(EOFilterDataSource)
 
 - (NSArray *)flattenedArrayWithHint:(unsigned int)_hint
   andKeys:(NSArray *)_keys
 {
+  /*
+    This works on a dictionary of arrays. It walks over the keys in the given
+    order and flattenes the value arrays into one array.
+  */
   NSMutableArray *result = nil;
   unsigned int   i, cnt;