|
The "change from FastList to standard java List " exists only in the trunk.
-Adrian On 6/15/2013 2:45 PM, [hidden email] wrote: > Author: jleroux > Date: Sat Jun 15 13:45:26 2013 > New Revision: 1493353 > > URL: http://svn.apache.org/r1493353 > Log: > "Applied fix from trunk for revision: 1493352" > ------------------------------------------------------------------------ > r1493352 | jleroux | 2013-06-15 15:40:42 +0200 (sam., 15 juin 2013) | 40 lines > > A patch from Olivier Heintz for "Portal page personalization is not working" https://issues.apache.org/jira/browse/OFBIZ-5189 > > Two simples errors after last change from FastList to standard java List : > 1) go to example component / Dasboard > 1.1) click on edit for one page > Screen is blocked > reason : > {code} > for (GenericValue portalPage : portalPages) { > cond = EntityCondition.makeCondition(UtilMisc.toList( > EntityCondition.makeCondition("ownerUserLoginId", EntityOperator.EQUALS, userLoginId), > EntityCondition.makeCondition("originalPortalPageId", EntityOperator.EQUALS, portalPage.getString("portalPageId"))), > EntityOperator.AND); > List <GenericValue> privatePortalPages = delegator.findList("PortalPage", cond, null, null, null, false); > if (UtilValidate.isNotEmpty(privatePortalPages)) { > portalPages.remove(portalPage); > portalPages.add(privatePortalPages.get(0)); > } > } > {code} > code iterate on a list and modify it, I don't know how it could work before ;-) > I propose to use an other list on iterate > > 2) on appbarclose.ftl for tomawak theme there is > {code} > <#assign portalPage = delegator.findOne("PortalPage", findMap, true)> > {code} > when you click to "revert to original" in dasboard screen > {code} > Error on line 45, column 5 in component://tomahawk/includes/appbarClose.ftl delegator.findOne("PortalPage", findMap, true) is undefined. It cannot be assigned to portalPage The problematic instruction: ---------- ==> assignment: portalPage=delegator.findOne("PortalPage", findMap, true) [on line 45, column 5 in component://tomahawk/includes/appbarClose.ftl] - > {code} > 2.1) to see the error, modify ExampleMenus.xml and change menu-item name from "Dasboard" to "Dasboard1" > 2.2) go to example / dashboard and edit one page > 2.3) click to "revert to original" > I propose to add ?if_exists > > One other bug in portal page personalization. > When trying to delete portlet or column in portal page, there is an error because in delete service, cache is used to read data before remove. > > Correction proposed is to remove use-cache="true" > ------------------------------------------------------------------------ > > > Modified: > ofbiz/branches/release12.04/ (props changed) > ofbiz/branches/release12.04/framework/common/script/org/ofbiz/common/PortalPageServices.xml > ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/PortalPageWorker.java > > Propchange: ofbiz/branches/release12.04/ > ------------------------------------------------------------------------------ > Merged /ofbiz/trunk:r1493352 > > Modified: ofbiz/branches/release12.04/framework/common/script/org/ofbiz/common/PortalPageServices.xml > URL: http://svn.apache.org/viewvc/ofbiz/branches/release12.04/framework/common/script/org/ofbiz/common/PortalPageServices.xml?rev=1493353&r1=1493352&r2=1493353&view=diff > ============================================================================== > --- ofbiz/branches/release12.04/framework/common/script/org/ofbiz/common/PortalPageServices.xml (original) > +++ ofbiz/branches/release12.04/framework/common/script/org/ofbiz/common/PortalPageServices.xml Sat Jun 15 13:45:26 2013 > @@ -50,7 +50,7 @@ under the License. > > <simple-method method-name="deletePortalPageColumn" short-description="Delete a Column from a PortalPage"> > <call-simple-method method-name="checkOwnerShip"/> > - <entity-one entity-name="PortalPageColumn" value-field="column" auto-field-map="true" use-cache="true"/> > + <entity-one entity-name="PortalPageColumn" value-field="column" auto-field-map="true"/> > <if-not-empty field="column"> > <entity-and entity-name="PortalPagePortlet" list="portalPortletList"> > <field-map field-name="portalPageId" from-field="column.portalPageId"/> > @@ -97,7 +97,7 @@ under the License. > > <simple-method method-name="deletePortalPagePortlet" short-description="Delete a PortalPortlet from a PortalPageColumn"> > <call-simple-method method-name="checkOwnerShip"/> > - <entity-one entity-name="PortalPagePortlet" value-field="portlet" auto-field-map="true" use-cache="true"/> > + <entity-one entity-name="PortalPagePortlet" value-field="portlet" auto-field-map="true"/> > <if-not-empty field="portlet"> > <make-value value-field="newEntity" entity-name="PortletAttribute"/> > <set field="newEntity.portalPageId" from-field="portlet.portalPageId"/> > > Modified: ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/PortalPageWorker.java > URL: http://svn.apache.org/viewvc/ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/PortalPageWorker.java?rev=1493353&r1=1493352&r2=1493353&view=diff > ============================================================================== > --- ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/PortalPageWorker.java (original) > +++ ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/PortalPageWorker.java Sat Jun 15 13:45:26 2013 > @@ -19,6 +19,7 @@ > package org.ofbiz.widget; > > import java.io.IOException; > +import java.util.ArrayList; > import java.util.List; > import java.util.Map; > import org.ofbiz.base.util.Debug; > @@ -66,6 +67,7 @@ public class PortalPageWorker { > EntityOperator.OR)), > EntityOperator.AND); > portalPages = delegator.findList("PortalPage", cond, null, null, null, false); > + List<GenericValue> userPortalPages = new ArrayList<GenericValue>(); > if (UtilValidate.isNotEmpty(context.get("userLogin"))) { // check if a user is logged in > String userLoginId = ((GenericValue)context.get("userLogin")).getString("userLoginId"); > // replace with private pages > @@ -76,8 +78,10 @@ public class PortalPageWorker { > EntityOperator.AND); > List <GenericValue> privatePortalPages = delegator.findList("PortalPage", cond, null, null, null, false); > if (UtilValidate.isNotEmpty(privatePortalPages)) { > - portalPages.remove(portalPage); > - portalPages.add(privatePortalPages.get(0)); > + //portalPages.remove(portalPage); > + userPortalPages.add(privatePortalPages.get(0)); > + } else { > + userPortalPages.add(portalPage); > } > } > // add any other created private pages > @@ -86,9 +90,9 @@ public class PortalPageWorker { > EntityCondition.makeCondition("originalPortalPageId", EntityOperator.EQUALS, null), > EntityCondition.makeCondition("parentPortalPageId", EntityOperator.EQUALS, parentPortalPageId)), > EntityOperator.AND); > - portalPages.addAll(delegator.findList("PortalPage", cond, null, null, null, false)); > + userPortalPages.addAll(delegator.findList("PortalPage", cond, null, null, null, false)); > } > - portalPages = EntityUtil.orderBy(portalPages, UtilMisc.toList("sequenceNum")); > + portalPages = EntityUtil.orderBy(userPortalPages, UtilMisc.toList("sequenceNum")); > } catch (GenericEntityException e) { > Debug.logError("Could not retrieve portalpages:" + e.getMessage(), module); > } > > |
|
Please don't comment out code without a comment describing why, either explain it in a comment or delete it altogether.
Thanks Scott On 16/06/2013, at 1:45 AM, [hidden email] wrote: > Author: jleroux > Date: Sat Jun 15 13:45:26 2013 > New Revision: 1493353 > > URL: http://svn.apache.org/r1493353 > Log: > "Applied fix from trunk for revision: 1493352" > ------------------------------------------------------------------------ > r1493352 | jleroux | 2013-06-15 15:40:42 +0200 (sam., 15 juin 2013) | 40 lines > > A patch from Olivier Heintz for "Portal page personalization is not working" https://issues.apache.org/jira/browse/OFBIZ-5189 > > Two simples errors after last change from FastList to standard java List : > 1) go to example component / Dasboard > 1.1) click on edit for one page > Screen is blocked > reason : > {code} > for (GenericValue portalPage : portalPages) { > cond = EntityCondition.makeCondition(UtilMisc.toList( > EntityCondition.makeCondition("ownerUserLoginId", EntityOperator.EQUALS, userLoginId), > EntityCondition.makeCondition("originalPortalPageId", EntityOperator.EQUALS, portalPage.getString("portalPageId"))), > EntityOperator.AND); > List <GenericValue> privatePortalPages = delegator.findList("PortalPage", cond, null, null, null, false); > if (UtilValidate.isNotEmpty(privatePortalPages)) { > portalPages.remove(portalPage); > portalPages.add(privatePortalPages.get(0)); > } > } > {code} > code iterate on a list and modify it, I don't know how it could work before ;-) > I propose to use an other list on iterate > > 2) on appbarclose.ftl for tomawak theme there is > {code} > <#assign portalPage = delegator.findOne("PortalPage", findMap, true)> > {code} > when you click to "revert to original" in dasboard screen > {code} > Error on line 45, column 5 in component://tomahawk/includes/appbarClose.ftl delegator.findOne("PortalPage", findMap, true) is undefined. It cannot be assigned to portalPage The problematic instruction: ---------- ==> assignment: portalPage=delegator.findOne("PortalPage", findMap, true) [on line 45, column 5 in component://tomahawk/includes/appbarClose.ftl] - > {code} > 2.1) to see the error, modify ExampleMenus.xml and change menu-item name from "Dasboard" to "Dasboard1" > 2.2) go to example / dashboard and edit one page > 2.3) click to "revert to original" > I propose to add ?if_exists > > One other bug in portal page personalization. > When trying to delete portlet or column in portal page, there is an error because in delete service, cache is used to read data before remove. > > Correction proposed is to remove use-cache="true" > ------------------------------------------------------------------------ > > > Modified: > ofbiz/branches/release12.04/ (props changed) > ofbiz/branches/release12.04/framework/common/script/org/ofbiz/common/PortalPageServices.xml > ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/PortalPageWorker.java > > Propchange: ofbiz/branches/release12.04/ > ------------------------------------------------------------------------------ > Merged /ofbiz/trunk:r1493352 > > Modified: ofbiz/branches/release12.04/framework/common/script/org/ofbiz/common/PortalPageServices.xml > URL: http://svn.apache.org/viewvc/ofbiz/branches/release12.04/framework/common/script/org/ofbiz/common/PortalPageServices.xml?rev=1493353&r1=1493352&r2=1493353&view=diff > ============================================================================== > --- ofbiz/branches/release12.04/framework/common/script/org/ofbiz/common/PortalPageServices.xml (original) > +++ ofbiz/branches/release12.04/framework/common/script/org/ofbiz/common/PortalPageServices.xml Sat Jun 15 13:45:26 2013 > @@ -50,7 +50,7 @@ under the License. > > <simple-method method-name="deletePortalPageColumn" short-description="Delete a Column from a PortalPage"> > <call-simple-method method-name="checkOwnerShip"/> > - <entity-one entity-name="PortalPageColumn" value-field="column" auto-field-map="true" use-cache="true"/> > + <entity-one entity-name="PortalPageColumn" value-field="column" auto-field-map="true"/> > <if-not-empty field="column"> > <entity-and entity-name="PortalPagePortlet" list="portalPortletList"> > <field-map field-name="portalPageId" from-field="column.portalPageId"/> > @@ -97,7 +97,7 @@ under the License. > > <simple-method method-name="deletePortalPagePortlet" short-description="Delete a PortalPortlet from a PortalPageColumn"> > <call-simple-method method-name="checkOwnerShip"/> > - <entity-one entity-name="PortalPagePortlet" value-field="portlet" auto-field-map="true" use-cache="true"/> > + <entity-one entity-name="PortalPagePortlet" value-field="portlet" auto-field-map="true"/> > <if-not-empty field="portlet"> > <make-value value-field="newEntity" entity-name="PortletAttribute"/> > <set field="newEntity.portalPageId" from-field="portlet.portalPageId"/> > > Modified: ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/PortalPageWorker.java > URL: http://svn.apache.org/viewvc/ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/PortalPageWorker.java?rev=1493353&r1=1493352&r2=1493353&view=diff > ============================================================================== > --- ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/PortalPageWorker.java (original) > +++ ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/PortalPageWorker.java Sat Jun 15 13:45:26 2013 > @@ -19,6 +19,7 @@ > package org.ofbiz.widget; > > import java.io.IOException; > +import java.util.ArrayList; > import java.util.List; > import java.util.Map; > import org.ofbiz.base.util.Debug; > @@ -66,6 +67,7 @@ public class PortalPageWorker { > EntityOperator.OR)), > EntityOperator.AND); > portalPages = delegator.findList("PortalPage", cond, null, null, null, false); > + List<GenericValue> userPortalPages = new ArrayList<GenericValue>(); > if (UtilValidate.isNotEmpty(context.get("userLogin"))) { // check if a user is logged in > String userLoginId = ((GenericValue)context.get("userLogin")).getString("userLoginId"); > // replace with private pages > @@ -76,8 +78,10 @@ public class PortalPageWorker { > EntityOperator.AND); > List <GenericValue> privatePortalPages = delegator.findList("PortalPage", cond, null, null, null, false); > if (UtilValidate.isNotEmpty(privatePortalPages)) { > - portalPages.remove(portalPage); > - portalPages.add(privatePortalPages.get(0)); > + //portalPages.remove(portalPage); > + userPortalPages.add(privatePortalPages.get(0)); > + } else { > + userPortalPages.add(portalPage); > } > } > // add any other created private pages > @@ -86,9 +90,9 @@ public class PortalPageWorker { > EntityCondition.makeCondition("originalPortalPageId", EntityOperator.EQUALS, null), > EntityCondition.makeCondition("parentPortalPageId", EntityOperator.EQUALS, parentPortalPageId)), > EntityOperator.AND); > - portalPages.addAll(delegator.findList("PortalPage", cond, null, null, null, false)); > + userPortalPages.addAll(delegator.findList("PortalPage", cond, null, null, null, false)); > } > - portalPages = EntityUtil.orderBy(portalPages, UtilMisc.toList("sequenceNum")); > + portalPages = EntityUtil.orderBy(userPortalPages, UtilMisc.toList("sequenceNum")); > } catch (GenericEntityException e) { > Debug.logError("Could not retrieve portalpages:" + e.getMessage(), module); > } > > |
|
Administrator
|
In reply to this post by Adrian Crum-3
Anyway it was about removing elements in a foreach loop without an iterator, so Olivier's fix is always good. As he said "I don't know how it worked before"
Jacques From: "Adrian Crum" <[hidden email]> > The "change from FastList to standard java List " exists only in the trunk. > > -Adrian > > On 6/15/2013 2:45 PM, [hidden email] wrote: >> Author: jleroux >> Date: Sat Jun 15 13:45:26 2013 >> New Revision: 1493353 >> >> URL: http://svn.apache.org/r1493353 >> Log: >> "Applied fix from trunk for revision: 1493352" >> ------------------------------------------------------------------------ >> r1493352 | jleroux | 2013-06-15 15:40:42 +0200 (sam., 15 juin 2013) | 40 lines >> >> A patch from Olivier Heintz for "Portal page personalization is not working" https://issues.apache.org/jira/browse/OFBIZ-5189 >> >> Two simples errors after last change from FastList to standard java List : >> 1) go to example component / Dasboard >> 1.1) click on edit for one page >> Screen is blocked >> reason : >> {code} >> for (GenericValue portalPage : portalPages) { >> cond = EntityCondition.makeCondition(UtilMisc.toList( >> EntityCondition.makeCondition("ownerUserLoginId", EntityOperator.EQUALS, userLoginId), >> EntityCondition.makeCondition("originalPortalPageId", EntityOperator.EQUALS, portalPage.getString("portalPageId"))), >> EntityOperator.AND); >> List <GenericValue> privatePortalPages = delegator.findList("PortalPage", cond, null, null, null, false); >> if (UtilValidate.isNotEmpty(privatePortalPages)) { >> portalPages.remove(portalPage); >> portalPages.add(privatePortalPages.get(0)); >> } >> } >> {code} >> code iterate on a list and modify it, I don't know how it could work before ;-) >> I propose to use an other list on iterate >> >> 2) on appbarclose.ftl for tomawak theme there is >> {code} >> <#assign portalPage = delegator.findOne("PortalPage", findMap, true)> >> {code} >> when you click to "revert to original" in dasboard screen >> {code} >> Error on line 45, column 5 in component://tomahawk/includes/appbarClose.ftl delegator.findOne("PortalPage", findMap, true) is undefined. It cannot be assigned to portalPage The problematic instruction: ---------- ==> assignment: portalPage=delegator.findOne("PortalPage", findMap, true) [on line 45, column 5 in component://tomahawk/includes/appbarClose.ftl] - >> {code} >> 2.1) to see the error, modify ExampleMenus.xml and change menu-item name from "Dasboard" to "Dasboard1" >> 2.2) go to example / dashboard and edit one page >> 2.3) click to "revert to original" >> I propose to add ?if_exists >> >> One other bug in portal page personalization. >> When trying to delete portlet or column in portal page, there is an error because in delete service, cache is used to read data before remove. >> >> Correction proposed is to remove use-cache="true" >> ------------------------------------------------------------------------ >> >> >> Modified: >> ofbiz/branches/release12.04/ (props changed) >> ofbiz/branches/release12.04/framework/common/script/org/ofbiz/common/PortalPageServices.xml >> ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/PortalPageWorker.java >> >> Propchange: ofbiz/branches/release12.04/ >> ------------------------------------------------------------------------------ >> Merged /ofbiz/trunk:r1493352 >> >> Modified: ofbiz/branches/release12.04/framework/common/script/org/ofbiz/common/PortalPageServices.xml >> URL: http://svn.apache.org/viewvc/ofbiz/branches/release12.04/framework/common/script/org/ofbiz/common/PortalPageServices.xml?rev=1493353&r1=1493352&r2=1493353&view=diff >> ============================================================================== >> --- ofbiz/branches/release12.04/framework/common/script/org/ofbiz/common/PortalPageServices.xml (original) >> +++ ofbiz/branches/release12.04/framework/common/script/org/ofbiz/common/PortalPageServices.xml Sat Jun 15 13:45:26 2013 >> @@ -50,7 +50,7 @@ under the License. >> >> <simple-method method-name="deletePortalPageColumn" short-description="Delete a Column from a PortalPage"> >> <call-simple-method method-name="checkOwnerShip"/> >> - <entity-one entity-name="PortalPageColumn" value-field="column" auto-field-map="true" use-cache="true"/> >> + <entity-one entity-name="PortalPageColumn" value-field="column" auto-field-map="true"/> >> <if-not-empty field="column"> >> <entity-and entity-name="PortalPagePortlet" list="portalPortletList"> >> <field-map field-name="portalPageId" from-field="column.portalPageId"/> >> @@ -97,7 +97,7 @@ under the License. >> >> <simple-method method-name="deletePortalPagePortlet" short-description="Delete a PortalPortlet from a PortalPageColumn"> >> <call-simple-method method-name="checkOwnerShip"/> >> - <entity-one entity-name="PortalPagePortlet" value-field="portlet" auto-field-map="true" use-cache="true"/> >> + <entity-one entity-name="PortalPagePortlet" value-field="portlet" auto-field-map="true"/> >> <if-not-empty field="portlet"> >> <make-value value-field="newEntity" entity-name="PortletAttribute"/> >> <set field="newEntity.portalPageId" from-field="portlet.portalPageId"/> >> >> Modified: ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/PortalPageWorker.java >> URL: http://svn.apache.org/viewvc/ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/PortalPageWorker.java?rev=1493353&r1=1493352&r2=1493353&view=diff >> ============================================================================== >> --- ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/PortalPageWorker.java (original) >> +++ ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/PortalPageWorker.java Sat Jun 15 13:45:26 2013 >> @@ -19,6 +19,7 @@ >> package org.ofbiz.widget; >> >> import java.io.IOException; >> +import java.util.ArrayList; >> import java.util.List; >> import java.util.Map; >> import org.ofbiz.base.util.Debug; >> @@ -66,6 +67,7 @@ public class PortalPageWorker { >> EntityOperator.OR)), >> EntityOperator.AND); >> portalPages = delegator.findList("PortalPage", cond, null, null, null, false); >> + List<GenericValue> userPortalPages = new ArrayList<GenericValue>(); >> if (UtilValidate.isNotEmpty(context.get("userLogin"))) { // check if a user is logged in >> String userLoginId = ((GenericValue)context.get("userLogin")).getString("userLoginId"); >> // replace with private pages >> @@ -76,8 +78,10 @@ public class PortalPageWorker { >> EntityOperator.AND); >> List <GenericValue> privatePortalPages = delegator.findList("PortalPage", cond, null, null, null, false); >> if (UtilValidate.isNotEmpty(privatePortalPages)) { >> - portalPages.remove(portalPage); >> - portalPages.add(privatePortalPages.get(0)); >> + //portalPages.remove(portalPage); >> + userPortalPages.add(privatePortalPages.get(0)); >> + } else { >> + userPortalPages.add(portalPage); >> } >> } >> // add any other created private pages >> @@ -86,9 +90,9 @@ public class PortalPageWorker { >> EntityCondition.makeCondition("originalPortalPageId", EntityOperator.EQUALS, null), >> EntityCondition.makeCondition("parentPortalPageId", EntityOperator.EQUALS, parentPortalPageId)), >> EntityOperator.AND); >> - portalPages.addAll(delegator.findList("PortalPage", cond, null, null, null, false)); >> + userPortalPages.addAll(delegator.findList("PortalPage", cond, null, null, null, false)); >> } >> - portalPages = EntityUtil.orderBy(portalPages, UtilMisc.toList("sequenceNum")); >> + portalPages = EntityUtil.orderBy(userPortalPages, UtilMisc.toList("sequenceNum")); >> } catch (GenericEntityException e) { >> Debug.logError("Could not retrieve portalpages:" + e.getMessage(), module); >> } >> >> > |
|
Administrator
|
In reply to this post by Scott Gray-2
Agreed, I spotted it, thought about removing it, then forgot and after the backport it was a bit heavy
Jacques From: "Scott Gray" <[hidden email]> > Please don't comment out code without a comment describing why, either explain it in a comment or delete it altogether. > > Thanks > Scott > > On 16/06/2013, at 1:45 AM, [hidden email] wrote: > >> Author: jleroux >> Date: Sat Jun 15 13:45:26 2013 >> New Revision: 1493353 >> >> URL: http://svn.apache.org/r1493353 >> Log: >> "Applied fix from trunk for revision: 1493352" >> ------------------------------------------------------------------------ >> r1493352 | jleroux | 2013-06-15 15:40:42 +0200 (sam., 15 juin 2013) | 40 lines >> >> A patch from Olivier Heintz for "Portal page personalization is not working" https://issues.apache.org/jira/browse/OFBIZ-5189 >> >> Two simples errors after last change from FastList to standard java List : >> 1) go to example component / Dasboard >> 1.1) click on edit for one page >> Screen is blocked >> reason : >> {code} >> for (GenericValue portalPage : portalPages) { >> cond = EntityCondition.makeCondition(UtilMisc.toList( >> EntityCondition.makeCondition("ownerUserLoginId", EntityOperator.EQUALS, userLoginId), >> EntityCondition.makeCondition("originalPortalPageId", EntityOperator.EQUALS, portalPage.getString("portalPageId"))), >> EntityOperator.AND); >> List <GenericValue> privatePortalPages = delegator.findList("PortalPage", cond, null, null, null, false); >> if (UtilValidate.isNotEmpty(privatePortalPages)) { >> portalPages.remove(portalPage); >> portalPages.add(privatePortalPages.get(0)); >> } >> } >> {code} >> code iterate on a list and modify it, I don't know how it could work before ;-) >> I propose to use an other list on iterate >> >> 2) on appbarclose.ftl for tomawak theme there is >> {code} >> <#assign portalPage = delegator.findOne("PortalPage", findMap, true)> >> {code} >> when you click to "revert to original" in dasboard screen >> {code} >> Error on line 45, column 5 in component://tomahawk/includes/appbarClose.ftl delegator.findOne("PortalPage", findMap, true) is undefined. It cannot be assigned to portalPage The problematic instruction: ---------- ==> assignment: portalPage=delegator.findOne("PortalPage", findMap, true) [on line 45, column 5 in component://tomahawk/includes/appbarClose.ftl] - >> {code} >> 2.1) to see the error, modify ExampleMenus.xml and change menu-item name from "Dasboard" to "Dasboard1" >> 2.2) go to example / dashboard and edit one page >> 2.3) click to "revert to original" >> I propose to add ?if_exists >> >> One other bug in portal page personalization. >> When trying to delete portlet or column in portal page, there is an error because in delete service, cache is used to read data before remove. >> >> Correction proposed is to remove use-cache="true" >> ------------------------------------------------------------------------ >> >> >> Modified: >> ofbiz/branches/release12.04/ (props changed) >> ofbiz/branches/release12.04/framework/common/script/org/ofbiz/common/PortalPageServices.xml >> ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/PortalPageWorker.java >> >> Propchange: ofbiz/branches/release12.04/ >> ------------------------------------------------------------------------------ >> Merged /ofbiz/trunk:r1493352 >> >> Modified: ofbiz/branches/release12.04/framework/common/script/org/ofbiz/common/PortalPageServices.xml >> URL: http://svn.apache.org/viewvc/ofbiz/branches/release12.04/framework/common/script/org/ofbiz/common/PortalPageServices.xml?rev=1493353&r1=1493352&r2=1493353&view=diff >> ============================================================================== >> --- ofbiz/branches/release12.04/framework/common/script/org/ofbiz/common/PortalPageServices.xml (original) >> +++ ofbiz/branches/release12.04/framework/common/script/org/ofbiz/common/PortalPageServices.xml Sat Jun 15 13:45:26 2013 >> @@ -50,7 +50,7 @@ under the License. >> >> <simple-method method-name="deletePortalPageColumn" short-description="Delete a Column from a PortalPage"> >> <call-simple-method method-name="checkOwnerShip"/> >> - <entity-one entity-name="PortalPageColumn" value-field="column" auto-field-map="true" use-cache="true"/> >> + <entity-one entity-name="PortalPageColumn" value-field="column" auto-field-map="true"/> >> <if-not-empty field="column"> >> <entity-and entity-name="PortalPagePortlet" list="portalPortletList"> >> <field-map field-name="portalPageId" from-field="column.portalPageId"/> >> @@ -97,7 +97,7 @@ under the License. >> >> <simple-method method-name="deletePortalPagePortlet" short-description="Delete a PortalPortlet from a PortalPageColumn"> >> <call-simple-method method-name="checkOwnerShip"/> >> - <entity-one entity-name="PortalPagePortlet" value-field="portlet" auto-field-map="true" use-cache="true"/> >> + <entity-one entity-name="PortalPagePortlet" value-field="portlet" auto-field-map="true"/> >> <if-not-empty field="portlet"> >> <make-value value-field="newEntity" entity-name="PortletAttribute"/> >> <set field="newEntity.portalPageId" from-field="portlet.portalPageId"/> >> >> Modified: ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/PortalPageWorker.java >> URL: http://svn.apache.org/viewvc/ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/PortalPageWorker.java?rev=1493353&r1=1493352&r2=1493353&view=diff >> ============================================================================== >> --- ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/PortalPageWorker.java (original) >> +++ ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/PortalPageWorker.java Sat Jun 15 13:45:26 2013 >> @@ -19,6 +19,7 @@ >> package org.ofbiz.widget; >> >> import java.io.IOException; >> +import java.util.ArrayList; >> import java.util.List; >> import java.util.Map; >> import org.ofbiz.base.util.Debug; >> @@ -66,6 +67,7 @@ public class PortalPageWorker { >> EntityOperator.OR)), >> EntityOperator.AND); >> portalPages = delegator.findList("PortalPage", cond, null, null, null, false); >> + List<GenericValue> userPortalPages = new ArrayList<GenericValue>(); >> if (UtilValidate.isNotEmpty(context.get("userLogin"))) { // check if a user is logged in >> String userLoginId = ((GenericValue)context.get("userLogin")).getString("userLoginId"); >> // replace with private pages >> @@ -76,8 +78,10 @@ public class PortalPageWorker { >> EntityOperator.AND); >> List <GenericValue> privatePortalPages = delegator.findList("PortalPage", cond, null, null, null, false); >> if (UtilValidate.isNotEmpty(privatePortalPages)) { >> - portalPages.remove(portalPage); >> - portalPages.add(privatePortalPages.get(0)); >> + //portalPages.remove(portalPage); >> + userPortalPages.add(privatePortalPages.get(0)); >> + } else { >> + userPortalPages.add(portalPage); >> } >> } >> // add any other created private pages >> @@ -86,9 +90,9 @@ public class PortalPageWorker { >> EntityCondition.makeCondition("originalPortalPageId", EntityOperator.EQUALS, null), >> EntityCondition.makeCondition("parentPortalPageId", EntityOperator.EQUALS, parentPortalPageId)), >> EntityOperator.AND); >> - portalPages.addAll(delegator.findList("PortalPage", cond, null, null, null, false)); >> + userPortalPages.addAll(delegator.findList("PortalPage", cond, null, null, null, false)); >> } >> - portalPages = EntityUtil.orderBy(portalPages, UtilMisc.toList("sequenceNum")); >> + portalPages = EntityUtil.orderBy(userPortalPages, UtilMisc.toList("sequenceNum")); >> } catch (GenericEntityException e) { >> Debug.logError("Could not retrieve portalpages:" + e.getMessage(), module); >> } >> >> > > |
|
Administrator
|
Done in trunk
Jacques From: "Jacques Le Roux" <[hidden email]> > Agreed, I spotted it, thought about removing it, then forgot and after the backport it was a bit heavy > > Jacques > > From: "Scott Gray" <[hidden email]> >> Please don't comment out code without a comment describing why, either explain it in a comment or delete it altogether. >> >> Thanks >> Scott >> >> On 16/06/2013, at 1:45 AM, [hidden email] wrote: >> >>> Author: jleroux >>> Date: Sat Jun 15 13:45:26 2013 >>> New Revision: 1493353 >>> >>> URL: http://svn.apache.org/r1493353 >>> Log: >>> "Applied fix from trunk for revision: 1493352" >>> ------------------------------------------------------------------------ >>> r1493352 | jleroux | 2013-06-15 15:40:42 +0200 (sam., 15 juin 2013) | 40 lines >>> >>> A patch from Olivier Heintz for "Portal page personalization is not working" https://issues.apache.org/jira/browse/OFBIZ-5189 >>> >>> Two simples errors after last change from FastList to standard java List : >>> 1) go to example component / Dasboard >>> 1.1) click on edit for one page >>> Screen is blocked >>> reason : >>> {code} >>> for (GenericValue portalPage : portalPages) { >>> cond = EntityCondition.makeCondition(UtilMisc.toList( >>> EntityCondition.makeCondition("ownerUserLoginId", EntityOperator.EQUALS, userLoginId), >>> EntityCondition.makeCondition("originalPortalPageId", EntityOperator.EQUALS, portalPage.getString("portalPageId"))), >>> EntityOperator.AND); >>> List <GenericValue> privatePortalPages = delegator.findList("PortalPage", cond, null, null, null, false); >>> if (UtilValidate.isNotEmpty(privatePortalPages)) { >>> portalPages.remove(portalPage); >>> portalPages.add(privatePortalPages.get(0)); >>> } >>> } >>> {code} >>> code iterate on a list and modify it, I don't know how it could work before ;-) >>> I propose to use an other list on iterate >>> >>> 2) on appbarclose.ftl for tomawak theme there is >>> {code} >>> <#assign portalPage = delegator.findOne("PortalPage", findMap, true)> >>> {code} >>> when you click to "revert to original" in dasboard screen >>> {code} >>> Error on line 45, column 5 in component://tomahawk/includes/appbarClose.ftl delegator.findOne("PortalPage", findMap, true) is undefined. It cannot be assigned to portalPage The problematic instruction: ---------- ==> assignment: portalPage=delegator.findOne("PortalPage", findMap, true) [on line 45, column 5 in component://tomahawk/includes/appbarClose.ftl] - >>> {code} >>> 2.1) to see the error, modify ExampleMenus.xml and change menu-item name from "Dasboard" to "Dasboard1" >>> 2.2) go to example / dashboard and edit one page >>> 2.3) click to "revert to original" >>> I propose to add ?if_exists >>> >>> One other bug in portal page personalization. >>> When trying to delete portlet or column in portal page, there is an error because in delete service, cache is used to read data before remove. >>> >>> Correction proposed is to remove use-cache="true" >>> ------------------------------------------------------------------------ >>> >>> >>> Modified: >>> ofbiz/branches/release12.04/ (props changed) >>> ofbiz/branches/release12.04/framework/common/script/org/ofbiz/common/PortalPageServices.xml >>> ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/PortalPageWorker.java >>> >>> Propchange: ofbiz/branches/release12.04/ >>> ------------------------------------------------------------------------------ >>> Merged /ofbiz/trunk:r1493352 >>> >>> Modified: ofbiz/branches/release12.04/framework/common/script/org/ofbiz/common/PortalPageServices.xml >>> URL: http://svn.apache.org/viewvc/ofbiz/branches/release12.04/framework/common/script/org/ofbiz/common/PortalPageServices.xml?rev=1493353&r1=1493352&r2=1493353&view=diff >>> ============================================================================== >>> --- ofbiz/branches/release12.04/framework/common/script/org/ofbiz/common/PortalPageServices.xml (original) >>> +++ ofbiz/branches/release12.04/framework/common/script/org/ofbiz/common/PortalPageServices.xml Sat Jun 15 13:45:26 2013 >>> @@ -50,7 +50,7 @@ under the License. >>> >>> <simple-method method-name="deletePortalPageColumn" short-description="Delete a Column from a PortalPage"> >>> <call-simple-method method-name="checkOwnerShip"/> >>> - <entity-one entity-name="PortalPageColumn" value-field="column" auto-field-map="true" use-cache="true"/> >>> + <entity-one entity-name="PortalPageColumn" value-field="column" auto-field-map="true"/> >>> <if-not-empty field="column"> >>> <entity-and entity-name="PortalPagePortlet" list="portalPortletList"> >>> <field-map field-name="portalPageId" from-field="column.portalPageId"/> >>> @@ -97,7 +97,7 @@ under the License. >>> >>> <simple-method method-name="deletePortalPagePortlet" short-description="Delete a PortalPortlet from a PortalPageColumn"> >>> <call-simple-method method-name="checkOwnerShip"/> >>> - <entity-one entity-name="PortalPagePortlet" value-field="portlet" auto-field-map="true" use-cache="true"/> >>> + <entity-one entity-name="PortalPagePortlet" value-field="portlet" auto-field-map="true"/> >>> <if-not-empty field="portlet"> >>> <make-value value-field="newEntity" entity-name="PortletAttribute"/> >>> <set field="newEntity.portalPageId" from-field="portlet.portalPageId"/> >>> >>> Modified: ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/PortalPageWorker.java >>> URL: http://svn.apache.org/viewvc/ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/PortalPageWorker.java?rev=1493353&r1=1493352&r2=1493353&view=diff >>> ============================================================================== >>> --- ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/PortalPageWorker.java (original) >>> +++ ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/PortalPageWorker.java Sat Jun 15 13:45:26 2013 >>> @@ -19,6 +19,7 @@ >>> package org.ofbiz.widget; >>> >>> import java.io.IOException; >>> +import java.util.ArrayList; >>> import java.util.List; >>> import java.util.Map; >>> import org.ofbiz.base.util.Debug; >>> @@ -66,6 +67,7 @@ public class PortalPageWorker { >>> EntityOperator.OR)), >>> EntityOperator.AND); >>> portalPages = delegator.findList("PortalPage", cond, null, null, null, false); >>> + List<GenericValue> userPortalPages = new ArrayList<GenericValue>(); >>> if (UtilValidate.isNotEmpty(context.get("userLogin"))) { // check if a user is logged in >>> String userLoginId = ((GenericValue)context.get("userLogin")).getString("userLoginId"); >>> // replace with private pages >>> @@ -76,8 +78,10 @@ public class PortalPageWorker { >>> EntityOperator.AND); >>> List <GenericValue> privatePortalPages = delegator.findList("PortalPage", cond, null, null, null, false); >>> if (UtilValidate.isNotEmpty(privatePortalPages)) { >>> - portalPages.remove(portalPage); >>> - portalPages.add(privatePortalPages.get(0)); >>> + //portalPages.remove(portalPage); >>> + userPortalPages.add(privatePortalPages.get(0)); >>> + } else { >>> + userPortalPages.add(portalPage); >>> } >>> } >>> // add any other created private pages >>> @@ -86,9 +90,9 @@ public class PortalPageWorker { >>> EntityCondition.makeCondition("originalPortalPageId", EntityOperator.EQUALS, null), >>> EntityCondition.makeCondition("parentPortalPageId", EntityOperator.EQUALS, parentPortalPageId)), >>> EntityOperator.AND); >>> - portalPages.addAll(delegator.findList("PortalPage", cond, null, null, null, false)); >>> + userPortalPages.addAll(delegator.findList("PortalPage", cond, null, null, null, false)); >>> } >>> - portalPages = EntityUtil.orderBy(portalPages, UtilMisc.toList("sequenceNum")); >>> + portalPages = EntityUtil.orderBy(userPortalPages, UtilMisc.toList("sequenceNum")); >>> } catch (GenericEntityException e) { >>> Debug.logError("Could not retrieve portalpages:" + e.getMessage(), module); >>> } >>> >>> >> >> > |
| Free forum by Nabble | Edit this page |
