Author: tdraier
Date: Thu Aug 2 16:29:26 2007
New Revision: 18110
URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18110&repname=
=3Djahia
Log:
fixed jahialinks deletion (port 18056 18055)
Modified:
trunk/core/src/java/org/jahia/content/CrossReferenceManager.java
trunk/core/src/java/org/jahia/content/ObjectLink.java
trunk/core/src/java/org/jahia/hibernate/dao/JahiaLinkDAO.java
trunk/core/src/java/org/jahia/hibernate/manager/JahiaLinkManager.java
Modified: trunk/core/src/java/org/jahia/content/CrossReferenceManager.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/content/CrossReferenceManager.java&rev=3D18110&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/content/CrossReferenceManager.java (origi=
nal)
+++ trunk/core/src/java/org/jahia/content/CrossReferenceManager.java Thu Au=
g 2 16:29:26 2007
@@ -95,7 +95,7 @@
logger.debug ("Retrieving xrefs for object " + objectKey);
=
// let's try to load it from the database
- List leftLinks =3D linkManager.findByRightAndLikeLeftObjectKey (o=
bjectKey, CONTENT_PAGE_PREFIX);
+ List leftLinks =3D linkManager.findByTypeAndRightObjectKey(REFEREN=
CE_TYPE, objectKey);
Set set =3D new HashSet ();
Iterator leftLinksIter =3D leftLinks.listIterator ();
while (leftLinksIter.hasNext ()) {
@@ -150,7 +150,7 @@
while (rightLinksIter.hasNext ()) {
ObjectLink curLink =3D (ObjectLink)rightLinksIter.next ();
resultSet.add (curLink.getRightObjectKey ());
- getObjectXRefs (curLink.getRightObjectKey ());
+// getObjectXRefs (curLink.getRightObjectKey ());
}
objectSourceKeys =3D resultSet;
=
@@ -179,10 +179,10 @@
return;
}
=
- if (!isXRefExisting(objectXRef, objectKey)) {
+// if (!isXRefExisting(objectXRef, objectKey)) {
ObjectLink.createLink (objectXRef, objectKey, REFERENCE_TYPE,
new HashMap ());
- }
+// }
=
}
=
Modified: trunk/core/src/java/org/jahia/content/ObjectLink.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/content/ObjectLink.java&rev=3D18110&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/content/ObjectLink.java (original)
+++ trunk/core/src/java/org/jahia/content/ObjectLink.java Thu Aug 2 16:29:=
26 2007
@@ -162,7 +162,7 @@
public void remove()
throws JahiaException {
JahiaLinkManager linkManager =3D (JahiaLinkManager) SpringContextS=
ingleton.getInstance().getContext().getBean(JahiaLinkManager.class.getName(=
));
- linkManager.removeObjectLink(getID());
+ linkManager.removeObjectLink(type, leftObjectKey, rightObjectKey, =
getID());
}
=
public void setID(int ID) {
Modified: trunk/core/src/java/org/jahia/hibernate/dao/JahiaLinkDAO.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/hibernate/dao/JahiaLinkDAO.java&rev=3D18110&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/hibernate/dao/JahiaLinkDAO.java (original)
+++ trunk/core/src/java/org/jahia/hibernate/dao/JahiaLinkDAO.java Thu Aug =
2 16:29:26 2007
@@ -51,6 +51,12 @@
template.delete(jahiaLink);
}
=
+ public void delete(JahiaXRef jahiaLink) {
+ HibernateTemplate template =3D getHibernateTemplate();
+ template.setFlushMode(HibernateTemplate.FLUSH_AUTO);
+ template.delete(jahiaLink);
+ }
+
public List findByLeftAndRightObjectKeys(String leftKey, String rightK=
ey) {
HibernateTemplate hibernateTemplate =3D getHibernateTemplate();
hibernateTemplate.setCacheQueries(true);
Modified: trunk/core/src/java/org/jahia/hibernate/manager/JahiaLinkManager.=
java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/hibernate/manager/JahiaLinkManager.java&rev=3D18110&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/hibernate/manager/JahiaLinkManager.java (=
original)
+++ trunk/core/src/java/org/jahia/hibernate/manager/JahiaLinkManager.java T=
hu Aug 2 16:29:26 2007
@@ -380,6 +380,17 @@
dao.delete(jahiaLink);
}
=
+ public void removeObjectLink(String type, ObjectKey leftObjectKey, Obj=
ectKey rightObjectKey, int linkId) {
+ if (CrossReferenceManager.REFERENCE_TYPE.equals(type)) {
+ JahiaXRef jahiaLink =3D dao.getJahiaXRef(new Integer(leftObjec=
tKey.getIdInType()), new Integer(rightObjectKey.getIdInType()), new Integer=
(getType(rightObjectKey.getType())));
+ dao.delete(jahiaLink);
+ } else {
+ JahiaLink jahiaLink =3D dao.getJahiaLink(new Integer(linkId));
+ dao.delete(jahiaLink);
+ }
+ flushCache(leftObjectKey.toString(), rightObjectKey.toString());
+ }
+
public boolean typeExists(String type) {
Cache cache =3D cacheService.getCache(CACHE_NAME+"Count");
if (cache =3D=3D null) {
_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list