Class ExpressionExperimentSetController

java.lang.Object
ubic.gemma.web.controller.expression.experiment.ExpressionExperimentSetController

@Controller @RequestMapping("/expressionExperimentSet") public class ExpressionExperimentSetController extends Object
For fetching and manipulating ExpressionExperimentSets. Methods take collections to be compatible with Store interfaces.
Author:
paul
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final org.apache.commons.logging.Log
     
    protected org.springframework.context.MessageSource
     
    protected MessageUtil
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    ubic.gemma.model.expression.experiment.SessionBoundExpressionExperimentSetValueObject
    addSessionGroup(ubic.gemma.model.expression.experiment.SessionBoundExpressionExperimentSetValueObject eesvo, Boolean modificationBased)
    AJAX adds the Expression Experiment group to the session
    Collection<ubic.gemma.model.expression.experiment.SessionBoundExpressionExperimentSetValueObject>
    addSessionGroups(Collection<ubic.gemma.model.expression.experiment.SessionBoundExpressionExperimentSetValueObject> eeSetVos, Boolean modificationBased)
    Deprecated. 
    Collection<ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject>
    addUserAndSessionGroups(Collection<ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject> sets)
    AJAX adds the experiment group to the session
    canCurrentUserEditGroup(ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject eesvo)
    AJAX returns a JSON string encoding whether the current user owns the group and whether the group is db-backed
    Collection<ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject>
    create(Collection<ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject> entities)
     
     
    Collection<ubic.gemma.model.expression.experiment.ExpressionExperimentDetailsValueObject>
    getExperimentsInSet(Long groupId, Integer limit)
     
    ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject
    load(Long id)
    AJAX
    Collection<ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject>
    AJAX returns all available sets that have a taxon value (so not really all) sets can have *any* number of experiments
    Collection<ubic.gemma.model.expression.experiment.SessionBoundExpressionExperimentSetValueObject>
    AJAX
    Collection<ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject>
    AJAX
    Collection<ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject>
    AJAX
    ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject
     
    Collection<ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject>
    remove(Collection<ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject> entities)
     
    Collection<ubic.gemma.model.expression.experiment.SessionBoundExpressionExperimentSetValueObject>
    removeSessionGroups(Collection<ubic.gemma.model.expression.experiment.SessionBoundExpressionExperimentSetValueObject> vos)
    AJAX Given a valid experiment group will remove it from the session.
    Collection<ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject>
    removeUserAndSessionGroups(Collection<ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject> vos)
    AJAX Given valid experiment groups will remove them from the session or the database appropriately.
    org.springframework.web.servlet.ModelAndView
     
    Collection<ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject>
    update(Collection<ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject> entities)
     
    updateMembers(Long groupId, Collection<Long> eeIds)
    AJAX Updates the given group (permission permitting) with the given list of memberIds.
    ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject
    updateNameDesc(ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject eeSetVO)
    AJAX Updates the database record for the param experiment set value object (permission permitting) with the value object's name and description.
    Collection<ubic.gemma.model.expression.experiment.SessionBoundExpressionExperimentSetValueObject>
    updateSessionGroups(Collection<ubic.gemma.model.expression.experiment.SessionBoundExpressionExperimentSetValueObject> vos)
    AJAX Updates the session group.
    Collection<ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject>
    updateUserAndSessionGroups(Collection<ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject> vos)
    AJAX Updates the session group and user database groups.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • log

      protected final org.apache.commons.logging.Log log
    • messageSource

      @Autowired protected org.springframework.context.MessageSource messageSource
    • messageUtil

      @Autowired protected MessageUtil messageUtil
  • Constructor Details

    • ExpressionExperimentSetController

      public ExpressionExperimentSetController()
  • Method Details

    • addSessionGroups

      @Deprecated public Collection<ubic.gemma.model.expression.experiment.SessionBoundExpressionExperimentSetValueObject> addSessionGroups(Collection<ubic.gemma.model.expression.experiment.SessionBoundExpressionExperimentSetValueObject> eeSetVos, Boolean modificationBased)
      Deprecated.
      AJAX adds the Expression Experiment group to the session
      Parameters:
      eeSetVos - value object constructed on the client.
      modificationBased - whether the set was modified by the user
      Returns:
      collection of added session groups (with updated reference.id etc)
    • addSessionGroup

      public ubic.gemma.model.expression.experiment.SessionBoundExpressionExperimentSetValueObject addSessionGroup(ubic.gemma.model.expression.experiment.SessionBoundExpressionExperimentSetValueObject eesvo, Boolean modificationBased)
      AJAX adds the Expression Experiment group to the session
    • addUserAndSessionGroups

      public Collection<ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject> addUserAndSessionGroups(Collection<ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject> sets)
      AJAX adds the experiment group to the session
      Returns:
      the new gene groups
    • canCurrentUserEditGroup

      public String canCurrentUserEditGroup(ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject eesvo)
      AJAX returns a JSON string encoding whether the current user owns the group and whether the group is db-backed
    • create

      public Collection<ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject> create(Collection<ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject> entities)
    • getExperimentIdsInSet

      public Collection<Long> getExperimentIdsInSet(Long id)
    • getExperimentsInSet

      public Collection<ubic.gemma.model.expression.experiment.ExpressionExperimentDetailsValueObject> getExperimentsInSet(Long groupId, Integer limit)
      Parameters:
      limit - to return only up to a given number of experiments, e.g. for a preview of the set.
    • load

      public ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject load(Long id)
      AJAX
      Parameters:
      id - of the set
      Returns:
      the ExpressionExperimentSetValueObject for the id param
      Throws:
      IllegalArgumentException - if the id param is null
      org.springframework.security.access.AccessDeniedException - if the id param is not null but the loading function returns a null value
    • loadAll

      public Collection<ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject> loadAll()
      AJAX returns all available sets that have a taxon value (so not really all) sets can have *any* number of experiments
      Returns:
      all available sets that have a taxon value
    • loadAllSessionGroups

      public Collection<ubic.gemma.model.expression.experiment.SessionBoundExpressionExperimentSetValueObject> loadAllSessionGroups()
      AJAX
      Returns:
      all available session backed sets
    • loadAllUserAndSessionGroups

      public Collection<ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject> loadAllUserAndSessionGroups()
      AJAX
      Returns:
      all available sets from db and also session backed sets
    • loadAllUserOwnedAndSessionGroups

      public Collection<ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject> loadAllUserOwnedAndSessionGroups()
      AJAX
      Returns:
      all available sets that have a taxon value from db and also session backed sets
    • loadByName

      public ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject loadByName(String name)
    • remove

      public Collection<ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject> remove(Collection<ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject> entities)
      Returns:
      the entities which were removed.
    • removeSessionGroups

      public Collection<ubic.gemma.model.expression.experiment.SessionBoundExpressionExperimentSetValueObject> removeSessionGroups(Collection<ubic.gemma.model.expression.experiment.SessionBoundExpressionExperimentSetValueObject> vos)
      AJAX Given a valid experiment group will remove it from the session.
    • removeUserAndSessionGroups

      public Collection<ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject> removeUserAndSessionGroups(Collection<ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject> vos)
      AJAX Given valid experiment groups will remove them from the session or the database appropriately.
    • showExpressionExperimentSet

      @RequestMapping(value="/showExpressionExperimentSet.html", method={GET,HEAD}) public org.springframework.web.servlet.ModelAndView showExpressionExperimentSet(@RequestParam("id") Long id)
    • update

      public Collection<ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject> update(Collection<ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject> entities)
      Returns:
      the entities which were updated (even if they weren't actually updated)
    • updateMembers

      public String updateMembers(Long groupId, Collection<Long> eeIds)
      AJAX Updates the given group (permission permitting) with the given list of memberIds. Will not allow the same experiment to be added to the set twice. Will not update name or description, just members.
      Parameters:
      groupId - id of the gene set being updated
      Returns:
      error message or null if no errors
    • updateNameDesc

      public ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject updateNameDesc(ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject eeSetVO)
      AJAX Updates the database record for the param experiment set value object (permission permitting) with the value object's name and description.
      Parameters:
      eeSetVO - the value object that represents the database record to update
      Returns:
      a value object for the updated set
    • updateSessionGroups

      public Collection<ubic.gemma.model.expression.experiment.SessionBoundExpressionExperimentSetValueObject> updateSessionGroups(Collection<ubic.gemma.model.expression.experiment.SessionBoundExpressionExperimentSetValueObject> vos)
      AJAX Updates the session group.
    • updateUserAndSessionGroups

      public Collection<ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject> updateUserAndSessionGroups(Collection<ubic.gemma.model.expression.experiment.ExpressionExperimentSetValueObject> vos)
      AJAX Updates the session group and user database groups.