From: <ho...@us...> - 2010-10-02 21:26:18
|
Revision: 17173 http://bibdesk.svn.sourceforge.net/bibdesk/?rev=17173&view=rev Author: hofman Date: 2010-10-02 21:26:11 +0000 (Sat, 02 Oct 2010) Log Message: ----------- remove type parameter from serverinfo and searchgroup initializers, as this info is already available from another parameter Modified Paths: -------------- trunk/bibdesk/BDSKSearchGroup.h trunk/bibdesk/BDSKSearchGroup.m trunk/bibdesk/BDSKSearchGroupSheetController.m trunk/bibdesk/BDSKServerInfo.h trunk/bibdesk/BDSKServerInfo.m trunk/bibdesk/BibDocument+Scripting.m trunk/bibdesk/SearchGroupServers.plist Modified: trunk/bibdesk/BDSKSearchGroup.h =================================================================== --- trunk/bibdesk/BDSKSearchGroup.h 2010-10-02 11:39:45 UTC (rev 17172) +++ trunk/bibdesk/BDSKSearchGroup.h 2010-10-02 21:26:11 UTC (rev 17173) @@ -72,7 +72,7 @@ id<BDSKSearchGroupServer> server; } -- (id)initWithType:(NSString *)aType serverInfo:(BDSKServerInfo *)info searchTerm:(NSString *)string; +- (id)initWithServerInfo:(BDSKServerInfo *)info searchTerm:(NSString *)string; - (id)initWithURL:(NSURL *)bdsksearchURL; - (NSString *)type; Modified: trunk/bibdesk/BDSKSearchGroup.m =================================================================== --- trunk/bibdesk/BDSKSearchGroup.m 2010-10-02 11:39:45 UTC (rev 17172) +++ trunk/bibdesk/BDSKSearchGroup.m 2010-10-02 21:26:11 UTC (rev 17173) @@ -60,20 +60,19 @@ - (id)initWithName:(NSString *)aName; { // ignore the name, because if this is called it's a dummy name anyway - NSString *aType = BDSKSearchGroupEntrez; - return [self initWithType:aType serverInfo:[BDSKServerInfo defaultServerInfoWithType:aType] searchTerm:nil]; + return [self initWithServerInfo:[BDSKServerInfo defaultServerInfoWithType:BDSKSearchGroupEntrez] searchTerm:nil]; } // designated initializer -- (id)initWithType:(NSString *)aType serverInfo:(BDSKServerInfo *)info searchTerm:(NSString *)string; +- (id)initWithServerInfo:(BDSKServerInfo *)info searchTerm:(NSString *)string; { NSString *aName = (([info name] ?: [info database]) ?: string) ?: NSLocalizedString(@"Empty", @"Name for empty search group"); if (self = [super initWithName:aName]) { - if (aType == nil || info == nil) { + if ([info type] == nil) { [self release]; self = nil; } else { - type = [aType copy]; + type = [[info type] copy]; searchTerm = [string copy]; history = nil; [self resetServerWithInfo:info]; @@ -84,12 +83,11 @@ } - (id)initWithDictionary:(NSDictionary *)groupDict { - NSString *aType = [groupDict objectForKey:@"type"]; NSString *aSearchTerm = [groupDict objectForKey:@"search term"]; NSArray *aHistory = [groupDict objectForKey:@"history"]; - BDSKServerInfo *serverInfo = [[BDSKServerInfo alloc] initWithType:aType dictionary:groupDict]; + BDSKServerInfo *serverInfo = [[BDSKServerInfo alloc] initWithDictionary:groupDict]; - if (self = [self initWithType:aType serverInfo:serverInfo searchTerm:aSearchTerm]) { + if (self = [self initWithServerInfo:serverInfo searchTerm:aSearchTerm]) { [self setHistory:aHistory]; } [serverInfo release]; @@ -201,7 +199,7 @@ } - (id)copyWithZone:(NSZone *)aZone { - return [[[self class] allocWithZone:aZone] initWithType:type serverInfo:[self serverInfo] searchTerm:searchTerm]; + return [[[self class] allocWithZone:aZone] initWithServerInfo:[self serverInfo] searchTerm:searchTerm]; } - (void)dealloc Modified: trunk/bibdesk/BDSKSearchGroupSheetController.m =================================================================== --- trunk/bibdesk/BDSKSearchGroupSheetController.m 2010-10-02 11:39:45 UTC (rev 17172) +++ trunk/bibdesk/BDSKSearchGroupSheetController.m 2010-10-02 21:26:11 UTC (rev 17173) @@ -72,15 +72,12 @@ NSString *path = [[NSBundle mainBundle] pathForResource:SERVERS_FILENAME ofType:@"plist"]; - NSDictionary *serverDicts = [NSDictionary dictionaryWithContentsOfFile:path]; - for (NSString *type in [NSArray arrayWithObjects:BDSKSearchGroupEntrez, BDSKSearchGroupZoom, BDSKSearchGroupISI, BDSKSearchGroupDBLP, nil]) { - NSArray *dicts = [serverDicts objectForKey:type]; - for (NSDictionary *dict in dicts) { - BDSKServerInfo *info = [[BDSKServerInfo alloc] initWithType:type dictionary:dict]; - if (info) { - [searchGroupServers addObject:info]; - [info release]; - } + NSArray *serverDicts = [NSArray arrayWithContentsOfFile:path]; + for (NSDictionary *dict in serverDicts) { + BDSKServerInfo *info = [[BDSKServerInfo alloc] initWithDictionary:dict]; + if (info) { + [searchGroupServers addObject:info]; + [info release]; } } @@ -101,7 +98,7 @@ } else if (isSearchFileAtPath([serversPath stringByAppendingPathComponent:file])) { NSString *path = [serversPath stringByAppendingPathComponent:file]; NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:path]; - BDSKServerInfo *info = [[BDSKServerInfo alloc] initWithType:nil dictionary:dict]; + BDSKServerInfo *info = [[BDSKServerInfo alloc] initWithDictionary:dict]; if (info) { NSUInteger idx = [[searchGroupServers valueForKey:@"name"] indexOfObject:[info name]]; if (idx != NSNotFound) @@ -327,7 +324,7 @@ // we don't have a group, so create a new one if(group == nil){ - group = [[BDSKSearchGroup alloc] initWithType:[self type] serverInfo:serverInfo searchTerm:nil]; + group = [[BDSKSearchGroup alloc] initWithServerInfo:serverInfo searchTerm:nil]; }else{ [group setServerInfo:serverInfo]; [[group undoManager] setActionName:NSLocalizedString(@"Edit Search Group", @"Undo action name")]; Modified: trunk/bibdesk/BDSKServerInfo.h =================================================================== --- trunk/bibdesk/BDSKServerInfo.h 2010-10-02 11:39:45 UTC (rev 17172) +++ trunk/bibdesk/BDSKServerInfo.h 2010-10-02 21:26:11 UTC (rev 17173) @@ -59,7 +59,7 @@ - (id)initWithType:(NSString *)aType name:(NSString *)aName database:(NSString *)aDbase host:(NSString *)aHost port:(NSString *)aPort options:(NSDictionary *)options; -- (id)initWithType:(NSString *)aType dictionary:(NSDictionary *)info; +- (id)initWithDictionary:(NSDictionary *)info; - (NSDictionary *)dictionaryValue; Modified: trunk/bibdesk/BDSKServerInfo.m =================================================================== --- trunk/bibdesk/BDSKServerInfo.m 2010-10-02 11:39:45 UTC (rev 17172) +++ trunk/bibdesk/BDSKServerInfo.m 2010-10-02 21:26:11 UTC (rev 17173) @@ -100,9 +100,9 @@ return self; } -- (id)initWithType:(NSString *)aType dictionary:(NSDictionary *)info; +- (id)initWithDictionary:(NSDictionary *)info; { - self = [self initWithType:aType ?: [info objectForKey:TYPE_KEY] + self = [self initWithType:[info objectForKey:TYPE_KEY] name:[info objectForKey:NAME_KEY] database:[info objectForKey:DATABASE_KEY] host:[info objectForKey:HOST_KEY] Modified: trunk/bibdesk/BibDocument+Scripting.m =================================================================== --- trunk/bibdesk/BibDocument+Scripting.m 2010-10-02 11:39:45 UTC (rev 17172) +++ trunk/bibdesk/BibDocument+Scripting.m 2010-10-02 21:26:11 UTC (rev 17173) @@ -193,7 +193,7 @@ default: break; } } - group = [[BDSKSearchGroup alloc] initWithType:aType serverInfo:[BDSKServerInfo defaultServerInfoWithType:aType] searchTerm:nil]; + group = [[BDSKSearchGroup alloc] initWithServerInfo:[BDSKServerInfo defaultServerInfoWithType:aType] searchTerm:nil]; } else if ([class isKindOfClass:[BDSKURLGroup class]]) { NSURL *theURL = [NSURL URLWithString:@"http://"]; NSMutableDictionary *mutableProperties = [[properties mutableCopy] autorelease]; Modified: trunk/bibdesk/SearchGroupServers.plist =================================================================== --- trunk/bibdesk/SearchGroupServers.plist 2010-10-02 11:39:45 UTC (rev 17172) +++ trunk/bibdesk/SearchGroupServers.plist 2010-10-02 21:26:11 UTC (rev 17173) @@ -1,217 +1,238 @@ -{ - /* Entrez databases */ - entrez = ( - { - name = PubMed; - database = pubmed; - }, - { - name = "3D Domains"; - database = domains; - }, - { - name = Domains; - database = cdd; - }, - { - name = Genome; - database = genome; - }, - { - name = Nucleotide; - database = nucleotide; - }, - { - name = OMIM; - database = omim; - }, - { - name = PopSet; - database = popset; - }, - { - name = Protein; - database = protein; - }, - { - name = ProbeSet; - database = geo; - }, - { - name = Structure; - database = structure; - }, - { - name = SNP; - database = snp; - }, - { - name = Taxonomy; - database = taxonomy; - }, - { - name = UniGene; - database = unigene; - }, - { - name = UniSTS; - database = unists; - } - ); - /* z39.50 servers */ - - /* We use IANA charset names for encoding, since the NSString localized - * names are not suitable for keys. An empty resultEncoding will be - * interpreted as MARC-8. - */ - zoom = ( - /* Library of Congress z39.50 connection */ - /* Canonical test server. */ - { - name = "Library of Congress"; - database = Voyager; - host = "z3950.loc.gov"; - port = "7090"; - options = { - recordSyntax = "US MARC"; - resultEncoding = "marc-8"; - }; - }, - /* USC z39.50 connection */ - /* This server limits the number of results that can be */ - /* returned in a single query, so it's useful for testing. */ - { - name = "University of Southern California"; - database = unicorn; - host = "library.usc.edu"; - port = "2200"; - options = { - recordSyntax = "US MARC"; - resultEncoding = "marc-8"; - }; - }, - /* COPAC z39.50 connection */ - /* Shows an alternate syntax and encoding specification. */ - { - name = "COPAC"; - database = "copac"; - host = "z3950.copac.ac.uk"; - port = "2100"; - options = { - recordSyntax = "MODS"; - resultEncoding = "utf-8"; - }; - }, - /* ADS z39.50 connection */ - /* Bastard DC XML output that's missing any XML header. */ - /* http://adsabs.harvard.edu/abs_doc/ads_server.html */ - { - name = "ADS Astronomy"; - database = "AST"; - host = "z3950.adsabs.harvard.edu"; - port = "210"; - options = { - recordSyntax = "DC XML"; - resultEncoding = "utf-8"; - }; - }, - /* University of Basel z39.50 connection */ - /* Example of a UTF-8 server which accepts diacritics */ - /* in search strings. */ - { - name = "UB Basel"; - database = "IDS_UTF"; - host = "aleph.unibas.ch"; - port = "9909"; - options = { - recordSyntax = "US MARC"; - resultEncoding = "utf-8"; - }; - }, - /* Columbia University */ - /* Illustrates the use of a customized query config string. */ - /* Note that the query config lines are separated by \n and */ - /* there must be no leading space in the first line. */ - { - name = "Columbia University"; - database = "voyager"; - host = "clio-db.cc.columbia.edu"; - port = "7090"; - options = { - recordSyntax = "US MARC"; - resultEncoding = "marc-8"; - /* config string that maps CCL keys to numeric fields */ - /* http://www.loc.gov/z3950/agency/defns/bib1.html */ - /* http://www.loc.gov/z3950/agency/bib1.html */ - /* http://www.indexdata.com/yaz/doc/tools.tkl#CCL */ - queryConfig = "term u=1016 t=l,r s=al - au u=1003 s=pw - ti u=4 s=pw - isbn u=7 - issn u=8 - cc u=20 - su u=21 s=pw - date u=30 r=r - dp u=31 r=r - da u=32 r=r - la u=54 s=pw - ab u=62 s=pw - note u=63 s=pw"; - removeDiacritics = "YES"; - }; - }, - /* University of Zurich */ - /* Illustrates the use of username/password keys and */ - /* Unicode characters in an ASCII property list. */ - { - name = "University of Z\U00FCrich"; - database = "IDS_UTF"; - host = "biblio.unizh.ch"; - port = "9909"; - options = { - recordSyntax = "US MARC"; - resultEncoding = "utf-8"; - username = "z39"; - password = "z39"; - }; - } - ); - /* ISI servers */ - isi = ( - /* Science Citation Index */ - { - name = "Web Of Science SCI"; - database = "SCI"; - }, - /* Social Sciences Citation Index */ - { - name = "Web Of Science SSCI"; - database = "SSCI"; - }, - /* Arts & Humanities Citation Index */ - { - name = "Web Of Science AHCI"; - database = "AHCI"; - }, - /* Index Chemiculus */ - { - name = "Web Of Science IC"; - database = "IC"; - }, - /* Current Chemical Reactions */ - { - name = "Web Of Science CCR"; - database = "CCR"; - } - ); - dblp = ( - { - name = "DBLP++ Authors"; - database = "Authors"; - }, - { - name = "DBLP++ Keywords"; - database = "Keywords"; - } - ); -} +( +/* Entrez databases */ + { + type = entrez; + name = PubMed; + database = pubmed; + }, + { + type = entrez; + name = "3D Domains"; + database = domains; + }, + { + type = entrez; + name = Domains; + database = cdd; + }, + { + type = entrez; + name = Genome; + database = genome; + }, + { + type = entrez; + name = Nucleotide; + database = nucleotide; + }, + { + type = entrez; + name = OMIM; + database = omim; + }, + { + type = entrez; + name = PopSet; + database = popset; + }, + { + type = entrez; + name = Protein; + database = protein; + }, + { + type = entrez; + name = ProbeSet; + database = geo; + }, + { + type = entrez; + name = Structure; + database = structure; + }, + { + type = entrez; + name = SNP; + database = snp; + }, + { + type = entrez; + name = Taxonomy; + database = taxonomy; + }, + { + type = entrez; + name = UniGene; + database = unigene; + }, + { + type = entrez; + name = UniSTS; + database = unists; + }, +/* z39.50 servers */ + +/* We use IANA charset names for encoding, since the NSString localized + * names are not suitable for keys. An empty resultEncoding will be + * interpreted as MARC-8. + */ + /* Library of Congress z39.50 connection */ + /* Canonical test server. */ + { + type = zoom; + name = "Library of Congress"; + database = Voyager; + host = "z3950.loc.gov"; + port = "7090"; + options = { + recordSyntax = "US MARC"; + resultEncoding = "marc-8"; + }; + }, + /* USC z39.50 connection */ + /* This server limits the number of results that can be */ + /* returned in a single query, so it's useful for testing. */ + { + type = zoom; + name = "University of Southern California"; + database = unicorn; + host = "library.usc.edu"; + port = "2200"; + options = { + recordSyntax = "US MARC"; + resultEncoding = "marc-8"; + }; + }, + /* COPAC z39.50 connection */ + /* Shows an alternate syntax and encoding specification. */ + { + type = zoom; + name = "COPAC"; + database = "copac"; + host = "z3950.copac.ac.uk"; + port = "2100"; + options = { + recordSyntax = "MODS"; + resultEncoding = "utf-8"; + }; + }, + /* ADS z39.50 connection */ + /* Bastard DC XML output that's missing any XML header. */ + /* http://adsabs.harvard.edu/abs_doc/ads_server.html */ + { + type = zoom; + name = "ADS Astronomy"; + database = "AST"; + host = "z3950.adsabs.harvard.edu"; + port = "210"; + options = { + recordSyntax = "DC XML"; + resultEncoding = "utf-8"; + }; + }, + /* University of Basel z39.50 connection */ + /* Example of a UTF-8 server which accepts diacritics */ + /* in search strings. */ + { + type = zoom; + name = "UB Basel"; + database = "IDS_UTF"; + host = "aleph.unibas.ch"; + port = "9909"; + options = { + recordSyntax = "US MARC"; + resultEncoding = "utf-8"; + }; + }, + /* Columbia University */ + /* Illustrates the use of a customized query config string. */ + /* Note that the query config lines are separated by \n and */ + /* there must be no leading space in the first line. */ + { + type = zoom; + name = "Columbia University"; + database = "voyager"; + host = "clio-db.cc.columbia.edu"; + port = "7090"; + options = { + recordSyntax = "US MARC"; + resultEncoding = "marc-8"; + /* config string that maps CCL keys to numeric fields */ + /* http://www.loc.gov/z3950/agency/defns/bib1.html */ + /* http://www.loc.gov/z3950/agency/bib1.html */ + /* http://www.indexdata.com/yaz/doc/tools.tkl#CCL */ + queryConfig = "term u=1016 t=l,r s=al + au u=1003 s=pw + ti u=4 s=pw + isbn u=7 + issn u=8 + cc u=20 + su u=21 s=pw + date u=30 r=r + dp u=31 r=r + da u=32 r=r + la u=54 s=pw + ab u=62 s=pw + note u=63 s=pw"; + removeDiacritics = "YES"; + }; + }, + /* University of Zurich */ + /* Illustrates the use of username/password keys and */ + /* Unicode characters in an ASCII property list. */ + { + type = zoom; + name = "University of Z\U00FCrich"; + database = "IDS_UTF"; + host = "biblio.unizh.ch"; + port = "9909"; + options = { + recordSyntax = "US MARC"; + resultEncoding = "utf-8"; + username = "z39"; + password = "z39"; + }; + }, +/* ISI servers */ + /* Science Citation Index */ + { + type = isi; + name = "Web Of Science SCI"; + database = "SCI"; + }, + /* Social Sciences Citation Index */ + { + type = isi; + name = "Web Of Science SSCI"; + database = "SSCI"; + }, + /* Arts & Humanities Citation Index */ + { + type = isi; + name = "Web Of Science AHCI"; + database = "AHCI"; + }, + /* Index Chemiculus */ + { + type = isi; + name = "Web Of Science IC"; + database = "IC"; + }, + /* Current Chemical Reactions */ + { + type = isi; + name = "Web Of Science CCR"; + database = "CCR"; + }, +/* DBLP servers */ + { + type = dblp; + name = "DBLP++ Authors"; + database = "Authors"; + }, + { + type = dblp; + name = "DBLP++ Keywords"; + database = "Keywords"; + } +) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |