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

Reply via email to