Author: tdraier
Date: Tue Jul 24 16:57:33 2007
New Revision: 18052
URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18052&repname=
=3Djahia
Log:
get absolute field and container cross refs in one pass only
Modified:
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/core/Core_=
Engine.java
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/core=
/Core_Engine.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/engines/core/Core_Engine.java&rev=3D18052&r=
epname=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-5-0-SP-BRANCH/core/src/java/org/jahia/engines/core/Core_=
Engine.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/core/Core_=
Engine.java Tue Jul 24 16:57:33 2007
@@ -21,9 +21,7 @@
=
package org.jahia.engines.core;
=
-import org.jahia.content.ContentContainerListsXRefManager;
-import org.jahia.content.ContentFieldXRefManager;
-import org.jahia.content.ObjectKey;
+import org.jahia.content.*;
import org.jahia.data.JahiaData;
import org.jahia.data.events.JahiaEvent;
import org.jahia.engines.EngineRenderer;
@@ -277,10 +275,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.getProcessingContext ().getPageID ());
- Set containerListKeys =3D ContentContainerListsXRefManager.getInst=
ance ()
- .getAbsoluteContainerListsFromPageID (jData.getProcessingC=
ontext ().getPageID ());
+ Set fieldKeys =3D new TreeSet();
+ Set containerListKeys =3D new TreeSet();
+
+ ContentPageKey pageKey =3D new ContentPageKey( jData.getProcessing=
Context ().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