diff --git a/src/main/asciidoc/sections/api-accession.adoc b/src/main/asciidoc/sections/api-accession.adoc index 33528bf42f6a78cf06b78d1b676bba8955d4909b..d9358db94b05f998ee7e0fa915a8f5b3939f65d7 100644 --- a/src/main/asciidoc/sections/api-accession.adoc +++ b/src/main/asciidoc/sections/api-accession.adoc @@ -55,6 +55,7 @@ All other fields are optional. { "instCode": "XYZ111", "acceNumb": "M12345", + "cropName": "banana", "genus": "Musa", "species": "acuminata", "spauthor": "Colla", diff --git a/src/main/asciidoc/sections/mcpd.adoc b/src/main/asciidoc/sections/mcpd.adoc index 0bc23d331a219ffa175f8804c03bb15013d84f14..3d32a0fdf7fa6a4d34d13a7d179331166a501d11 100644 --- a/src/main/asciidoc/sections/mcpd.adoc +++ b/src/main/asciidoc/sections/mcpd.adoc @@ -61,7 +61,7 @@ consistent manner. are allowed: `subsp.` (for subspecies); `convar.` (for convariety); `var.` (for variety); `f.` (for form); `Group` (for 'cultivar group'). |SUBTAUTHOR|Provide the subtaxon authority at the most detailed taxonomic level. -|CROPNAME|Common name of the crop. Example: `malting barley`, `macadamia`, `maize`. +|<>|Common name of the crop. Example: `malting barley`, `macadamia`, `maize`. |ACCENAME|Either a registered or other designation given to the material received, other than the donor's accession number (DONORNUMB) or collecting number (COLLNUMB). First letter upper case. @@ -155,6 +155,24 @@ use, the concatenation of INSTCODE, ACCENUMB, and GENUS as a globally unique ide similar in most respects to the PUID whenever they exchange information on accessions with third parties (e.g. `NOR017:NGB17773:ALLIUM`). +[[mcpd-cropname]] +==== Crop name + +Genesys will read the CROPNAME as provided and attempt to link the name with an existing crop +record in Genesys. Genesys currently supports the following crop names: + + apple, banana, barley, beans, breadfruit, cassava, chickpea, coconut, cowpea, eggplant, fababean, + fingermillet, grasspea, lentil, lettuce, maize, pearlmillet, pigeonpea, potato, rice, sorghum, + sunflower, sweetpotato, taro, tomato, wheat, yam + +The up-to-date list of crops and their coded names is available at https://www.genesys-pgr.org/c/ + +As more data is uploaded to Genesys we will add aliases to crops, making sure that future uploads +properly link the accession with the specified crop. + +You are encouraged to use the crop names listed above, but more importantly, let +helpdesk@genesys-pgr.org know if your crop is not yet listed. + [[mcpd-wiews]] ==== Institute codes in MCPD diff --git a/src/main/java/org/genesys2/server/service/impl/CropServiceImpl.java b/src/main/java/org/genesys2/server/service/impl/CropServiceImpl.java index 31dbedf6f088e37b1dc8966345f7184a2d8fa657..4ce87e47d663cb6e6ec2bffa9f2175f6671d0fd5 100644 --- a/src/main/java/org/genesys2/server/service/impl/CropServiceImpl.java +++ b/src/main/java/org/genesys2/server/service/impl/CropServiceImpl.java @@ -98,12 +98,17 @@ public class CropServiceImpl implements CropService { @Override public List listCrops() { - return cropRepository.findAll(); + List crops = cropRepository.findAll(); + // Fetch otherNames list + crops.stream().forEach(c -> { c.getOtherNames().size(); }); + return crops; } @Override public List list(final Locale locale) { final List crops = cropRepository.findAll(); + // Fetch otherNames list + crops.stream().forEach(c -> { c.getOtherNames().size(); }); Collections.sort(crops, new Comparator() { @Override public int compare(Crop o1, Crop o2) { diff --git a/src/main/java/org/genesys2/server/service/impl/DownloadServiceImpl.java b/src/main/java/org/genesys2/server/service/impl/DownloadServiceImpl.java index bd47241679838c7d1cf4a9bc90a7c83e342a3697..faf8115fc130cf03840d255ab6eda6b2c2dbecad 100644 --- a/src/main/java/org/genesys2/server/service/impl/DownloadServiceImpl.java +++ b/src/main/java/org/genesys2/server/service/impl/DownloadServiceImpl.java @@ -27,8 +27,6 @@ import java.util.Date; import java.util.HashMap; import java.util.List; -import javax.persistence.EntityManager; - import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -53,7 +51,6 @@ import org.genesys2.server.model.genesys.PDCI; import org.genesys2.server.model.genesys.Taxonomy2; import org.genesys2.server.model.impl.Country; import org.genesys2.server.persistence.domain.GenesysLowlevelRepository; -import org.genesys2.server.persistence.domain.MethodRepository; import org.genesys2.server.service.DownloadService; import org.genesys2.server.service.GenesysService; import org.genesys2.server.service.GenesysService.AllStuff; @@ -71,9 +68,6 @@ public class DownloadServiceImpl implements DownloadService { public static final Log LOG = LogFactory.getLog(DownloadServiceImpl.class); - @Autowired - private EntityManager entityManager; - @Autowired private GenesysService genesysService; @@ -81,12 +75,6 @@ public class DownloadServiceImpl implements DownloadService { @Qualifier("genesysLowlevelRepositoryCustomImpl") private GenesysLowlevelRepository genesysLowlevelRepository; - @Autowired - private MethodRepository methodRepository; - - @Autowired(required = false) - private PDCICalculator pdciCalculator; - @Value("${base.url}") private String baseUrl; @@ -226,7 +214,8 @@ public class DownloadServiceImpl implements DownloadService { createCell(row, 10, taxonomy.getSubtaxa()); createCell(row, 11, taxonomy.getSubtAuthor()); } - + + createCell(row, 12, accession.getCropName()); createCell(row, 14, accession.getAcquisitionDate()); Country origin = accession.getCountryOfOrigin(); diff --git a/src/main/java/org/genesys2/server/servlet/controller/CropController.java b/src/main/java/org/genesys2/server/servlet/controller/CropController.java index 81aa0b1425d02df862f0107588552f9e2a67c4e2..270855c6c96627d10f4298828ed224827f34962e 100644 --- a/src/main/java/org/genesys2/server/servlet/controller/CropController.java +++ b/src/main/java/org/genesys2/server/servlet/controller/CropController.java @@ -18,7 +18,11 @@ package org.genesys2.server.servlet.controller; import org.genesys2.server.model.impl.Crop; import org.genesys2.server.model.impl.CropTaxonomy; -import org.genesys2.server.service.*; +import org.genesys2.server.service.ContentService; +import org.genesys2.server.service.CropService; +import org.genesys2.server.service.FilterConstants; +import org.genesys2.server.service.GenesysService; +import org.genesys2.server.service.TraitService; import org.genesys2.server.service.impl.FilterHandler; import org.genesys2.server.service.impl.FilterHandler.AppliedFilter; import org.genesys2.server.service.impl.FilterHandler.AppliedFilters; @@ -43,13 +47,20 @@ public class CropController extends BaseController { @Autowired private ContentService contentService; - + @Autowired private GenesysService genesysService; - + @Autowired private TraitService traitService; + @RequestMapping(value = "/", method = RequestMethod.GET) + public String index(ModelMap model) { + _logger.debug("Viewing all crops"); + model.addAttribute("crops", cropService.list(getLocale())); + return "/crop/list"; + } + @RequestMapping("/{shortName}") public String view(ModelMap model, @PathVariable(value = "shortName") String shortName) { _logger.debug("Viewing crop " + shortName); @@ -67,10 +78,10 @@ public class CropController extends BaseController { model.addAttribute("cropTaxonomies", cropService.getCropTaxonomies(crop, new PageRequest(0, 20, new Sort("taxonomy.genus", "taxonomy.species")))); model.addAttribute("blurp", contentService.getArticle(crop, "blurp", getLocale())); - -// model.addAttribute("statsGenus", elasticService.termStatisticsAuto(appliedFilters, FilterConstants.TAXONOMY_GENUS, 5)); - - + // model.addAttribute("statsGenus", + // elasticService.termStatisticsAuto(appliedFilters, + // FilterConstants.TAXONOMY_GENUS, 5)); + return "/crop/index"; } @@ -138,7 +149,7 @@ public class CropController extends BaseController { return "redirect:/explore"; } - + @RequestMapping("/{shortName}/overview") public String viewOverview(ModelMap model, @PathVariable(value = "shortName") String shortName) { _logger.warn("Viewing crop " + shortName); diff --git a/src/main/webapp/WEB-INF/jsp/crop/list.jsp b/src/main/webapp/WEB-INF/jsp/crop/list.jsp new file mode 100644 index 0000000000000000000000000000000000000000..7aa757ccd6f0fd2746ab89a78bb2def8f6a525ea --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/crop/list.jsp @@ -0,0 +1,33 @@ + + +<%@include file="/WEB-INF/jsp/init.jsp"%> + + + +<spring:message code="crop.croplist" /> + + +

+ +

+ +
    + +
  • +
    +
    + "> +
    +
    + + + + +
    +
    +
  • +
    +
+ + + \ No newline at end of file