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

View File

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