eu.etaxonomy.cdm.remote.controller.oaipmh
Class AbstractOaiPmhController<T extends IdentifiableEntity,SERVICE extends IIdentifiableEntityService<T>>

java.lang.Object
  extended by eu.etaxonomy.cdm.remote.controller.oaipmh.AbstractOaiPmhController<T,SERVICE>
Direct Known Subclasses:
ReferenceOaiPmhController, TaxonOaiPmhController

public abstract class AbstractOaiPmhController<T extends IdentifiableEntity,SERVICE extends IIdentifiableEntityService<T>>
extends Object


Field Summary
protected  IAuditEventService auditEventService
           
protected  SERVICE service
           
 
Constructor Summary
AbstractOaiPmhController()
           
 
Method Summary
protected  void addSets(org.springframework.web.servlet.ModelAndView modelAndView)
          Subclasses should override this method and add a collection of eu.etaxonomy.cdm.remote.dto.oaipmh.Set objects called "sets" that will be returned in the response
protected  void finishModelAndView(LSID identifier, MetadataPrefix metadataPrefix, org.springframework.web.servlet.ModelAndView modelAndView)
           
protected  List<String> getPropertyPaths()
          Subclasses should override this method to return a list of property paths that should be initialized for the getRecord, listRecords methods
 org.springframework.web.servlet.ModelAndView getRecord(LSID identifier, MetadataPrefix metadataPrefix)
          CannotDisseminateFormatException thrown by MetadataPrefixEditor
 org.springframework.web.servlet.ModelAndView getRecord(UUID identifier, MetadataPrefix metadataPrefix)
           
 org.springframework.web.servlet.ModelAndView handleBadArgument(Exception ex, javax.servlet.http.HttpServletRequest request)
           
 org.springframework.web.servlet.ModelAndView handleBadResumptionToken(Exception ex, javax.servlet.http.HttpServletRequest request)
           
 org.springframework.web.servlet.ModelAndView handleCannotDisseminateFormat(Exception ex, javax.servlet.http.HttpServletRequest request)
           
 org.springframework.web.servlet.ModelAndView handleIdDoesNotExist(Exception ex, javax.servlet.http.HttpServletRequest request)
           
 org.springframework.web.servlet.ModelAndView handleNoRecordsMatch(Exception ex, javax.servlet.http.HttpServletRequest request)
           
 org.springframework.web.servlet.ModelAndView identify()
           
 void initBinder(org.springframework.web.bind.WebDataBinder binder)
           
 boolean isRestrictToLsid()
           
 org.springframework.web.servlet.ModelAndView listIdentifiers(org.joda.time.DateTime from, org.joda.time.DateTime until, MetadataPrefix metadataPrefix, SetSpec set)
           
 org.springframework.web.servlet.ModelAndView listIdentifiers(String rToken)
           
 org.springframework.web.servlet.ModelAndView listMetadataFormats(LSID identifier)
          CannotDisseminateFormatException thrown by MetadataPrefixEditor
 org.springframework.web.servlet.ModelAndView listRecords(org.joda.time.DateTime from, org.joda.time.DateTime until, MetadataPrefix metadataPrefix, SetSpec set)
           
 org.springframework.web.servlet.ModelAndView listRecords(String rToken)
           
 org.springframework.web.servlet.ModelAndView listSets()
          CannotDisseminateFormatException thrown by MetadataPrefixEditor
protected  AuditEventRecord<T> obtainCdmEntity(LSID identifier)
           
 void setAdminEmail(String adminEmail)
           
 void setAuditEventService(IAuditEventService auditEventService)
           
 void setBaseURL(String baseURL)
           
 void setCacheProviderFacade(org.springmodules.cache.provider.CacheProviderFacade cacheProviderFacade)
          sets cache name to be used
 void setCachingModel(org.springmodules.cache.CachingModel cachingModel)
           
 void setDescription(String description)
           
 void setPageSize(Integer pageSize)
           
 void setProtocolVersion(String protocolVersion)
           
 void setRepositoryName(String repositoryName)
           
 void setRestrictToLsid(boolean restrictToLsid)
           
abstract  void setService(SERVICE service)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

service

protected SERVICE extends IIdentifiableEntityService<T> service

auditEventService

protected IAuditEventService auditEventService
Constructor Detail

AbstractOaiPmhController

public AbstractOaiPmhController()
Method Detail

setService

public abstract void setService(SERVICE service)

isRestrictToLsid

public boolean isRestrictToLsid()

setRestrictToLsid

public void setRestrictToLsid(boolean restrictToLsid)

setCacheProviderFacade

@Autowired
public void setCacheProviderFacade(org.springmodules.cache.provider.CacheProviderFacade cacheProviderFacade)
sets cache name to be used


setCachingModel

@Autowired
public void setCachingModel(org.springmodules.cache.CachingModel cachingModel)

getPropertyPaths

protected List<String> getPropertyPaths()
Subclasses should override this method to return a list of property paths that should be initialized for the getRecord, listRecords methods

Returns:

addSets

protected void addSets(org.springframework.web.servlet.ModelAndView modelAndView)
Subclasses should override this method and add a collection of eu.etaxonomy.cdm.remote.dto.oaipmh.Set objects called "sets" that will be returned in the response

Parameters:
modelAndView -

setAuditEventService

@Autowired
public void setAuditEventService(IAuditEventService auditEventService)

setRepositoryName

public void setRepositoryName(String repositoryName)

setBaseURL

public void setBaseURL(String baseURL)

setProtocolVersion

public void setProtocolVersion(String protocolVersion)

setAdminEmail

public void setAdminEmail(String adminEmail)

setDescription

public void setDescription(String description)

setPageSize

public void setPageSize(Integer pageSize)

