/* * Copyright (C) 2009 eXo Platform SAS. * * This is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation; either version 2.1 of * the License, or (at your option) any later version. * * This software is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this software; if not, write to the Free * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ package org.etk.core.membership.hibernate; import org.etk.component.database.HibernateService; import org.etk.core.membership.MembershipType; import org.etk.core.membership.MembershipTypeHandler; import org.etk.core.membership.impl.MembershipTypeImpl; import org.hibernate.Session; import java.util.Collection; import java.util.Date; import java.util.List; /** * Created by The eXo Platform SAS Author : Mestrallet Benjamin * benjmestrallet@users.sourceforge.net Author : Tuan Nguyen * tuan08@users.sourceforge.net Date: Aug 22, 2003 Time: 4:51:21 PM */ public class MembershipTypeDAOImpl implements MembershipTypeHandler { private static final String queryFindMembershipType = "from m in class org.etk.core.membership.impl.MembershipTypeImpl " + "where m.name = ? "; private static final String queryFindAllMembershipType = "from m in class org.etk.core.membership.impl.MembershipTypeImpl"; private HibernateService service_; public MembershipTypeDAOImpl(HibernateService service) { service_ = service; } final public MembershipType createMembershipTypeInstance() { return new MembershipTypeImpl(); } public MembershipType createMembershipType(MembershipType mt, boolean broadcast) throws Exception { Session session = service_.openSession(); Date now = new Date(); mt.setCreatedDate(now); mt.setModifiedDate(now); session.save(mt); session.flush(); return mt; } public MembershipType saveMembershipType(MembershipType mt, boolean broadcast) throws Exception { Session session = service_.openSession(); Date now = new Date(); mt.setModifiedDate(now); session.update(mt); session.flush(); return mt; } public MembershipType findMembershipType(String name) throws Exception { Session session = service_.openSession(); MembershipType m = (MembershipType) service_.findOne(session, queryFindMembershipType, name); return m; } public MembershipType removeMembershipType(String name, boolean broadcast) throws Exception { Session session = service_.openSession(); MembershipTypeImpl m = (MembershipTypeImpl) session.get(MembershipTypeImpl.class, name); try { List entries = session.createQuery("from m in class " + " org.etk.core.membership.impl.MembershipImpl " + "where m.membershipType = '" + name + "'").list(); for (int i = 0; i < entries.size(); i++) session.delete(entries.get(i)); } catch (Exception exp) { } if (m != null) { session.delete(m); session.flush(); } return m; } public Collection findMembershipTypes() throws Exception { Session session = service_.openSession(); return session.createQuery(queryFindAllMembershipType).list(); } }