Author: knguyen
Date: Thu May 31 17:05:27 2007
New Revision: 17425
URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D17425&repname=
=3Djahia
Log:
JAHIA-1188: fix linked objects in cache with versioning
Modified:
trunk/core/src/java/org/jahia/content/ContentObject.java
Modified: trunk/core/src/java/org/jahia/content/ContentObject.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/content/ContentObject.java&rev=3D17425&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/ContentObject.java (original)
+++ trunk/core/src/java/org/jahia/content/ContentObject.java Thu May 31 17:=
05:27 2007
@@ -409,6 +409,34 @@
WorkflowEvent theEvent =3D new WorkflowEvent (this, this, user, en=
tryState.getLanguageCode(), false);
ServicesRegistry.getInstance ().getJahiaEventService ().fireObject=
Changed(theEvent);
=
+ if ( this.getPageID() > 0 ){
+ try {
+ ContentObjectKey contentPageKey =3D new ContentPageKey(thi=
s.getPageID());
+ if ( this instanceof ContentPage ){
+ int parentId =3D 0;
+ ContentPage contentPage =3D (ContentPage)this;
+ EntryLoadRequest loadRequest =3D new EntryLoadRequest(=
EntryLoadRequest.STAGED);
+ loadRequest.setWithDeleted(true);
+ loadRequest.setWithMarkedForDeletion(true);
+ parentId =3D contentPage.getParentID(loadRequest);
+ if ( parentId > 0 ){
+ contentPageKey =3D new ContentPageKey(parentId);
+ ServicesRegistry.getInstance().getWorkflowService(=
).flushCacheForObjectChanged(contentPageKey);
+ }
+ loadRequest =3D new EntryLoadRequest(EntryLoadRequest.=
CURRENT);
+ loadRequest.setWithDeleted(true);
+ parentId =3D contentPage.getParentID(loadRequest);
+ if ( parentId > 0 ){
+ contentPageKey =3D new ContentPageKey(parentId);
+ ServicesRegistry.getInstance().getWorkflowService(=
).flushCacheForObjectChanged(contentPageKey);
+ }
+ } else {
+ ServicesRegistry.getInstance().getWorkflowService().fl=
ushCacheForObjectChanged(contentPageKey);
+ }
+ } catch ( Throwable t ){
+ logger.debug("Exeption flushing linked object cache",t);
+ }
+ }
return opResult;
}
=
_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list