gov.nih.nci.caarray.services.experiment.ejb
Class ExperimentManagerEJB

java.lang.Object
  extended by gov.nih.nci.caarray.services.util.AbstractSessionBean
      extended by gov.nih.nci.caarray.services.experiment.ejb.ExperimentManagerEJB
All Implemented Interfaces:
java.io.Serializable, javax.ejb.EnterpriseBean, javax.ejb.SessionBean

public class ExperimentManagerEJB
extends AbstractSessionBean
implements javax.ejb.SessionBean

ExperimentManagerEJB

Author:
TranP
See Also:
Serialized Form

Field Summary
 
Fields inherited from class gov.nih.nci.caarray.services.util.AbstractSessionBean
logger_, sessionCtx_
 
Constructor Summary
ExperimentManagerEJB()
           
 
Method Summary
 void addAdditionalDataProcessing(long experimentId, AdditionalDataProcessingData addDataProcessing)
           
 void addAdditionalQualifier(long experimentId, AdditionalQualifierData qualifier)
           
 void addAdditionalUploadedFile(long experimentId, AdditionalUploadedFileData uploadData)
           
 long addExperiment(ExperimentData experimentData, ExperimentalFactorData[] factors)
          Adds a new experiment.
 void addExperimentalFactors(long experimentId, ExperimentalFactorData[] factorData)
           
 long addFactorValue(long experimentalFactorId, FactorValueData valueData)
           
 long addHybridizationFileUpload(long experimentId, HybridizationFileUploadData uploadData)
          Deprecated. This method is replaced by FileUploadManagerEJB.addHybridizationFileUploadGroup
 HybridizationFileUploadData[] addHybridizationFileUploads(long experimentId, HybridizationFileUploadData[] uploadData)
          Deprecated. This method is replaced by FileUploadManagerEJB.addHybridizationFileUploadGroup
 long addPublication(long experimentId, PublicationData pubData)
           
 void addQualityControl(long experimentId, QualityControlData qualityControlData)
           
 boolean checkBatchDownloadFile(long experimentId, java.lang.String fileExtension)
          Check Batch Download Files are existing or not.
 void deleteAdditionalDataProcessingFromExperiment(long experimentId, long id)
           
 void deleteAdditionalQualifierFromExperiment(long experimentId, long id)
           
 void deleteAdditionalUploadedFileFromExperiment(long experimentId, long id)
           
 ExperimentDeletionResult deleteExperiment(ExperimentData experimentData)
          Deletes an experiment and associated files from the system.
 void deleteExperiment(long experimentId)
           
 void deleteExperimentalFactorFromExperiment(long experimentId, long id)
           
 void deleteFactorValueFromExperimentalFactor(long experimentalFactorId, long factorValueId)
           
 void deleteHybridizationFileUploadFromExperiment(long experimentId, long id)
          Deprecated. - No longer applicable
 HybridizationDeletionResult deleteHybridizations(HybridizationDeletionConfiguration configuration)
          Deletes an experiment and associated files from the system.
 void deletePublicationFromExperiment(long experimentId, long pubId)
           
 void deleteQualityControlFromExperiment(long experimentId, long id)
           
 void ejbCreate()
           
 void ejbRemove()
          called when remove method is called.
 AdditionalDataProcessingData getAdditionalDataProcessing(long id)
          Retrieves the AdditionalDataProcessingData object from the persistence store.
 AdditionalDataProcessingData[] getAdditionalDataProcessings(long experimentId)
          Retrieves the AdditionalDataProcessingData object from the persistence store.
 AdditionalUploadedFileData getAdditionalUploadedFile(long id)
          Retrieves a AdditionalDataProcessingData object from the persistence store.
 AdditionalUploadedFileData[] getAdditionalUploadedFiles(long experimentId)
          Retrieves the AdditionalDataProcessingData object from the persistence store.
 java.lang.String getDataFilesDirectory(long experimentId)
          Gets the directory for storing additional uploaded files and and additional data processing files that are associated with an experiment.
 ExperimentData getExperiment(long id)
          Retrieves the Experiment object from the persistence store.
 ExperimentalFactorData[] getExperimentalFactors(long experimentId)
           
 ExperimentView getExperimentView(long id)
          Retrieves the Experiment object from the persistence store.
 FactorValueData[] getFactorValues(long experimentalFactorId)
           
 HybridizationFileUploadData getHybridizationFileUpload(long hybUploadId)
          Deprecated. This method is replaced by FileUploadManagerEJB.addHybridizationFileUploadEntry
 HybridizationFileUploadData[] getHybridizationFileUploads(long experimentId)
          Deprecated. This method is replaced by FileUploadManagerEJB.getHybridizationFileUploadEntries
 HybridizationFileUploadData[] getHybridizationFileUploads(long[] hybUploadIds)
           
 java.lang.String getInputFilesDirectory()
          Gets the directory for uploading Experiment MAGEML's to.
 java.lang.String getInputFilesDirectory(long experimentId)
          Deprecated. need to sraigten backend. Move files from ftp area to common area and download from there
 FileData getLatestMAGEML(long experimentId)
          Gets the information about the latest caARRAY-generated MAGEML for the specified experiment.
 ExperimentCleaningConfiguration loadInformation(ExperimentCleaningConfiguration configuration)
           
 boolean lockExperiment(long experimentId)
          Locks a particular experiment by changing the visibility to public and relinquishing ownership.
 ExperimentDesc[] searchExperiments(ExperimentSearchCriteria criteria)
          Searches Experiments
 ExperimentDesc[] searchExperiments(ExperimentSearchCriteria criteria, int pageSize, int pageNum)
          Searches Experiments pagesize 0 imples return averything.
 void submitHybridizationFileUploadsForParsing(long experimentId, long[] hybFileUploadIds)
          Deprecated. This functionality is handled by FileUploadManagerEJB for 1.3
 void submitMAGEMLFile(java.lang.String magemlPathName)
          This method puts the specified zip file which is residing on the caARRAY server on the queue for the parsing and storing process of MAGEML's.
 void submitMAGEMLGeneration(long experimentId)
          Submits a MAGEML generation message to the responsible Message Driven Bean to generate MAGEML for the specified experiment.
 void updateAdditionalQualifier(long experimentId, AdditionalQualifierData qualifier)
           
 long updateExperiment(ExperimentData experimentData)
           
 void updateExperimentalFactor(long experimentId, ExperimentalFactorData factor)
           
 void updateExperimentalFactors(long experimentId, ExperimentalFactorData[] factorData)
           
 void updateHybridizationFileUpload(HybridizationFileUploadData uploadData)
          Deprecated. This method is replaced by FileUploadManagerEJB.addHybridizationFileUploadGroup
 void updateProtocolApplication(ProtocolApplicationData pData)
           
 void updatePublication(long experimentId, PublicationData pubData)
           
 void updateQualityControl(long experimentId, QualityControlData qualityControlData)
           
 
