Fixes for node child uniqueness

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@3637 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2006-08-30 14:29:35 +00:00
parent 7e6c9644af
commit 6b3e0c0613
2 changed files with 29 additions and 27 deletions

View File

@@ -137,6 +137,7 @@
<id name="id" column="id" type="long" >
<generator class="native" />
</id>
<natural-id mutable="true">
<!-- forward assoc to parent node -->
<many-to-one
name="parent"
@@ -160,6 +161,7 @@
</many-to-one>
<property name="typeQName" column="type_qname" type="QName" length="255" not-null="true" unique-key="UIDX_CHILD_NAME" />
<property name="qname" column="qname" type="QName" length="255" not-null="true" />
</natural-id>
<property name="childNodeName" column="child_node_name" type="string" length="50" not-null="true" unique-key="UIDX_CHILD_NAME" />
<property name="childNodeNameCrc" column="child_node_name_crc" type="long" not-null="true" unique-key="UIDX_CHILD_NAME" />
<property name="isPrimary" column="is_primary" />

View File

@@ -383,12 +383,12 @@ public class HibernateNodeDaoServiceImpl extends HibernateDaoSupport implements
* if the association is recreated subsequently.
*/
String uuid = childNode.getUuid();
String tempUuid = GUID.generate();
ChildAssoc assoc = new ChildAssocImpl();
assoc.setTypeQName(assocTypeQName);
assoc.setChildNodeName(getShortName(uuid));
assoc.setChildNodeNameCrc(getCrc(uuid));
assoc.setChildNodeName(getShortName(tempUuid));
assoc.setChildNodeNameCrc(getCrc(tempUuid));
assoc.setQname(qname);
assoc.setIsPrimary(isPrimary);
assoc.buildAssociation(parentNode, childNode);
@@ -424,7 +424,7 @@ public class HibernateNodeDaoServiceImpl extends HibernateDaoSupport implements
String childNameNew = null;
if (childName == null)
{
childNameNew = childAssoc.getChild().getUuid();
childNameNew = childAssoc.getId().toString();
}
else
{