In CPBM 1.4.6, under Administration > Configuration > Server changing the vmops.portal.currency.format from ###,###.## to ###.###,## which is a required format for Brazil, results in the Admin user unable to view user account details under Accounts - just get a blank pane.
The catalina.out shows the following exception:
org.apache.tiles.impl.CannotRenderException: ServletException including path '/WEB-INF/jsp/tiles/tenants/viewtenant.jsp'. at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:680) at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:633) at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:322) at org.springframework.web.servlet.view.tiles2.TilesView.renderMergedOutputModel(TilesView.java:124) at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250) at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:366) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
Caused by: org.apache.tiles.util.TilesIOException: ServletException including path '/WEB-INF/jsp/tiles/tenants/viewtenant.jsp'. at org.apache.tiles.servlet.context.ServletUtil.wrapServletException(ServletUtil.java:232) at org.apache.tiles.servlet.context.ServletTilesRequestContext.forward(ServletTilesRequestContext.java:243) at org.apache.tiles.servlet.context.ServletTilesRequestContext.dispatch(ServletTilesRequestContext.java:222) at org.apache.tiles.renderer.impl.TemplateAttributeRenderer.write(TemplateAttributeRenderer.java:44) at org.apache.tiles.renderer.impl.AbstractBaseAttributeRenderer.render(AbstractBaseAttributeRenderer.java:103) at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:659) at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:678) ... 72 more Caused by: java.lang.IllegalArgumentException: Multiple decimal separators in pattern "###.###.##;(###,###.##)" at java.text.DecimalFormat.applyPattern(DecimalFormat.java:2537) at java.text.DecimalFormat.<init>(DecimalFormat.java:462) at org.apache.taglibs.standard.tag.common.fmt.FormatNumberSupport.doEndTag(FormatNumberSupport.java:188) at org.apache.jsp.WEB_002dINF.jsp.tiles.tenants.viewtenant_jsp._jspx_meth_fmt_005fformatNumber_005f0(viewtenant_jsp.java:3450) at org.apache.jsp.WEB_002dINF.jsp.tiles.tenants.viewtenant_jsp._jspService(viewtenant_jsp.java:447) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302) at org.apache.tiles.servlet.context.ServletTilesRequestContext.forward(ServletTilesRequestContext.java:241)
The dot "." and comma "," in the pattern "###,###.##" ,are just placeholders for decimal separator and grouping separator respectively. You do not have to change them in the configuration.
The currency values get formatted depending upon the locale of the user.
So, if any user has locale set as Brazil then he will see currency values as 123.1223,12.
Please change the "vmops.portal.currency.format" back to " ###,###.##" to get this working.
The locale can be set at three places, below is the list in priority order from high to low # Locale set by user under My Profile* page >> *Preferred Language field # Locale of the browser # Default locale of the Service Provider set in cloud.properties file.
If user has set the locale (as shown in 1 above) then that locale will be set. If not then next it will check for browser locale (as shown in 2 above), if CPBM installation supports the browser locale then it will be set. Lastly if none of above is satisfied then default service provider locale set in cloud.properties (as shown in 3 above) will be set.
In your case, default locale is pt_BR, which means either the user locale or browser locale is set as en_US. Please verify the locale setting for logged in user and the browser locale.