alfresco-community-repo/source/java/org/alfresco/repo/attributes/hibernate/GlobalAttributeEntryDAOHibernate.java
Kevin Roast 16861e9117 Merged V3.0 to HEAD
12123: Merged V2.2 to V3.0
      11466: Fixed sql-query DELETE syntax
      11614: Flush after putChild, fix for ETWOTWO-777
      11641: Merged V2.1 to V2.2
         11632: Improvements for AVM index FULL and AUTO rebuild. 
      11646: Upgrade scripts tweaks:
      11650: Added unit test to confirm fix of ETWOTWO-740
      11674: Added missing EHCache definitions for QName, Namespace and Locale caches
      11825: Fixed Eclipse classpath addition of path for Oracle JDBC driver
   12125: ETHREEOH-899: Image transformations do not follow Options
   12127: Merged V2.2 to V3.0
      11675: Node DAO optimizations
      11680: Full Fix for ETWOTWO-777 + more protection for nested write transactions beneath read transactions.
      11729: AVM creates and deletes no longer update the directory mod time - ETWOTWO-801
      11738: Fix for ETWOTWO - fixed check for TX propagation mode
      11748: Fixed ETWOTWO-578: RepositoryWebService fetchMore() does not fetch last node
      11749: Incorporate feedback from ACT-5440: MySQL-specific tweaks to the upgrade scripts
      11750: Moved t_qnames_dyn section to after t_qnames
      11752: Fixed ETWOTWO-734: ImporterComponent uses Lucene queries
      11785: Build Fix:Remove auto created person TX commit fro DB
      11853: Fix for ETWOTWO-687 - missed a case when generating lists of actions for modified files list
      11940: Stress test main method for ETWOTWO-744
      11950: Fixed ETWOTWO-909 and ETWOTWO-911
      11987: Dirty checking for attribute related  DAOs
      12008: Fixed test for transaction-requiring AttributeService
   12128: Merged V2.2 to V3.0
      11530: Merged V2.1 to V2.2
         11499: Defensive clear of the security context to avoid any ticket sharing for a given user - ETWOTWO-326

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@12501 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2008-12-18 17:23:44 +00:00

102 lines
3.5 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.Attribute;
import org.alfresco.repo.attributes.AttributeDAO;
import org.alfresco.repo.attributes.GlobalAttributeEntry;
import org.alfresco.repo.attributes.GlobalAttributeEntryDAO;
import org.alfresco.repo.attributes.GlobalAttributeEntryImpl;
import org.alfresco.repo.domain.hibernate.DirtySessionMethodInterceptor;
import org.hibernate.Query;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
/**
* Hibernate implementation of Global Attribute Entries.
* @author britt
*/
public class GlobalAttributeEntryDAOHibernate extends HibernateDaoSupport
implements GlobalAttributeEntryDAO
{
private AttributeDAO fAttributeDAO;
public GlobalAttributeEntryDAOHibernate()
{
}
public void setAttributeDao(AttributeDAO dao)
{
fAttributeDAO = dao;
}
/* (non-Javadoc)
* @see org.alfresco.repo.attributes.GlobalAttributeEntryDAO#delete(org.alfresco.repo.attributes.GlobalAttributeEntry)
*/
public void delete(GlobalAttributeEntry entry)
{
Attribute attr = entry.getAttribute();
getSession().delete(entry);
fAttributeDAO.delete(attr);
}
/* (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 GlobalAttributeEntry get(String name)
{
return (GlobalAttributeEntry)getSession().get(GlobalAttributeEntryImpl.class, name);
}
/* (non-Javadoc)
* @see org.alfresco.repo.attributes.GlobalAttributeEntryDAO#save(org.alfresco.repo.attributes.GlobalAttributeEntry)
*/
public void save(GlobalAttributeEntry entry)
{
getSession().save(entry);
}
/* (non-Javadoc)
* @see org.alfresco.repo.attributes.GlobalAttributeEntryDAO#getKeys()
*/
@SuppressWarnings("unchecked")
public List<String> getKeys()
{
Query query = getSession().createQuery("select gae.name from GlobalAttributeEntryImpl gae");
DirtySessionMethodInterceptor.setQueryFlushMode(getSession(), query);
return (List<String>)query.list();
}
}