mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
Added DAOs. Attribute query objects seem to be able to generate hibernate predicates.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5467 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
/*
|
||||
* 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.Attribute;
|
||||
import org.alfresco.repo.attributes.AttributeDAO;
|
||||
import org.alfresco.service.cmr.attributes.AttrQuery;
|
||||
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
|
||||
|
||||
/**
|
||||
* Hibernate implementation of persistence for Attributes.
|
||||
* @author britt
|
||||
*/
|
||||
public class AttributeDAOHibernate extends HibernateDaoSupport implements
|
||||
AttributeDAO
|
||||
{
|
||||
/* (non-Javadoc)
|
||||
* @see org.alfresco.repo.attributes.AttributeDAO#delete(org.alfresco.repo.attributes.Attribute)
|
||||
*/
|
||||
public void delete(Attribute attr)
|
||||
{
|
||||
getSession().delete(attr);
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.alfresco.repo.attributes.AttributeDAO#find(java.lang.String, org.alfresco.service.cmr.attributes.AttrQuery)
|
||||
*/
|
||||
public List<Attribute> find(String path, AttrQuery query)
|
||||
{
|
||||
// TODO Need to implement query processing.
|
||||
return null;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.alfresco.repo.attributes.AttributeDAO#save(org.alfresco.repo.attributes.Attribute)
|
||||
*/
|
||||
public void save(Attribute attr)
|
||||
{
|
||||
getSession().save(attr);
|
||||
}
|
||||
}
|
@@ -86,6 +86,6 @@
|
||||
<many-to-one class="MapAttributeImpl" name="map" column="map_id"/>
|
||||
<property name="key" type="string" length="160" column="key" index="map_key_index"/>
|
||||
</natural-id>
|
||||
<many-to-one class="AttributeImpl" name="attribute" columne="attribute_id"/>
|
||||
<many-to-one class="AttributeImpl" name="attribute" column="attribute_id"/>
|
||||
</class>
|
||||
</hibernate-mapping>
|
||||
|
@@ -0,0 +1,74 @@
|
||||
/*
|
||||
* 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 org.alfresco.repo.attributes.Attribute;
|
||||
import org.alfresco.repo.attributes.GlobalAttributeEntry;
|
||||
import org.alfresco.repo.attributes.GlobalAttributeEntryDAO;
|
||||
import org.alfresco.repo.attributes.GlobalAttributeEntryImpl;
|
||||
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
|
||||
|
||||
/**
|
||||
* Hibernate implementation of Global Attribute Entries.
|
||||
* @author britt
|
||||
*/
|
||||
public class GlobalAttributeEntryDAOHibernate extends HibernateDaoSupport
|
||||
implements GlobalAttributeEntryDAO
|
||||
{
|
||||
/* (non-Javadoc)
|
||||
* @see org.alfresco.repo.attributes.GlobalAttributeEntryDAO#delete(org.alfresco.repo.attributes.GlobalAttributeEntry)
|
||||
*/
|
||||
public void delete(GlobalAttributeEntry entry)
|
||||
{
|
||||
getSession().delete(entry);
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.alfresco.repo.attributes.GlobalAttributeEntryDAO#delete(java.lang.String)
|
||||
*/
|
||||
public void delete(String name)
|
||||
{
|
||||
delete((GlobalAttributeEntry)getSession().get(GlobalAttributeEntryImpl.class, name));
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.alfresco.repo.attributes.GlobalAttributeEntryDAO#get(java.lang.String)
|
||||
*/
|
||||
public Attribute get(String name)
|
||||
{
|
||||
GlobalAttributeEntry entry =
|
||||
(GlobalAttributeEntry)getSession().get(GlobalAttributeEntryImpl.class, name);
|
||||
return entry.getAttribute();
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.alfresco.repo.attributes.GlobalAttributeEntryDAO#save(org.alfresco.repo.attributes.GlobalAttributeEntry)
|
||||
*/
|
||||
public void save(GlobalAttributeEntry entry)
|
||||
{
|
||||
getSession().save(entry);
|
||||
}
|
||||
}
|
@@ -0,0 +1,90 @@
|
||||
/*
|
||||
* 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);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user