本文整理汇总了Java中org.alfresco.model.ContentModel.PROP_AUTHORITY_NAME属性的典型用法代码示例。如果您正苦于以下问题:Java ContentModel.PROP_AUTHORITY_NAME属性的具体用法?Java ContentModel.PROP_AUTHORITY_NAME怎么用?Java ContentModel.PROP_AUTHORITY_NAME使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类org.alfresco.model.ContentModel
的用法示例。
在下文中一共展示了ContentModel.PROP_AUTHORITY_NAME属性的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: onUpdateProperties
public void onUpdateProperties(NodeRef nodeRef, Map<QName, Serializable> before, Map<QName, Serializable> after)
{
boolean isAuthority = dictionaryService.isSubClass(nodeService.getType(nodeRef), ContentModel.TYPE_AUTHORITY_CONTAINER);
QName idProp = isAuthority ? ContentModel.PROP_AUTHORITY_NAME : ContentModel.PROP_USERNAME;
String authBefore = DefaultTypeConverter.INSTANCE.convert(String.class, before.get(idProp));
if (authBefore == null)
{
// Node has just been created; nothing to do
return;
}
String authAfter = DefaultTypeConverter.INSTANCE.convert(String.class, after.get(idProp));
if (!EqualsHelper.nullSafeEquals(authBefore, authAfter))
{
if (AlfrescoTransactionSupport.getResource(PersonServiceImpl.KEY_ALLOW_UID_UPDATE) != null || authBefore.equalsIgnoreCase(authAfter))
{
if (isAuthority)
{
if (authBefore != null)
{
// Fix any ACLs
aclDao.renameAuthority(authBefore, authAfter);
}
// Fix primary association local name
QName newAssocQName = QName.createQName("cm", authAfter, namespacePrefixResolver);
ChildAssociationRef assoc = nodeService.getPrimaryParent(nodeRef);
nodeService.moveNode(nodeRef, assoc.getParentRef(), assoc.getTypeQName(), newAssocQName);
// Fix other non-case sensitive parent associations
QName oldAssocQName = QName.createQName("cm", authBefore, namespacePrefixResolver);
newAssocQName = QName.createQName("cm", authAfter, namespacePrefixResolver);
for (ChildAssociationRef parent : nodeService.getParentAssocs(nodeRef))
{
if (!parent.isPrimary() && parent.getQName().equals(oldAssocQName))
{
nodeService.removeChildAssociation(parent);
nodeService.addChild(parent.getParentRef(), parent.getChildRef(), parent.getTypeQName(),
newAssocQName);
}
}
authorityLookupCache.clear();
authorityBridgeTableCache.refresh();
// Cache is out of date
userAuthorityCache.clear();
}
else
{
userAuthorityCache.remove(authBefore);
}
// Remove cache entires for the parents. No need to lock because the data has already been updated.
removeParentsFromChildAuthorityCache(nodeRef, false);
}
else
{
throw new UnsupportedOperationException("The name of an authority can not be changed");
}
}
}