Bonjour,
Squash est couplé pour son utilisation avec un outil interne.
Le but est de rajouter via cet outil une nouvelle arborescence /Folder/folder/testcase.
Précédemment, la fonction ne faisait que rajouter le testcase à un folder deja existant:
* Nouvelle entree dans la table TCLN
* MAJ de la table TEST_CASE avec le TCLN_ID
* Creation du lien dans TCLN_RELATIONSHIP
Ceci marchait sans problème.
Aujourd'hui, nous voulions pouvoir rajouté un Folder et nous procédions par le meme principe:
* Nouvelle entree dans la table TCLN
* MAJ de la table TEST_CASE_FOLDER avec le TCLN_ID
* Creation du lien dans TCLN_RELATIONSHIP
puis ajout du test case en lien avec le TCLN_ID du folder crée.
Ceci marche aussi bien et l'affiche dans Squash_TM correspond à ce qui est attendu.
Dès lors se produit un NullPointerException si on raffraichit la page.
Voici la stack:
[code]Problem accessing /squash/test-case-workspace/. Reason:
Server Error
Caused by:
java.lang.NullPointerException
at org.squashtest.tm.web.internal.model.builder.LibraryTreeNodeBuilder.addCommonAttributes(LibraryTreeNodeBuilder.java:91)
at org.squashtest.tm.web.internal.model.builder.LibraryTreeNodeBuilder.doBuild(LibraryTreeNodeBuilder.java:85)
at org.squashtest.tm.web.internal.model.builder.LibraryTreeNodeBuilder.doBuild(LibraryTreeNodeBuilder.java:1)
at org.squashtest.tm.web.internal.model.builder.GenericJsTreeNodeBuilder.build(GenericJsTreeNodeBuilder.java:88)
at org.squashtest.tm.web.internal.model.builder.JsTreeNodeListBuilder.build(JsTreeNodeListBuilder.java:63)
at org.squashtest.tm.web.internal.model.builder.TestCaseLibraryTreeNodeBuilder$ChildrenPopulator.visit(TestCaseLibraryTreeNodeBuilder.java:152)
at org.squashtest.tm.domain.testcase.TestCaseFolder.accept(TestCaseFolder.java:82)
at org.squashtest.tm.web.internal.model.builder.TestCaseLibraryTreeNodeBuilder.doAddChildren(TestCaseLibraryTreeNodeBuilder.java:184)
at org.squashtest.tm.web.internal.model.builder.TestCaseLibraryTreeNodeBuilder.doAddChildren(TestCaseLibraryTreeNodeBuilder.java:1)
at org.squashtest.tm.web.internal.model.builder.GenericJsTreeNodeBuilder.build(GenericJsTreeNodeBuilder.java:91)
at org.squashtest.tm.web.internal.model.builder.JsTreeNodeListBuilder.build(JsTreeNodeListBuilder.java:63)
at org.squashtest.tm.web.internal.model.builder.TestCaseLibraryTreeNodeBuilder$ChildrenPopulator.visit(TestCaseLibraryTreeNodeBuilder.java:152)
at org.squashtest.tm.domain.testcase.TestCaseFolder.accept(TestCaseFolder.java:82)
at org.squashtest.tm.web.internal.model.builder.TestCaseLibraryTreeNodeBuilder.doAddChildren(TestCaseLibraryTreeNodeBuilder.java:184)
at org.squashtest.tm.web.internal.model.builder.TestCaseLibraryTreeNodeBuilder.doAddChildren(TestCaseLibraryTreeNodeBuilder.java:1)
at org.squashtest.tm.web.internal.model.builder.GenericJsTreeNodeBuilder.build(GenericJsTreeNodeBuilder.java:91)
at org.squashtest.tm.web.internal.model.builder.JsTreeNodeListBuilder.build(JsTreeNodeListBuilder.java:63)
at org.squashtest.tm.web.internal.model.builder.DriveNodeBuilder.doAddChildren(DriveNodeBuilder.java:86)
at org.squashtest.tm.web.internal.model.builder.DriveNodeBuilder.doAddChildren(DriveNodeBuilder.java:1)
at org.squashtest.tm.web.internal.model.builder.GenericJsTreeNodeBuilder.build(GenericJsTreeNodeBuilder.java:91)
at org.squashtest.tm.web.internal.model.builder.JsTreeNodeListBuilder.build(JsTreeNodeListBuilder.java:63)
at org.squashtest.tm.web.internal.controller.generic.WorkspaceController.showWorkspace(WorkspaceController.java:85)
at sun.reflect.GeneratedMethodAccessor349.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:219)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:100)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:604)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:565)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:735)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494)
at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:88)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at org.squashtest.tm.web.internal.filter.IE8AcceptHeaderFixerFilter.doFilter(IE8AcceptHeaderFixerFilter.java:158)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at org.squashtest.tm.web.internal.filter.UserConcurrentRequestLockFilter.handleReadRequest(UserConcurrentRequestLockFilter.java:93)
at org.squashtest.tm.web.internal.filter.UserConcurrentRequestLockFilter.handleRequest(UserConcurrentRequestLockFilter.java:80)
at org.squashtest.tm.web.internal.filter.UserConcurrentRequestLockFilter.doFilter(UserConcurrentRequestLockFilter.java:69)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at org.squashtest.csp.core.bugtracker.web.BugTrackerContextPersistenceFilter.doFilter(BugTrackerContextPersistenceFilter.java:74)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:575)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:276)
at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:103)
at org.tuckey.web.filters.urlrewrite.NormalRewrittenUrl.doRewrite(NormalRewrittenUrl.java:195)
at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:159)
at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:141)
at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:90)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:417)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter.doFilter(DefaultLoginPageGeneratingFilter.java:91)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:183)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:144)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.squashtest.tm.web.internal.filter.HtmlSanitizationFilter.doFilter(HtmlSanitizationFilter.java:68)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
at org.eclipse.jetty.server.Server.handle(Server.java:370)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:949)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1011)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
at java.lang.Thread.run(Thread.java:662)[/code]
J'imagine qu'on doit louper certaines maj de tables mais lesquelles...? :huh:
P.S: version Squash TM v1.10.6.RELEASE
Merci d'avance
Erreur de creation de l'arborescence lors du refresh
Erreur de creation de l'arborescence lors du refresh
Bonjour,
Afin de comprendre au mieux la situation, pouvez vous me dire ce qu'il en est de votre installation de Squash TM ?
En effet, vous indiquez dans votre message "Aujourd'hui nous voulions pouvoir rajouter un folder...".
Avez vous modifié des plugins ? Avez vous modifié votre base de données ? Avez vous modifié votre SGBD ?
Pouvez vous dire clairement ce qui a changé entre "précédemment" et "aujourd'hui" dans votre configuration interne ?
Merci d'avance pour vos éclaircissements ?
Bonne journée à vous.
Cordialement.
Afin de comprendre au mieux la situation, pouvez vous me dire ce qu'il en est de votre installation de Squash TM ?
En effet, vous indiquez dans votre message "Aujourd'hui nous voulions pouvoir rajouter un folder...".
Avez vous modifié des plugins ? Avez vous modifié votre base de données ? Avez vous modifié votre SGBD ?
Pouvez vous dire clairement ce qui a changé entre "précédemment" et "aujourd'hui" dans votre configuration interne ?
Merci d'avance pour vos éclaircissements ?
Bonne journée à vous.
Cordialement.