[MGNLDAM-314] Inconsistent width/heigth properties types for image assets across modules Created: 04/Oct/13  Updated: 23/Oct/13  Resolved: 23/Oct/13

Status: Closed
Project: Magnolia DAM Module
Component/s: None
Affects Version/s: 1.0.2
Fix Version/s: None

Type: Bug Priority: Blocker
Reporter: Lorenzo Patocchi Assignee: Unassigned
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

any


Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Bug DoR:
[ ]* Steps to reproduce, expected, and actual results filled
[ ]* Affected version filled
Date of First Response:

 Description   

Creating image assets in DAM using info.magnolia.module.admininterface.SaveHandlerImpl.saveDocument() it sets properties "width" and "height" in String type.
DAM module cannot create editing form because class info.magnolia.dam.asset.field.DamFileItemWrapper expect and cast Long type.

2013-10-04 09:33:01,983 WARN info.magnolia.event.SimpleEventBus : Exception caught when dispatching event: java.lang.String cannot be cast to java.lang.Long
java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Long
at info.magnolia.dam.asset.field.DamFileItemWrapper.populateWrapperFromItem(DamFileItemWrapper.java:81)
at info.magnolia.ui.form.field.upload.basic.BasicFileItemWrapper.populateFromItem(BasicFileItemWrapper.java:108)
at info.magnolia.dam.asset.field.DamFileItemWrapper.<init>(DamFileItemWrapper.java:69)
at info.magnolia.dam.asset.field.factory.DamUploadFieldFactory.createFieldComponent(DamUploadFieldFactory.java:100)
at info.magnolia.ui.form.field.factory.AbstractFieldFactory.createField(AbstractFieldFactory.java:100)
at info.magnolia.ui.form.FormBuilder.buildForm(FormBuilder.java:119)
at info.magnolia.ui.contentapp.detail.DetailPresenter.setItemView(DetailPresenter.java:100)
at info.magnolia.ui.contentapp.detail.DetailPresenter.start(DetailPresenter.java:90)
at info.magnolia.ui.contentapp.detail.DetailEditorPresenter.start(DetailEditorPresenter.java:108)
at info.magnolia.ui.contentapp.detail.DetailSubApp.start(DetailSubApp.java:113)
at info.magnolia.ui.framework.app.AppInstanceControllerImpl.startSubApp(AppInstanceControllerImpl.java:356)
at info.magnolia.ui.framework.app.AppInstanceControllerImpl.openSubApp(AppInstanceControllerImpl.java:322)
at info.magnolia.ui.framework.app.BaseApp.locationChanged(BaseApp.java:64)
at info.magnolia.ui.framework.app.AppInstanceControllerImpl.onLocationUpdate(AppInstanceControllerImpl.java:236)
at info.magnolia.ui.framework.app.AppControllerImpl.doStartIfNotAlreadyRunning(AppControllerImpl.java:249)
at info.magnolia.ui.framework.app.AppControllerImpl.onLocationChanged(AppControllerImpl.java:335)
at info.magnolia.ui.api.location.LocationChangedEvent.dispatch(LocationChangedEvent.java:64)
at info.magnolia.ui.api.location.LocationChangedEvent.dispatch(LocationChangedEvent.java:42)
at info.magnolia.event.SimpleEventBus.fireEvent(SimpleEventBus.java:78)
at info.magnolia.ui.api.location.LocationController.goToWithoutChecks(LocationController.java:103)
at info.magnolia.ui.api.location.LocationController.goTo(LocationController.java:97)
at info.magnolia.ui.contentapp.detail.action.EditItemAction.execute(EditItemAction.java:78)
at info.magnolia.ui.api.action.AbstractActionExecutor.execute(AbstractActionExecutor.java:75)
at info.magnolia.ui.contentapp.browser.BrowserPresenter.executeAction(BrowserPresenter.java:348)
at info.magnolia.ui.contentapp.browser.BrowserPresenter.onActionBarSelection(BrowserPresenter.java:314)
at info.magnolia.ui.contentapp.browser.BrowserViewImpl$1.contextMenuItemClicked(BrowserViewImpl.java:126)
at sun.reflect.GeneratedMethodAccessor741.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:508)
at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:167)
at com.vaadin.server.AbstractClientConnector.fireEvent(AbstractClientConnector.java:984)
at org.vaadin.peter.contextmenu.ContextMenu.access$100(ContextMenu.java:33)
at org.vaadin.peter.contextmenu.ContextMenu$1.itemClicked(ContextMenu.java:46)
at sun.reflect.GeneratedMethodAccessor731.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:168)
at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:118)
at com.vaadin.server.AbstractCommunicationManager.handleBurst(AbstractCommunicationManager.java:1680)
at com.vaadin.server.AbstractCommunicationManager.handleVariables(AbstractCommunicationManager.java:1566)
at com.vaadin.server.AbstractCommunicationManager.handleUidlRequest(AbstractCommunicationManager.java:582)
at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:315)
at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:201)
at info.magnolia.ui.admincentral.AdmincentralVaadinServlet.service(AdmincentralVaadinServlet.java:93)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at info.magnolia.cms.filters.ServletDispatchingFilter.doFilter(ServletDispatchingFilter.java:123)
at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91)
at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:85)
at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:85)
at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:85)
at info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:67)
at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91)
at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
at info.magnolia.cms.filters.VirtualUriFilter.doFilter(VirtualUriFilter.java:70)
at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91)
at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
at info.magnolia.module.cache.executor.Bypass.processCacheRequest(Bypass.java:58)
at info.magnolia.module.cache.executor.CompositeExecutor.processCacheRequest(CompositeExecutor.java:66)
at info.magnolia.module.cache.filter.CacheFilter.doFilter(CacheFilter.java:153)
at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:61)
at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
at info.magnolia.cms.i18n.I18nContentSupportFilter.doFilter(I18nContentSupportFilter.java:76)
at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91)
at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
at info.magnolia.cms.filters.RangeSupportFilter.doFilter(RangeSupportFilter.java:84)
at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91)
at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
at info.magnolia.cms.security.BaseSecurityFilter.doFilter(BaseSecurityFilter.java:60)
at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91)
at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
at info.magnolia.cms.security.SecurityCallbackFilter.doFilter(SecurityCallbackFilter.java:86)
at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:61)
at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
at info.magnolia.cms.security.LogoutFilter.doFilter(LogoutFilter.java:93)
at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:61)
at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
at info.magnolia.module.templatingkit.filters.SiteMergeFilter.doFilter(SiteMergeFilter.java:106)
at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91)
at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
at info.magnolia.cms.filters.MultiChannelFilter.doFilter(MultiChannelFilter.java:81)
at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:61)
at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
at info.magnolia.module.cache.filter.GZipFilter.doFilter(GZipFilter.java:73)
at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:61)
at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:85)
at info.magnolia.cms.security.auth.login.LoginFilter.doFilter(LoginFilter.java:104)
at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91)
at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
at info.magnolia.cms.filters.UnicodeNormalizationFilter.doFilter(UnicodeNormalizationFilter.java:90)
at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91)
at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:85)
at info.magnolia.module.devicedetection.filter.DeviceDetectionFilter.doFilter(DeviceDetectionFilter.java:73)
at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:61)
at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
at info.magnolia.cms.filters.ContentTypeFilter.doFilter(ContentTypeFilter.java:102)
at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91)
at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
at info.magnolia.cms.filters.ContextFilter.doFilter(ContextFilter.java:131)
at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91)
at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
at info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:67)
at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91)
at info.magnolia.cms.filters.SafeDestroyMgnlFilterWrapper.doFilter(SafeDestroyMgnlFilterWrapper.java:108)
at info.magnolia.cms.filters.MgnlFilterDispatcher.doDispatch(MgnlFilterDispatcher.java:67)
at info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:108)
at info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:94)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1008)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)



 Comments   
Comment by Eric Hechinger [ 23/Oct/13 ]

Document will be replaced once all App are migrated.

Comment by Eric Hechinger [ 23/Oct/13 ]

info.magnolia.module.admininterface.SaveHandlerImpl.saveDocument() should not be used to create Assets.
Document is used until M5 as media's container. Since M5, asset should be used. The current API do not allows to create Asset, and the only possibility to create an Asset is to use the Asset App creation form.

Generated at Mon Feb 12 04:58:37 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.