+2007-07-03 Wolfgang Sourdeau <wsourdeau@inverse.ca>
+
+ * Main/SOGoProductLoader.m: only load bundle directories ending
+ with the "SOGo" extension.
+
+ * Main/SOGo.m ([SOGo
+ -_checkTableWithCM:cmtableURL:urlandType:tableType]): empty the
+ result set if the query has caused no exception. Otherwise we get
+ an "evaluation is in progress exception".
+
2007-06-29 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* SoObjects/SOGo/AgenorUserDefaults.m ([AgenorUserDefaults
- (void)loadProducts {
SoProductRegistry *registry = nil;
NSFileManager *fm;
- NSEnumerator *pathes;
- NSString *lpath;
-
+ NSEnumerator *pathes;
+ NSString *lpath, *bpath, *extension;
+ NSEnumerator *productNames;
+ NSString *productName;
+
registry = [SoProductRegistry sharedProductRegistry];
fm = [NSFileManager defaultManager];
pathes = [[self productSearchPathes] objectEnumerator];
- while ((lpath = [pathes nextObject]) != nil) {
- NSEnumerator *productNames;
- NSString *productName;
-
- [self logWithFormat:@"scanning SOGo products in: %@", lpath];
-
- productNames = [[fm directoryContentsAtPath:lpath] objectEnumerator];
-
- while ((productName = [productNames nextObject]) != nil) {
- NSString *bpath;
-
- if ([[productName pathExtension] length] == 0)
- /* filter out directories without extensions */
- continue;
-
- bpath = [lpath stringByAppendingPathComponent:productName];
- [self logWithFormat:@" register SOGo product: %@",
- [bpath lastPathComponent]];
- [registry registerProductAtPath:bpath];
+ lpath = [pathes nextObject];
+ while (lpath)
+ {
+ [self logWithFormat:@"scanning SOGo products in: %@", lpath];
+
+ productNames = [[fm directoryContentsAtPath: lpath] objectEnumerator];
+
+ productName = [productNames nextObject];
+ while (productName)
+ {
+ extension = [productName pathExtension];
+ if ([extension length] > 0
+ && [extension isEqualToString: @"SOGo"])
+ {
+ bpath = [lpath stringByAppendingPathComponent: productName];
+ [self logWithFormat:@" register SOGo product: %@",
+ productName];
+ [registry registerProductAtPath: bpath];
+ }
+ productName = [productNames nextObject];
+ }
+
+ lpath = [pathes nextObject];
}
- }
-
+
if (![registry loadAllProducts])
[self warnWithFormat:@"could not load all products !"];
}