我使用基础事件组件(/ libs / collab / calendar / components / event)创建了一个事件,并设置了所需的值。但是,如果我尝试下载事件ICS文件,那么它会抛出以下异常:
com.day.cq.wcm.core.impl.WCMDebugFilter Exception: null java.lang.NullPointerException
at edu.emory.mathcs.backport.java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:769)
at net.fortuna.ical4j.model.TimeZoneRegistryImpl.getTimeZone(TimeZoneRegistryImpl.java:136)
at com.adobe.cq.social.calendar.impl.JcrTimeZoneRegistry.getTimeZone(JcrTimeZoneRegistry.java:101)
at com.adobe.cq.social.calendar.servlets.ICalExportServlet.doGet(ICalExportServlet.java:129)
at org.apache.sling.api.servlets.SlingSafeMethodsServlet.mayService(SlingSafeMethodsServlet.java:268)
at org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:344)
at org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:375)
at org.apache.sling.engine.impl.request.RequestData.service(RequestData.java:508)
at org.apache.sling.engine.impl.filter.SlingComponentFilterChain.render(SlingComponentFilterChain.java:45)
at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:64)
at com.day.cq.wcm.core.impl.WCMDebugFilter.doFilterWithErrorHandling(WCMDebugFilter.java:182)
at com.day.cq.wcm.core.impl.WCMDebugFilter.doFilter(WCMDebugFilter.java:149)
at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:60)
at com.day.cq.wcm.core.impl.WCMComponentFilter.doFilter(WCMComponentFilter.java:144)
从堆栈跟踪看来,事件时区设置为null。我不知道如何设置或遗漏任何其他内容。
由于
答案 0 :(得分:0)
这实际上是CQ方面的一个错误,以下是我在Adobe论坛上得到的回复:
Issue has been filled (CQ5-34388) internally. As a workaround manually set the timezone. Ex:- for geometrixx "/content/geometrixx/en/events/shapecon/jcr:content/par/event/event" path create a property called "timeZone" of type "String" and assign value as "Asia/India" which is IST time zone.
所以,问题是因为“timeZone”没有设置事件。我注意到的一件事是,如果您设置日期时间,例如2013年12月12日上午11:00到下午1:00,'timeZone'会设置。问题是,如果没有设置时间,即事件已标记作为全天活动。