Author: sshyrkov
Date: Tue Nov 27 20:20:31 2007
New Revision: 19302

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D19302&repname=
=3Djahia
Log:
VOD-54: ported the fix from trunk (r18027), which overcomes the problem wit=
h multiple page fields in a container
http://www.jahia.net/jira/browse/VOD-54

Modified:
    branches/JAHIA-VODAFONE-5-0-2-SP BRANCH/core/src/java/org/jahia/content=
/ContentContainerKey.java
    branches/JAHIA-VODAFONE-5-0-2-SP BRANCH/core/src/java/org/jahia/service=
s/workflow/WorkflowService.java

Modified: branches/JAHIA-VODAFONE-5-0-2-SP BRANCH/core/src/java/org/jahia/c=
ontent/ContentContainerKey.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-VODAFO=
NE-5-0-2-SP%20BRANCH/core/src/java/org/jahia/content/ContentContainerKey.ja=
va&rev=3D19302&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-VODAFONE-5-0-2-SP BRANCH/core/src/java/org/jahia/content=
/ContentContainerKey.java (original)
+++ branches/JAHIA-VODAFONE-5-0-2-SP BRANCH/core/src/java/org/jahia/content=
/ContentContainerKey.java Tue Nov 27 20:20:31 2007
@@ -95,4 +95,20 @@
         return results;
     }
 =

+    public Collection getChildsFields(EntryLoadRequest request) {
+        List results =3D new ArrayList();
+        try {
+            Vector v =3D ServicesRegistry.getInstance().getJahiaContainers=
Service().getFieldIDsAndTypesInContainer(getIdInType(), request);
+            for (Iterator iterator =3D v.iterator(); iterator.hasNext();) {
+                Object[] o =3D (Object[]) iterator.next();
+                ContentFieldKey key =3D new ContentFieldKey(((Integer) o[0=
]).intValue());
+                key.setFieldType(((Integer) o[1]).intValue());
+                key.setParent(this);
+                results.add(key);
+            }
+        } catch (JahiaException e) {
+            e.printStackTrace();
+        }
+        return results;
+    }
 }

Modified: branches/JAHIA-VODAFONE-5-0-2-SP BRANCH/core/src/java/org/jahia/s=
ervices/workflow/WorkflowService.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-VODAFO=
NE-5-0-2-SP%20BRANCH/core/src/java/org/jahia/services/workflow/WorkflowServ=
ice.java&rev=3D19302&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-VODAFONE-5-0-2-SP BRANCH/core/src/java/org/jahia/service=
s/workflow/WorkflowService.java (original)
+++ branches/JAHIA-VODAFONE-5-0-2-SP BRANCH/core/src/java/org/jahia/service=
s/workflow/WorkflowService.java Tue Nov 27 20:20:31 2007
@@ -617,25 +617,22 @@
 =

     public ContentObjectKey getHardLinkedMainObject(ContentObjectKey objec=
t) throws JahiaException {
         ContentObjectKey workflowMainObject =3D object;
+        Collection c =3D null;
         if (ContentContainerKey.CONTAINER_TYPE.equals(object.getType())) {
-            Collection l =3D object.getChilds(loadRequest);
+            Collection l =3D ((ContentContainerKey)object).getChildsFields=
(loadRequest);
             for (Iterator iterator =3D l.iterator(); iterator.hasNext();) {
                 ContentObjectKey co =3D (ContentObjectKey) iterator.next();
-                if (!co.getChilds(loadRequest).isEmpty()) {
-                    object =3D co;
-                }
-                // Also check current if page has been moved (container is=
 still independant)
-                if (!co.getChilds(EntryLoadRequest.CURRENT).isEmpty()) {
+                c =3D co.getChilds(loadRequest);
+                if (!c.isEmpty()) {
                     object =3D co;
+                    break;
                 }
             }
         }
         if (ContentFieldKey.FIELD_TYPE.equals(object.getType())) {
-            Collection c =3D object.getChilds(loadRequest);
-            if (c.isEmpty()) {
-                c =3D object.getChilds(EntryLoadRequest.CURRENT);
+            if (c =3D=3D null) {
+                c =3D object.getChilds(loadRequest);
             }
-
             if (!c.isEmpty()) {
                 ContentPageKey page =3D (ContentPageKey) c.iterator().next=
();
 =


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

Reply via email to