fixing #2866: NPE in DerivedUnitFacadeController.doGetDerivedUnitMedia
[cdmlib.git] / cdmlib-remote / src / main / java / eu / etaxonomy / cdm / remote / controller / TaxonController.java
index aa94612153954a64295cce7271956e441664d8cf..1912395e6441700ee3c57a788c9887f2c68e18d2 100644 (file)
@@ -49,7 +49,7 @@ import eu.etaxonomy.cdm.persistence.query.OrderHint.SortOrder;
  */\r
 @Controller\r
 @RequestMapping(value = {"/taxon/{uuid}"})\r
-public class TaxonController extends AnnotatableController<TaxonBase, ITaxonService>\r
+public class TaxonController extends BaseController<TaxonBase, ITaxonService>\r
 {\r
     public static final Logger logger = Logger.getLogger(TaxonController.class);\r
 \r
@@ -57,6 +57,9 @@ public class TaxonController extends AnnotatableController<TaxonBase, ITaxonServ
     private IOccurrenceService occurrenceService;\r
     @Autowired\r
     private INameService nameService;\r
+    @Autowired \r
+    private ITaxonService taxonService; \r
+    \r
 \r
     protected static final List<String> TAXONNODE_INIT_STRATEGY = Arrays.asList(new String []{\r
             "taxonNodes"\r
@@ -120,6 +123,7 @@ public class TaxonController extends AnnotatableController<TaxonBase, ITaxonServ
             return null;\r
         }\r
     }\r
+   \r
 \r
     @RequestMapping(value = "specimensOrObersvations", method = RequestMethod.GET)\r
     public ModelAndView doListSpecimensOrObersvations(\r
@@ -160,5 +164,21 @@ public class TaxonController extends AnnotatableController<TaxonBase, ITaxonServ
         mv.addObject(nameService.getTaggedName(tb.getName().getUuid()));\r
         return mv;\r
     }\r
+    \r
+    /**\r
+     * FIXME change @RequestMapping to /taxon/findBestMatchingTaxon and also move into TaxonListController\r
+     */\r
+    @RequestMapping(value = "/bestMatchingTaxon/{taxonName}", method = RequestMethod.GET)\r
+    public TaxonBase doFindBestMatchingTaxon(\r
+               @PathVariable("taxonName") String taxonName,\r
+               HttpServletRequest request, \r
+               HttpServletResponse response)throws IOException {\r
+               \r
+       Taxon bestMatchingTaxon =  taxonService.findBestMatchingTaxon(taxonName);\r
+       \r
+       return bestMatchingTaxon;\r
+    \r
+       \r
+    }\r
 \r
 }
\ No newline at end of file