mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-10-22 15:12:38 +00:00
34321: Make CIFS virtual circuit per session limit configurable, return correct status code when virtual circuit limit is reached.
Required by Terminal Server clients as they can use a single session for all connections. ALF-13156
34322: Services part of fix for ALF-13057 Nodes marked with rma:ghosted aspect (or other configurable aspects/types) should not be renditioned.
34323: Added configuration property for CIFS virtual circuits per session, required by Terminal Server clients. ALF-13156.
34332: Fix for ALF-8405
34336: Merged BRANCHES/V4.0 to BRANCHES/DEV/V4.0-BUG-FIX:
34335: Fixing a failing test as part of ALF-13057
34338: NodeDAO: re-parent "lost & found" orphan child nodes (see ALF-12358 & ALF-13066 / SYS-301)
- test fix (follow-on to r34279)
34341: NodeDAO: re-parent "lost & found" orphan child nodes (see ALF-12358 & ALF-13066 / SYS-301)
- ano test fix (once more with feeling)
34351: Merged V4.0 to V4.0-BUG-FIX
34335: (RECORD ONLY) Fixing a failing test as part of ALF-13057
34350: Merged V3.4 to V4.0
34327: ALF-13030 ALF-13041 Transformer Server needs filename and to make its transformer preferred over OpenOffice and JOD
Relates to ALF-10976 and ALF-10412 set of changes
- TransformerOptions.sourceNodeRef now populated
- Set average transformer time via global properties
- TransformerDebug of active transformers added
34331: ALF-13030 ALF-13041 Transformer Server needs filename and to make its transformer preferred over OpenOffice and JOD
Relates to ALF-10976 and ALF-10412 set of changes
- Fix test failures
34346: ALF-13030 ALF-13041 Transformer Server needs filename and to make its transformer preferred over OpenOffice and JOD
Relates to ALF-10976 and ALF-10412 set of changes
- sourceNodeRef was not available to the first child transformer of a ComplexContentTransformer
34358: Merged V4.0 to V4.0-BUG-FIX (RECORD ONLY)
34324: Merged BRANCHES/DEV/V4.0-BUG-FIX to BRANCHES/V4.0:
34322: Services part of fix for ALF-13057 Nodes marked with rma:ghosted aspect (or other configurable aspects/types) should not be renditioned.
34360: Merged V3.4-BUG-FIX to V4.0-BUG-FIX (RECORD ONLY)
34349: Merged V3.4 to V3.4-BUG-FIX
34327: ALF-13030 ALF-13041 Transformer Server needs filename and to make its transformer preferred over OpenOffice and JOD
Relates to ALF-10976 and ALF-10412 set of changes
- TransformerOptions.sourceNodeRef now populated
- Set average transformer time via global properties
- TransformerDebug of active transformers added
34331: ALF-13030 ALF-13041 Transformer Server needs filename and to make its transformer preferred over OpenOffice and JOD
Relates to ALF-10976 and ALF-10412 set of changes
- Fix test failures
34346: ALF-13030 ALF-13041 Transformer Server needs filename and to make its transformer preferred over OpenOffice and JOD
Relates to ALF-10976 and ALF-10412 set of changes
- sourceNodeRef was not available to the first child transformer of a ComplexContentTransformer
34348: Merged PATCHES/V3.4.7 to V3.4
34347: ALF-12949: Merged V4.0-BUG-FIX to PATCHES/V3.4.7
33959: Merged BRANCHES/DEV/V3.4-BUG-FIX to BRANCHES/DEV/V4.0-BUG-FIX
33950: Fix for ALF-12787:
- Surf Memory usage optimizations and improvements to ModelObject and derived classes.
- Reduced avg memory usage for a ModelObject in the Surf persister cache from 4.0K to 1.5K.
- Related refactoring to support removal of in-memory XML DOM previously used to maintain ModelObject state. Now XML DOM only created as needed for set() operations and thrown away.
- Improvements to Surf Persister cache strategy to support MRU style concurrent cache, now uses a LinkedConcurrentHashMap to provide a concurrent cache that also has a configurable maximum capacity
- Added various improved spring config for persister caches and default sizes.
Merged BRANCHES/DEV/V3.4-BUG-FIX to BRANCHES/DEV/V4.0-BUG-FIX
33956: Latest SpringSurf libs: Fixed issue with overly aggressive caching of missing page View objects.
34108: Merged BRANCHES/DEV/V3.4-BUG-FIX to BRANCHES/DEV/V4.0-BUG-FIX
34107: Added missing jar lib to wcmquickstart and webeditor dependencies
34363: Merged V4.0 to V4.0-BUG-FIX
34362: Merged V3.4 to V4.0 (RECORD ONLY)
34282: ALF-13059: Windows 7 specific: It's impossible to add documents to DWS
- Fix by Alex Malinovsky
34348: Merged PATCHES/V3.4.7 to V3.4
34347: ALF-12949: Merged V4.0-BUG-FIX to PATCHES/V3.4.7
33959: Merged BRANCHES/DEV/V3.4-BUG-FIX to BRANCHES/DEV/V4.0-BUG-FIX
33950: Fix for ALF-12787:
- Surf Memory usage optimizations and improvements to ModelObject and derived classes.
- Reduced avg memory usage for a ModelObject in the Surf persister cache from 4.0K to 1.5K.
- Related refactoring to support removal of in-memory XML DOM previously used to maintain ModelObject state. Now XML DOM only created as needed for set() operations and thrown away.
- Improvements to Surf Persister cache strategy to support MRU style concurrent cache, now uses a LinkedConcurrentHashMap to provide a concurrent cache that also has a configurable maximum capacity
- Added various improved spring config for persister caches and default sizes.
Merged BRANCHES/DEV/V3.4-BUG-FIX to BRANCHES/DEV/V4.0-BUG-FIX
33956: Latest SpringSurf libs: Fixed issue with overly aggressive caching of missing page View objects.
34108: Merged BRANCHES/DEV/V3.4-BUG-FIX to BRANCHES/DEV/V4.0-BUG-FIX
34107: Added missing jar lib to wcmquickstart and webeditor dependencies
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@34364 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
151 lines
5.1 KiB
Java
151 lines
5.1 KiB
Java
/*
|
|
* Copyright (C) 2005-2010 Alfresco Software Limited.
|
|
*
|
|
* This file is part of Alfresco
|
|
*
|
|
* Alfresco is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU Lesser General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* Alfresco 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 Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public License
|
|
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
package org.alfresco.repo.site;
|
|
|
|
import java.io.Serializable;
|
|
import java.util.Map;
|
|
|
|
import org.alfresco.model.ContentModel;
|
|
import org.alfresco.repo.node.NodeServicePolicies;
|
|
import org.alfresco.repo.node.NodeServicePolicies.OnMoveNodePolicy;
|
|
import org.alfresco.repo.node.NodeServicePolicies.OnUpdatePropertiesPolicy;
|
|
import org.alfresco.repo.policy.Behaviour;
|
|
import org.alfresco.repo.policy.JavaBehaviour;
|
|
import org.alfresco.repo.policy.PolicyComponent;
|
|
import org.alfresco.service.cmr.dictionary.DictionaryService;
|
|
import org.alfresco.service.cmr.repository.ChildAssociationRef;
|
|
import org.alfresco.service.cmr.repository.NodeRef;
|
|
import org.alfresco.service.cmr.repository.NodeService;
|
|
import org.alfresco.service.namespace.QName;
|
|
import org.alfresco.util.EqualsHelper;
|
|
|
|
/**
|
|
* Site aspect behaviour bean.
|
|
*
|
|
* Renames are not allowed, because the relationship between a site and
|
|
* its authorities is based on a pattern using the name.
|
|
*
|
|
* @author Nick Burch
|
|
*/
|
|
public class SiteAspect implements NodeServicePolicies.OnMoveNodePolicy, NodeServicePolicies.OnUpdatePropertiesPolicy
|
|
{
|
|
/** Services */
|
|
private DictionaryService dictionaryService;
|
|
private PolicyComponent policyComponent;
|
|
private NodeService nodeService;
|
|
|
|
/**
|
|
* Set the dictionary service
|
|
*
|
|
* @param dictionaryService dictionary service
|
|
*/
|
|
public void setDictionaryService(DictionaryService dictionaryService)
|
|
{
|
|
this.dictionaryService = dictionaryService;
|
|
}
|
|
|
|
/**
|
|
* Set the policy component
|
|
*
|
|
* @param policyComponent policy component
|
|
*/
|
|
public void setPolicyComponent(PolicyComponent policyComponent)
|
|
{
|
|
this.policyComponent = policyComponent;
|
|
}
|
|
|
|
/**
|
|
* Set the node service
|
|
*
|
|
* @param nodeService node service
|
|
*/
|
|
public void setNodeService(NodeService nodeService)
|
|
{
|
|
this.nodeService = nodeService;
|
|
}
|
|
|
|
/**
|
|
* Initialise method
|
|
*/
|
|
public void init()
|
|
{
|
|
this.policyComponent.bindClassBehaviour(OnMoveNodePolicy.QNAME,
|
|
SiteModel.TYPE_SITE,
|
|
new JavaBehaviour(this, "onMoveNode", Behaviour.NotificationFrequency.EVERY_EVENT));
|
|
|
|
this.policyComponent.bindClassBehaviour(OnMoveNodePolicy.QNAME,
|
|
SiteModel.ASPECT_SITE_CONTAINER,
|
|
new JavaBehaviour(this, "onMoveNode", Behaviour.NotificationFrequency.EVERY_EVENT));
|
|
|
|
this.policyComponent.bindClassBehaviour(OnUpdatePropertiesPolicy.QNAME,
|
|
SiteModel.TYPE_SITE,
|
|
new JavaBehaviour(this, "onUpdateProperties", Behaviour.NotificationFrequency.EVERY_EVENT));
|
|
|
|
this.policyComponent.bindClassBehaviour(OnUpdatePropertiesPolicy.QNAME,
|
|
SiteModel.ASPECT_SITE_CONTAINER,
|
|
new JavaBehaviour(this, "onUpdateProperties", Behaviour.NotificationFrequency.EVERY_EVENT));
|
|
}
|
|
|
|
public void onUpdateProperties(NodeRef nodeRef,
|
|
Map<QName, Serializable> before,
|
|
Map<QName, Serializable> after)
|
|
{
|
|
String beforeName = (String)before.get(ContentModel.PROP_NAME);
|
|
String afterName = (String)after.get(ContentModel.PROP_NAME);
|
|
|
|
if(beforeName != null && !beforeName.equals(afterName))
|
|
{
|
|
// Deny renames
|
|
QName type = nodeService.getType(nodeRef);
|
|
if (dictionaryService.isSubClass(type, SiteModel.TYPE_SITE))
|
|
{
|
|
throw new SiteServiceException("Sites can not be renamed.");
|
|
}
|
|
else
|
|
{
|
|
throw new SiteServiceException("Site containers can not be renamed.");
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Deny renames.
|
|
*/
|
|
public void onMoveNode(ChildAssociationRef oldChildAssocRef,
|
|
ChildAssociationRef newChildAssocRef)
|
|
{
|
|
NodeRef oldParent = oldChildAssocRef.getParentRef();
|
|
NodeRef newParent = newChildAssocRef.getParentRef();
|
|
|
|
// Deny renames
|
|
if (oldParent.equals(newParent))
|
|
{
|
|
QName type = nodeService.getType((oldChildAssocRef.getChildRef()));
|
|
if (dictionaryService.isSubClass(type, SiteModel.TYPE_SITE))
|
|
{
|
|
throw new SiteServiceException("Sites can not be renamed.");
|
|
}
|
|
else
|
|
{
|
|
throw new SiteServiceException("Site containers can not be renamed.");
|
|
}
|
|
}
|
|
}
|
|
}
|