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

Reply via email to