mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
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
This commit is contained in:
@@ -27,6 +27,7 @@ package org.alfresco.repo.attributes;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.alfresco.repo.domain.hibernate.DirtySessionAnnotation;
|
||||
import org.alfresco.service.cmr.attributes.AttrQuery;
|
||||
import org.alfresco.util.Pair;
|
||||
|
||||
@@ -40,12 +41,14 @@ public interface AttributeDAO
|
||||
* Save an attribute (recursively).
|
||||
* @param attr The attribute to save.
|
||||
*/
|
||||
@DirtySessionAnnotation(markDirty=true)
|
||||
public void save(Attribute attr);
|
||||
|
||||
/**
|
||||
* Delete an attribute (recursively).
|
||||
* @param attr The attribute to delete.
|
||||
*/
|
||||
@DirtySessionAnnotation(markDirty=true)
|
||||
public void delete(Attribute attr);
|
||||
|
||||
/**
|
||||
@@ -54,6 +57,7 @@ public interface AttributeDAO
|
||||
* @param query The AttrQuery.
|
||||
* @return A List of key, attribute value pairs.
|
||||
*/
|
||||
@DirtySessionAnnotation(markDirty=false)
|
||||
public List<Pair<String,Attribute>> find(MapAttribute map, AttrQuery query);
|
||||
|
||||
/**
|
||||
@@ -61,22 +65,26 @@ public interface AttributeDAO
|
||||
* @param map
|
||||
* @param query
|
||||
*/
|
||||
@DirtySessionAnnotation(markDirty=true)
|
||||
public void delete(MapAttribute map, AttrQuery query);
|
||||
|
||||
/**
|
||||
* Evict an Attribute from the session cache.
|
||||
* @param attr
|
||||
*/
|
||||
@DirtySessionAnnotation(markDirty=false)
|
||||
public void evict(Attribute attr);
|
||||
|
||||
/**
|
||||
* Evict an Attribute non-recursively.
|
||||
* @param attr
|
||||
*/
|
||||
@DirtySessionAnnotation(markDirty=false)
|
||||
public void evictFlat(Attribute attr);
|
||||
|
||||
/**
|
||||
* Force a flush.
|
||||
*/
|
||||
@DirtySessionAnnotation(markDirty=false)
|
||||
public void flush();
|
||||
}
|
||||
|
@@ -2,6 +2,8 @@ package org.alfresco.repo.attributes;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.alfresco.repo.domain.hibernate.DirtySessionAnnotation;
|
||||
|
||||
/**
|
||||
* Interface for persistence of the top level attribute map.
|
||||
* @author britt
|
||||
@@ -12,18 +14,21 @@ public interface GlobalAttributeEntryDAO
|
||||
* Save an entry.
|
||||
* @param entry To save.
|
||||
*/
|
||||
@DirtySessionAnnotation(markDirty=true)
|
||||
public void save(GlobalAttributeEntry entry);
|
||||
|
||||
/**
|
||||
* Delete an entry.
|
||||
* @param entry To delete.
|
||||
*/
|
||||
@DirtySessionAnnotation(markDirty=true)
|
||||
public void delete(GlobalAttributeEntry entry);
|
||||
|
||||
/**
|
||||
* Delete an entry by name.
|
||||
* @param name The name of the entry.
|
||||
*/
|
||||
@DirtySessionAnnotation(markDirty=true)
|
||||
public void delete(String name);
|
||||
|
||||
/**
|
||||
@@ -31,11 +36,13 @@ public interface GlobalAttributeEntryDAO
|
||||
* @param name The name of the attribute.
|
||||
* @return The entry or null.
|
||||
*/
|
||||
@DirtySessionAnnotation(markDirty=false)
|
||||
public GlobalAttributeEntry get(String name);
|
||||
|
||||
/**
|
||||
* Get all keys for global attributes.
|
||||
* @return A list of all top level keys.
|
||||
*/
|
||||
@DirtySessionAnnotation(markDirty=false)
|
||||
public List<String> getKeys();
|
||||
}
|
||||
|
@@ -27,6 +27,8 @@ package org.alfresco.repo.attributes;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.alfresco.repo.domain.hibernate.DirtySessionAnnotation;
|
||||
|
||||
/**
|
||||
* DAO interface for ListEntries.
|
||||
* @author britt
|
||||
@@ -37,6 +39,7 @@ public interface ListEntryDAO
|
||||
* Save a new Entry.
|
||||
* @param entry
|
||||
*/
|
||||
@DirtySessionAnnotation(markDirty=true)
|
||||
public void save(ListEntry entry);
|
||||
|
||||
/**
|
||||
@@ -45,6 +48,7 @@ public interface ListEntryDAO
|
||||
* @param index The index.
|
||||
* @return The ListEntry.
|
||||
*/
|
||||
@DirtySessionAnnotation(markDirty=false)
|
||||
public ListEntry get(ListEntryKey key);
|
||||
|
||||
/**
|
||||
@@ -52,18 +56,21 @@ public interface ListEntryDAO
|
||||
* @param list The ListAttribute.
|
||||
* @return The entries.
|
||||
*/
|
||||
@DirtySessionAnnotation(markDirty=false)
|
||||
public List<ListEntry> get(ListAttribute list);
|
||||
|
||||
/**
|
||||
* Delete a list entry.
|
||||
* @param entry
|
||||
*/
|
||||
@DirtySessionAnnotation(markDirty=true)
|
||||
public void delete(ListEntry entry);
|
||||
|
||||
/**
|
||||
* Delete all entries from a list.
|
||||
* @param list
|
||||
*/
|
||||
@DirtySessionAnnotation(markDirty=true)
|
||||
public void delete(ListAttribute list);
|
||||
|
||||
/**
|
||||
@@ -71,5 +78,6 @@ public interface ListEntryDAO
|
||||
* @param list The list.
|
||||
* @return The count of entries.
|
||||
*/
|
||||
@DirtySessionAnnotation(markDirty=false)
|
||||
public int size(ListAttribute list);
|
||||
}
|
||||
|
@@ -2,6 +2,8 @@ package org.alfresco.repo.attributes;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.alfresco.repo.domain.hibernate.DirtySessionAnnotation;
|
||||
|
||||
/**
|
||||
* Interface for MapEntry persistence.
|
||||
* @author britt
|
||||
@@ -12,18 +14,21 @@ public interface MapEntryDAO
|
||||
* Save a MapEntry.
|
||||
* @param entry To save.
|
||||
*/
|
||||
@DirtySessionAnnotation(markDirty=true)
|
||||
public void save(MapEntry entry);
|
||||
|
||||
/**
|
||||
* Delete a MapEntry.
|
||||
* @param entry
|
||||
*/
|
||||
@DirtySessionAnnotation(markDirty=true)
|
||||
public void delete(MapEntry entry);
|
||||
|
||||
/**
|
||||
* Delete all entries for a map.
|
||||
* @param mapAttr The map to purge.
|
||||
*/
|
||||
@DirtySessionAnnotation(markDirty=true)
|
||||
public void delete(MapAttribute mapAttr);
|
||||
|
||||
/**
|
||||
@@ -31,6 +36,7 @@ public interface MapEntryDAO
|
||||
* @param key The key of the entry.
|
||||
* @return A MapEntry or null.
|
||||
*/
|
||||
@DirtySessionAnnotation(markDirty=false)
|
||||
public MapEntry get(MapEntryKey key);
|
||||
|
||||
/**
|
||||
@@ -38,6 +44,7 @@ public interface MapEntryDAO
|
||||
* @param mapAttr
|
||||
* @return A List of all entries in the given map.
|
||||
*/
|
||||
@DirtySessionAnnotation(markDirty=false)
|
||||
public List<MapEntry> get(MapAttribute mapAttr);
|
||||
|
||||
/**
|
||||
@@ -45,11 +52,13 @@ public interface MapEntryDAO
|
||||
* @param mapAttr The MapAttribute/
|
||||
* @return The number of entries.
|
||||
*/
|
||||
@DirtySessionAnnotation(markDirty=false)
|
||||
public int size(MapAttribute mapAttr);
|
||||
|
||||
/**
|
||||
* Evict an entry.
|
||||
* @param entry
|
||||
*/
|
||||
@DirtySessionAnnotation(markDirty=false)
|
||||
public void evict(MapEntry entry);
|
||||
}
|
||||
|
@@ -43,6 +43,7 @@ import org.alfresco.repo.attributes.MapEntry;
|
||||
import org.alfresco.repo.attributes.MapEntryDAO;
|
||||
import org.alfresco.repo.attributes.Attribute.Type;
|
||||
import org.alfresco.repo.avm.hibernate.SessionCacheChecker;
|
||||
import org.alfresco.repo.domain.hibernate.DirtySessionMethodInterceptor;
|
||||
import org.alfresco.service.cmr.attributes.AttrQuery;
|
||||
import org.alfresco.service.cmr.attributes.AttrQueryHelper;
|
||||
import org.alfresco.util.Pair;
|
||||
@@ -128,6 +129,7 @@ public class AttributeDAOHibernate extends HibernateDaoSupport implements
|
||||
{
|
||||
hQuery.setParameter(param.getKey(), param.getValue());
|
||||
}
|
||||
DirtySessionMethodInterceptor.setQueryFlushMode(getSession(), hQuery);
|
||||
List<MapEntry> hits = (List<MapEntry>)hQuery.list();
|
||||
List<Pair<String, Attribute>> result = new ArrayList<Pair<String, Attribute>>();
|
||||
for (MapEntry entry : hits)
|
||||
|
@@ -32,6 +32,7 @@ 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;
|
||||
|
||||
@@ -94,6 +95,7 @@ public class GlobalAttributeEntryDAOHibernate extends HibernateDaoSupport
|
||||
public List<String> getKeys()
|
||||
{
|
||||
Query query = getSession().createQuery("select gae.name from GlobalAttributeEntryImpl gae");
|
||||
DirtySessionMethodInterceptor.setQueryFlushMode(getSession(), query);
|
||||
return (List<String>)query.list();
|
||||
}
|
||||
}
|
||||
|
@@ -32,6 +32,7 @@ import org.alfresco.repo.attributes.ListEntry;
|
||||
import org.alfresco.repo.attributes.ListEntryDAO;
|
||||
import org.alfresco.repo.attributes.ListEntryImpl;
|
||||
import org.alfresco.repo.attributes.ListEntryKey;
|
||||
import org.alfresco.repo.domain.hibernate.DirtySessionMethodInterceptor;
|
||||
import org.hibernate.Query;
|
||||
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
|
||||
|
||||
@@ -76,6 +77,7 @@ public class ListEntryDAOHibernate extends HibernateDaoSupport implements
|
||||
{
|
||||
Query query = getSession().createQuery("from ListEntryImpl le where le.key.list = :list");
|
||||
query.setEntity("list", list);
|
||||
DirtySessionMethodInterceptor.setQueryFlushMode(getSession(), query);
|
||||
return (List<ListEntry>)query.list();
|
||||
}
|
||||
|
||||
@@ -94,6 +96,7 @@ public class ListEntryDAOHibernate extends HibernateDaoSupport implements
|
||||
{
|
||||
Query query = getSession().createQuery("select count(*) from ListEntryImpl le where le.key.list = :list");
|
||||
query.setEntity("list", list);
|
||||
DirtySessionMethodInterceptor.setQueryFlushMode(getSession(), query);
|
||||
return ((Long)query.uniqueResult()).intValue();
|
||||
}
|
||||
}
|
||||
|
@@ -32,6 +32,7 @@ import org.alfresco.repo.attributes.MapEntry;
|
||||
import org.alfresco.repo.attributes.MapEntryDAO;
|
||||
import org.alfresco.repo.attributes.MapEntryImpl;
|
||||
import org.alfresco.repo.attributes.MapEntryKey;
|
||||
import org.alfresco.repo.domain.hibernate.DirtySessionMethodInterceptor;
|
||||
import org.hibernate.Query;
|
||||
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
|
||||
|
||||
@@ -76,6 +77,7 @@ public class MapEntryDAOHibernate extends HibernateDaoSupport implements
|
||||
{
|
||||
Query query = getSession().createQuery("from MapEntryImpl me where me.key.map = :map");
|
||||
query.setEntity("map", mapAttr);
|
||||
DirtySessionMethodInterceptor.setQueryFlushMode(getSession(), query);
|
||||
return (List<MapEntry>)query.list();
|
||||
}
|
||||
|
||||
@@ -94,6 +96,7 @@ public class MapEntryDAOHibernate extends HibernateDaoSupport implements
|
||||
{
|
||||
Query query = getSession().createQuery("select count(*) from MapEntryImpl me where me.key.map = :map");
|
||||
query.setEntity("map", mapAttr);
|
||||
DirtySessionMethodInterceptor.setQueryFlushMode(getSession(), query);
|
||||
return ((Long)query.uniqueResult()).intValue();
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user