Class ListMakerService
- java.lang.Object
-
- org.intermine.webservice.server.WebService
-
- org.intermine.webservice.server.core.JSONService
-
- org.intermine.webservice.server.lists.AbstractListService
-
- org.intermine.webservice.server.lists.AuthenticatedListService
-
- org.intermine.webservice.server.lists.ListMakerService
-
- Direct Known Subclasses:
ListOperationService
,ListUploadService
public abstract class ListMakerService extends AuthenticatedListService
A base class for all list services that create lists.- Author:
- Alexis Kalderimis
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.String
LIST_TYPE_KEY
-
Fields inherited from class org.intermine.webservice.server.lists.AbstractListService
LIST_DESCRIPTION_KEY, LIST_ID_KEY, LIST_NAME_KEY, LIST_SIZE_KEY
-
Fields inherited from class org.intermine.webservice.server.core.JSONService
bagManager, model
-
Fields inherited from class org.intermine.webservice.server.WebService
dataPackageOutput, DEFAULT_CALLBACK, im, os, out, output, request, response, webProperties
-
-
Constructor Summary
Constructors Constructor Description ListMakerService(InterMineAPI api)
Constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected boolean
canServe(Format format)
Check whether the format is acceptable.protected void
execute()
Runs service.protected Format
getDefaultFormat()
protected java.util.Map<java.lang.String,java.lang.Object>
getHeaderAttributes()
Get the header attributes to apply to the formatter.protected abstract java.lang.String
getNewListType(ListInput input)
Calculate the type of the new list.protected void
initialiseDelendumAccumulator(java.util.Set<java.lang.String> accumulator, ListInput input)
Initialise the accumulator that builds up the list of temporary lists to delete.protected abstract void
makeList(ListInput input, java.lang.String type, Profile profile, java.util.Set<java.lang.String> temporaryBagNamesAccumulator)
Make the list requested by the user.protected void
validateState()
Subclasses can put initialisation checks here.-
Methods inherited from class org.intermine.webservice.server.lists.AbstractListService
getClassesForBags, getInput
-
Methods inherited from class org.intermine.webservice.server.core.JSONService
addOutputInfo, addResultEntries, addResultEntries, addResultEntry, addResultEntry, addResultItem, addResultItem, addResultValue, addResultValue, addResultValue, getResultsKey, lazyList, postInit
-
Methods inherited from class org.intermine.webservice.server.WebService
cleanUp, formatIsFlatFile, formatIsJSON, formatIsJSONP, formatIsXML, getAuthenticatedUser, getCallback, getColumnHeaderStyle, getDefaultFileName, getDefaultOutput, getDefaultOutput, getExtension, getFormat, getIntParameter, getIntParameter, getLineBreak, getListManager, getOptionalParameter, getOptionalParameter, getPermission, getProperty, getRawOutput, getRequestFileName, getRequiredParameter, hasCallback, initState, isAuthenticated, isGzip, isUncompressed, isZip, makeJSONOutput, makeXMLOutput, service, setFormat, setNameSpace, wantsColumnHeaders, wantsDataPackage
-
-
-
-
Field Detail
-
LIST_TYPE_KEY
protected static final java.lang.String LIST_TYPE_KEY
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ListMakerService
public ListMakerService(InterMineAPI api)
Constructor.- Parameters:
api
- The InterMine settings bundle.
-
-
Method Detail
-
validateState
protected void validateState()
Description copied from class:WebService
Subclasses can put initialisation checks here. The main use case is for confirming authentication.- Overrides:
validateState
in classAuthenticatedListService
-
getHeaderAttributes
protected java.util.Map<java.lang.String,java.lang.Object> getHeaderAttributes()
Description copied from class:JSONService
Get the header attributes to apply to the formatter.- Overrides:
getHeaderAttributes
in classJSONService
- Returns:
- A map from string to object.
-
getDefaultFormat
protected Format getDefaultFormat()
- Overrides:
getDefaultFormat
in classJSONService
- Returns:
- The default format constant for this service.
-
canServe
protected boolean canServe(Format format)
Description copied from class:WebService
Check whether the format is acceptable. By default returns true. Services with a particular set of accepted formats should override this and check.- Overrides:
canServe
in classWebService
- Parameters:
format
- The format to check.- Returns:
- whether or not this format is acceptable.
-
initialiseDelendumAccumulator
protected void initialiseDelendumAccumulator(java.util.Set<java.lang.String> accumulator, ListInput input)
Initialise the accumulator that builds up the list of temporary lists to delete.- Parameters:
accumulator
- The accumulator we are using.input
- The parsed parameter input.
-
getNewListType
protected abstract java.lang.String getNewListType(ListInput input)
Calculate the type of the new list.- Parameters:
input
- The parsed parameter input.- Returns:
- The type name.
-
execute
protected void execute() throws java.lang.Exception
Description copied from class:WebService
Runs service. This is abstract method, that must be defined in subclasses and so performs something useful. Standard procedure is overwrite this method in subclasses and let this method to be called from WebService.doGet method that encapsulates logic common for all web services else you can overwrite doGet method in your web service class and manage all the things alone.- Specified by:
execute
in classWebService
- Throws:
java.lang.Exception
- if some error occurs
-
makeList
protected abstract void makeList(ListInput input, java.lang.String type, Profile profile, java.util.Set<java.lang.String> temporaryBagNamesAccumulator) throws java.lang.Exception
Make the list requested by the user.- Parameters:
input
- The parsed parameter input.type
- The type of the new list.profile
- The profile to save the list in.temporaryBagNamesAccumulator
- The accumulator to store the list of bags to delete.- Throws:
java.lang.Exception
- If something goes wrong.
-
-