initBinder

@InitBinder
public void initBinder(org.springframework.web.bind.WebDataBinder binder)

getRecord

@RequestMapping(method=GET,
                params="verb=GetRecord")
public org.springframework.web.servlet.ModelAndView getRecord(@RequestParam(value="identifier",required=true)
                                                                             LSID identifier,
                                                                             @RequestParam(value="metadataPrefix",required=true)
                                                                             MetadataPrefix metadataPrefix)
                                                       throws IdDoesNotExistException
CannotDisseminateFormatException thrown by MetadataPrefixEditor

Throws:
IdDoesNotExistException

getRecord

@RequestMapping(method=GET,
                params="verb=GetRecord")
public org.springframework.web.servlet.ModelAndView getRecord(@RequestParam(value="identifier",required=true)
                                                                             UUID identifier,
                                                                             @RequestParam(value="metadataPrefix",required=true)
                                                                             MetadataPrefix metadataPrefix)
                                                       throws IdDoesNotExistException
Throws:
IdDoesNotExistException

finishModelAndView

protected void finishModelAndView(LSID identifier,
                                  MetadataPrefix metadataPrefix,
                                  org.springframework.web.servlet.ModelAndView modelAndView)
                           throws IdDoesNotExistException
Parameters:
identifier -
metadataPrefix -
modelAndView -
Throws:
IdDoesNotExistException

obtainCdmEntity

protected AuditEventRecord<T> obtainCdmEntity(LSID identifier)
                                                                  throws IdDoesNotExistException
Parameters:
identifier -
Returns:
Throws:
IdDoesNotExistException

listMetadataFormats

@RequestMapping(method=GET,
                params="verb=ListMetadataFormats")
public org.springframework.web.servlet.ModelAndView listMetadataFormats(@RequestParam(value="identifier",required=false)
                                                                                       LSID identifier)
                                                                 throws IdDoesNotExistException
CannotDisseminateFormatException thrown by MetadataPrefixEditor

Throws:
IdDoesNotExistException

listSets

@RequestMapping(method=GET,
                params="verb=ListSets")
public org.springframework.web.servlet.ModelAndView listSets()
CannotDisseminateFormatException thrown by MetadataPrefixEditor


identify

@RequestMapping(method=GET,
                params="verb=Identify")
public org.springframework.web.servlet.ModelAndView identify()

listIdentifiers

@RequestMapping(method=GET,
                params={"verb=ListIdentifiers","!resumptionToken"})
public org.springframework.web.servlet.ModelAndView listIdentifiers(@RequestParam(value="from",required=false)
                                                                                   org.joda.time.DateTime from,
                                                                                   @RequestParam(value="until",required=false)
                                                                                   org.joda.time.DateTime until,
                                                                                   @RequestParam(value="metadataPrefix",required=true)
                                                                                   MetadataPrefix metadataPrefix,
                                                                                   @RequestParam(value="set",required=false)
                                                                                   SetSpec set)

listIdentifiers

@RequestMapping(method=GET,
                params={"verb=ListIdentifiers","resumptionToken"})
public org.springframework.web.servlet.ModelAndView listIdentifiers(@RequestParam(value="resumptionToken",required=true)
                                                                                   String rToken)

listRecords

@RequestMapping(method=GET,
                params={"verb=ListRecords","!resumptionToken"})
public org.springframework.web.servlet.ModelAndView listRecords(@RequestParam(value="from",required=false)
                                                                               org.joda.time.DateTime from,
                                                                               @RequestParam(value="until",required=false)
                                                                               org.joda.time.DateTime until,
                                                                               @RequestParam(value="metadataPrefix",required=true)
                                                                               MetadataPrefix metadataPrefix,
                                                                               @RequestParam(value="set",required=false)
                                                                               SetSpec set)

listRecords

@RequestMapping(method=GET,
                params={"verb=ListRecords","resumptionToken"})
public org.springframework.web.servlet.ModelAndView listRecords(@RequestParam(value="resumptionToken")
                                                                               String rToken)

handleBadArgument

@ResponseStatus(value=BAD_REQUEST)
@ExceptionHandler(value={java.lang.IllegalArgumentException.class,org.springframework.beans.TypeMismatchException.class,org.springframework.web.bind.MissingServletRequestParameterException.class})
public org.springframework.web.servlet.ModelAndView handleBadArgument(Exception ex,
                                                                                                                                                                                                                                                                             javax.servlet.http.HttpServletRequest request)

handleCannotDisseminateFormat

@ResponseStatus(value=BAD_REQUEST)
@ExceptionHandler(value=CannotDisseminateFormatException.class)
public org.springframework.web.servlet.ModelAndView handleCannotDisseminateFormat(Exception ex,
                                                                                                                                                        javax.servlet.http.HttpServletRequest request)

handleBadResumptionToken

@ResponseStatus(value=BAD_REQUEST)
@ExceptionHandler(value=BadResumptionTokenException.class)
public org.springframework.web.servlet.ModelAndView handleBadResumptionToken(Exception ex,
                                                                                                                                              javax.servlet.http.HttpServletRequest request)

handleNoRecordsMatch

@ExceptionHandler(value=NoRecordsMatchException.class)
public org.springframework.web.servlet.ModelAndView handleNoRecordsMatch(Exception ex,
                                                                                                                       javax.servlet.http.HttpServletRequest request)

handleIdDoesNotExist

@ResponseStatus(value=NOT_FOUND)
@ExceptionHandler(value=IdDoesNotExistException.class)
public org.springframework.web.servlet.ModelAndView handleIdDoesNotExist(Exception ex,
                                                                                                                                      javax.servlet.http.HttpServletRequest request)


Copyright © 2007-2013 EDIT. All Rights Reserved.