Subversion Repositories WebE

Compare Revisions

Last modification

Ignore whitespace Rev 36 → Rev 37

/trunk/src/ch/ffhs/webE/dao/RelationshipTypeDAO.java
1,16 → 1,130
package ch.ffhs.webE.dao;
 
import java.util.ArrayList;
import java.util.List;
 
import org.hibernate.Session;
import org.hibernate.Transaction;
 
import ch.ffhs.webE.domain.RelationshipType;
 
public interface RelationshipTypeDAO {
import com.googlecode.s2hibernate.struts2.plugin.annotations.SessionTarget;
import com.googlecode.s2hibernate.struts2.plugin.annotations.TransactionTarget;
 
List<RelationshipType> getRelTypes();
/**
* Data Access Object class for {@link RelationshipType}s
*
* @author Thomas Lahn
*/
public class RelationshipTypeDAO
{
 
boolean deleteRelationshipType(int relTypeID);
RelationshipType getRelTypeById(int relTypeID);
/**
* Hibernate session target
*/
@SessionTarget
Session session;
 
boolean saveOrUpdateRelType(RelationshipType relType);
/**
* Hibernate transaction target
*/
@TransactionTarget
Transaction transaction;
 
/**
* Gets a list of all the relationshipTypes in the database.
*
* @return List of all the users. In case of a problem, an empty list is
* returned.
*/
@SuppressWarnings("unchecked")
public List<RelationshipType> getList()
{
 
List<RelationshipType> relType = null;
 
try
{
relType = this.session.createQuery("from RelationshipType").list(); //$NON-NLS-1$
}
catch (Exception e)
{
// TODO: Logging
}
 
if (relType == null)
{
relType = new ArrayList<RelationshipType>();
}
 
return relType;
}
 
/**
* Saves or updates a relationship type
*
* @param relType
* A filled domain object
* @return Boolean indicating success or error in saving the relationshipType
*/
public boolean saveOrUpdate(RelationshipType relType)
{
try
{
this.session.saveOrUpdate(relType);
return true;
}
catch (Exception e)
{
this.transaction.rollback();
return false;
// TODO: Logging
}
}
 
/**
* Delete a relationship type
*
* @param relTypeId
* Relationship type ID
* @return boolean indicating success or error in the query execution
*/
public boolean delete(int relTypeId)
{
try
{
RelationshipType relType = (RelationshipType) this.session.get(
RelationshipType.class, relTypeId);
this.session.delete(relType);
return true;
}
catch (Exception e)
{
this.transaction.rollback();
// TODO: Logging
return false;
}
}
 
/**
* Used to get a relationship type by ID
*
* @param relTypeID
* @return
*/
public RelationshipType getById(int relTypeID)
{
RelationshipType relType = null;
try
{
relType = (RelationshipType) this.session.get(RelationshipType.class,
relTypeID);
}
catch (Exception e)
{
e.printStackTrace();
// TODO: Logging
}
return relType;
}
}