0,0 → 1,97 |
package ak.hostadmiral.core.model.store.hibernate; |
|
import java.util.Collection; |
import java.util.List; |
import java.util.Map; |
import java.util.HashMap; |
|
import net.sf.hibernate.Hibernate; |
import net.sf.hibernate.HibernateException; |
import net.sf.hibernate.type.Type; |
|
import ak.hostadmiral.util.CollectionInfo; |
import ak.hostadmiral.util.HibernateUtil; |
import ak.hostadmiral.util.ModelStoreException; |
import ak.hostadmiral.core.model.MailAlias; |
import ak.hostadmiral.core.model.MailAliasDestination; |
import ak.hostadmiral.core.model.MailAliasDestinationManager; |
import ak.hostadmiral.core.model.store.MailAliasDestinationStore; |
|
public class MailAliasDestinationHibernate |
implements MailAliasDestinationStore |
{ |
public MailAliasDestinationHibernate() |
throws ModelStoreException |
{ |
register(); |
} |
|
public MailAliasDestination get(Long id) |
throws ModelStoreException |
{ |
try { |
return (MailAliasDestination)HibernateUtil.currentSession() |
.load(MailAliasDestination.class, id); |
} |
catch(HibernateException ex) |
{ |
throw new ModelStoreException(ex); |
} |
} |
|
public void save(MailAliasDestination mailAliasDestination) |
throws ModelStoreException |
{ |
try { |
HibernateUtil.currentSession().saveOrUpdate(mailAliasDestination); |
} |
catch(HibernateException ex) |
{ |
throw new ModelStoreException(ex); |
} |
} |
|
public void delete(MailAliasDestination mailAliasDestination) |
throws ModelStoreException |
{ |
try { |
HibernateUtil.currentSession().delete(mailAliasDestination); |
} |
catch(HibernateException ex) |
{ |
throw new ModelStoreException(ex); |
} |
} |
|
public Collection listMailAliasesDestination(MailAlias alias) |
throws ModelStoreException |
{ |
try { |
return HibernateUtil.currentSession().find( |
"select d from MailAliasDestination d left join fetch d.mailbox where d.alias=?", |
alias, Hibernate.entity(MailAlias.class)); |
} |
catch(HibernateException ex) |
{ |
throw new ModelStoreException(ex); |
} |
} |
|
private static boolean registered = false; |
protected static void register() |
throws ModelStoreException |
{ |
synchronized(MailAliasDestinationHibernate.class) { |
if(registered) return; |
|
registered = true; |
try { |
HibernateUtil.getConfiguration().addResource( |
"ak/hostadmiral/core/model/MailAliasDestination.hbm.xml"); |
} |
catch(Exception ex) { |
throw new ModelStoreException(ex); |
} |
} |
} |
} |