9 Replies Latest reply on Jun 9, 2004 10:13 PM by jae77

    thoughts on downloads module, 1.1 release

    jae77

      i'm 90% confident that i've nailed all the bugs for the 1.1 release (this doesn't include any of the recent postings to sf.net) - i have taken care of every one reported in the forums.

      [previous plan was WAY incorrect - too many sql query statements to change, very risky, i overshot a little :)]

      plan: add the necessary functionality to manage user submissions. if anyone wants to help, let me know and we'll cooridinate.

      what do we want to do about the 1.1 release? i could disable user submissions for now and we could do a 1.1.1 release shortly there after. we could delay until the above functionality is done (it's going to take a few days to get done given i've only a few hours a night - if anyone wants to help, let me know and i'll let you know where to start).

      either way i'm going to move forward w/ the above solution, and depending on which route we take, i'll check in the cmp changes to be tested for the 1.1 release.

        • 1. Re: thoughts on downloads module, 1.1 release

          what about the unique constraint we need to put on some fields ? is there a way to get that ?

          • 2. Re: thoughts on downloads module, 1.1 release
            jae77

            no - the only place i think i saw the unique constraint was on the user table, and i figured we'd still have new users create the "core" schema w/ the ddls.

            we could issue an alter table statement as part of the post-table-create sql that can be executed. we could store the statement in the .properties files in build/etc.

            only negative to that approach (until this can be done in jboss cmp, perhaps it can w/ some enhancement?) is we need to maintain the different sql for different databases ALTER TABLE syntax. not the worst of trade-offs though.

            • 3. Re: thoughts on downloads module, 1.1 release

              I am having an issue with the download module:

              I use it to download .jar and .bz2 files.

              When I usually meet those kind of files, my browser ask me where to save them.

              Here I just get all the data appearing on my browser.

              I cannot use the "save link at ..." feature of my browser either.

              I looks like the download feature is working fine on Jboss web site. I am missing something?

              --Daniel

              • 4. Re: thoughts on downloads module, 1.1 release
                jae77

                the downloads module should just be re-directing you to the link where you can d/l the actual file.

                i'll take a look at it and see if it's doing anything weird, but there are some other higher priority items that i need to finish up w/ first, so it will be a few days before i can get back to you.

                anyone else who is feeling ambitious pls feel free to take a look.

                • 5. Re: thoughts on downloads module, 1.1 release

                  another small thing about the downloads module.

                  When deploying the New downloads block (fresh cvs a few minutes ago), I noticed that the module called was kingpin while I guess it should be download, since following the current link ends up with an error.

                  From the downloads module:
                  http://localhost:8080/nukes/index.html?module=downloads&op=download&authid=ca52bcf31e704ea7697fb83db79c5d49&downloadId=1
                  
                  From the new downloads block:
                  http://localhost:8080/nukes/index.html?module=kingpin&op=download&downloadId=1&authid=c368e1e257dcef3a7d3ef7149e457eeb
                  


                  • 6. Re: thoughts on downloads module, 1.1 release

                    A last one for today:

                    I created just one category: Main/My category.

                    When I try to rate a download, I get an error saying the the parent category is not existing.

                    Parent Category does not exist
                    


                    The following error appears on JBOSS logs
                    22:34:24,316 ERROR [downloads] org.jboss.nukes.addons.modules.downloads.DownloadsModule@acca00
                    javax.ejb.ObjectNotFoundException: No such entity!
                     at org.jboss.ejb.plugins.cmp.jdbc.JDBCFindEntityCommand.execute(JDBCFindEntityCommand.java:52)
                     at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.findEntity(JDBCStoreManager.java:571)
                     at org.jboss.ejb.plugins.CMPPersistenceManager.findEntity(CMPPersistenceManager.java:299)
                     at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.findEntity(CachedConnectionInterceptor.java:300)
                     at org.jboss.ejb.EntityContainer.findLocal(EntityContainer.java:637)
                     at sun.reflect.GeneratedMethodAccessor205.invoke(Unknown Source)
                     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                     at java.lang.reflect.Method.invoke(Method.java:324)
                     at org.jboss.ejb.EntityContainer$ContainerInterceptor.invokeHome(EntityContainer.java:1043)
                     at org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:88)
                     at org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invokeHome(EntitySynchronizationInterceptor.java:197)
                     at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invokeHome(CachedConnectionInterceptor.java:214)
                     at org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:88)
                     at org.jboss.ejb.plugins.EntityInstanceInterceptor.invokeHome(EntityInstanceInterceptor.java:89)
                     at org.jboss.ejb.plugins.EntityLockInterceptor.invokeHome(EntityLockInterceptor.java:61)
                     at org.jboss.ejb.plugins.EntityCreationInterceptor.invokeHome(EntityCreationInterceptor.java:28)
                     at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:88)
                     at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:267)
                     at org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java:98)
                     at org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.java:92)
                     at org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:120)
                     at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invokeHome(ProxyFactoryFinderInterceptor.java:93)
                     at org.jboss.ejb.EntityContainer.internalInvokeHome(EntityContainer.java:483)
                     at org.jboss.ejb.Container.invoke(Container.java:720)
                     at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invokeHome(BaseLocalProxyFactory.java:293)
                     at org.jboss.ejb.plugins.local.LocalHomeProxy.invoke(LocalHomeProxy.java:110)
                     at $Proxy457.findRatingForDownloadByUser(Unknown Source)
                     at org.jboss.nukes.addons.modules.downloads.DownloadsModule.displayRateDownload(DownloadsModule.java:2267)
                     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                     at java.lang.reflect.Method.invoke(Method.java:324)
                     at org.jboss.nukes.module.ModuleSupport.operation(ModuleSupport.java:117)
                     at org.jboss.nukes.module.ModuleSupport.process(ModuleSupport.java:91)
                     at sun.reflect.GeneratedMethodAccessor246.invoke(Unknown Source)
                     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                     at java.lang.reflect.Method.invoke(Method.java:324)
                     at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
                     at org.jboss.mx.interceptor.ObjectReferenceInterceptor.invoke(ObjectReferenceInterceptor.java:59)
                     at org.jboss.mx.interceptor.MBeanAttributeInterceptor.invoke(MBeanAttributeInterceptor.java:43)
                     at org.jboss.mx.interceptor.PersistenceInterceptor2.invoke(PersistenceInterceptor2.java:93)
                     at org.jboss.nukes.mx.LifeCycleInterceptor.invoke(LifeCycleInterceptor.java:93)
                     at org.jboss.mx.server.MBeanInvoker.invoke(MBeanInvoker.java:76)
                     at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
                     at org.jboss.nukes.core.Main$LastNext.process(Main.java:557)
                     at org.jboss.nukes.core.modules.html.HtmlModule$1.process(HtmlModule.java:258)
                     at org.jboss.nukes.core.Main$HandlerNext.process(Main.java:508)
                     at org.jboss.nukes.core.modules.core.CoreModule$3.process(CoreModule.java:404)
                     at org.jboss.nukes.core.Main$HandlerNext.process(Main.java:508)
                     at org.jboss.nukes.core.modules.block.BlockModule$3.process(BlockModule.java:810)
                     at org.jboss.nukes.core.Main$HandlerNext.process(Main.java:508)
                     at org.jboss.nukes.core.modules.theme.ThemeModule$2.process(ThemeModule.java:255)
                     at org.jboss.nukes.core.Main$HandlerNext.process(Main.java:508)
                     at org.jboss.nukes.core.modules.user.UserModule$4.process(UserModule.java:1475)
                     at org.jboss.nukes.core.Main$HandlerNext.process(Main.java:508)
                     at org.jboss.nukes.core.Main.process(Main.java:119)
                     at sun.reflect.GeneratedMethodAccessor211.invoke(Unknown Source)
                     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                     at java.lang.reflect.Method.invoke(Method.java:324)
                     at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
                     at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
                     at org.jboss.nukes.servlet.NukeServlet.doGet(NukeServlet.java:175)
                     at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
                     at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
                     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
                     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
                     at org.jboss.nukes.servlet.TransactionFilter.doFilter(TransactionFilter.java:95)
                     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
                     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
                     at org.jboss.nukes.servlet.FileUploadFilter.doFilter(FileUploadFilter.java:64)
                     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
                     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
                     at org.jboss.nukes.servlet.CompressFilter.doFilter(CompressFilter.java:113)
                     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
                     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
                     at org.jboss.nukes.servlet.DatabasePollerFilter.doFilter(DatabasePollerFilter.java:88)
                     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
                     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
                     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
                     at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
                     at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
                     at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
                     at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
                     at org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(JBossSecurityMgrRealm.java:220)
                     at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
                     at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
                     at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
                     at org.jboss.web.tomcat.tc4.statistics.ContainerStatsValve.invoke(ContainerStatsValve.java:76)
                     at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
                     at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
                     at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417)
                     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
                     at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
                     at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
                     at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
                     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
                     at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
                     at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:65)
                     at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
                     at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:577)
                     at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
                     at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
                     at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
                     at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
                     at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
                     at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:197)
                     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:781)
                     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:549)
                     at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:605)
                     at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:677)
                     at java.lang.Thread.run(Thread.java:534)
                    


                    • 7. Re: thoughts on downloads module, 1.1 release

                      The two issues I just mentionned are fixed in the current CVS.

                      Is there an easy way to update all the modules already deployed for nukes?

                      I need to go in each module directory to do build undeploy ; build deploy for the moment, and sometimes I mss one module...

                      --Daniel

                      • 8. Re: thoughts on downloads module, 1.1 release
                        jae77

                        bringing the conversation back around to the original topic :)

                        i'm able to create the unique constraints using the "post-table-create" tag in xdoclet (on @jboss.persistence).

                        i still have to dig up the "alter table" syntax for the other dbs (i tested against hsqldb ) - if anyone knows the syntax, pls post it here - and finish adding the insert statements to the appropriate entity beans.

                        i should have this wrapped by tomorrow night/friday and that will give us a full cmp solution for all the modules in the 1.1 release. after that is adding managing user submissions to downloads (which is underway as well) and we're good to go.

                        • 9. Re: thoughts on downloads module, 1.1 release
                          jae77

                          leberre : no, not at this time - this could be added to the master build.xml though.