Interface MetadataTemplateService
-
- All Superinterfaces:
CRUDService<java.lang.Long,MetadataTemplate>
- All Known Implementing Classes:
MetadataTemplateServiceImpl
public interface MetadataTemplateService extends CRUDService<java.lang.Long,MetadataTemplate>
Service for managingMetadataTemplates and relatedProjects
-
-
Method Summary
-
Methods inherited from interface ca.corefacility.bioinformatics.irida.service.CRUDService
count, create, delete, exists, findAll, findRevisions, findRevisions, list, list, list, read, readMultiple, search, search, update, updateFields, updateMultiple
-
-
-
-
Method Detail
-
createMetadataTemplateInProject
MetadataTemplate createMetadataTemplateInProject(MetadataTemplate template, Project project)
Create a newMetadataTemplatefor aProject- Parameters:
template- theMetadataTemplateto createproject- theProjectto create the template in- Returns:
- a
MetadataTemplate
-
deleteMetadataTemplateFromProject
void deleteMetadataTemplateFromProject(Project project, java.lang.Long id)
Deleta aMetadataTemplatefrom aProject- Parameters:
project- theProjectto template lives in.id- theLongidentifier for aMetadataTemplate
-
updateMetadataTemplateInProject
MetadataTemplate updateMetadataTemplateInProject(MetadataTemplate metadataTemplate)
Update aMetadataTemplatewithin aProject- Parameters:
metadataTemplate-MetadataTemplate- Returns:
MetadataTemplate
-
getMetadataTemplatesForProject
java.util.List<MetadataTemplate> getMetadataTemplatesForProject(Project project)
Get a list ofMetadataTemplates for a givenProject- Parameters:
project- theProject- Returns:
- a list of
MetadataTemplate
-
readMetadataField
MetadataTemplateField readMetadataField(java.lang.Long id)
Get aMetadataTemplateFieldby itsLongidentifier- Parameters:
id-Longidentifier for aMetadataTemplateField- Returns:
MetadataTemplateField
-
readMetadataFieldByLabel
MetadataTemplateField readMetadataFieldByLabel(java.lang.String label)
Get aMetadataTemplateFieldby itsStringlabel- Parameters:
label- theStringlabel for theMetadataTemplateField.- Returns:
MetadataTemplateField
-
readMetadataFieldByKey
MetadataTemplateField readMetadataFieldByKey(java.lang.String key)
Read aMetadataTemplateFieldby its key- Parameters:
key- key for the field- Returns:
- a
MetadataTemplateField
-
getStaticMetadataFields
java.util.List<StaticMetadataTemplateField> getStaticMetadataFields()
Get a list of allStaticMetadataTemplateFields available- Returns:
- a list of
StaticMetadataTemplateField
-
saveMetadataField
MetadataTemplateField saveMetadataField(MetadataTemplateField field)
Save a new metadata fields- Parameters:
field- theMetadataTemplateFieldto save.- Returns:
- the saved
MetadataTemplateField
-
getAllMetadataFieldsByQueryString
java.util.List<MetadataTemplateField> getAllMetadataFieldsByQueryString(java.lang.String query)
Get a list of allMetadataTemplateFields that contain the query- Parameters:
query- theStringto search labels for.- Returns:
ListofMetadataTemplateField
-
convertMetadataStringsToSet
java.util.Set<MetadataEntry> convertMetadataStringsToSet(java.util.Map<java.lang.String,MetadataEntry> metadataMap)
Get the appropriateMetadataTemplateFields andMetadataEntrys for a given map of Strings- Parameters:
metadataMap- the strings to convert- Returns:
- a Set of
MetadataEntrys
-
getMetadataFieldsForProject
@Deprecated java.util.List<MetadataTemplateField> getMetadataFieldsForProject(Project project)
Deprecated.Get all theMetadataTemplateFields on a givenProject- Parameters:
project- the Project to get fields for- Returns:
- a list of fields
-
getMetadataRestrictionForFieldAndProject
MetadataRestriction getMetadataRestrictionForFieldAndProject(Project project, MetadataTemplateField field)
- Parameters:
project- theProjectto get the restriction forfield- theMetadataTemplateFieldto get the restriction for- Returns:
- The found
MetadataRestriction. If there is no restriction defined, this may be null
-
getMetadataRestrictionsForProject
java.util.List<MetadataRestriction> getMetadataRestrictionsForProject(Project project)
List all theMetadataRestrictionfor the givenProject- Parameters:
project- theProjectthe Project to get restrictions for- Returns:
- a List of all defined
MetadataRestriction
-
setMetadataRestriction
MetadataRestriction setMetadataRestriction(Project project, MetadataTemplateField field, ProjectMetadataRole role)
Adds or updates theMetadataRestrictionfor a project and field- Parameters:
project- theProjectto add a restriction forfield- the field to set a restriction onrole- the role level to set the restriction for- Returns:
- the created
MetadataRestriction
-
getPermittedFieldsForTemplate
java.util.List<MetadataTemplateField> getPermittedFieldsForTemplate(MetadataTemplate template)
Get allMetadataTemplateFieldthe current user is allowed to read for aMetadataTemplate- Parameters:
template- theMetadataTemplateto get fields for- Returns:
- a list of
MetadataTemplateField
-
getPermittedFieldsForCurrentUser
java.util.List<MetadataTemplateField> getPermittedFieldsForCurrentUser(Project project, boolean includeTemplateFields)
Get allMetadataTemplateFieldthat the currently logged in user is allowed to read- Parameters:
project- theProjectto request fields fromincludeTemplateFields- whether to include fields from the project's associatedMetadataTemplates- Returns:
- a list of
MetadataTemplateFieldcollecting the allowedMetadataTemplateField
-
getDefaultTemplateForProject
MetadataTemplate getDefaultTemplateForProject(Project project)
Get the defaultMetadataTemplatefor the givenProject(if one exists)- Parameters:
project- theProjectto get the template for- Returns:
- the default
MetadataTemplateif one is set
-
updateDefaultMetadataTemplateForProject
MetadataTemplate updateDefaultMetadataTemplateForProject(Project project, MetadataTemplate template)
Update whichMetadataTemplateis the default for the givenProject- Parameters:
project- theProjectto set a template ontemplate- theMetadataTemplateto set- Returns:
- the new default
MetadataTemplate
-
removeDefaultMetadataTemplateForProject
void removeDefaultMetadataTemplateForProject(Project project)
Remove the defaultMetadataTemplatefrom the project. It will now use all fields as default- Parameters:
project- theProjectto remove the template from
-
-