- private String urlVersion = "Z39.88-2004";\r
-\r
- public MobotOpenUrlServiceWrapper(){\r
- addSchemaAdapter(new MobotOpenUrlResponseSchemaAdapter());\r
- }\r
-\r
- /**\r
- * BHL uses the response format as specified in the\r
- * http://code.google.com/p/\r
- * bhl-bits/source/browse/trunk/portal/OpenUrlUtilities\r
- * /OpenUrlResponse.cs?r=17 there seems to be no xml schema available\r
- * though.\r
- * @param query the MobotOpenUrlQuery object\r
- * @return\r
- */\r
- public List<OpenUrlReference> doResolve(MobotOpenUrlQuery query) {\r
-\r
- List<NameValuePair> pairs = new ArrayList<NameValuePair>();\r
-\r
- // find the appropriate schemadapter using the schemaShortName\r
- if(query.schemaShortName == null){\r
- query.schemaShortName = "MOBOT.OpenUrl.Utilities.OpenUrlResponse";\r
- }\r
- SchemaAdapterBase<OpenUrlReference> schemaAdapter = schemaAdapterMap.get(query.schemaShortName);\r
- if (schemaAdapter == null) {\r
- logger.error("No SchemaAdapter found for " + query.schemaShortName);\r
- }\r
-\r
- addNewPairNN(pairs, "format", "xml");\r
- addNewPairNN(pairs, "url_ver", urlVersion);\r
- /* info:ofi/fmt:kev:mtx:book or info:ofi/fmt:kev:mtx:journal */\r
- addNewPairNN(pairs, "rft_val_fmt", "info:ofi/fmt:kev:mtx:" + query.refType);\r
- /* Book title */\r
- addNewPairNN(pairs, "rft.btitle", query.bookTitle);\r
- /* Journal title */\r
- addNewPairNN(pairs, "rft.jtitle", query.journalTitle);\r
- /* Author name ("last, first" or "corporation") */\r
- addNewPairNN(pairs, "rft.au", query.authorName);\r
- /* Author last name */\r
- addNewPairNN(pairs, "rft.aulast", query.authorLastName);\r
- /* Author first name */\r
- addNewPairNN(pairs, "rft.aufirst", query.authorFirstName);\r
- /* Author name (corporation) */\r
- addNewPairNN(pairs, "rft.aucorp", query.authorNameCorporation);\r
- /* Publication details */\r
- addNewPairNN(pairs, "rft.publisher", query.publicationDetails);\r
- /* Publisher name */\r
- addNewPairNN(pairs, "rft.pub", query.publisherName);\r
- /* Publication place */\r
- addNewPairNN(pairs, "rft.place", query.publicationPlace);\r
- /* Publication date (YYYY or YYYY-MM or YYYY-MM-DD) */\r
- addNewPairNN(pairs, "rft.date", query.publicationDate);\r
- /* ISSN */\r
- addNewPairNN(pairs, "rft.issn", query.ISSN);\r
- /* ISBN */\r
- addNewPairNN(pairs, "rft.isbn", query.ISBN);\r
- /* CODEN */\r
- addNewPairNN(pairs, "rft.coden", query.CODEN);\r
- /* Abbreviation = abbreviated Title */\r
- addNewPairNN(pairs, "rft.stitle", query.abbreviation);\r
- /* Volume */\r
- addNewPairNN(pairs, "rft.volume", query.volume);\r
- /* Issue */\r
- addNewPairNN(pairs, "rft.issue", query.issue);\r
- /* Start page */\r
- if(query.startPage != null){\r
- Integer page = parsePageNumber(query.startPage); \r
- addNewPairNN(pairs, "rft.spage", page.toString()); \r
- }\r
- /* BHL title ID (where XXXX is the ID value)*/ \r
- addNewPairNN(pairs, "rft_id" , query.bhlTitleURI);\r
- /* BHL page ID (where XXXX is the ID value)*/\r
- addNewPairNN(pairs, "rft_id", query.bhlPageURI);\r
- \r
- /* OCLC number (where XXXX is the ID value)*/ \r
- if(query.oclcNumber != null){\r
- pairs.add(new BasicNameValuePair("rft_id", "info:oclcnum/" +query.oclcNumber)); \r
- }\r
- /* Lib. of Congress ID (where XXXX is the ID value)*/ \r
- if(query.libofCongressID != null){\r
- pairs.add(new BasicNameValuePair("rft_id", "info:lccn/" +query.libofCongressID)); \r
- }\r
- \r
- Map<String, String> requestHeaders = new HashMap<String, String>();\r
- requestHeaders.put("Accept-Charset", "UTF-8"); \r
-\r
- try {\r
- URI requestUri = createUri(null, pairs);\r
-\r
- InputStream stream = executeHttpGet(requestUri, requestHeaders);\r
+ private String urlVersion = "Z39.88-2004";\r
+\r
+ public MobotOpenUrlServiceWrapper(){\r
+ addSchemaAdapter(new MobotOpenUrlResponseSchemaAdapter());\r
+ }\r
+\r
+ /**\r
+ * BHL uses the response format as specified in the\r
+ * http://code.google.com/p/\r
+ * bhl-bits/source/browse/trunk/portal/OpenUrlUtilities\r
+ * /OpenUrlResponse.cs?r=17 there seems to be no xml schema available\r
+ * though.\r
+ * @param query the MobotOpenUrlQuery object\r
+ * @return\r
+ */\r
+ public List<OpenUrlReference> doResolve(MobotOpenUrlQuery query) {\r
+\r
+ List<NameValuePair> pairs = new ArrayList<NameValuePair>();\r
+\r
+ // find the appropriate schemadapter using the schemaShortName\r
+ if(query.schemaShortName == null){\r
+ query.schemaShortName = "MOBOT.OpenUrl.Utilities.OpenUrlResponse";\r
+ }\r
+ SchemaAdapterBase<OpenUrlReference> schemaAdapter = schemaAdapterMap.get(query.schemaShortName);\r
+ if (schemaAdapter == null) {\r
+ logger.error("No SchemaAdapter found for " + query.schemaShortName);\r
+ }\r
+\r
+ addNewPairNN(pairs, "format", "xml");\r
+ addNewPairNN(pairs, "url_ver", urlVersion);\r
+ /* info:ofi/fmt:kev:mtx:book or info:ofi/fmt:kev:mtx:journal */\r
+ addNewPairNN(pairs, "rft_val_fmt", "info:ofi/fmt:kev:mtx:" + query.refType);\r
+ /* Book title */\r
+ addNewPairNN(pairs, "rft.btitle", query.bookTitle);\r
+ /* Journal title */\r
+ addNewPairNN(pairs, "rft.jtitle", query.journalTitle);\r
+ /* Author name ("last, first" or "corporation") */\r
+ addNewPairNN(pairs, "rft.au", query.authorName);\r
+ /* Author last name */\r
+ addNewPairNN(pairs, "rft.aulast", query.authorLastName);\r
+ /* Author first name */\r
+ addNewPairNN(pairs, "rft.aufirst", query.authorFirstName);\r
+ /* Author name (corporation) */\r
+ addNewPairNN(pairs, "rft.aucorp", query.authorNameCorporation);\r
+ /* Publication details */\r
+ addNewPairNN(pairs, "rft.publisher", query.publicationDetails);\r
+ /* Publisher name */\r
+ addNewPairNN(pairs, "rft.pub", query.publisherName);\r
+ /* Publication place */\r
+ addNewPairNN(pairs, "rft.place", query.publicationPlace);\r
+ /* Publication date (YYYY or YYYY-MM or YYYY-MM-DD) */\r
+ addNewPairNN(pairs, "rft.date", query.publicationDate);\r
+ /* ISSN */\r
+ addNewPairNN(pairs, "rft.issn", query.ISSN);\r
+ /* ISBN */\r
+ addNewPairNN(pairs, "rft.isbn", query.ISBN);\r
+ /* CODEN */\r
+ addNewPairNN(pairs, "rft.coden", query.CODEN);\r
+ /* Abbreviation = abbreviated Title */\r
+ addNewPairNN(pairs, "rft.stitle", query.abbreviation);\r
+ /* Volume */\r
+ addNewPairNN(pairs, "rft.volume", query.volume);\r
+ /* Issue */\r
+ addNewPairNN(pairs, "rft.issue", query.issue);\r
+ /* Start page */\r
+ if(query.startPage != null){\r
+ Integer page = parsePageNumber(query.startPage);\r
+ addNewPairNN(pairs, "rft.spage", page.toString());\r
+ }\r
+ /* BHL title ID (where XXXX is the ID value)*/\r
+ addNewPairNN(pairs, "rft_id" , query.bhlTitleURI);\r
+ /* BHL page ID (where XXXX is the ID value)*/\r
+ addNewPairNN(pairs, "rft_id", query.bhlPageURI);\r
+\r
+ /* OCLC number (where XXXX is the ID value)*/\r
+ if(query.oclcNumber != null){\r
+ pairs.add(new BasicNameValuePair("rft_id", "info:oclcnum/" +query.oclcNumber));\r
+ }\r
+ /* Lib. of Congress ID (where XXXX is the ID value)*/\r
+ if(query.libofCongressID != null){\r
+ pairs.add(new BasicNameValuePair("rft_id", "info:lccn/" +query.libofCongressID));\r
+ }\r
+\r
+ Map<String, String> requestHeaders = new HashMap<String, String>();\r
+ requestHeaders.put("Accept-Charset", "UTF-8");\r
+\r
+ try {\r
+ URI requestUri = createUri(null, pairs);\r
+\r
+ InputStream stream = executeHttpGet(requestUri, requestHeaders);\r