Author: knguyen
Date: Thu Jul 19 11:03:55 2007
New Revision: 18034
URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18034&repname=
=3Djahia
Log:
add time based publishing status icon to Page select engine.
Modified:
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/shared/Pag=
e_Field.java
branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/jsp/jahia/engines/selectpa=
ge/select_page.jsp
branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/jsp/jahia/engines/shared/p=
age_field.jsp
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/shar=
ed/Page_Field.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/engines/shared/Page_Field.java&rev=3D18034&=
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-5-0-SP-BRANCH/core/src/java/org/jahia/engines/shared/Pag=
e_Field.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/shared/Pag=
e_Field.java Thu Jul 19 11:03:55 2007
@@ -20,6 +20,7 @@
=
import org.jahia.bin.Jahia;
import org.jahia.content.ContentObject;
+import org.jahia.content.TimeBasedPublishingJahiaObject;
import org.jahia.data.containers.JahiaContainer;
import org.jahia.data.events.JahiaEvent;
import org.jahia.data.fields.FieldsEditHelper;
@@ -50,6 +51,11 @@
import org.jahia.services.lock.LockPrerequisitesResult;
import org.jahia.services.lock.LockPrerequisites;
import org.jahia.services.lock.LockKey;
+import org.jahia.services.timebasedpublishing.RetentionRule;
+import org.jahia.services.timebasedpublishing.TimeBasedPublishingService;
+import org.jahia.hibernate.manager.JahiaObjectManager;
+import org.jahia.hibernate.manager.SpringContextSingleton;
+import org.jahia.hibernate.manager.JahiaObjectDelegate;
=
import java.io.UnsupportedEncodingException;
import java.util.*;
@@ -335,6 +341,7 @@
selectPageURLParams.put(SelectPage_Engine.PAGE_ID, new Integer=
(pageBean.getID()));
String selectPageURL =3D SelectPage_Engine.getInstance().rende=
rLink(jParams, selectPageURLParams);
engineMap.put("selectPageURL", selectPageURL);
+ checkTimeBasedPublishingStatus(engineMap,jParams,pageBean);
output =3D ServicesRegistry.getInstance().getJahiaFetcherServi=
ce().fetchServlet((ParamBean) jParams, forward);
} else {
output =3D ServicesRegistry.getInstance().getJahiaFetcherServi=
ce().fetchServlet((ParamBean) jParams, forward);
@@ -343,6 +350,83 @@
return true;
}
=
+ protected void checkTimeBasedPublishingStatus(Map engineMap, Processin=
gContext jParams,
+ JahiaPageEngineTempBean =
pageBean) {
+ jParams.removeAttribute("Page_Field.enableTimeBasedPublishingStatu=
s");
+ if ( pageBean =3D=3D null ){
+ return;
+ }
+ try {
+ if ( pageBean.getPageType() =3D=3D JahiaPage.TYPE_LINK ){
+ int linkId =3D pageBean.getPageLinkID();
+ if ( linkId !=3D -1 ){
+ TimeBasedPublishingService tbpService =3D ServicesRegi=
stry.getInstance()
+ .getTimeBasedPublishingService();
+ ContentPage contentPage =3D ContentPage.getPage(linkId=
);
+ JahiaObjectManager jahiaObjectManager =3D
+ (JahiaObjectManager) SpringContextSingleton.ge=
tInstance()
+ .getContext().getBean(JahiaObjectManag=
er.class.getName());
+ ContentObject currentObject =3D contentPage;
+ JahiaObjectDelegate jahiaObjectDelegate =3D
+ jahiaObjectManager.getJahiaObjectDelegate(curr=
entObject.getObjectKey());
+ RetentionRule retRule =3D tbpService.getRetentionRule(=
currentObject.getObjectKey());
+ if ( retRule.getInherited().booleanValue() && jahiaObj=
ectDelegate.isValid() ){
+ TimeBasedPublishingJahiaObject tbpObject =3D
+ contentPage.getParentForTimeBasedPublishin=
g(jParams.getUser(),
+ jParams.getEntryLoadRequest(),jParams.getO=
perationMode());
+ if ( tbpObject !=3D null ){
+ currentObject =3D ContentObject.getContentObjec=
tInstance(tbpObject.getObjectKey());
+ jahiaObjectDelegate =3D
+ jahiaObjectManager.getJahiaObjectDeleg=
ate(currentObject.getObjectKey());
+ retRule =3D tbpService.getRetentionRule(curren=
tObject.getObjectKey());
+ }
+ }
+ final long nowInMillis =3D new Date().getTime();
+ final long offSet =3D TimeZone.getDefault().getOffset(=
nowInMillis);
+ final long now =3D nowInMillis - offSet;
+ String statusLabel =3D "";
+ if (retRule !=3D null) {
+ final boolean inherited =3D retRule.getInherited()=
.booleanValue();
+ final boolean isValid =3D jahiaObjectDelegate.isVa=
lid();
+ final boolean isExpired =3D jahiaObjectDelegate.is=
Expired();
+ final boolean willExpire =3D jahiaObjectDelegate.w=
illExpire(now);
+ final boolean willBecomeValid =3D jahiaObjectDeleg=
ate.willBecomeValid(now);
+ if (isExpired) {
+ if (willBecomeValid) {
+ statusLabel =3D "expired_but_will_become_v=
alid"; // yellow
+ } else {
+ statusLabel =3D "expired"; // red
+ }
+ } else if (isValid) {
+ if (willExpire) {
+ statusLabel =3D "valid_but_will_expire"; /=
/ orange
+ } else {
+ statusLabel =3D "valid"; // green
+ }
+ } else {
+ if (willBecomeValid) {
+ statusLabel =3D "not_valid_but_will_become=
_valid"; // yellow
+ } else {
+ // is not valid
+ statusLabel =3D "unknown";
+ }
+ }
+ if (statusLabel.length() > 0 && inherited) {
+ statusLabel =3D "inherited_" + statusLabel;
+ }
+ }
+ // Don't display any icons for objects that have no ru=
les
+ if (!"".equals(statusLabel) && !(statusLabel.indexOf("=
inherited_valid") > -1)
+ && !(statusLabel.equals("valid"))) {
+ jParams.setAttribute("Page_Field.enableTimeBasedPu=
blishingStatus",currentObject);
+ }
+ }
+ }
+ } catch ( Throwable t ){
+ logger.debug("Exception preparing time base publishing for pag=
e engine",t);
+ }
+ }
+
/**
* gets POST data from the form and saves it in session
*
@@ -471,7 +555,7 @@
if (title !=3D null) {
pageBean.setTitle(locale.toString(), title);
}
-
+ checkTimeBasedPublishingStatus(engineMap,jParams,pageBean);
return true;
}
=
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/jsp/jahia/engines/se=
lectpage/select_page.jsp
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/webapp/jsp/jahia/engines/selectpage/select_page.jsp&rev=3D=
18034&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-5-0-SP-BRANCH/core/src/webapp/jsp/jahia/engines/selectpa=
ge/select_page.jsp (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/jsp/jahia/engines/selectpa=
ge/select_page.jsp Thu Jul 19 11:03:55 2007
@@ -27,7 +27,7 @@
<%@ page import=3D"javax.servlet.http.HttpSession"%>
<%@ page import=3D"java.util.*"%>
<%@ page import=3D"java.io.*" %>
-<%@ page import=3D"org.jahia.content.ContentObject" %>
+<%@ page import=3D"org.jahia.content.*" %>
<%@ page import=3D"org.jahia.registries.ServicesRegistry"%>
<%@ page import=3D"org.jahia.engines.EngineLanguageHelper"%>
<%@ page import=3D"org.jahia.resourcebundle.JahiaResourceBundle"%>
@@ -44,7 +44,32 @@
org.apache.log4j.Logger.getLogger("jsp.jahia.engines.selectpag=
e.select_page");
=
private void drawTimeBasedPublishingStatusIcon(ContentObject contentObje=
ct, ProcessingContext jParams, PageContext pageContext)
- throws IOException {
+ throws IOException, Exception {
+ =
+ TimeBasedPublishingService tbpService =3D ServicesRegistry.getInstance=
()
+ .getTimeBasedPublishingService();
+ JahiaObjectManager jahiaObjectManager =3D
+ (JahiaObjectManager) SpringContextSingleton.getInstance()
+ .getContext().getBean(JahiaObjectManager.class.getName=
());
+ ContentObject currentObject =3D contentObject;
+ JahiaObjectDelegate jahiaObjectDelegate =3D
+ jahiaObjectManager.getJahiaObjectDelegate(currentObject.getObj=
ectKey());
+ RetentionRule retRule =3D tbpService.getRetentionRule(currentObject.ge=
tObjectKey());
+ if (retRule =3D=3D null){
+ return;
+ }
+ if ( retRule.getInherited().booleanValue() && jahiaObjectDelegate.isVa=
lid() ){
+ TimeBasedPublishingJahiaObject tbpObject =3D
+ ((ContentPage)currentObject).getParentForTimeBasedPublishi=
ng(jParams.getUser(),
+ jParams.getEntryLoadRequest(),jParams.getOperationMode());
+ if ( tbpObject !=3D null ){
+ currentObject =3D ContentObject.getContentObjectInstance(tbpObj=
ect.getObjectKey());
+ jahiaObjectDelegate =3D
+ jahiaObjectManager.getJahiaObjectDelegate(currentObjec=
t.getObjectKey());
+ retRule =3D tbpService.getRetentionRule(currentObject.getObjec=
tKey());
+ }
+ }
+
JspWriter out =3D pageContext.getOut();
final String contextPath =3D Jahia.getContextPath();
final String actionURL =3D contextPath + "/ajaxaction/GetTimeBasedPubl=
ishingState?params=3D/op/edit/pid/" +
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/jsp/jahia/engines/sh=
ared/page_field.jsp
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/webapp/jsp/jahia/engines/shared/page_field.jsp&rev=3D18034=
&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-5-0-SP-BRANCH/core/src/webapp/jsp/jahia/engines/shared/p=
age_field.jsp (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/jsp/jahia/engines/shared/p=
age_field.jsp Thu Jul 19 11:03:55 2007
@@ -66,6 +66,9 @@
=
private void drawTimeBasedPublishingStatusIcon(ContentObject contentOb=
ject, ProcessingContext jParams, PageContext pageContext)
throws IOException {
+ if( contentObject=3D=3Dnull ){
+ return;
+ }
JspWriter out =3D pageContext.getOut();
final String contextPath =3D Jahia.getContextPath();
final String actionURL =3D contextPath + "/ajaxaction/GetTimeBasedPu=
blishingState?params=3D/op/edit/pid/" +
@@ -255,8 +258,12 @@
final boolean hasDirectTypeChange =3D !isNewPage &&
((JahiaPage) theField.getObject()).getPageType() =3D=3D Conten=
tPage.TYPE_DIRECT &&
!Page_Field.UPDATE_PAGE.equals(pageBean.getOperation()) ? true=
: false;
-%>
=
+ ContentObject timeBasedPublishingObject =3D (ContentObject)request.get=
Attribute("Page_Field.enableTimeBasedPublishingStatus"); =
+ boolean enableTimeBasedPublishing =3D ( timeBasedPublishingObject !=3D=
null ); =
+ =
+ if ( enableTimeBasedPublishing ) { =
+%>
<ajax:zimbraInclude/>
<script language=3D"javascript" src=3D"<content:serverHttpPath/>/jsp/jahia=
/javascript/zimbra/timebasedpublishing/TimeBasedPublishingStatus.js" type=
=3D"text/javascript"></script>
<script type=3D"text/javascript">
@@ -276,7 +283,9 @@
}
showUserShell();
}
-
+</script>
+<% } %>
+<script type=3D"text/javascript">
function getPageOffsetLeft(el) {
=
var x;
@@ -599,7 +608,7 @@
if (Page_Field.LINK_JAHIA_PAGE.equals(pageBean.getOperation())=
) {
if (sourcePageID !=3D -1) { %>
<ul>
- <li><%drawTimeBasedPublishingStatusIcon((ContentObject)Content=
Page.getPage(sourcePageID),jParams,pageContext);%> <%=3DJahiaTools.tex=
t2html(sourceTitle)%> (<jahia:engineResourceBundle
+ <li><%drawTimeBasedPublishingStatusIcon(timeBasedPublishingObj=
ect,jParams,pageContext);%> <%=3DJahiaTools.text2html(sourceTitle)%>&n=
bsp;(<jahia:engineResourceBundle
resourceName=3D"org.jahia.pageId.label"/>: <%=3Ds=
ourcePageID%>)</li>
</ul>
<% } else { %>
_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list