Skip to content

Commit

Permalink
Merge pull request #82 from TAMULib/sprint5-staging
Browse files Browse the repository at this point in the history
Sprint5 staging
  • Loading branch information
kaladay committed Jan 15, 2021
2 parents af1a5ca + 10f9f8d commit 445bc9d
Show file tree
Hide file tree
Showing 28 changed files with 939 additions and 1,785 deletions.
2 changes: 0 additions & 2 deletions src/main/java/edu/tamu/app/config/AppWebMvcConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.mail.javamail.ConfigurableMimeFileTypeMap;
Expand All @@ -29,7 +28,6 @@
@Configuration
@EntityScan(basePackages = { "edu.tamu.app.model" })
@EnableJpaRepositories(basePackages = { "edu.tamu.app.model.repo" })
@PropertySource("classpath:buttons.properties")
public class AppWebMvcConfig extends WebMvcConfigurerAdapter {

@Value("${app.security.allow-access}")
Expand Down
16 changes: 16 additions & 0 deletions src/main/java/edu/tamu/app/config/RestConfig.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package edu.tamu.app.config;

import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;

@Configuration
public class RestConfig {

@Bean
public RestTemplate restTemplate(RestTemplateBuilder builder) {
return builder.build();
}

}

This file was deleted.

94 changes: 36 additions & 58 deletions src/main/java/edu/tamu/app/controller/CatalogAccessController.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,7 @@
import static edu.tamu.weaver.response.ApiStatus.SUCCESS;

import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
Expand All @@ -16,77 +13,58 @@

import com.fasterxml.jackson.core.JsonProcessingException;

import edu.tamu.app.model.ButtonPresentation;
import edu.tamu.app.service.GetItForMeService;
import edu.tamu.app.model.CatalogHolding;
import edu.tamu.app.service.CatalogService;
import edu.tamu.app.service.CatalogServiceFactory;
import edu.tamu.weaver.response.ApiResponse;

@RestController
@RequestMapping("/catalog-access")
public class CatalogAccessController {

@Autowired
GetItForMeService getItForMeService;
private CatalogServiceFactory catalogServiceFactory;

/**
* Provides the raw CatalogHolding data
*
* @param catalogName
* @param bibId
* @param String catalogName (optional)
* @param String bibId
* @return
* @throws JsonProcessingException
* @throws IOException
*/

@RequestMapping("/get-holdings")
public ApiResponse getHoldings(@RequestParam(value="catalogName",defaultValue="evans") String catalogName, @RequestParam("bibId") String bibId) throws JsonProcessingException, IOException {
return new ApiResponse(SUCCESS,getItForMeService.getHoldingsByBibId(catalogName,bibId));
}

/**
* Provides fully formatted HTML buttons, keyed by item MFHD
* @param catalogName
* @param bibId
* @return
*/
@RequestMapping("/get-html-buttons")
public ApiResponse getHtmlButtonsByBibId(@RequestParam(value="catalogName",defaultValue="evans") String catalogName, @RequestParam("bibId") String bibId) {
Map<String, ButtonPresentation> presentableHoldings = getItForMeService.getButtonDataByBibId(catalogName, bibId);
if (presentableHoldings != null) {
Map<String,List<String>> buttonContents = new HashMap<String,List<String>>();
for (Map.Entry<String, ButtonPresentation> entry : presentableHoldings.entrySet()) {
if (entry.getValue() != null) {
buttonContents.put(entry.getKey(), entry.getValue().buildPresentation());
} else {
buttonContents.put(entry.getKey(), new ArrayList<String>());
}
}
return new ApiResponse(SUCCESS,buttonContents);
}
return new ApiResponse(ERROR,"Catalog or Holding not found");
}

/**
* Provides the raw button data in JSON format, keyed by MFHD.
* @param catalogName
* @param bibId
* @return
*/

@RequestMapping("/get-buttons")
public ApiResponse getButtonsByBibId(@RequestParam(value="catalogName",defaultValue="evans") String catalogName, @RequestParam("bibId") String bibId) {
Map<String,ButtonPresentation> buttonData = getItForMeService.getButtonDataByBibId(catalogName, bibId);
if (buttonData != null) {
return new ApiResponse(SUCCESS,buttonData);
}
return new ApiResponse(ERROR,"Catalog or Holding not found");
}

@RequestMapping("/get-button-config")
public ApiResponse getButtonConfiguration() {
return new ApiResponse(SUCCESS,"Current Button Configuration",getItForMeService.getRegisteredButtons());
public ApiResponse getHoldings(@RequestParam(value="catalogName", defaultValue="evans") String catalogName, @RequestParam("bibId") String bibId) {
List<CatalogHolding> catalogHoldings = getCatalogServiceByName(catalogName).getHoldingsByBibId(bibId);
if (catalogHoldings != null) {
return new ApiResponse(SUCCESS, catalogHoldings);
} else {
return new ApiResponse(ERROR,"Error retrieving holdings from " + catalogName + "catalog");
}
}

@RequestMapping("/text-call-number")
public ApiResponse textCall(@RequestParam(value="catalogName",defaultValue="evans") String catalogName, @RequestParam("bibId") String bibId, @RequestParam("holdingId") String holdingId) {
return new ApiResponse(SUCCESS, getItForMeService.getTextCallNumberButton(catalogName, bibId, holdingId));
/**
* Provides data for a single CatalogHolding
*
* @param String catalogName (optional)
* @param String bibId
* @param String holdingId
* @return
* @throws JsonProcessingException
* @throws IOException
*/
@RequestMapping("/get-holding")
public ApiResponse getHolding(@RequestParam(value="catalogName", defaultValue="evans") String catalogName, @RequestParam("bibId") String bibId, @RequestParam("holdingId") String holdingId) {
CatalogHolding catalogHolding = getCatalogServiceByName(catalogName).getHolding(bibId, holdingId);
if (catalogHolding != null) {
return new ApiResponse(SUCCESS, catalogHolding);
} else {
return new ApiResponse(ERROR,"Error retrieving holding from " + catalogName + "catalog");
}
}

private CatalogService getCatalogServiceByName(String catalogName) {
return catalogServiceFactory.getOrCreateCatalogService(catalogName);
}
}
32 changes: 0 additions & 32 deletions src/main/java/edu/tamu/app/model/AbstractButtonPresentation.java

This file was deleted.

61 changes: 0 additions & 61 deletions src/main/java/edu/tamu/app/model/ButtonFormPresentation.java

This file was deleted.

58 changes: 0 additions & 58 deletions src/main/java/edu/tamu/app/model/ButtonLinkPresentation.java

This file was deleted.

10 changes: 0 additions & 10 deletions src/main/java/edu/tamu/app/model/ButtonPresentation.java

This file was deleted.

0 comments on commit 445bc9d

Please sign in to comment.