Methods inherited from class gov.nih.nci.caarray.services.util.AbstractSessionBean
disableAndRememberPreviousValueForCollectionDescriptorCascadeRetrieve, disableAndRememberPreviousValueForObjectDescriptorCascadeRetrieve, ejbActivate, ejbPassivate, getUserTransaction, resetCollectionDescriptorCascadeToPreviousValue, resetObjectDescriptorCascadeToPreviousValue, setSessionContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.ejb.SessionBean
ejbActivate, ejbPassivate, setSessionContext
 

Constructor Detail

ExperimentManagerEJB

public ExperimentManagerEJB()
Method Detail

ejbCreate

public void ejbCreate()
               throws java.rmi.RemoteException,
                      javax.ejb.CreateException
Overrides:
ejbCreate in class AbstractSessionBean
Throws:
javax.ejb.CreateException
java.rmi.RemoteException

ejbRemove

public void ejbRemove()
               throws javax.ejb.EJBException,
                      java.rmi.RemoteException
called when remove method is called.

Specified by:
ejbRemove in interface javax.ejb.SessionBean
Overrides:
ejbRemove in class AbstractSessionBean
Throws:
javax.ejb.EJBException
java.rmi.RemoteException

addExperiment

public long addExperiment(ExperimentData experimentData,
                          ExperimentalFactorData[] factors)
                   throws java.lang.Exception
Adds a new experiment.

Parameters:
experimentData - - The experiment to be added
factors - - An array of factors that are to be added and associated with the specified experiment. If NULL is provided, it's ignored.
Returns:
- The ID of the newly added Experiment or a non-positive integer if the experiment cannot be added.
Throws:
java.lang.Exception

updateExperiment

public long updateExperiment(ExperimentData experimentData)
                      throws java.lang.Exception
Returns:
- A object representing the ID of the Experiment being inserted or null otherwise.
Throws:
java.lang.Exception

deleteExperiment

public void deleteExperiment(long experimentId)
                      throws java.lang.Exception
Throws:
java.lang.Exception

addPublication

public long addPublication(long experimentId,
                           PublicationData pubData)
                    throws java.lang.Exception
Returns:
- A object representing the ID of the Experiment being inserted or null otherwise.
Throws:
java.lang.Exception

updatePublication

public void updatePublication(long experimentId,
                              PublicationData pubData)
                       throws java.lang.Exception
Throws:
java.lang.Exception

deletePublicationFromExperiment

public void deletePublicationFromExperiment(long experimentId,
                                            long pubId)
                                     throws java.lang.Exception
Throws:
java.lang.Exception

addHybridizationFileUpload

public long addHybridizationFileUpload(long experimentId,
                                       HybridizationFileUploadData uploadData)
                                throws java.lang.Exception
Deprecated. This method is replaced by FileUploadManagerEJB.addHybridizationFileUploadGroup

This method should be called after the files contained in the specified HybridizationFileUploadData are uploaded to the caARRAY server. This method adds the experiment data contained in the object and then sends the uploaded hybridization files to the parsing service for parsing and storing the hybridization data.

Throws:
java.lang.Exception

addHybridizationFileUploads

public HybridizationFileUploadData[] addHybridizationFileUploads(long experimentId,
                                                                 HybridizationFileUploadData[] uploadData)
                                                          throws java.lang.Exception
Deprecated. This method is replaced by FileUploadManagerEJB.addHybridizationFileUploadGroup

This method should be called after the files contained in the specified HybridizationFileUploadData are uploaded to the caARRAY server. This method adds the experiment data contained in the object and then sends the uploaded hybridization files to the parsing service for parsing and storing the hybridization data.

Throws:
java.lang.Exception

updateHybridizationFileUpload

public void updateHybridizationFileUpload(HybridizationFileUploadData uploadData)
                                   throws java.lang.Exception
Deprecated. This method is replaced by FileUploadManagerEJB.addHybridizationFileUploadGroup

Throws:
java.lang.Exception

deleteHybridizationFileUploadFromExperiment

public void deleteHybridizationFileUploadFromExperiment(long experimentId,
                                                        long id)
                                                 throws java.lang.Exception
Deprecated. - No longer applicable

Throws:
java.lang.Exception

getHybridizationFileUploads

public HybridizationFileUploadData[] getHybridizationFileUploads(long experimentId)
                                                          throws java.lang.Exception
Deprecated. This method is replaced by FileUploadManagerEJB.getHybridizationFileUploadEntries

Throws:
java.lang.Exception

getHybridizationFileUpload

public HybridizationFileUploadData getHybridizationFileUpload(long hybUploadId)
                                                       throws java.lang.Exception
Deprecated. This method is replaced by FileUploadManagerEJB.addHybridizationFileUploadEntry

Throws:
java.lang.Exception

getHybridizationFileUploads

public HybridizationFileUploadData[] getHybridizationFileUploads(long[] hybUploadIds)
                                                          throws java.lang.Exception
Throws:
java.lang.Exception

searchExperiments

public ExperimentDesc[] searchExperiments(ExperimentSearchCriteria criteria)
                                   throws java.lang.Exception
Searches Experiments

Throws:
java.lang.Exception

searchExperiments

public ExperimentDesc[] searchExperiments(ExperimentSearchCriteria criteria,
                                          int pageSize,
                                          int pageNum)
                                   throws java.lang.Exception
Searches Experiments pagesize 0 imples return averything. pageNum 0 implies first page.

Throws:
java.lang.Exception

addAdditionalQualifier

public void addAdditionalQualifier(long experimentId,
                                   AdditionalQualifierData qualifier)
                            throws java.lang.Exception
Throws:
java.lang.Exception

updateAdditionalQualifier

public void updateAdditionalQualifier(long experimentId,
                                      AdditionalQualifierData qualifier)
                               throws java.lang.Exception
Throws:
java.lang.Exception

deleteAdditionalQualifierFromExperiment

public void deleteAdditionalQualifierFromExperiment(long experimentId,
                                                    long id)
                                             throws java.lang.Exception
Throws:
java.lang.Exception

addExperimentalFactors

public void addExperimentalFactors(long experimentId,
                                   ExperimentalFactorData[] factorData)
                            throws java.lang.Exception
Throws:
java.lang.Exception

getExperimentalFactors

public ExperimentalFactorData[] getExperimentalFactors(long experimentId)
                                                throws java.lang.Exception
Throws:
java.lang.Exception

updateExperimentalFactor

public void updateExperimentalFactor(long experimentId,
                                     ExperimentalFactorData factor)
                              throws java.lang.Exception
Throws:
java.lang.Exception

updateExperimentalFactors

public void updateExperimentalFactors(long experimentId,
                                      ExperimentalFactorData[] factorData)
                               throws java.lang.Exception
Throws:
java.lang.Exception

deleteExperimentalFactorFromExperiment

public void deleteExperimentalFactorFromExperiment(long experimentId,
                                                   long id)
                                            throws java.lang.Exception
Throws:
java.lang.Exception

getFactorValues

public FactorValueData[] getFactorValues(long experimentalFactorId)
                                  throws java.lang.Exception
Throws:
java.lang.Exception

addFactorValue

public long addFactorValue(long experimentalFactorId,
                           FactorValueData valueData)
                    throws java.lang.Exception
Throws:
java.lang.Exception

deleteFactorValueFromExperimentalFactor

public void deleteFactorValueFromExperimentalFactor(long experimentalFactorId,
                                                    long factorValueId)
                                             throws java.lang.Exception
Throws:
java.lang.Exception

addQualityControl

public void addQualityControl(long experimentId,
                              QualityControlData qualityControlData)
                       throws java.lang.Exception
Throws:
java.lang.Exception

updateQualityControl

public void updateQualityControl(long experimentId,
                                 QualityControlData qualityControlData)
                          throws java.lang.Exception
Throws:
java.lang.Exception

deleteQualityControlFromExperiment

public void deleteQualityControlFromExperiment(long experimentId,
                                               long id)
                                        throws java.lang.Exception
Throws:
java.lang.Exception

getExperimentView

public ExperimentView getExperimentView(long id)
                                 throws java.lang.Exception
Retrieves the Experiment object from the persistence store.

Returns:
- An ExperimentData object which ID matches the specified ID or null otherwise.
Throws:
java.lang.Exception

getExperiment

public ExperimentData getExperiment(long id)
                             throws java.lang.Exception
Retrieves the Experiment object from the persistence store.

Returns:
- An ExperimentData object which ID matches the specified ID or null otherwise.
Throws:
java.lang.Exception

addAdditionalDataProcessing

public void addAdditionalDataProcessing(long experimentId,
                                        AdditionalDataProcessingData addDataProcessing)
                                 throws java.lang.Exception
Throws:
java.lang.Exception

deleteAdditionalDataProcessingFromExperiment

public void deleteAdditionalDataProcessingFromExperiment(long experimentId,
                                                         long id)
                                                  throws java.lang.Exception
Throws:
java.lang.Exception

addAdditionalUploadedFile

public void addAdditionalUploadedFile(long experimentId,
                                      AdditionalUploadedFileData uploadData)
                               throws java.lang.Exception
Throws:
java.lang.Exception

deleteAdditionalUploadedFileFromExperiment

public void deleteAdditionalUploadedFileFromExperiment(long experimentId,
                                                       long id)
                                                throws java.lang.Exception
Throws:
java.lang.Exception

getAdditionalDataProcessing

public AdditionalDataProcessingData getAdditionalDataProcessing(long id)
                                                         throws java.lang.Exception
Retrieves the AdditionalDataProcessingData object from the persistence store.

Returns:
- An AdditionalDataProcessingData object that has the specified ID.
Throws:
java.lang.Exception

getAdditionalDataProcessings

public AdditionalDataProcessingData[] getAdditionalDataProcessings(long experimentId)
                                                            throws java.lang.Exception
Retrieves the AdditionalDataProcessingData object from the persistence store.

Returns:
- Collection of AdditionalDataProcessingData object whose experiment ID matches the specified ID or null otherwise.
Throws:
java.lang.Exception

getAdditionalUploadedFiles

public AdditionalUploadedFileData[] getAdditionalUploadedFiles(long experimentId)
                                                        throws java.lang.Exception
Retrieves the AdditionalDataProcessingData object from the persistence store.

Returns:
- Collection of AdditionalDataProcessingData object whose experiment ID matches the specified ID or null otherwise.
Throws:
java.lang.Exception

