Author: tdraier
Date: Fri Sep 14 12:39:47 2007
New Revision: 18449

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18449&repname=
=3Djahia
Log:
avoid requesting field definitions with container definition names (port 18=
159)

Modified:
    trunk/core/src/java/org/jahia/data/containers/JahiaContainerSet.java
    trunk/core/src/java/org/jahia/data/containers/JahiaContainerStructure.j=
ava
    trunk/core/src/java/org/jahia/taglibs/declarations/DeclareContainerList=
Tag.java
    trunk/core/src/java/org/jahia/taglibs/declarations/DeclareFieldTag.java

Modified: trunk/core/src/java/org/jahia/data/containers/JahiaContainerSet.j=
ava
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/data/containers/JahiaContainerSet.java&rev=3D18449&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
--- trunk/core/src/java/org/jahia/data/containers/JahiaContainerSet.java (o=
riginal)
+++ trunk/core/src/java/org/jahia/data/containers/JahiaContainerSet.java Fr=
i Sep 14 12:39:47 2007
@@ -642,11 +642,15 @@
             // first, let's check that all the fields in the containerFiel=
ds exist
             for (int i =3D 0; i < containerFields.size(); i++) {
                 String theName =3D (String) containerFields.elementAt(i);
+                boolean isField =3D theName.startsWith("@f ");
+                boolean isContainer =3D theName.startsWith("@c ");
+                if (isField || isContainer) {
+                    theName =3D theName.substring(3);
+                }
                 if (theName.equals("_self")) {
                     containerFields.setElementAt(containerName, i);
-                } else if ((!checkDeclared(theName))
-                        && (!checkDeclaredField(theName))) {
-
+                } else if ((!isField && !checkDeclared(theName))
+                        && (!isContainer && !checkDeclaredField(theName)))=
 {
                     // one of the fields or containers in containerFields =
doesn't exist !!
                     String errorMsg =3D "Element not defined in container "
                             + containerName + " : " + theName;

Modified: trunk/core/src/java/org/jahia/data/containers/JahiaContainerStruc=
ture.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/data/containers/JahiaContainerStructure.java&rev=3D18449&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
--- trunk/core/src/java/org/jahia/data/containers/JahiaContainerStructure.j=
ava (original)
+++ trunk/core/src/java/org/jahia/data/containers/JahiaContainerStructure.j=
ava Fri Sep 14 12:39:47 2007
@@ -96,20 +96,26 @@
                                       lookupPageTemplate(pageDefID);
 =

         if (pageDef !=3D null) {
-
+            boolean isField =3D objectName.startsWith("@f ");
+            boolean isContainer =3D objectName.startsWith("@c ");
+            if (isField || isContainer) {
+                objectName =3D objectName.substring(3);
+            }
             // determines structure object type (field or container ?) and=
 definition id
-            JahiaFieldDefinition fDef =3D JahiaFieldDefinitionsRegistry.
-                                        getInstance(
-                ).getDefinition(pageDef.getJahiaID(), objectName);
+            JahiaFieldDefinition fDef =3D null;
+            if (!isContainer) {
+                fDef=3D JahiaFieldDefinitionsRegistry.getInstance().getDef=
inition(pageDef.getJahiaID(), objectName);
+            }
             if ( (fDef !=3D null) && (!fDef.getTitle(pageDefID).equals("")=
)) {
                 this.objectType =3D JahiaContainerStructure.JAHIA_FIELD;
                 this.objectDefID =3D fDef.getID();
                 this.objectDef =3D fDef;
             } else {
 =

-                JahiaContainerDefinition cDef =3D
-                    JahiaContainerDefinitionsRegistry.getInstance(
-                    ).getDefinition(pageDef.getJahiaID(), objectName);
+                JahiaContainerDefinition cDef =3D null;
+                if (!isField) {
+                    cDef =3D JahiaContainerDefinitionsRegistry.getInstance=
().getDefinition(pageDef.getJahiaID(), objectName);
+                }
                 if (cDef !=3D null) {
                     this.objectType =3D JahiaContainerStructure.JAHIA_CONT=
AINER;
                     this.objectDefID =3D cDef.getID();

Modified: trunk/core/src/java/org/jahia/taglibs/declarations/DeclareContain=
erListTag.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/taglibs/declarations/DeclareContainerListTag.java&rev=3D18449&repn=
ame=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
--- trunk/core/src/java/org/jahia/taglibs/declarations/DeclareContainerList=
Tag.java (original)
+++ trunk/core/src/java/org/jahia/taglibs/declarations/DeclareContainerList=
Tag.java Fri Sep 14 12:39:47 2007
@@ -332,7 +332,7 @@
                     getChildren(), intWindowSize, intWindowOffset, validat=
orKey,
                     containerBeanName, aliasNamesAr, this.containerListTyp=
e, containerDefinitionProperties);
 =

-                parentDeclareContainerListTag.addChild(this.listName);
+                parentDeclareContainerListTag.addChild("@c "+this.listName=
);
 =

                 return SKIP_BODY; // exit the parsing of this containerLis=
t while still in parent declaration pass...
                 // update attribute
@@ -398,15 +398,16 @@
      * Author NK
      */
     public boolean isChildAlreadyDeclared (String name) {
-        int size =3D children.size();
-        String fieldName =3D "";
-        for (int i =3D 0; i < size; i++) {
-            fieldName =3D (String) children.get(i);
-            if (fieldName.equals(name)) {
-                return true;
-            }
-        }
-        return false;
+        return children.contains(name) || children.contains("@f "+name) ||=
 children.contains("@c "+name);
+//        int size =3D children.size();
+//        String fieldName =3D "";
+//        for (int i =3D 0; i < size; i++) {
+//            fieldName =3D (String) children.get(i);
+//            if (fieldName.equals(name)) {
+//                return true;
+//            }
+//        }
+//        return false;
     }
 =

     public int doEndTag ()

Modified: trunk/core/src/java/org/jahia/taglibs/declarations/DeclareFieldTa=
g.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/taglibs/declarations/DeclareFieldTag.java&rev=3D18449&repname=3Dja=
hia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/taglibs/declarations/DeclareFieldTag.java=
 (original)
+++ trunk/core/src/java/org/jahia/taglibs/declarations/DeclareFieldTag.java=
 Fri Sep 14 12:39:47 2007
@@ -261,7 +261,7 @@
                 //                               of the same field in the 
container list structure.
                 if (!declareContainerListTag.isChildAlreadyDeclared(this.n=
ame)) {
 =

-                    declareContainerListTag.addChild(this.name);
+                    declareContainerListTag.addChild("@f "+this.name);
                     try {
                         String[] aliasNamesAr =3D null;
                         if ( aliasNames !=3D null && !"".equals(aliasNames=
.trim()) ){

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

Reply via email to