本文整理匯總了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");
}
}
}