Skip to content

Commit c9da61d

Browse files
authored
Merge pull request #20 from TAMULib/catalog-service-updates
Catalog Service compatibility and other updates
2 parents a7efd80 + 95df45c commit c9da61d

File tree

3 files changed

+203
-17
lines changed

3 files changed

+203
-17
lines changed

src/main/java/edu/tamu/app/service/CatalogService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ public List<CatalogHolding> getHoldingsByBibId(String catalogName, String bibId)
7272
parameters.put("bibId", bibId);
7373
parameters.put("catalogName", catalogName);
7474
try {
75-
return objectMapper.readValue(getData("get-holdings", parameters).get("ArrayList<CatalogHolding>").toString(), new TypeReference<List<CatalogHolding>>() {});
75+
return objectMapper.readValue(getData("get-holdings", parameters).get("ArrayList<HoldingsRecord>").toString(), new TypeReference<List<CatalogHolding>>() {});
7676
} catch (IOException e) {
7777
logger.error("Unable to retrieve Holdings from Catalog Service");
7878
e.printStackTrace();

src/main/java/edu/tamu/app/service/GetItForMeService.java

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -281,17 +281,25 @@ public Map<String,ButtonPresentation> getButtonDataByBibId(String catalogName, S
281281
currentLocation = itemData.get("tempLocationCode");
282282
} else if (itemData.containsKey("permLocationCode")) {
283283
currentLocation = itemData.get("permLocationCode");
284+
} else if (itemData.containsKey("locationCode")) {
285+
currentLocation = itemData.get("locationCode");
284286
} else {
285287
currentLocation = holding.getFallbackLocationCode();
286288
}
289+
287290
logger.debug("Current Location is: " + currentLocation);
288291
//check if the global override blocks buttons for this item
289292
if (!skipAllButtons(currentLocation, itemData)) {
290293
// check all registered button for each item
291294
for (GetItForMeButton button : this.getRegisteredButtons(catalogName)) {
292295
logger.debug("Analyzing: " + button.toString());
293296

294-
String itemStatusCode = itemData.containsKey("itemStatusCode") ? itemData.get("itemStatusCode"):null;
297+
String itemStatusCode = null;
298+
if (itemData.containsKey("itemStatusCode")) {
299+
itemStatusCode = itemData.get("itemStatusCode");
300+
} else if (itemData.containsKey("status")) {
301+
itemStatusCode = itemData.get("status");
302+
}
295303

296304
logger.debug("Location: " + currentLocation + ": "
297305
+ button.fitsLocation(currentLocation));
@@ -313,8 +321,9 @@ public Map<String,ButtonPresentation> getButtonDataByBibId(String catalogName, S
313321

314322
for (String parameterKey : parameterKeys) {
315323
if (parameterKey.equals("sid")) {
316-
parameters.put(parameterKey, getCatalogConfigurationByName(catalogName).get("sidPrefix")
317-
+ ":" + button.getSID());
324+
String fullSid = (getCatalogConfigurationByName(catalogName) != null ? getCatalogConfigurationByName(catalogName).get("sidPrefix")
325+
+ ":":"") + button.getSID();
326+
parameters.put(parameterKey, fullSid);
318327
} else {
319328
parameters.put(parameterKey, itemData.get(parameterKey));
320329
}
@@ -327,7 +336,7 @@ public Map<String,ButtonPresentation> getButtonDataByBibId(String catalogName, S
327336
Map<String, String> buttonContent = new HashMap<String,String>();
328337
if (holding.isMultiVolume()) {
329338
logger.debug("Generating a multi volume button");
330-
parameters.put("edition", itemData.get("enumeration") + " " + itemData.get("chron"));
339+
parameters.put("edition", itemData.getOrDefault("enumeration","") + " " + itemData.getOrDefault("chron",""));
331340
buttonContent = ButtonLinkPresentation.buildMultiVolumeButtonProperties(parameters, button);
332341
} else {
333342
logger.debug("Generating a single item button");

0 commit comments

Comments
 (0)