Revision: 27940
http://sourceforge.net/p/bibdesk/svn/27940
Author: hofman
Date: 2022-09-26 22:16:17 +0000 (Mon, 26 Sep 2022)
Log Message:
-----------
use a single method to convert scripting server info to a serverInfo object
Modified Paths:
--------------
trunk/bibdesk/BDSKGroup+Scripting.h
trunk/bibdesk/BDSKGroup+Scripting.m
trunk/bibdesk/BDSKSearchBookmark+Scripting.m
trunk/bibdesk/BDSKServerInfo+Scripting.h
trunk/bibdesk/BDSKServerInfo+Scripting.m
trunk/bibdesk/BibDocument+Scripting.m
Modified: trunk/bibdesk/BDSKGroup+Scripting.h
===================================================================
--- trunk/bibdesk/BDSKGroup+Scripting.h 2022-09-26 21:38:51 UTC (rev 27939)
+++ trunk/bibdesk/BDSKGroup+Scripting.h 2022-09-26 22:16:17 UTC (rev 27940)
@@ -164,8 +164,6 @@
@property (nonatomic, readonly) NSString *scriptingURL;
-+ (BDSKServerInfo *)newServerInfo:(BDSKServerInfo *)oldInfo
withScriptingServerInfo:(NSDictionary *)info;
-
@end
#pragma mark -
Modified: trunk/bibdesk/BDSKGroup+Scripting.m
===================================================================
--- trunk/bibdesk/BDSKGroup+Scripting.m 2022-09-26 21:38:51 UTC (rev 27939)
+++ trunk/bibdesk/BDSKGroup+Scripting.m 2022-09-26 22:16:17 UTC (rev 27940)
@@ -560,7 +560,7 @@
}
- (void)setScriptingServerInfo:(NSDictionary *)info {
- BDSKServerInfo *serverInfo = [[self serverInfo]
newServerInfoWithScriptingServerInfo:info];
+ BDSKServerInfo *serverInfo = [BDSKServerInfo newServerInfo:[self
serverInfo] withScriptingServerInfo:info];
if (serverInfo != nil && [NSString isEmptyString:[serverInfo name]] == NO)
{
[self setServerInfo:serverInfo];
} else {
@@ -579,89 +579,6 @@
return [[self bdsksearchURL] absoluteString];
}
-+ (BDSKServerInfo *)newServerInfo:(BDSKServerInfo *)oldInfo
withScriptingServerInfo:(NSDictionary *)info {
- NSString *serverType = [info objectForKey:@"type"] ?: [oldInfo type];
- BDSKMutableServerInfo *serverInfo = nil;
- NSString *serverName = [info valueForKey:@"name"];
- NSString *database = [info valueForKey:@"database"];
- NSString *host = [info valueForKey:@"host"];
- NSString *port = [info valueForKey:@"port"];
-
- if ([serverType isEqualToString:[oldInfo type]]) {
- serverInfo = [oldInfo mutableCopy];
-
- NSString *value;
- NSNumber *number;
-
- if (serverName)
- [serverInfo setName:serverName];
- if (database)
- [serverInfo setDatabase:database];
- if ([serverType isEqualToString:BDSKSearchGroupZoom]) {
- if (host)
- [serverInfo setHost:host];
- if (port)
- [serverInfo setPort:port];
- if ((value = [info valueForKey:@"username"]))
- [serverInfo setUsername:value];
- if ((value = [info valueForKey:@"password"]))
- [serverInfo setPassword:value];
- if ((value = [info valueForKey:@"recordSyntax"]))
- [serverInfo setRecordSyntax:value];
- if ((value = [info valueForKey:@"resultEncoding"]))
- [serverInfo setResultEncoding:value];
- if ((number = [info valueForKey:@"removeDiacritics"]))
- [serverInfo setRemoveDiacritics:[number boolValue]];
- } else if ([serverType isEqualToString:BDSKSearchGroupISI]) {
- if ((value = [info valueForKey:@"username"]))
- [serverInfo setUsername:value];
- if ((value = [info valueForKey:@"password"]))
- [serverInfo setPassword:value];
- if ((number = [info valueForKey:@"lite"]))
- [serverInfo setLite:[number boolValue]];
- }
- } else if (serverType) {
- NSMutableDictionary *options = nil;
-
- if ([serverType isEqualToString:BDSKSearchGroupZoom]) {
- options = [NSMutableDictionary dictionary];
- [options setValue:[info valueForKey:@"username"]
forKey:@"username"];
- [options setValue:[info valueForKey:@"password"]
forKey:@"password"];
- [options setValue:[info valueForKey:@"resultEncoding"]
forKey:@"resultEncoding"];
- [options setValue:[info valueForKey:@"removeDiacritics"]
forKey:@"removeDiacritics"];
- } else if ([serverType isEqualToString:BDSKSearchGroupISI]) {
- options = [NSMutableDictionary dictionary];
- [options setValue:[info valueForKey:@"username"]
forKey:@"username"];
- [options setValue:[info valueForKey:@"password"]
forKey:@"password"];
- [options setValue:[info valueForKey:@"lite"] forKey:@"lite"];
- }
-
- serverInfo = [[BDSKMutableServerInfo alloc] initWithType:serverType
name:serverName database:database host:host port:port options:options];
- }
-
- BOOL isValid = YES;
- id value, validatedValue;
-
- if ([NSString isEmptyString:[serverInfo database]])
- isValid = NO;
- else if ([serverInfo isZoom] && ([NSString isEmptyString:[serverInfo
host]] || [[serverInfo port] integerValue] == 0))
- isValid = NO;
- for (NSString *key in info) {
- if (isValid == NO) break;
- value = validatedValue = [info valueForKey:key];
- if ((isValid = [serverInfo validateValue:&validatedValue forKey:key
error:NULL]) &&
- [validatedValue isEqual:value] == NO)
- [serverInfo setValue:validatedValue forKey:key];
- }
-
- if (isValid == NO) {
- [serverInfo release];
- serverInfo = nil;
- }
-
- return serverInfo;
-}
-
@end
#pragma mark -
Modified: trunk/bibdesk/BDSKSearchBookmark+Scripting.m
===================================================================
--- trunk/bibdesk/BDSKSearchBookmark+Scripting.m 2022-09-26 21:38:51 UTC
(rev 27939)
+++ trunk/bibdesk/BDSKSearchBookmark+Scripting.m 2022-09-26 22:16:17 UTC
(rev 27940)
@@ -119,7 +119,7 @@
case BDSKSearchBookmarkTypeBookmark:
{
NSString *serverType = [anInfo objectForKey:@"type"] ?:
BDSKSearchGroupEntrez;
- BDSKServerInfo *serverInfo = [[BDSKServerInfo
defaultServerInfoWithType:serverType]
newServerInfoWithScriptingServerInfo:anInfo];
+ BDSKServerInfo *serverInfo = [BDSKServerInfo
newServerInfo:[BDSKServerInfo defaultServerInfoWithType:serverType]
withScriptingServerInfo:anInfo];
if (serverInfo) {
NSDictionary *theInfo = [serverInfo dictionaryValue];
if ([NSString isEmptyString:aSearchTerm] == NO) {
Modified: trunk/bibdesk/BDSKServerInfo+Scripting.h
===================================================================
--- trunk/bibdesk/BDSKServerInfo+Scripting.h 2022-09-26 21:38:51 UTC (rev
27939)
+++ trunk/bibdesk/BDSKServerInfo+Scripting.h 2022-09-26 22:16:17 UTC (rev
27940)
@@ -47,6 +47,6 @@
@property (nonatomic, readonly) NSString *scriptingName;
-- (BDSKServerInfo *)newServerInfoWithScriptingServerInfo:(NSDictionary *)info;
++ (BDSKServerInfo *)newServerInfo:(BDSKServerInfo *)serverInfo
withScriptingServerInfo:(NSDictionary *)info;
@end
Modified: trunk/bibdesk/BDSKServerInfo+Scripting.m
===================================================================
--- trunk/bibdesk/BDSKServerInfo+Scripting.m 2022-09-26 21:38:51 UTC (rev
27939)
+++ trunk/bibdesk/BDSKServerInfo+Scripting.m 2022-09-26 22:16:17 UTC (rev
27940)
@@ -79,16 +79,16 @@
return [self name];
}
-- (BDSKServerInfo *)newServerInfoWithScriptingServerInfo:(NSDictionary *)info {
- NSString *serverType = [info objectForKey:@"type"] ?: [self type];
++ (BDSKServerInfo *)newServerInfo:(BDSKServerInfo *)oldInfo
withScriptingServerInfo:(NSDictionary *)info {
+ NSString *serverType = [info objectForKey:@"type"] ?: [oldInfo type];
BDSKMutableServerInfo *serverInfo = nil;
NSString *serverName = [info valueForKey:@"name"];
- NSString *serverDatabase = [info valueForKey:@"database"];
- NSString *serverHost = [info valueForKey:@"host"];
- NSString *serverPort = [info valueForKey:@"port"];
+ NSString *database = [info valueForKey:@"database"];
+ NSString *host = [info valueForKey:@"host"];
+ NSString *port = [info valueForKey:@"port"];
- if ([serverType isEqualToString:[self type]]) {
- serverInfo = [self mutableCopy];
+ if ([serverType isEqualToString:[oldInfo type]]) {
+ serverInfo = [oldInfo mutableCopy];
NSString *value;
NSNumber *number;
@@ -95,13 +95,13 @@
if (serverName)
[serverInfo setName:serverName];
- if (serverDatabase)
- [serverInfo setDatabase:serverDatabase];
+ if (database)
+ [serverInfo setDatabase:database];
if ([serverType isEqualToString:BDSKSearchGroupZoom]) {
- if (serverHost)
- [serverInfo setHost:serverHost];
- if (serverPort)
- [serverInfo setPort:serverPort];
+ if (host)
+ [serverInfo setHost:host];
+ if (port)
+ [serverInfo setPort:port];
if ((value = [info valueForKey:@"username"]))
[serverInfo setUsername:value];
if ((value = [info valueForKey:@"password"]))
@@ -121,22 +121,22 @@
[serverInfo setLite:[number boolValue]];
}
} else if (serverType) {
- NSMutableDictionary *serverOptions = nil;
+ NSMutableDictionary *options = nil;
if ([serverType isEqualToString:BDSKSearchGroupZoom]) {
- serverOptions = [NSMutableDictionary dictionary];
- [serverOptions setValue:[info valueForKey:@"username"]
forKey:@"username"];
- [serverOptions setValue:[info valueForKey:@"password"]
forKey:@"password"];
- [serverOptions setValue:[info valueForKey:@"resultEncoding"]
forKey:@"resultEncoding"];
- [serverOptions setValue:[info valueForKey:@"removeDiacritics"]
forKey:@"removeDiacritics"];
+ options = [NSMutableDictionary dictionary];
+ [options setValue:[info valueForKey:@"username"]
forKey:@"username"];
+ [options setValue:[info valueForKey:@"password"]
forKey:@"password"];
+ [options setValue:[info valueForKey:@"resultEncoding"]
forKey:@"resultEncoding"];
+ [options setValue:[info valueForKey:@"removeDiacritics"]
forKey:@"removeDiacritics"];
} else if ([serverType isEqualToString:BDSKSearchGroupISI]) {
- serverOptions = [NSMutableDictionary dictionary];
- [serverOptions setValue:[info valueForKey:@"username"]
forKey:@"username"];
- [serverOptions setValue:[info valueForKey:@"password"]
forKey:@"password"];
- [serverOptions setValue:[info valueForKey:@"lite"] forKey:@"lite"];
+ options = [NSMutableDictionary dictionary];
+ [options setValue:[info valueForKey:@"username"]
forKey:@"username"];
+ [options setValue:[info valueForKey:@"password"]
forKey:@"password"];
+ [options setValue:[info valueForKey:@"lite"] forKey:@"lite"];
}
- serverInfo = [[BDSKMutableServerInfo alloc] initWithType:serverType
name:serverName database:serverDatabase host:serverHost port:serverPort
options:serverOptions];
+ serverInfo = [[BDSKMutableServerInfo alloc] initWithType:serverType
name:serverName database:database host:host port:port options:options];
}
BOOL isValid = YES;
Modified: trunk/bibdesk/BibDocument+Scripting.m
===================================================================
--- trunk/bibdesk/BibDocument+Scripting.m 2022-09-26 21:38:51 UTC (rev
27939)
+++ trunk/bibdesk/BibDocument+Scripting.m 2022-09-26 22:16:17 UTC (rev
27940)
@@ -64,6 +64,7 @@
#import "BDSKTypeManager.h"
#import "NSWorkspace_BDSKExtensions.h"
#import "BDSKServerInfo.h"
+#import "BDSKServerInfo+Scripting.h"
#import "BDSKBibTeXParser.h"
#import "NSString_BDSKExtensions.h"
#import "BDSKTemplate.h"
@@ -1093,7 +1094,7 @@
if ([server isKindOfClass:[BDSKServerInfo class]]) {
serverInfo = server;
} else if ([server isKindOfClass:[NSDictionary class]]) {
- serverInfo = [[BDSKSearchGroup newServerInfo:nil
withScriptingServerInfo:server] autorelease];
+ serverInfo = [[BDSKServerInfo newServerInfo:nil
withScriptingServerInfo:server] autorelease];
} else if ([server isKindOfClass:[NSURL class]]) {
serverInfo = [[[BDSKServerInfo alloc]
initWithDictionary:[NSDictionary dictionaryWithContentsOfURL:server]]
autorelease];
} else if ([server isKindOfClass:[NSString class]]) {
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit