it.eng.spagobi.tools.dataset.dao
Class DataSetDAOImpl

java.lang.Object
  extended by it.eng.spagobi.commons.dao.AbstractHibernateDAO
      extended by it.eng.spagobi.tools.dataset.dao.DataSetDAOImpl
All Implemented Interfaces:
ISpagoBIDao, IDataSetDAO

public class DataSetDAOImpl
extends AbstractHibernateDAO
implements IDataSetDAO

Implement CRUD operations over spagobi datsets

Author:
Andrea Gioia (andrea.gioia@eng.it)

Field Summary
 
Fields inherited from class it.eng.spagobi.commons.dao.AbstractHibernateDAO
TENANT_FILTER_NAME
 
Constructor Summary
DataSetDAOImpl()
           
 
Method Summary
 SbiDataSet copyDataSet(SbiDataSet hibDataSet)
          copy a dataset
 java.lang.Integer countBIObjAssociated(java.lang.Integer dsId)
          Counts number of BIObj associated.
 java.lang.Integer countDatasets()
          Counts number of existent DataSets
 boolean deleteAllInactiveDataSetVersions(java.lang.Integer datasetId)
          Delete all inactive versions of dataset whose id is equal to datasetId
 void deleteDataSet(java.lang.Integer datasetId)
          Delete data set whose ID is equal to datasetId if it is not referenced by some analytical documents.
 boolean deleteInactiveDataSetVersion(java.lang.Integer datasetVersionNum, java.lang.Integer dsId)
          Delete the dataset version whose id is equal to datasetVersionId if and only if it is inactive.
 java.lang.Integer getHigherVersionNumForDS(java.lang.Integer dsId)
          Returns the Higher Version Number of a selected DS
 boolean hasBIKpiAssociated(java.lang.String dsId)
          Checks for bi kpi associated.
 boolean hasBILovAssociated(java.lang.String dsId)
          Checks for bi lovs associated.
 boolean hasBIObjAssociated(java.lang.String dsId)
          Checks for bi obj associated.
 java.lang.Integer insertDataSet(it.eng.spagobi.tools.dataset.bo.IDataSet dataSet)
          Insert data set.
 it.eng.spagobi.tools.dataset.bo.IDataSet loadActiveDataSetByLabel(java.lang.String label)
          Load data set by label.
 it.eng.spagobi.tools.dataset.bo.IDataSet loadActiveIDataSetByID(java.lang.Integer id)
           
 java.util.List<it.eng.spagobi.tools.dataset.bo.IDataSet> loadAllActiveDataSets()
           
 java.util.List<it.eng.spagobi.tools.dataset.bo.IDataSet> loadAllActiveDataSetsByOwner(java.lang.String owner)
          Load all data set by owner.
 java.util.List<it.eng.spagobi.tools.dataset.bo.IDataSet> loadAllActiveDataSetsByOwnerAndType(java.lang.String owner, java.lang.String type)
          Load all data set by owner.
 it.eng.spagobi.tools.dataset.bo.IDataSet loadDataSetById(java.lang.Integer id)
          Load data set by id.
 it.eng.spagobi.tools.dataset.bo.IDataSet loadDataSetByLabel(java.lang.String label)
          Load data set by id.
 it.eng.spagobi.tools.dataset.bo.IDataSet loadDataSetByOwner(java.lang.String owner)
          Load data set by owner.
 java.util.List<it.eng.spagobi.tools.dataset.bo.IDataSet> loadFilteredDatasetList(java.lang.String hsql, java.lang.Integer offset, java.lang.Integer fetchSize)
           
 java.util.List<it.eng.spagobi.tools.dataset.bo.IDataSet> loadFilteredDatasetList(java.lang.String hsql, java.lang.Integer offset, java.lang.Integer fetchSize, java.lang.String owner)
           
 java.util.List<it.eng.spagobi.tools.dataset.bo.IDataSet> loadPagedDatasetList(java.lang.Integer offset, java.lang.Integer fetchSize)
          Returns List of all existent IDataSets with current active version
 java.util.List<it.eng.spagobi.tools.dataset.bo.IDataSet> loadPagedDatasetList(java.lang.Integer offset, java.lang.Integer fetchSize, java.lang.String owner)
          Returns List of all existent IDataSets with current active version for the owner
 java.util.List<SbiDataSet> loadPagedSbiDatasetConfigList(java.lang.Integer offset, java.lang.Integer fetchSize)
          Returns List of all existent SbiDataSet elements (NO DETAIL, only name, label, descr...).
 void modifyDataSet(it.eng.spagobi.tools.dataset.bo.IDataSet dataSet)
          Modify data set.
 it.eng.spagobi.tools.dataset.bo.IDataSet restoreOlderDataSetVersion(java.lang.Integer dsId, java.lang.Integer dsVersion)
          Restore an Older Version of the dataset
 it.eng.spagobi.tools.dataset.bo.IDataSet toGuiGenericDataSet(it.eng.spagobi.tools.dataset.bo.IDataSet iDataSet)
          Deprecated.  
 
Methods inherited from class it.eng.spagobi.commons.dao.AbstractHibernateDAO
commitIfActiveAndClose, disableTenantFilter, enableTenantFilter, getSession, getTenant, getUserProfile, logException, rollbackIfActiveAndClose, setTenant, setUserID, setUserProfile, updateSbiCommonInfo4Insert, updateSbiCommonInfo4Update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface it.eng.spagobi.commons.dao.ISpagoBIDao
getUserProfile, setTenant, setUserID, setUserProfile
 

Constructor Detail

DataSetDAOImpl

public DataSetDAOImpl()
Method Detail

insertDataSet

public java.lang.Integer insertDataSet(it.eng.spagobi.tools.dataset.bo.IDataSet dataSet)
Insert data set.

Specified by:
insertDataSet in interface IDataSetDAO
Parameters:
dataSet - the a data set
See Also:
it.eng.spagobi.tools.dataset.dao.IDataSetDAO#insertDataSet(it.eng.spagobi.tools.dataset.bo.AbstractDataSet)

loadAllActiveDataSets

public java.util.List<it.eng.spagobi.tools.dataset.bo.IDataSet> loadAllActiveDataSets()
Specified by:
loadAllActiveDataSets in interface IDataSetDAO

loadAllActiveDataSetsByOwner

public java.util.List<it.eng.spagobi.tools.dataset.bo.IDataSet> loadAllActiveDataSetsByOwner(java.lang.String owner)
Load all data set by owner.

Specified by:
loadAllActiveDataSetsByOwner in interface IDataSetDAO
Parameters:
ower - the owner
Returns:
list of data set
See Also:
List#loadActiveDataSetByOwner(string)

loadAllActiveDataSetsByOwnerAndType

public java.util.List<it.eng.spagobi.tools.dataset.bo.IDataSet> loadAllActiveDataSetsByOwnerAndType(java.lang.String owner,
                                                                                                    java.lang.String type)
Load all data set by owner.

Specified by:
loadAllActiveDataSetsByOwnerAndType in interface IDataSetDAO
Parameters:
ower - the owner
Returns:
list of data set
See Also:
List#loadActiveDataSetByOwner(string)

loadActiveDataSetByLabel

public it.eng.spagobi.tools.dataset.bo.IDataSet loadActiveDataSetByLabel(java.lang.String label)
Load data set by label.

Specified by:
loadActiveDataSetByLabel in interface IDataSetDAO
Parameters:
label - the label
Returns:
the data set
See Also:
it.eng.spagobi.tools.dataset.dao.IDataSetDAO#loadDataSetByLabel(string)

loadActiveIDataSetByID

public it.eng.spagobi.tools.dataset.bo.IDataSet loadActiveIDataSetByID(java.lang.Integer id)
Specified by:
loadActiveIDataSetByID in interface IDataSetDAO

loadFilteredDatasetList

public java.util.List<it.eng.spagobi.tools.dataset.bo.IDataSet> loadFilteredDatasetList(java.lang.String hsql,
                                                                                        java.lang.Integer offset,
                                                                                        java.lang.Integer fetchSize)
Specified by:
loadFilteredDatasetList in interface IDataSetDAO

loadFilteredDatasetList

public java.util.List<it.eng.spagobi.tools.dataset.bo.IDataSet> loadFilteredDatasetList(java.lang.String hsql,
                                                                                        java.lang.Integer offset,
                                                                                        java.lang.Integer fetchSize,
                                                                                        java.lang.String owner)
Specified by:
loadFilteredDatasetList in interface IDataSetDAO

loadPagedDatasetList

public java.util.List<it.eng.spagobi.tools.dataset.bo.IDataSet> loadPagedDatasetList(java.lang.Integer offset,
                                                                                     java.lang.Integer fetchSize)
Returns List of all existent IDataSets with current active version

Specified by:
loadPagedDatasetList in interface IDataSetDAO
Parameters:
offset - starting element
fetchSize - number of elements to retrieve
Returns:
List of all existent IDataSets with current active version
Throws:
it.eng.spago.error.EMFUserError - the EMF user error

loadPagedDatasetList

public java.util.List<it.eng.spagobi.tools.dataset.bo.IDataSet> loadPagedDatasetList(java.lang.Integer offset,
                                                                                     java.lang.Integer fetchSize,
                                                                                     java.lang.String owner)
Returns List of all existent IDataSets with current active version for the owner

Specified by:
loadPagedDatasetList in interface IDataSetDAO
Parameters:
offset - starting element
fetchSize - number of elements to retrieve
Returns:
List of all existent IDataSets with current active version
Throws:
it.eng.spago.error.EMFUserError - the EMF user error

loadDataSetById

public it.eng.spagobi.tools.dataset.bo.IDataSet loadDataSetById(java.lang.Integer id)
Load data set by id.

Specified by:
loadDataSetById in interface IDataSetDAO
Parameters:
dsID - the ds id
Returns:
the data set as genericGuiDataset
Throws:
it.eng.spago.error.EMFUserError - the EMF user error

loadDataSetByLabel

public it.eng.spagobi.tools.dataset.bo.IDataSet loadDataSetByLabel(java.lang.String label)
Load data set by id.

Specified by:
loadDataSetByLabel in interface IDataSetDAO
Parameters:
label - the ds label
Returns:
the data set as genericGuiDataset
Throws:
it.eng.spago.error.EMFUserError - the EMF user error

loadDataSetByOwner

public it.eng.spagobi.tools.dataset.bo.IDataSet loadDataSetByOwner(java.lang.String owner)
Load data set by owner.

Specified by:
loadDataSetByOwner in interface IDataSetDAO
Parameters:
owner - the ds owner
Returns:
the data set as genericGuiDataset
Throws:
it.eng.spago.error.EMFUserError - the EMF user error

loadPagedSbiDatasetConfigList

public java.util.List<SbiDataSet> loadPagedSbiDatasetConfigList(java.lang.Integer offset,
                                                                java.lang.Integer fetchSize)
Returns List of all existent SbiDataSet elements (NO DETAIL, only name, label, descr...).

Specified by:
loadPagedSbiDatasetConfigList in interface IDataSetDAO
Parameters:
offset - starting element
fetchSize - number of elements to retrieve
Returns:
List of all existent SbiDataSet
Throws:
it.eng.spago.error.EMFUserError - the EMF user error

countBIObjAssociated

public java.lang.Integer countBIObjAssociated(java.lang.Integer dsId)
Counts number of BIObj associated.

Specified by:
countBIObjAssociated in interface IDataSetDAO
Parameters:
dsId - the ds id
Returns:
Integer, number of BIObj associated
Throws:
it.eng.spago.error.EMFUserError - the EMF user error

countDatasets

public java.lang.Integer countDatasets()
Counts number of existent DataSets

Specified by:
countDatasets in interface IDataSetDAO
Returns:
Integer, number of existent DataSets
Throws:
it.eng.spago.error.EMFUserError - the EMF user error

hasBIObjAssociated

public boolean hasBIObjAssociated(java.lang.String dsId)
Checks for bi obj associated.

Specified by:
hasBIObjAssociated in interface IDataSetDAO
Parameters:
dsId - the ds id
Returns:
true, if checks for bi obj associated
Throws:
it.eng.spago.error.EMFUserError - the EMF user error
See Also:
it.eng.spagobi.tools.dataSet.dao.IDataSetDAO#hasBIObjAssociated(java.lang.String)

hasBIKpiAssociated

public boolean hasBIKpiAssociated(java.lang.String dsId)
Checks for bi kpi associated.

Specified by:
hasBIKpiAssociated in interface IDataSetDAO
Parameters:
dsId - the ds id
Returns:
true, if checks for bi kpi associated
Throws:
it.eng.spago.error.EMFUserError - the EMF user error
See Also:
it.eng.spagobi.tools.dataSet.dao.IDataSetDAO#hasBIObjAssociated(java.lang.String)

hasBILovAssociated

public boolean hasBILovAssociated(java.lang.String dsId)
Checks for bi lovs associated.

Specified by:
hasBILovAssociated in interface IDataSetDAO
Parameters:
dsId - the ds id
Returns:
true, if checks for lovs associated
Throws:
it.eng.spago.error.EMFUserError - the EMF user error
See Also:
it.eng.spagobi.tools.dataSet.dao.IDataSetDAO#hasBIObjAssociated(java.lang.String)

modifyDataSet

public void modifyDataSet(it.eng.spagobi.tools.dataset.bo.IDataSet dataSet)
Modify data set.

Specified by:
modifyDataSet in interface IDataSetDAO
Parameters:
aDataSet - the a data set
Throws:
it.eng.spago.error.EMFUserError - the EMF user error
See Also:
it.eng.spagobi.tools.dataset.dao.IDataSetDAO#modifyDataSet(it.eng.spagobi.tools.dataset.bo.AbstractDataSet)

getHigherVersionNumForDS

public java.lang.Integer getHigherVersionNumForDS(java.lang.Integer dsId)
Returns the Higher Version Number of a selected DS

Specified by:
getHigherVersionNumForDS in interface IDataSetDAO
Parameters:
dsId - the a data set ID
Throws:
it.eng.spago.error.EMFUserError - the EMF user error

deleteDataSet

public void deleteDataSet(java.lang.Integer datasetId)
Delete data set whose ID is equal to datasetId if it is not referenced by some analytical documents.

Specified by:
deleteDataSet in interface IDataSetDAO
Parameters:
datasetId - the ID of the dataset to delete. Cannot be null.
Throws:
SpagoBIDOAException - if the dataset is referenced by at least one analytical document

restoreOlderDataSetVersion

public it.eng.spagobi.tools.dataset.bo.IDataSet restoreOlderDataSetVersion(java.lang.Integer dsId,
                                                                           java.lang.Integer dsVersion)
Restore an Older Version of the dataset

Specified by:
restoreOlderDataSetVersion in interface IDataSetDAO
Parameters:
dsId - the a data set ID
dsVersion - the a data set Version
Throws:
it.eng.spago.error.EMFUserError - the EMF user error

deleteInactiveDataSetVersion

public boolean deleteInactiveDataSetVersion(java.lang.Integer datasetVersionNum,
                                            java.lang.Integer dsId)
Delete the dataset version whose id is equal to datasetVersionId if and only if it is inactive.

Specified by:
deleteInactiveDataSetVersion in interface IDataSetDAO
Parameters:
datasetVersionId - the id of the version of the dataset to delete. Cannot be null.
Returns:
true if the version whose id is equal to datasetVersionId is deleted from database. false otherwise (the version does not exist or it exists but it is active).

deleteAllInactiveDataSetVersions

public boolean deleteAllInactiveDataSetVersions(java.lang.Integer datasetId)
Delete all inactive versions of dataset whose id is equal to datasetId

Specified by:
deleteAllInactiveDataSetVersions in interface IDataSetDAO
Parameters:
datasetId - the id of the of the dataset whose incative version must be deleted
Returns:
true if the incative versions of dataset whose id is equal to datasetId have been succesfully deleted from database. false otherwise (i.e. the dtaset does not have any inactive versions)

toGuiGenericDataSet

public it.eng.spagobi.tools.dataset.bo.IDataSet toGuiGenericDataSet(it.eng.spagobi.tools.dataset.bo.IDataSet iDataSet)
Deprecated. 

Specified by:
toGuiGenericDataSet in interface IDataSetDAO

copyDataSet

public SbiDataSet copyDataSet(SbiDataSet hibDataSet)
copy a dataset

Specified by:
copyDataSet in interface IDataSetDAO
Parameters:
hibDataSet -
Returns: