Page 1 of 1

Extending a MediaMap in OrderImpl hat Error in OpenAdmin

Posted: Thu Oct 17, 2013 4:50 am
by cartesium
Workaround: Broadleaf-3.0.2-GA, jetty, MySQL

We have try to extending the OrderImpl with a Map<Media> and want display it in Admin/Order
We have extends OrderImpl, OrderServiceImpl and OrderDaoImpl, also we have overide it in spring/context.xml.

MyOrderImpl:

Code: Select all

@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@EntityListeners(value = { AuditableListener.class })
@AdminPresentationClass(friendlyName = "MyOrderImpl_baseMyOrder")
public class MyOrderImpl extends OrderImpl{

   /**
    *
    */
   private static final long serialVersionUID = 8396328191096802924L;
   
    @ManyToMany(targetEntity = MediaImpl.class)
    @JoinTable(name = "BLC_ORDER_MEDIA_MAP",
        inverseJoinColumns = @JoinColumn(name = "MEDIA_ID", referencedColumnName = "MEDIA_ID"))
    @MapKeyColumn(name = "MAP_KEY")
    @Cascade(value = {org.hibernate.annotations.CascadeType.ALL, org.hibernate.annotations.CascadeType.DELETE_ORPHAN})
    @Cache(usage = CacheConcurrencyStrategy.READ_WRITE, region = "blStandardElements")
    @AdminPresentationMap(friendlyName = "MyOrderImpl_Media",
        tab = "MyImpl_Media_Tab", tabOrder = 3500,
        keyPropertyFriendlyName = "MyOrderImpl_Media_Key",
        deleteEntityUponRemove = true,
        mediaField = "url",
        forceFreeFormKeys = true
    )
    @AdminPresentationMapFields(
        mapDisplayFields = {
            @AdminPresentationMapField(
                    fieldName = "primary",
                    fieldPresentation = @AdminPresentation(fieldType = SupportedFieldType.MEDIA,
                            group = "MyOrderImpl_Order",
                            groupOrder = 3500,
                            order = 3500,
                            prominent = true,
                            friendlyName = "MyOrderImpl_Primary_Media")
            )
    })
    protected Map<String, Media> orderMedia = new HashMap<String, Media>();   
}


MyOrderServiceImpl:

Code: Select all

@Service
public class MyOrderServiceImpl extends OrderServiceImpl implements MyOrderService {

   @Resource(name = "blOrderDao")
   private OrderDao orderDao;
   
   @Override
   public void changeClipOrderStatus(final Order order,
         final MyOrderStatus status) throws PricingException {

      Order readOrderById = orderDao.readOrderById(order.getId());

      if (readOrderById != null) {
         readOrderById.setStatus(status);
         super.save(readOrderById,true);
      }
   }
}


MyOrderDaoImpl:

Code: Select all

public class MyOrderDaoImpl extends OrderDaoImpl{

    @Override
    public MyOrderImpl readOrderById(final Long orderId) {
        return em.find(MyOrderImpl.class, orderId);
    }
   
}


applicationContext.xml in Core

Code: Select all

        ......
        <bean id="blOrderService" class="org.broadleafcommerce.core.order.service.MyOrderServiceImpl"/>
        <bean id="blOrderDao" class="org.broadleafcommerce.core.order.dao.MyOrderDaoImpl"/>
</beans>


applicationContext-entity.xml in Core

Code: Select all

        ......
   <bean id="org.broadleafcommerce.core.order.domain.Order" class="org.broadleafcommerce.core.order.domain.MyOrderImpl" scope="prototype"/>
        ......


and persistence.xml in Core

Code: Select all

    <persistence-unit name="blPU" transaction-type="RESOURCE_LOCAL">
        <non-jta-data-source>jdbc/web</non-jta-data-source>
        <!-- My Code -->
      <class>org.broadleafcommerce.core.order.dao.MyOrderDaoImpl</class>   
        <exclude-unlisted-classes/>
    </persistence-unit>


We also change the applicationContext-admin.xml in admin with <mo>, but it can't be a problem here, code:

Code: Select all

   <mo:override id="blMetadataOverrides">
      <mo:overrideItem ceilingEntity="org.broadleafcommerce.core.order.domain.Order">
         <mo:field name="name">
            <mo:property name="readOnly" value="false" />
         </mo:field>
         <mo:field name="fulfillmentGroups">
            <mo:property name="readOnly" value="false" />
         </mo:field>
         <mo:field name="status">
            <mo:property name="broadleafEnumeration"
               value="org.broadleafcommerce.core.order.domain.ClipperOrderStatus" />
            <mo:property name="readOnly" value="false" />
         </mo:field>
         <mo:field name="total">
            <mo:property name="readOnly" value="false" />
         </mo:field>
      </mo:overrideItem>


The Exceptions
If we run the admin-modul, and select "Order"-Section, we get following errors:

Code: Select all

[artifact:mvn] [ERROR] 10:46:42 TemplateEngine - [THYMELEAF][http-bio-8444-exec-5] Exception processing template "layout/fullPageLayout": Error resolving template "fields/filter/media", template might not exist or might not be accessible by any of the configured Template Resolvers (components/partials/listGridHeaderFilter:20)
[artifact:mvn] Okt 17, 2013 10:46:42 AM org.apache.catalina.core.StandardWrapperValve invoke
[artifact:mvn] SEVERE: Servlet.service() for servlet [admin] in context with path [] threw exception [Request processing failed; nested exception is org.thymeleaf.exceptions.TemplateInputException: Error resolving template "fields/filter/media", template might not exist or might not be accessible by any of the configured Template Resolvers (components/partials/listGridHeaderFilter:20)] with root cause
[artifact:mvn] org.thymeleaf.exceptions.TemplateInputException: Error resolving template "fields/filter/media", template might not exist or might not be accessible by any of the configured Template Resolvers (components/partials/listGridHeaderFilter:20)
[artifact:mvn]    at org.thymeleaf.TemplateRepository.getTemplate(TemplateRepository.java:247)
[artifact:mvn]    at org.thymeleaf.fragment.FragmentAndTarget.extractFragment(FragmentAndTarget.java:147)
[artifact:mvn]    at org.thymeleaf.processor.attr.AbstractFragmentHandlingAttrProcessor.processAttribute(AbstractFragmentHandlingAttrProcessor.java:70)
[artifact:mvn]    at org.thymeleaf.processor.attr.AbstractAttrProcessor.doProcess(AbstractAttrProcessor.java:74)
[artifact:mvn]    at org.thymeleaf.processor.AbstractProcessor.process(AbstractProcessor.java:212)
[artifact:mvn]    at org.thymeleaf.dom.Node.applyNextProcessor(Node.java:914)
[artifact:mvn]    at org.thymeleaf.dom.Node.processNode(Node.java:869)
[artifact:mvn]    at org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:638)
[artifact:mvn]    at org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:620)
.
.
.
[artifact:mvn]    at org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:638)
[artifact:mvn]    at org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:620)
[artifact:mvn]    at org.thymeleaf.dom.Node.processNode(Node.java:888)
[artifact:mvn]    at org.thymeleaf.dom.Document.process(Document.java:93)
[artifact:mvn]    at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1243)
[artifact:mvn]    at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1148)
[artifact:mvn]    at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1095)
[artifact:mvn]    at org.thymeleaf.spring3.view.ThymeleafView.renderFragment(ThymeleafView.java:259)
[artifact:mvn]    at org.thymeleaf.spring3.view.ThymeleafView.render(ThymeleafView.java:179)
[artifact:mvn]    at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1208)
[artifact:mvn]    at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:992)
[artifact:mvn]    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:939)
[artifact:mvn]    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
[artifact:mvn]    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936)
[artifact:mvn]    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:827)
[artifact:mvn]    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
[artifact:mvn]    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812)
[artifact:mvn]    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
[artifact:mvn]    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
[artifact:mvn]    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
[artifact:mvn]    at org.broadleafcommerce.openadmin.web.compatibility.JSCompatibilityRequestFilter.doFilterInternal(JSCompatibilityRequestFilter.java:37)
[artifact:mvn]    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.broadleafcommerce.openadmin.security.AdminSandBoxFilter.doFilterInternal(AdminSandBoxFilter.java:70)
[artifact:mvn]    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.broadleafcommerce.common.web.util.PrecompressedArtifactFilter.doFilter(PrecompressedArtifactFilter.java:85)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77)
[artifact:mvn]    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:166)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:108)
[artifact:mvn]    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
[artifact:mvn]    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter.doFilter(DefaultLoginPageGeneratingFilter.java:91)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:183)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.broadleafcommerce.common.security.handler.CsrfFilter.doFilter(CsrfFilter.java:82)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:144)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
[artifact:mvn]    at org.broadleafcommerce.openadmin.web.filter.BroadleafAdminRequestFilter.doFilterInternal(BroadleafAdminRequestFilter.java:59)
[artifact:mvn]    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:180)
[artifact:mvn]    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:166)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
[artifact:mvn]    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
[artifact:mvn]    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
[artifact:mvn]    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
[artifact:mvn]    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
[artifact:mvn]    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
[artifact:mvn]    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
[artifact:mvn]    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
[artifact:mvn]    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
[artifact:mvn]    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
[artifact:mvn]    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
[artifact:mvn]    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
[artifact:mvn]    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
[artifact:mvn]    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
[artifact:mvn]    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
[artifact:mvn]    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
[artifact:mvn]    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[artifact:mvn]    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[artifact:mvn]    at java.lang.Thread.run(Thread.java:724)


If i go to https://localhost:8444/admin/order/1, and i will get this erro:

Code: Select all

[artifact:mvn] [ERROR] 12:04:09 TemplateEngine - [THYMELEAF][http-bio-8444-exec-10] Exception processing template "layout/fullPageLayout": Base for link URL creation must be a non-null and non-empty String (currently: java.lang.String) (fields/readonly:6)
[artifact:mvn] Okt 17, 2013 12:04:09 PM org.apache.catalina.core.StandardWrapperValve invoke
[artifact:mvn] SEVERE: Servlet.service() for servlet [admin] in context with path [] threw exception [Request processing failed; nested exception is org.thymeleaf.exceptions.TemplateProcessingException: Base for link URL creation must be a non-null and non-empty String (currently: java.lang.String) (fields/readonly:6)] with root cause
[artifact:mvn] org.thymeleaf.exceptions.TemplateProcessingException: Base for link URL creation must be a non-null and non-empty String (currently: java.lang.String) (fields/readonly:6)
[artifact:mvn]    at org.thymeleaf.standard.expression.LinkExpression.executeLink(LinkExpression.java:244)
[artifact:mvn]    at org.thymeleaf.standard.expression.SimpleExpression.executeSimple(SimpleExpression.java:402)
[artifact:mvn]    at org.thymeleaf.standard.expression.Expression.execute(Expression.java:231)
[artifact:mvn]    at org.thymeleaf.standard.expression.StandardExpressionExecutor.executeExpression(StandardExpressionExecutor.java:70)
[artifact:mvn]    at org.thymeleaf.standard.expression.StandardExpressionExecutor.executeExpression(StandardExpressionExecutor.java:58)
[artifact:mvn]    at org.thymeleaf.standard.expression.StandardExpressionProcessor.executeExpression(StandardExpressionProcessor.java:124)
[artifact:mvn]    at org.thymeleaf.standard.expression.StandardExpressionProcessor.processExpression(StandardExpressionProcessor.java:164)
[artifact:mvn]    at org.thymeleaf.standard.processor.attr.AbstractStandardSingleAttributeModifierAttrProcessor.getTargetAttributeValue(AbstractStandardSingleAttributeModifierAttrProcessor.java:59)
[artifact:mvn]    at org.thymeleaf.processor.attr.AbstractSingleAttributeModifierAttrProcessor.getModifiedAttributeValues(AbstractSingleAttributeModifierAttrProcessor.java:59)
[artifact:mvn]    at org.thymeleaf.processor.attr.AbstractAttributeModifierAttrProcessor.processAttribute(AbstractAttributeModifierAttrProcessor.java:61)
[artifact:mvn]    at org.thymeleaf.processor.attr.AbstractAttrProcessor.doProcess(AbstractAttrProcessor.java:74)
[artifact:mvn]    at org.thymeleaf.processor.AbstractProcessor.process(AbstractProcessor.java:212)
[artifact:mvn]    at org.thymeleaf.dom.Node.applyNextProcessor(Node.java:914)
[artifact:mvn]    at org.thymeleaf.dom.Node.processNode(Node.java:869)
[artifact:mvn]    at org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:638)
[artifact:mvn]    at org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:620)
[artifact:mvn]    at org.thymeleaf.dom.Node.processNode(Node.java:888)
...
[artifact:mvn]    at org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:638)
[artifact:mvn]    at org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:620)
[artifact:mvn]    at org.thymeleaf.dom.Node.processNode(Node.java:888)
[artifact:mvn]    at org.thymeleaf.dom.Document.process(Document.java:93)
[artifact:mvn]    at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1243)
[artifact:mvn]    at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1148)
[artifact:mvn]    at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1095)
[artifact:mvn]    at org.thymeleaf.spring3.view.ThymeleafView.renderFragment(ThymeleafView.java:259)
[artifact:mvn]    at org.thymeleaf.spring3.view.ThymeleafView.render(ThymeleafView.java:179)
[artifact:mvn]    at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1208)
[artifact:mvn]    at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:992)
[artifact:mvn]    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:939)
[artifact:mvn]    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
[artifact:mvn]    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936)
[artifact:mvn]    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:827)
[artifact:mvn]    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
[artifact:mvn]    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812)
[artifact:mvn]    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
[artifact:mvn]    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
[artifact:mvn]    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
[artifact:mvn]    at org.broadleafcommerce.openadmin.web.compatibility.JSCompatibilityRequestFilter.doFilterInternal(JSCompatibilityRequestFilter.java:37)
[artifact:mvn]    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.broadleafcommerce.openadmin.security.AdminSandBoxFilter.doFilterInternal(AdminSandBoxFilter.java:70)
[artifact:mvn]    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.broadleafcommerce.common.web.util.PrecompressedArtifactFilter.doFilter(PrecompressedArtifactFilter.java:85)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77)
[artifact:mvn]    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:166)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:108)
[artifact:mvn]    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
[artifact:mvn]    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter.doFilter(DefaultLoginPageGeneratingFilter.java:91)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:183)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.broadleafcommerce.common.security.handler.CsrfFilter.doFilter(CsrfFilter.java:82)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:144)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
[artifact:mvn]    at org.broadleafcommerce.openadmin.web.filter.BroadleafAdminRequestFilter.doFilterInternal(BroadleafAdminRequestFilter.java:59)
[artifact:mvn]    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:180)
[artifact:mvn]    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:166)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
[artifact:mvn]    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
[artifact:mvn]    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
[artifact:mvn]    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
[artifact:mvn]    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
[artifact:mvn]    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
[artifact:mvn]    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
[artifact:mvn]    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
[artifact:mvn]    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
[artifact:mvn]    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
[artifact:mvn]    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
[artifact:mvn]    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
[artifact:mvn]    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
[artifact:mvn]    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
[artifact:mvn]    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
[artifact:mvn]    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
[artifact:mvn]    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[artifact:mvn]    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[artifact:mvn]    at java.lang.Thread.run(Thread.java:724)


