Britt Park d3aae2a9b7 ListAttribute seems to be mostly working, though I had to tweak hibernate-cfg.properties to
make it suck back generated primary keys.
Restructured ListEntry so that most most gets are via Session.get() rather than by query.
Added new methods to AttributeService to handle ListAttribute specific operations.
Added a little more testing for AttributeService.
I'm praying that the build will be repaired, since my efforts having been doing
so much lately.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5553 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2007-04-26 00:31:33 +00:00

101 lines
3.6 KiB
Java

/*
* Copyright (C) 2005-2007 Alfresco Software Limited.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This program 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 General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* As a special exception to the terms and conditions of version 2.0 of
* the GPL, you may redistribute this Program in connection with Free/Libre
* and Open Source Software ("FLOSS") applications as described in Alfresco's
* FLOSS exception. You should have recieved a copy of the text describing
* the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing
*/
package org.alfresco.repo.attributes.hibernate;
import java.util.List;
import org.alfresco.repo.attributes.MapAttribute;
import org.alfresco.repo.attributes.MapEntry;
import org.alfresco.repo.attributes.MapEntryDAO;
import org.hibernate.Query;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
/**
* Hibernate implementation of persistence for MapEntries.
* @author britt
*/
public class MapEntryDAOHibernate extends HibernateDaoSupport implements
MapEntryDAO
{
/* (non-Javadoc)
* @see org.alfresco.repo.attributes.MapEntryDAO#delete(org.alfresco.repo.attributes.MapEntry)
*/
public void delete(MapEntry entry)
{
getSession().delete(entry);
}
/* (non-Javadoc)
* @see org.alfresco.repo.attributes.MapEntryDAO#delete(org.alfresco.repo.attributes.MapAttribute)
*/
public void delete(MapAttribute mapAttr)
{
Query query = getSession().createQuery("delete from MapEntryImpl me where me.map = :map");
query.setEntity("map", mapAttr);
query.executeUpdate();
}
/* (non-Javadoc)
* @see org.alfresco.repo.attributes.MapEntryDAO#get(org.alfresco.repo.attributes.MapAttribute, java.lang.String)
*/
public MapEntry get(MapAttribute mapAttr, String key)
{
Query query = getSession().createQuery("from MapEntryImpl me where me.map = :map and me.key = :key");
query.setEntity("map", mapAttr);
query.setParameter("key", key);
return (MapEntry)query.uniqueResult();
}
/* (non-Javadoc)
* @see org.alfresco.repo.attributes.MapEntryDAO#get(org.alfresco.repo.attributes.MapAttribute)
*/
@SuppressWarnings("unchecked")
public List<MapEntry> get(MapAttribute mapAttr)
{
Query query = getSession().createQuery("from MapEntryImpl me where me.map = :map");
query.setEntity("map", mapAttr);
return (List<MapEntry>)query.list();
}
/* (non-Javadoc)
* @see org.alfresco.repo.attributes.MapEntryDAO#save(org.alfresco.repo.attributes.MapEntry)
*/
public void save(MapEntry entry)
{
getSession().save(entry);
}
/* (non-Javadoc)
* @see org.alfresco.repo.attributes.MapEntryDAO#size(org.alfresco.repo.attributes.MapAttribute)
*/
public int size(MapAttribute mapAttr)
{
Query query = getSession().createQuery("select count(me) from MapEntryImpl me where me.map = :map");
query.setEntity("map", mapAttr);
return ((Long)query.uniqueResult()).intValue();
}
}