Author: tdraier
Date: Wed Jun 20 12:18:44 2007
New Revision: 17660
URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D17660&repname=
=3Djahia
Log:
lazy load field ( JAHIA-2057 )
Modified:
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/webdav/Us=
ageEntry.java
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/web=
dav/UsageEntry.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/webdav/UsageEntry.java&rev=3D17660=
&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/services/webdav/Us=
ageEntry.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/webdav/Us=
ageEntry.java Wed Jun 20 12:18:44 2007
@@ -25,6 +25,7 @@
import org.jahia.services.usermanager.JahiaUser;
import org.jahia.services.version.EntryLoadRequest;
import org.jahia.utils.LanguageCodeConverters;
+import org.apache.log4j.Logger;
=
import java.util.ArrayList;
=
@@ -37,13 +38,15 @@
* To change this template use Options | File Templates.
*/
public class UsageEntry {
+ private static final Logger logger =3D Logger.getLogger(UsageEntry.cla=
ss);
private int id;
private int version;
private int workflow;
private String lang;
private String val;
private JahiaField aField;
- // private ContentField contentField;
+ private ProcessingContext jParams;
+
private JahiaPage aPage;
private String url;
=
@@ -54,42 +57,50 @@
this.workflow =3D workflow;
this.lang =3D lang;
this.val =3D val;
+ this.jParams =3D jParams;
+
+ }
=
- ArrayList list =3D new ArrayList();
- list.add(LanguageCodeConverters.languageCodeToLocale(lang));
- EntryLoadRequest loadRequest =3D new EntryLoadRequest(workflow, ve=
rsion, list);
- if (jParams !=3D null) {
- ServicesRegistry sReg =3D ServicesRegistry.getInstance ();
-
- aField =3D sReg.getJahiaFieldService ().loadField (id, LoadFla=
gs.NOTHING, jParams, loadRequest);
- // contentField =3D ContentField.getField(id);
- JahiaUser currentUser =3D jParams.getUser ();
- if (aField !=3D null) {
-// boolean processField
-// =3D (jParams.getEntryLoadRequest().isCurrent()
-// || (workflow =3D=3D EntryLoadRequest.STAGING_WORKFLO=
W_STATE)
-// || (workflow =3D=3D EntryLoadRequest.ACTIVE_WORKFLOW=
_STATE
-// && !contentField.hasStagingEntry(lang) ) );
- aPage =3D sReg.getJahiaPageService ()
- .lookupPage (aField.getPageID (), loadRequest);
- if ((workflow =3D=3D EntryLoadRequest.STAGING_WORKFLOW_STA=
TE)
- || (workflow =3D=3D EntryLoadRequest.ACTIVE_WORKFL=
OW_STATE)
- || (workflow =3D=3D EntryLoadRequest.WAITING_WORKF=
LOW_STATE)) {
- if (aPage !=3D null) {
- String opMode =3D jParams.getOperationMode ();
- if (workflow =3D=3D EntryLoadRequest.STAGING_WORKF=
LOW_STATE) {
- jParams.setOperationMode (ProcessingContext.ED=
IT);
- } else if (workflow =3D=3D EntryLoadRequest.ACTIVE=
_WORKFLOW_STATE) {
- jParams.setOperationMode (ProcessingContext.NO=
RMAL);
- } else if (workflow =3D=3D EntryLoadRequest.WAITIN=
G_WORKFLOW_STATE) {
- jParams.setOperationMode (ProcessingContext.PR=
EVIEW);
+ public JahiaField getField() {
+ try {
+ if (aField =3D=3D null) {
+ ArrayList list =3D new ArrayList();
+ list.add(LanguageCodeConverters.languageCodeToLocale(lang)=
);
+ EntryLoadRequest loadRequest =3D new EntryLoadRequest(work=
flow, version, list);
+ if (jParams !=3D null) {
+ ServicesRegistry sReg =3D ServicesRegistry.getInstance=
();
+
+ aField =3D sReg.getJahiaFieldService ().loadField (id,=
LoadFlags.NOTHING, jParams, loadRequest);
+ // contentField =3D ContentField.getField(id);
+ JahiaUser currentUser =3D jParams.getUser ();
+ if (aField !=3D null) {
+
+ aPage =3D sReg.getJahiaPageService ()
+ .lookupPage (aField.getPageID (), loadRequ=
est);
+ if ((workflow =3D=3D EntryLoadRequest.STAGING_WORK=
FLOW_STATE)
+ || (workflow =3D=3D EntryLoadRequest.ACTIV=
E_WORKFLOW_STATE)
+ || (workflow =3D=3D EntryLoadRequest.WAITI=
NG_WORKFLOW_STATE)) {
+ if (aPage !=3D null) {
+ String opMode =3D jParams.getOperationMode=
();
+ if (workflow =3D=3D EntryLoadRequest.STAGI=
NG_WORKFLOW_STATE) {
+ jParams.setOperationMode (ProcessingCo=
ntext.EDIT);
+ } else if (workflow =3D=3D EntryLoadReques=
t.ACTIVE_WORKFLOW_STATE) {
+ jParams.setOperationMode (ProcessingCo=
ntext.NORMAL);
+ } else if (workflow =3D=3D EntryLoadReques=
t.WAITING_WORKFLOW_STATE) {
+ jParams.setOperationMode (ProcessingCo=
ntext.PREVIEW);
+ }
+ url =3D aPage.getURL (jParams);
+ jParams.setOperationMode (opMode);
+ }
}
- url =3D aPage.getURL (jParams);
- jParams.setOperationMode (opMode);
}
}
}
+ return aField;
+ } catch (JahiaException e) {
+ logger.error("Cannot get file usage " +val,e);
}
+ return null;
}
=
public int getId () {
@@ -118,16 +129,15 @@
}
=
public String getPageTitle () {
+ if (aField =3D=3D null) {
+ getField();
+ }
if (aPage !=3D null) {
return aPage.getTitle ();
}
return null;
}
=
- public JahiaField getField () {
- return aField;
- }
-
public String toString() {
return "UsageEntry for ContentField_"+ id;
}
_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list