knguyen 2005/08/10 13:24:42 CEST
Modified files:
core/src/java/org/jahia/data/viewhelper/sitemap
SiteMapViewHelper.java
core/src/java/org/jahia/hibernate/manager
JahiaObjectDelegate.java
JahiaObjectManager.java
Log:
- add expired check in sitemap
Revision Changes Path
1.8 +23 -1
jahia/core/src/java/org/jahia/data/viewhelper/sitemap/SiteMapViewHelper.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/data/viewhelper/sitemap/SiteMapViewHelper.java.diff?r1=1.7&r2=1.8&f=h
1.2 +4 -1
jahia/core/src/java/org/jahia/hibernate/manager/JahiaObjectDelegate.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/hibernate/manager/JahiaObjectDelegate.java.diff?r1=1.1&r2=1.2&f=h
1.2 +1 -1
jahia/core/src/java/org/jahia/hibernate/manager/JahiaObjectManager.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/hibernate/manager/JahiaObjectManager.java.diff?r1=1.1&r2=1.2&f=h
Index: SiteMapViewHelper.java
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/java/org/jahia/data/viewhelper/sitemap/SiteMapViewHelper.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- SiteMapViewHelper.java 5 Jul 2005 15:46:03 -0000 1.7
+++ SiteMapViewHelper.java 10 Aug 2005 11:24:41 -0000 1.8
@@ -51,6 +51,9 @@
import java.io.Serializable;
import org.jahia.services.version.*;
+import org.jahia.hibernate.manager.JahiaObjectManager;
+import org.jahia.hibernate.manager.SpringContextSingleton;
+import org.jahia.hibernate.manager.JahiaObjectDelegate;
/**
* <p>The Jahia Shared Modification is: Jahia View Helper</p>
@@ -72,6 +75,8 @@
public static final int TREE_VIEW = 0;
public static final int FLAT_VIEW = 1;
+ private JahiaObjectManager jahiaObjectManager = null;
+
/**
* Create a view helper on a entire Jahia site map restricted to the
actual
* logged user.
@@ -87,6 +92,9 @@
public SiteMapViewHelper(JahiaUser user, ContentObject startPage,
int pageInfosFlag, String languageCode,
int defaultMaxLevel) {
+
+ jahiaObjectManager = (JahiaObjectManager)
SpringContextSingleton.getInstance()
+ .getContext().getBean(JahiaObjectManager.class.getName());
_user = user;
_pageInfosFlag = pageInfosFlag;
_languageCode = languageCode;
@@ -99,6 +107,7 @@
_jahiaPageSiteMap.add(new PageSiteMap(pageID, _currentLevel,
childPageEnum.hasNext(),
0, false,
contentPage.getTitles(ContentPage.LAST_UPDATED_TITLES), 0, _defaultMaxLevel));
getAllPageChilds(startPage, childPageEnum);
+
}
/**
@@ -117,6 +126,10 @@
public SiteMapViewHelper(JahiaUser user, ContentObject startPage,
int pageInfosFlag, String languageCode,
int defaultMaxLevel, boolean directPageOnly) {
+
+ jahiaObjectManager = (JahiaObjectManager)
SpringContextSingleton.getInstance()
+ .getContext().getBean(JahiaObjectManager.class.getName());
+
_user = user;
_pageInfosFlag = pageInfosFlag;
_languageCode = languageCode;
@@ -313,13 +326,14 @@
if ( pageChildsEnum == null ){
pageChildsEnum = new ArrayList().iterator();
}
- if (_pageInfosFlag == (ContentPage.ACTIVE_PAGE_INFOS |
ContentPage.STAGING_PAGE_INFOS)) {
+ if (_pageInfosFlag == (ContentPage.STAGING_PAGE_INFOS)) {
return pageChildsEnum; // In this case shortcut the next
steps for optmization.
}
// Precompute what should contain the site map regarding the page
// infos flag and the language code.
Vector pageChildsList = new Vector();
+ JahiaObjectDelegate delegate = null;
while (pageChildsEnum.hasNext()) {
ContentPage contentPage = (ContentPage)pageChildsEnum.next();
if (_languageCode != null) {
@@ -340,6 +354,14 @@
continue; // This page does not fill the criterions
}
}
+
+ // time based publishing state check
+ if ( _pageInfosFlag == ContentPage.ACTIVE_PAGE_INFOS ) {
+ delegate =
jahiaObjectManager.getJahiaObjectDelegate(contentPage.getObjectKey());
+ if ( delegate != null && !delegate.isValid() ){
+ continue;
+ }
+ }
pageChildsList.add(contentPage);
}
return pageChildsList.iterator();
Index: JahiaObjectDelegate.java
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/java/org/jahia/hibernate/manager/JahiaObjectDelegate.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- JahiaObjectDelegate.java 10 Aug 2005 08:27:00 -0000 1.1
+++ JahiaObjectDelegate.java 10 Aug 2005 11:24:41 -0000 1.2
@@ -72,5 +72,8 @@
public void setRule(RetentionRule rule) {
this.rule = rule;
}
-
+
+ public boolean isValid(){
+ return (this.getTimeBPState().intValue() == IS_VALID_STATE);
+ }
}
Index: JahiaObjectManager.java
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/java/org/jahia/hibernate/manager/JahiaObjectManager.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- JahiaObjectManager.java 10 Aug 2005 08:27:00 -0000 1.1
+++ JahiaObjectManager.java 10 Aug 2005 11:24:41 -0000 1.2
@@ -177,7 +177,7 @@
if ( delegate.getSiteId().intValue()>0 ){
hibJahiaObject.setSite(siteDao.findById(delegate.getSiteId()));
} else {
- hibJahiaObject.setSite(null);
+ //hibJahiaObject.setSite(null);
}
if ( delegate.getRule()!=null ){
hibJahiaObject.setRetentionRule(retentionRuleDao.findByPK(delegate.getRule().getId()));