mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
Merged V2.1 to HEAD
6580: AVM bulk import performance tweaks. 6582: WCM-767, WCM-768 6583: Fix for AWC-1528 (potential NPE in ErrorsRenderer) 6584: Fix for AWC-1256 (Links produced by inline HTML editor are incorrect) 6585: AR-1635: event listeners added in a beforeCommit event are now executed successfully 6586: AR-1561 Update Web Scripts readme.html to be consistent with "Category Search Sample" (or vice-versa) 6587: Fix for AWC-1390 (Paste all doesn't work for forum items) 6588: AR-1701 Script getDocument call doesn't check for non-existent content 6589: Fix for AWC-1530 - Saved search does not work for custom properties of type d:text with list constraint 6591: Improvement for submit speed. 6592: Removed obsolete tests. 6594: Index tracking sample to include AVM index tracking 6595: Added the AVM helpers methods from the FreeMarker AVM API that were missing from the JavaScript API 6597: Rationalize post commit execution hooks for deployment receiver 6598: Properly escape path names for ProgramRunnable. 6599: AVM store name lookup cache is (theoretically) clusterable. 6600: Some or other gramatically incorrect stuff about Chiba. 6601: Fix for AR-1121 and AR-1673 6602: AR-1655: Versioning is not MLText aware 6603: Updated messages from lang packs 6604: Fixed AR-1476: JCR import end element escaping 6605: Updated Japanese lang messages git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@6746 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -280,7 +280,9 @@ public class AttributeServiceTest extends TestCase
|
||||
assertEquals(27, fService.getKeys("map/submap").size());
|
||||
fService.removeAttribute("map/submap/subsubmap", "b");
|
||||
assertEquals(25, fService.getKeys("map/submap/subsubmap").size());
|
||||
System.out.println("Before-------------------------------------------------------------");
|
||||
fService.removeAttribute("map/submap", "subsubmap");
|
||||
System.out.println("After--------------------------------------------------------------");
|
||||
assertEquals(26, fService.getKeys("map/submap").size());
|
||||
fService.removeEntries("map/submap", new AttrAndQuery(new AttrQueryGTE("a"),
|
||||
new AttrQueryLTE("d")));
|
||||
|
@@ -34,6 +34,7 @@ import org.alfresco.repo.attributes.AttrQueryHelperImpl;
|
||||
import org.alfresco.repo.attributes.Attribute;
|
||||
import org.alfresco.repo.attributes.AttributeDAO;
|
||||
import org.alfresco.repo.attributes.ListAttribute;
|
||||
import org.alfresco.repo.attributes.ListEntry;
|
||||
import org.alfresco.repo.attributes.ListEntryDAO;
|
||||
import org.alfresco.repo.attributes.MapAttribute;
|
||||
import org.alfresco.repo.attributes.MapEntry;
|
||||
@@ -78,24 +79,23 @@ public class AttributeDAOHibernate extends HibernateDaoSupport implements
|
||||
if (attr.getType() == Type.MAP)
|
||||
{
|
||||
MapAttribute map = (MapAttribute)attr;
|
||||
Collection<Attribute> attrs = map.values();
|
||||
fMapEntryDAO.delete(map);
|
||||
for (Attribute subAttr : attrs)
|
||||
List<MapEntry> mapEntries = fMapEntryDAO.get(map);
|
||||
for (MapEntry entry : mapEntries)
|
||||
{
|
||||
Attribute subAttr = entry.getAttribute();
|
||||
fMapEntryDAO.delete(entry);
|
||||
delete(subAttr);
|
||||
}
|
||||
}
|
||||
if (attr.getType() == Type.LIST)
|
||||
{
|
||||
List<Attribute> children = new ArrayList<Attribute>();
|
||||
for (Attribute child : attr)
|
||||
ListAttribute list = (ListAttribute)attr;
|
||||
List<ListEntry> listEntries = fListEntryDAO.get(list);
|
||||
for (ListEntry entry : listEntries)
|
||||
{
|
||||
children.add(child);
|
||||
}
|
||||
fListEntryDAO.delete((ListAttribute)attr);
|
||||
for (Attribute child : children)
|
||||
{
|
||||
delete(child);
|
||||
Attribute subAttr = entry.getAttribute();
|
||||
fListEntryDAO.delete(entry);
|
||||
delete(subAttr);
|
||||
}
|
||||
}
|
||||
getSession().delete(attr);
|
||||
|
Reference in New Issue
Block a user