Details

      Description

      Service Builder supports Decimal values but they are not taken into account when recreating the tables (for example when "autoupgrading" database from ServiceComponentLocalServiceImpl class)

      The following exception will be thrown then:

      com.liferay.portal.kernel.exception.SystemException: com.liferay.portal.kernel.upgrade.UpgradeException: Upgrade code using unsupported class type 3
       at com.liferay.portal.service.impl.ServiceComponentLocalServiceImpl.initServiceComponent(ServiceComponentLocalServiceImpl.java:233)
       at sun.reflect.GeneratedMethodAccessor331.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
       at java.lang.reflect.Method.invoke(Method.java:498)
       at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:153)
       at com.liferay.portal.spring.transaction.DefaultTransactionExecutor._execute(DefaultTransactionExecutor.java:203)
       at com.liferay.portal.spring.transaction.DefaultTransactionExecutor.execute(DefaultTransactionExecutor.java:94)
       at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:113)
       at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:130)
       at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:55)
       at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:130)
       at com.liferay.portal.spring.aop.ServiceBeanAopProxy.invoke(ServiceBeanAopProxy.java:125)
       at com.sun.proxy.$Proxy246.initServiceComponent(Unknown Source)
       at com.liferay.portal.spring.extender.internal.configuration.ServiceConfigurationInitializer._initServiceComponent(ServiceConfigurationInitializer.java:121)
       at com.liferay.portal.spring.extender.internal.configuration.ServiceConfigurationInitializer.start(ServiceConfigurationInitializer.java:89)
       at sun.reflect.GeneratedMethodAccessor330.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
       at java.lang.reflect.Method.invoke(Method.java:498)
       at org.apache.felix.dm.InvocationUtil.invokeMethod(InvocationUtil.java:111)
       at org.apache.felix.dm.InvocationUtil.invokeCallbackMethod(InvocationUtil.java:66)
       at org.apache.felix.dm.impl.ComponentImpl.invokeCallbackMethod(ComponentImpl.java:769)
       at org.apache.felix.dm.impl.ComponentImpl.invoke(ComponentImpl.java:760)
       at org.apache.felix.dm.impl.ComponentImpl.bindService(ComponentImpl.java:705)
       at org.apache.felix.dm.impl.ComponentImpl.access$400(ComponentImpl.java:54)
       at org.apache.felix.dm.impl.ComponentImpl$7.run(ComponentImpl.java:202)
       at org.apache.felix.dm.impl.SerialExecutor.runTask(SerialExecutor.java:137)
       at org.apache.felix.dm.impl.SerialExecutor.runTasks(SerialExecutor.java:119)
       at org.apache.felix.dm.impl.SerialExecutor.execute(SerialExecutor.java:85)
       at org.apache.felix.dm.impl.ComponentImpl.calculateStateChanges(ComponentImpl.java:252)
       at org.apache.felix.dm.impl.ComponentImpl.dependencyAvailable(ComponentImpl.java:379)
       at org.apache.felix.dm.impl.dependencies.ServiceDependencyImpl.doAddedService(ServiceDependencyImpl.java:849)
       at org.apache.felix.dm.impl.dependencies.ServiceDependencyImpl.access$200(ServiceDependencyImpl.java:60)
       at org.apache.felix.dm.impl.dependencies.ServiceDependencyImpl$4.run(ServiceDependencyImpl.java:317)
       at org.apache.felix.dm.impl.SerialExecutor.runTask(SerialExecutor.java:137)
       at org.apache.felix.dm.impl.SerialExecutor.runTasks(SerialExecutor.java:119)
       at org.apache.felix.dm.impl.SerialExecutor.execute(SerialExecutor.java:85)
       at org.apache.felix.dm.impl.SerialExecutor.execute(SerialExecutor.java:104)
       at org.apache.felix.dm.impl.dependencies.ServiceDependencyImpl.addedService(ServiceDependencyImpl.java:314)
       at org.apache.felix.dm.tracker.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1331)
       at org.apache.felix.dm.tracker.AbstractTracked.trackAdding(AbstractTracked.java:290)
       at org.apache.felix.dm.tracker.AbstractTracked.track(AbstractTracked.java:236)
       at org.apache.felix.dm.tracker.ServiceTracker$Tracked.serviceChangedHideAspects(ServiceTracker.java:1212)
       at org.apache.felix.dm.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1107)
       at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109)
       at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:891)
       at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:804)
       at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127)
       at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:228)
       at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:469)
       at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:487)
       at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:1004)
       at com.liferay.portal.upgrade.internal.release.ReleasePublisher.publish(ReleasePublisher.java:66)
       at com.liferay.portal.upgrade.internal.release.ReleasePublisher.activate(ReleasePublisher.java:86)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
       at java.lang.reflect.Method.invoke(Method.java:498)
       at org.apache.felix.scr.impl.inject.methods.BaseMethod.invokeMethod(BaseMethod.java:228)
       at org.apache.felix.scr.impl.inject.methods.BaseMethod.access$500(BaseMethod.java:41)
       at org.apache.felix.scr.impl.inject.methods.BaseMethod$Resolved.invoke(BaseMethod.java:664)
       at org.apache.felix.scr.impl.inject.methods.BaseMethod.invoke(BaseMethod.java:510)
       at org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:317)
       at org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:307)
       at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:341)
       at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:114)
       at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:983)
       at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:956)
       at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:901)
       at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:212)
       at java.security.AccessController.doPrivileged(Native Method)
       at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:210)
       at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:111)
       at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:45)
       at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:524)
       at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:464)
       at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:624)
       at org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:73)
       at org.apache.felix.scr.impl.inject.BindParameters.getServiceObject(BindParameters.java:47)
       at org.apache.felix.scr.impl.inject.field.FieldHandler$ReferenceMethodImpl.getServiceObject(FieldHandler.java:519)
       at org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2308)
       at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.prebind(DependencyManager.java:1162)
       at org.apache.felix.scr.impl.manager.DependencyManager.prebind(DependencyManager.java:1576)
       at org.apache.felix.scr.impl.manager.AbstractComponentManager.collectDependencies(AbstractComponentManager.java:1029)
       at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:936)
       at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:901)
       at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:212)
       at java.security.AccessController.doPrivileged(Native Method)
       at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:210)
       at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:111)
       at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:45)
       at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:524)
       at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:464)
       at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:624)
       at org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:73)
       at org.apache.felix.scr.impl.inject.BindParameters.getServiceObject(BindParameters.java:47)
       at org.apache.felix.scr.impl.inject.field.FieldHandler$ReferenceMethodImpl.getServiceObject(FieldHandler.java:519)
       at org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2308)
       at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.prebind(DependencyManager.java:1162)
       at org.apache.felix.scr.impl.manager.DependencyManager.prebind(DependencyManager.java:1576)
       at org.apache.felix.scr.impl.manager.AbstractComponentManager.collectDependencies(AbstractComponentManager.java:1029)
       at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:936)
       at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:901)
       at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:212)
       at java.security.AccessController.doPrivileged(Native Method)
       at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:210)
       at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:111)
       at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:45)
       at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:524)
       at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:464)
       at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:624)
       at org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:73)
       at org.apache.felix.scr.impl.inject.BindParameters.getServiceObject(BindParameters.java:47)
       at org.apache.felix.scr.impl.inject.field.FieldHandler$ReferenceMethodImpl.getServiceObject(FieldHandler.java:519)
       at org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2308)
       at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.prebind(DependencyManager.java:1162)
       at org.apache.felix.scr.impl.manager.DependencyManager.prebind(DependencyManager.java:1576)
       at org.apache.felix.scr.impl.manager.AbstractComponentManager.collectDependencies(AbstractComponentManager.java:1029)
       at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:936)
       at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:765)
       at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1053)
       at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1007)
       at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1216)
       at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1137)
       at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:944)
       at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:880)
       at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1168)
       at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:125)
       at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109)
       at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:891)
       at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:804)
       at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127)
       at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:228)
       at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:469)
       at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:906)
       at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:892)
       at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:128)
       at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:959)
       at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:732)
       at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1053)
       at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1007)
       at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1216)
       at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1137)
       at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:944)
       at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:880)
       at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1168)
       at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:125)
       at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109)
       at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:891)
       at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:804)
       at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127)
       at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:228)
       at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:469)
       at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:906)
       at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:892)
       at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:128)
       at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:959)
       at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:732)
       at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1053)
       at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1007)
       at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1216)
       at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1137)
       at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:944)
       at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:880)
       at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1168)
       at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:125)
       at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109)
       at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:891)
       at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:804)
       at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127)
       at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:228)
       at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:469)
       at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:906)
       at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:892)
       at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:128)
       at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:959)
       at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:732)
       at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1053)
       at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1007)
       at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1216)
       at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1137)
       at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:944)
       at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:880)
       at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1168)
       at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:125)
       at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109)
       at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:891)
       at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:804)
       at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127)
       at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:228)
       at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:469)
       at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:487)
       at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:1004)
       at com.liferay.registry.internal.RegistryImpl.registerService(RegistryImpl.java:369)
       at com.liferay.portal.servlet.MainServlet.registerPortalInitialized(MainServlet.java:1312)
       at com.liferay.portal.servlet.MainServlet.init(MainServlet.java:420)
       at javax.servlet.GenericServlet.init(GenericServlet.java:158)
       at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1124)
       at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1079)
       at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:971)
       at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4765)
       at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5075)
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
       at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:742)
       at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:718)
       at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:703)
       at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:630)
       at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1840)
       at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
       at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
       at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
       at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:525)
       at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:424)
       at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1586)
       at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:308)
       at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
       at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:424)
       at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:367)
       at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:966)
       at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:839)
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
       at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1427)
       at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1417)
       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
       at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
       at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
       at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:943)
       at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:258)
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
       at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422)
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
       at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:770)
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
       at org.apache.catalina.startup.Catalina.start(Catalina.java:682)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
       at java.lang.reflect.Method.invoke(Method.java:498)
       at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:353)
       at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:493)
      Caused by: com.liferay.portal.kernel.upgrade.UpgradeException: Upgrade code using unsupported class type 3
       at com.liferay.portal.upgrade.util.Table.getValue(Table.java:471)
       at com.liferay.portal.upgrade.util.Table.appendColumn(Table.java:121)
       at com.liferay.portal.upgrade.util.DefaultUpgradeTableImpl.getExportedData(DefaultUpgradeTableImpl.java:61)
       at com.liferay.portal.upgrade.util.Table.generateTempFile(Table.java:185)
       at com.liferay.portal.upgrade.util.BaseUpgradeTableImpl.updateTable(BaseUpgradeTableImpl.java:94)
       at com.liferay.portal.upgrade.util.BaseUpgradeTableImpl.updateTable(BaseUpgradeTableImpl.java:80)
       at com.liferay.portal.service.impl.ServiceComponentLocalServiceImpl.upgradeModels(ServiceComponentLocalServiceImpl.java:587)
       at com.liferay.portal.service.impl.ServiceComponentLocalServiceImpl._doUpgradeDB(ServiceComponentLocalServiceImpl.java:635)
       at com.liferay.portal.service.impl.ServiceComponentLocalServiceImpl.upgradeDB(ServiceComponentLocalServiceImpl.java:284)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
       at java.lang.reflect.Method.invoke(Method.java:498)
       at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:153)
       at com.liferay.portal.spring.transaction.DefaultTransactionExecutor._execute(DefaultTransactionExecutor.java:203)
       at com.liferay.portal.spring.transaction.DefaultTransactionExecutor.execute(DefaultTransactionExecutor.java:94)
       at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:113)
       at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:130)
       at com.liferay.portal.spring.aop.RetryAdvice.invoke(RetryAdvice.java:47)
       at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:130)
       at com.liferay.portal.service.ServiceContextAdvice.invoke(ServiceContextAdvice.java:39)
       at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:130)
       at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:55)
       at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:130)
       at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:55)
       at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:130)
       at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:55)
       at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:130)
       at com.liferay.portal.cache.thread.local.ThreadLocalCacheAdvice.invoke(ThreadLocalCacheAdvice.java:48)
       at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:130)
       at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:55)
       at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:130)
       at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:55)
       at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:130)
       at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:55)
       at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:130)
       at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:55)
       at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:130)
       at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:55)
       at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:130)
       at com.liferay.portal.spring.aop.ServiceBeanAopProxy.invoke(ServiceBeanAopProxy.java:125)
       at com.sun.proxy.$Proxy246.upgradeDB(Unknown Source)
       at com.liferay.portal.service.impl.ServiceComponentLocalServiceImpl.initServiceComponent(ServiceComponentLocalServiceImpl.java:222)
       ... 239 more

       

      Steps to reproduce:

      1. Create a new table in the database you will use and insert into it decimal values. For example:
      create table testBigdecimal(value decimal (6,4), name varchar(6));
      insert into testbigdecimal values (null,'test');
      insert into testbigdecimal values (1.1,'test2');

      2. Start the portal configuring the database with the new table and run the following groovy script:

      import java.sql.Types;
      import com.liferay.portal.upgrade.util.Table;
      
      public class BigDecimalTypeTest extends Table {
      
      public static final Object[][] TABLE_COLUMNS = [
       ["value", Types.DECIMAL],
       ["name", Types.VARCHAR]
       ];
      
      public BigDecimalTypeTest(String tableName, Object [][] columns) {
       super(tableName, columns);
       }
      }
      (new BigDecimalTypeTest("testBigDecimal", BigDecimalTypeTest.TABLE_COLUMNS)).generateTempFile();
      
      
      

      Current result: the above exception is thrown

      Expected result: a temp file is generated with the correct data.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Days since last comment:
                  10 weeks, 2 days ago