Re: Problem with component properties

astik <[email protected]>
Newsgroups gmane.comp.cms.infoglue.devel
Message-ID <[email protected]>
The code I copy-pasted is not correct ... The correct one is :
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="infoglue-page" prefix="page" %>
<page:deliveryContext id="deliveryContext" disableNiceUri="true"/>
<c:if test="${empty deliveryContext.contentId}">
	<jsp:setProperty property="contentId" name="deliveryContext"  
value="-1"/>
</c:if>

Of course, if contentId is null, no need to set to null ... but we  
need to set to -1 !
__
Romain
http://blog.astik.info


Le 28 août 2009 à 19:42, astik a écrit :

> I have defined a property for my bas component : footerPages binding
> SiteNode multiple
>
> When i use the properties palette into the decorated page, when i
> click the link to set the properties (link titled "undefined"), i've
> got an exception :
> [28 août 2009 19:36:42 - Infoglue CMS]  WARN (BeanUtil.java:192) -
> Could not set parameter
> "contentId":webwork.util.editor.PropertyEditorException: Unable to set
> value for null
> webwork.util.editor.PropertyEditorException: Unable to set value for
> null
> 	at
> webwork
> .util.editor.IntegerObjectEditor.getAsValue(IntegerObjectEditor.java: 
> 30)
> 	at webwork.util.BeanUtil.getAsValue(BeanUtil.java:424)
> 	at
> webwork.util.BeanUtil.setStringValueWithPropertyEditor(BeanUtil.java:
> 826)
> 	at webwork.util.BeanUtil.setValue(BeanUtil.java:568)
> 	at webwork.util.BeanUtil.setProperty(BeanUtil.java:309)
> 	at webwork.util.BeanUtil.setProperties(BeanUtil.java:177)
> 	at
> webwork
> .action
> .factory
> .ParametersActionFactoryProxy
> .getActionImpl(ParametersActionFactoryProxy.java:53)
> 	at
> webwork
> .action
> .factory
> .ChainingActionFactoryProxy
> .getActionImpl(ChainingActionFactoryProxy.java:52)
> 	at
> webwork
> .action
> .factory.DefaultActionFactory.getActionImpl(DefaultActionFactory.java:
> 107)
> 	at webwork.action.factory.ActionFactory.getAction(ActionFactory.java:
> 63)
> 	at
> webwork
> .dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java: 
> 119)
> 	at
> webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java: 
> 174)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
> 	at
> org
> .apache
> .catalina
> .core
> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
> 269)
> 	at
> org
> .apache
> .catalina
> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> ...
>
> Here is the URL of the popup :
> CMS/ViewSiteNodePageComponents!
> showStructureTreeForMultipleBinding.action?
> repositoryId
> =
> 1
> &siteNodeId
> =
> 1
> &languageId
> =
> 4 
> &contentId 
> =null&componentId=3&propertyName=footerPages&showSimple=false
> As you can see contentId is null and that is not good =/
>
> Into
> org.infoglue.deliver.invokers.DecoratedComponentBasedHTMLPageInvoker,
> the url is defined like this :
> 						assignUrl = componentEditorUrl +
> componentProperty.getVisualizingAction() + "?repositoryId=" +
> repositoryId + "&siteNodeId=" + siteNodeId + "&languageId=" +
> languageId + "&contentId=" + contentId + "&componentId=" + componentId
> + "&propertyName=" + componentProperty.getName() + "&showSimple=" +
> getTemplateController().getDeliveryContext().getShowSimple();
>
> in debug, contentId was null, so i decided to watch the call  
> stack ....
> After traversing some function call, we arrived at line 173 in the
> same file :
> 					decoratePageTemplate = decorateComponent(baseComponent,
> this.getTemplateController(), repositoryId,
> this.getDeliveryContext().getSiteNodeId(),
> this.getDeliveryContext().getLanguageId(),
> this.getDeliveryContext().getContentId()/*,
> metaInfoContentVO.getId()*/, 15, 0);
>
> this.getDeliveryContext().getContentId was null ... i though if it was
> null, the system change it to -1.
>
> Anyway, that what i did into my htmltemplate content, using the Pre
> processing template ("PreTemplate") :
> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
> <%@ taglib uri="infoglue-page" prefix="page" %>
> <page:deliveryContext id="deliveryContext" disableNiceUri="true"/>
> <c:if test="${empty deliveryContext.contentId}">
> 	<jsp:setProperty property="contentId" name="deliveryContext"
> value="null"/>
> </c:if>
>
> now it works great. Still, I hope it won't break anything in the  
> future.
> To conclude, i don't think that pretemplate trick is normal =/
>
> By the way, i'm working with the latest stable version (2971)


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.