Have anybody a idea? Maybe it's something wrong in our Annotation in MyOrderImpl? In database we can save MyOrder, everthing is ok, but not in OpenAdminModul :-(

Thanks very much! :)

Re: Extending a MediaMap in OrderImpl hat Error in OpenAdmin

Posted: Thu Oct 17, 2013 6:21 pm
by phillipuniverse
Could you open a bug for that first exception at https://github.com/BroadleafCommerce/Br ... rce/issues? I believe you can temporarily fix the exception by removing the 'prominent = true' from the @AdminPresentationMapFields. So change this:

Code: Select all

@AdminPresentationMapFields(
        
mapDisplayFields = {
            @
AdminPresentationMapField(
                    
fieldName "primary",
                    
fieldPresentation = @AdminPresentation(fieldType SupportedFieldType.MEDIA,
                            
group "MyOrderImpl_Order",
                            
groupOrder 3500,
                            
order 3500,
                            
prominent true,
                            
friendlyName "MyOrderImpl_Primary_Media")
            )
    })
 


To this:

Code: Select all

@AdminPresentationMapFields(
        
mapDisplayFields = {
            @
AdminPresentationMapField(
                    
fieldName "primary",
                    
fieldPresentation = @AdminPresentation(fieldType SupportedFieldType.MEDIA,
                            
group "MyOrderImpl_Order",
                            
groupOrder 3500,
                            
order 3500,
                            
friendlyName "MyOrderImpl_Primary_Media")
            )
    })
 


The second exception is also a bug. This will occur if there were no values in your media field, I believe.

If you could open issues for both of these that would be great.