3 * Copyright (C) 2009 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
10 package eu
.etaxonomy
.cdm
.remote
.controller
;
12 import java
.io
.IOException
;
13 import java
.util
.Arrays
;
14 import java
.util
.List
;
16 import javax
.servlet
.http
.HttpServletRequest
;
17 import javax
.servlet
.http
.HttpServletResponse
;
19 import org
.springframework
.beans
.factory
.annotation
.Autowired
;
20 import org
.springframework
.stereotype
.Controller
;
21 import org
.springframework
.web
.bind
.annotation
.RequestMapping
;
22 import org
.springframework
.web
.bind
.annotation
.RequestMethod
;
23 import org
.springframework
.web
.bind
.annotation
.RequestParam
;
25 import eu
.etaxonomy
.cdm
.api
.service
.ITermService
;
26 import eu
.etaxonomy
.cdm
.api
.service
.IVocabularyService
;
27 import eu
.etaxonomy
.cdm
.api
.service
.pager
.Pager
;
28 import eu
.etaxonomy
.cdm
.model
.common
.DefinedTermBase
;
29 import eu
.etaxonomy
.cdm
.model
.common
.TermVocabulary
;
30 import eu
.etaxonomy
.cdm
.model
.location
.NamedArea
;
31 import eu
.etaxonomy
.cdm
.model
.location
.NamedAreaLevel
;
32 import eu
.etaxonomy
.cdm
.model
.location
.NamedAreaType
;
35 * TODO write controller documentation
37 * @author a.kohlbecker
42 @RequestMapping(value
= {"/term"})
43 public class TermListController
extends IdentifiableListController
<DefinedTermBase
, ITermService
> {
47 * @see eu.etaxonomy.cdm.remote.controller.AbstractListController#setService(eu.etaxonomy.cdm.api.service.IService)
51 public void setService(ITermService service
) {
52 this.service
= service
;
57 * TODO write controller method documentation
64 @RequestMapping(method
= RequestMethod
.GET
,
65 value
= "/term/tdwg/*")
66 public List
<NamedArea
> doGetTdwgLevel(HttpServletRequest request
, HttpServletResponse response
) throws IOException
{
68 String path
= request
.getServletPath();
69 String
[] pathTokens
= path
.split("/");
70 String levelStr
= pathTokens
[3];
71 if(levelStr
.indexOf('.') > -1){
72 levelStr
= levelStr
.substring(0, levelStr
.indexOf('.'));
74 Integer levelId
= Integer
.valueOf(levelStr
);
75 NamedAreaLevel level
= null;
77 case 1: level
= NamedAreaLevel
.TDWG_LEVEL1(); break;
78 case 2: level
= NamedAreaLevel
.TDWG_LEVEL2(); break;
79 case 3: level
= NamedAreaLevel
.TDWG_LEVEL3(); break;
80 case 4: level
= NamedAreaLevel
.TDWG_LEVEL4(); break;
82 Pager
<NamedArea
> p
= service
.list(level
, (NamedAreaType
)null, null, null, null, null);
83 return p
.getRecords();