Author: bpapez
Date: Sat Nov 17 22:00:42 2007
New Revision: 19207
URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D19207&repname=
=3Djahia
Log:
Prevent calling the getReverseObjectXRefs two times
Modified:
branches/JAHIA-4-1-BRANCH/src/java/org/jahia/engines/core/Core_Engine.j=
ava
Modified: branches/JAHIA-4-1-BRANCH/src/java/org/jahia/engines/core/Core_En=
gine.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-4-1-BR=
ANCH/src/java/org/jahia/engines/core/Core_Engine.java&rev=3D19207&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
--- branches/JAHIA-4-1-BRANCH/src/java/org/jahia/engines/core/Core_Engine.j=
ava (original)
+++ branches/JAHIA-4-1-BRANCH/src/java/org/jahia/engines/core/Core_Engine.j=
ava Sat Nov 17 22:00:42 2007
@@ -22,9 +22,14 @@
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
+import java.util.TreeSet;
=
+import org.jahia.content.ContentContainerListKey;
import org.jahia.content.ContentContainerListsXRefManager;
+import org.jahia.content.ContentFieldKey;
import org.jahia.content.ContentFieldXRefManager;
+import org.jahia.content.ContentPageKey;
+import org.jahia.content.CrossReferenceManager;
import org.jahia.content.ObjectKey;
import org.jahia.data.JahiaData;
import org.jahia.data.events.JahiaEvent;
@@ -283,10 +288,24 @@
// now we must compare it to the database store to see if there are
// differences, and if so update the database...
=
- Set fieldKeys =3D ContentFieldXRefManager.getInstance ().getAbsolu=
teFieldsFromPageID (
- jData.params ().getPageID ());
- Set containerListKeys =3D ContentContainerListsXRefManager.getInst=
ance ()
- .getAbsoluteContainerListsFromPageID (jData.params ().getP=
ageID ());
+ Set fieldKeys =3D new TreeSet();
+ Set containerListKeys =3D new TreeSet();
+
+ ContentPageKey pageKey =3D new ContentPageKey( jData.getParamBean(=
).getPageID() );
+ Set objectRefs =3D CrossReferenceManager.getInstance().getReverseO=
bjectXRefs(pageKey);
+ if (objectRefs !=3D null) {
+ Iterator objectRefIter =3D objectRefs.iterator();
+ while (objectRefIter.hasNext()) {
+ Object source =3D objectRefIter.next();
+ if (source instanceof ContentContainerListKey) {
+ containerListKeys.add(source);
+ } else if (source instanceof ContentFieldKey) {
+ fieldKeys.add(source);
+ } else {
+ logger.debug("Invalid key object in cross reference li=
st, ignoring... ");
+ }
+ }
+ }
=
// first let's convert the keys into IDs.
Set databaseAbsoluteFieldIDs =3D new HashSet ();
_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list