Author: tdraier
Date: Wed Jun 20 14:48:16 2007
New Revision: 17664

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D17664&repname=
=3Djahia
Log:
lazy load page and url  (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=3D17664=
&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 14:48:16 2007
@@ -46,7 +46,7 @@
     private String val;
     private JahiaField aField;
     private ProcessingContext jParams;
-
+    private EntryLoadRequest loadRequest;
     private JahiaPage aPage;
     private String url;
 =

@@ -62,45 +62,19 @@
     }
 =

     public JahiaField getField() {
-        try {
-            if (aField =3D=3D null) {
+        if (aField =3D=3D null && jParams !=3D null) {
+            try {
                 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);
-                            }
-                        }
-                    }
-                }
+                loadRequest =3D new EntryLoadRequest(workflow, version, li=
st);
+                ServicesRegistry sReg =3D ServicesRegistry.getInstance ();
+
+                aField =3D sReg.getJahiaFieldService ().loadField (id, Loa=
dFlags.NOTHING, jParams, loadRequest);
+            } catch (JahiaException e) {
+                logger.error("Cannot get file usage " +val,e);
             }
-            return aField;
-        } catch (JahiaException e) {
-            logger.error("Cannot get file usage " +val,e);
         }
-        return null;
+        return aField;
     }
 =

     public int getId () {
@@ -124,7 +98,36 @@
     }
 =

 =

+    public JahiaPage getPage() {
+        if (aPage =3D=3D null && getField() !=3D null) {
+            try {
+                ServicesRegistry sReg =3D ServicesRegistry.getInstance ();
+                aPage =3D sReg.getJahiaPageService ()
+                        .lookupPage (aField.getPageID (), loadRequest);
+            } catch (JahiaException e) {
+                logger.error("Error getting page",e);
+            }
+        }
+        return aPage;
+    }
+
     public String getUrl () {
+        if (url =3D=3D null && getPage() !=3D null) {
+            try {
+                String opMode =3D jParams.getOperationMode ();
+                if (workflow =3D=3D EntryLoadRequest.STAGING_WORKFLOW_STAT=
E) {
+                    jParams.setOperationMode (ProcessingContext.EDIT);
+                } else if (workflow =3D=3D EntryLoadRequest.ACTIVE_WORKFLO=
W_STATE) {
+                    jParams.setOperationMode (ProcessingContext.NORMAL);
+                } else if (workflow =3D=3D EntryLoadRequest.WAITING_WORKFL=
OW_STATE) {
+                    jParams.setOperationMode (ProcessingContext.PREVIEW);
+                }
+                url =3D aPage.getURL (jParams);
+                jParams.setOperationMode (opMode);
+            } catch (JahiaException e) {
+                logger.error("Error getting url",e);
+            }
+        }
         return url;
     }
 =


_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list

Reply via email to