getAdditionalUploadedFile

public AdditionalUploadedFileData getAdditionalUploadedFile(long id)
                                                     throws java.lang.Exception
Retrieves a AdditionalDataProcessingData object from the persistence store.

Returns:
- A AdditionalDataProcessingData object whose ID ID matches the specified ID or null otherwise.
Throws:
java.lang.Exception

submitHybridizationFileUploadsForParsing

public void submitHybridizationFileUploadsForParsing(long experimentId,
                                                     long[] hybFileUploadIds)
                                              throws java.lang.Exception
Deprecated. This functionality is handled by FileUploadManagerEJB for 1.3

This methods puts the uploaded files associated with the specified HybridizationFileUpload on the queue for the parsing process to parse, store and associate the data with the specified experiment.

Throws:
java.lang.Exception

getInputFilesDirectory

public java.lang.String getInputFilesDirectory()
                                        throws java.lang.Exception
Gets the directory for uploading Experiment MAGEML's to.

Throws:
java.lang.Exception

submitMAGEMLFile

public void submitMAGEMLFile(java.lang.String magemlPathName)
                      throws java.lang.Exception
This method puts the specified zip file which is residing on the caARRAY server on the queue for the parsing and storing process of MAGEML's.

Parameters:
magemlPathName - - The path on the caARRAY server where the MAGEML file has been uploaded to.
Throws:
java.lang.Exception

getDataFilesDirectory

public java.lang.String getDataFilesDirectory(long experimentId)
                                       throws java.lang.Exception
Gets the directory for storing additional uploaded files and and additional data processing files that are associated with an experiment.

Parameters:
experimentId - - The experiment for which the returned directory is intended.
Throws:
java.lang.Exception

getInputFilesDirectory

public java.lang.String getInputFilesDirectory(long experimentId)
                                        throws java.lang.Exception
Deprecated. need to sraigten backend. Move files from ftp area to common area and download from there

Gets the directory for input experiment dir. Download from same place for now.

Parameters:
experimentId - - The experiment for which the returned directory is intended.
local - - true if debugging on local machine
Throws:
java.lang.Exception

getLatestMAGEML

public FileData getLatestMAGEML(long experimentId)
                         throws java.lang.Exception
Gets the information about the latest caARRAY-generated MAGEML for the specified experiment. The information includes the URL where the file is located at and the file's creation date

Parameters:
experimentId - - The experiment for which the MAGEML is available.
Returns:
- An ExperimentMAGEMLData object containing information about the latest generated MAGEML or NULL if the experiment does NOT have the MAGEML generated.
Throws:
java.lang.Exception

submitMAGEMLGeneration

public void submitMAGEMLGeneration(long experimentId)
                            throws java.lang.Exception
Submits a MAGEML generation message to the responsible Message Driven Bean to generate MAGEML for the specified experiment.

Throws:
java.lang.Exception

lockExperiment

public boolean lockExperiment(long experimentId)
                       throws java.lang.Exception
Locks a particular experiment by changing the visibility to public and relinquishing ownership.

Returns:
- Collection of AdditionalDataProcessingData object whose experiment ID matches the specified ID or null otherwise.
Throws:
java.lang.Exception

checkBatchDownloadFile

public boolean checkBatchDownloadFile(long experimentId,
                                      java.lang.String fileExtension)
                               throws java.lang.Exception
Check Batch Download Files are existing or not.

Parameters:
experimentID - - The experiment the user is working on
Returns:
boolean = true: files are existing, false: files are not existing
Throws:
ObjectNotExistException
java.lang.Exception

updateProtocolApplication

public void updateProtocolApplication(ProtocolApplicationData pData)
                               throws java.lang.Exception
Throws:
java.lang.Exception

loadInformation

public ExperimentCleaningConfiguration loadInformation(ExperimentCleaningConfiguration configuration)
                                                throws java.lang.Exception
Throws:
java.lang.Exception

deleteExperiment

public ExperimentDeletionResult deleteExperiment(ExperimentData experimentData)
                                          throws java.lang.Exception
Deletes an experiment and associated files from the system.

Throws:
java.lang.Exception

deleteHybridizations

public HybridizationDeletionResult deleteHybridizations(HybridizationDeletionConfiguration configuration)
                                                 throws java.lang.Exception
Deletes an experiment and associated files from the system.

Throws:
java.lang.Exception