Serveis Opinió Basada en interpretacions i judicis de l’autor sobre fets, dades i esdeveniments.

2
Es llegeix en minuts
Protegir el mercat, el d’aliments

RICARD CUGAT

El 70,6% dels barcelonins compren al mercat. Gairebé la meitat ho fa una vegada per setmana. El barceloní qualifica els seus mercats amb un 7,5 i se sent orgullós de la Boqueria –però deixem aquesta singularitat per a un altre dia. Pràcticament el 10% del comerç ciutadà es realitza als mercats, factura 1.100 milions i rep 63 milions de visites. Els mercats estan ben repartits, a menys de 10 minuts en la majoria de barris. Però en els anys 60 i 70 del segle passat l’arribada de supermercats, hipermercats i centres comercials més tard els van anar minvant clients. El 1992, davant la crisi, es va crear l’Institut Municipal de Mercats de Barcelona, que ha anat monitoritzant el sector, tancant algun centre i renovant-ne de manera exemplar d’altres.

  • Status 404
  • Error Not Found
  • Exception : org.springframework.beans.TypeMismatchException
  • Trace : org.springframework.beans.TypeMismatchException: Failed to convert value of type [java.lang.String] to required type [long]; nested exception is java.lang.NumberFormatException: For input string: ""
    	at org.springframework.beans.TypeConverterSupport.doConvert(TypeConverterSupport.java:77)
    	at org.springframework.beans.TypeConverterSupport.convertIfNecessary(TypeConverterSupport.java:47)
    	at org.springframework.validation.DataBinder.convertIfNecessary(DataBinder.java:604)
    	at org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.resolveArgument(AbstractNamedValueMethodArgumentResolver.java:104)
    	at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:78)
    	at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:162)
    	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:129)
    	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
    	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:775)
    	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:705)
    	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
    	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
    	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
    	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:965)
    	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:856)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
    	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:841)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at org.springframework.boot.actuate.autoconfigure.EndpointWebMvcAutoConfiguration$ApplicationContextHeaderFilter.doFilterInternal(EndpointWebMvcAutoConfiguration.java:300)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at com.ctv.publisher.filter.cache.HtmlCacheFilter.cacheMiss(HtmlCacheFilter.java:179)
    	at com.ctv.publisher.filter.cache.HtmlCacheFilter.doFilterInternal(HtmlCacheFilter.java:113)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at com.ctv.publisher.filter.StaticResourceURLFilter.doFilter(StaticResourceURLFilter.java:46)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:186)
    	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at com.ctv.publisher.filter.AcceptHeaderFilter.doFilter(AcceptHeaderFilter.java:47)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at org.springframework.boot.context.web.ErrorPageFilter.doFilter(ErrorPageFilter.java:117)
    	at org.springframework.boot.context.web.ErrorPageFilter.access$000(ErrorPageFilter.java:61)
    	at org.springframework.boot.context.web.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:92)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    	at org.springframework.boot.context.web.ErrorPageFilter.doFilter(ErrorPageFilter.java:110)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at com.ctv.publisher.filter.SemaphoreFilter.doFilter(SemaphoreFilter.java:51)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at com.ctv.web.tenancy.TenancyConfigurerFilter.doFilterInternal(TenancyConfigurerFilter.java:117)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:85)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at org.stagemonitor.web.monitor.MonitoredHttpRequest.execute(MonitoredHttpRequest.java:160)
    	at org.stagemonitor.requestmonitor.RequestMonitor.monitor(RequestMonitor.java:179)
    	at org.stagemonitor.web.monitor.filter.HttpRequestMonitorFilter.monitorRequest(HttpRequestMonitorFilter.java:157)
    	at org.stagemonitor.web.monitor.filter.HttpRequestMonitorFilter.doMonitor(HttpRequestMonitorFilter.java:120)
    	at org.stagemonitor.web.monitor.filter.HttpRequestMonitorFilter.doFilterInternal(HttpRequestMonitorFilter.java:98)
    	at org.stagemonitor.web.monitor.filter.AbstractExclusionFilter.doFilter(AbstractExclusionFilter.java:75)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:496)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
    	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
    	at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:479)
    	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790)
    	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1468)
    	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    	at java.lang.Thread.run(Thread.java:750)
    Caused by: java.lang.NumberFormatException: For input string: ""
    	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    	at java.lang.Long.parseLong(Long.java:601)
    	at java.lang.Long.valueOf(Long.java:803)
    	at org.springframework.util.NumberUtils.parseNumber(NumberUtils.java:196)
    	at org.springframework.beans.propertyeditors.CustomNumberEditor.setAsText(CustomNumberEditor.java:113)
    	at org.springframework.beans.TypeConverterDelegate.doConvertTextValue(TypeConverterDelegate.java:449)
    	at org.springframework.beans.TypeConverterDelegate.doConvertValue(TypeConverterDelegate.java:422)
    	at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:195)
    	at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:107)
    	at org.springframework.beans.TypeConverterSupport.doConvert(TypeConverterSupport.java:64)
    	... 88 more
    
  • Fields :[timestamp, status, error, exception, message, trace, path, error_fields, error_snippet_style]

Però veiem com alguns mercats van acumulant parades buides oferint un aspecte una mica depriment. Ara s’ha quantificat: 918 de buides respecte a 4.699 d’actives. Un preocupant 16%, tot i que s’argumenta que moltes estan en tràmit de reforma i que en realitat només n’hi ha un 6,3% d’inactives. Alguns, com el de Montserrat, a Nou Barris, té el 54% de parades buides, el d’Hostafrancs, el 31%. El problema és, d’una banda, el preu de subhasta de les parades respecte a la seva rendibilitat. Però també hi ha un tema de gestió. Portar una parada representa un horari molt exigent, que abans algunes famílies abordaven, però que avui resulta més difícil.

¿Què fer amb aquestes parades buides? Poden buscar-se usos alternatius compatibles amb el lloc, però també poden alliberar-se per crear espais comuns. Alguns mercats ho han fet i han generat zones de convivència, aules de cuina... O jocs per als nens, com fa el Mercat de la Concepció perquè els pares puguin comprar els dissabtes. Els mercats estan molt densificats i cert esponjament està més d'acord amb els estàndards actuals circulatoris.

Notícies relacionades

Ara bé, ¿cal permetre parades de degustació? Si no es limita, és contraproduent. Ja està causant problemes en alguns llocs. ¿I permetre restaurants? Tampoc, tret que deixi de ser un mercat –equipament– i es converteixi en un altre negoci dins del mateix edifici. Aquest ha sigut el destí del Mercado de San Miguel a Madrid, el de Colom a València –que mal utilitzen el nom de mercat–, però també el fallit de la Merced a Màlaga que ara tornarà a ser mercat. Però no és convenient barrejar els usos perquè acaba manant el més fort. La llei del mercat, si permeten la broma.

El mercat l’hem d’identificar i preservar-lo pels seus valors –fa barri, hi vas a peu, hi ha producte fresc, aliments de proximitat, servei personalitzat «¡reina!», preu just, valors ecològics– i afegir el que li falta. El 2020 es va anunciar un Marketplace ‘online’ de 2.000 parades que encara no arriba. Segur que faria les parades més desitjables i rendibles. I per al client, l’opció saludable i tradicional, però amb la comoditat d’elecció sense cues ni tràfecs. Protegim els mercats, que amb la debacle mediambiental alimentària que s’acosta, seran un refugi.