add graph and delete graph event,may be has a bug;

This commit is contained in:
fanfuxiaoran 2013-12-05 17:03:15 +08:00
parent 02d5431501
commit 9b219b4f00
6 changed files with 317 additions and 188 deletions

1
.gitignore vendored
View File

@ -10,3 +10,4 @@
.externalToolBuilders .externalToolBuilders
/src/main/webapp/.htaccess /src/main/webapp/.htaccess
/logs/

View File

@ -18998,3 +18998,83 @@ Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No q
2013-12-04 21:20:52 [ main:3310 ] - [ INFO ] FrameworkServlet 'dispatcherServlet': initialization completed in 662 ms 2013-12-04 21:20:52 [ main:3310 ] - [ INFO ] FrameworkServlet 'dispatcherServlet': initialization completed in 662 ms
2013-12-04 21:22:12 [ qtp15683977-16:83650 ] - [ INFO ] www login! 2013-12-04 21:22:12 [ qtp15683977-16:83650 ] - [ INFO ] www login!
2013-12-04 21:22:12 [ qtp15683977-18:83663 ] - [ INFO ] www login! 2013-12-04 21:22:12 [ qtp15683977-18:83663 ] - [ INFO ] www login!
2013-12-05 09:14:46 [ main:0 ] - [ INFO ] Root WebApplicationContext: initialization started
2013-12-05 09:14:46 [ main:33 ] - [ INFO ] Refreshing Root WebApplicationContext: startup date [Thu Dec 05 09:14:46 CST 2013]; root of context hierarchy
2013-12-05 09:14:46 [ main:135 ] - [ INFO ] Loading XML bean definitions from ServletContext resource [/WEB-INF/applicationContext.xml]
2013-12-05 09:14:46 [ main:365 ] - [ INFO ] JSR-250 'javax.annotation.ManagedBean' found and supported for component scanning
2013-12-05 09:14:46 [ main:367 ] - [ INFO ] JSR-330 'javax.inject.Named' annotation found and supported for component scanning
2013-12-05 09:14:46 [ main:747 ] - [ INFO ] JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
2013-12-05 09:14:46 [ main:760 ] - [ INFO ] Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@f738944: defining beans [agentActionController,authorizeActionController,monitorController,recordPortActionController,scriptActionController,testPlanActionController,scriptService,testLoginService,testScriptService,processHttpReponse,httpRequester,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,mvcContentNegotiationManager,org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping#0,org.springframework.format.support.FormattingConversionServiceFactoryBean#0,org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter#0,org.springframework.web.servlet.handler.MappedInterceptor#0,org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver#0,org.springframework.web.servlet.mvc.annotation.ResponseStatusExceptionResolver#0,org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver#0,org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping,org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter,org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter,org.springframework.context.annotation.ConfigurationClassPostProcessor.importAwareProcessor]; root of factory hierarchy
2013-12-05 09:14:47 [ main:987 ] - [ INFO ] Mapped "{[/addAgentToPool],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.Boolean org.bench4q.web.api.AgentActionController.addAgenttoPool(javax.servlet.http.HttpServletRequest,java.lang.String)
2013-12-05 09:14:47 [ main:988 ] - [ INFO ] Mapped "{[/loadAgents],methods=[POST || GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public org.bench4q.web.model.AgentListModel org.bench4q.web.api.AgentActionController.loadAgentsFromPool(javax.servlet.http.HttpServletRequest,java.lang.String)
2013-12-05 09:14:47 [ main:988 ] - [ INFO ] Mapped "{[/removeAgentFromPool],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.Boolean org.bench4q.web.api.AgentActionController.removeAgentfromPool(javax.servlet.http.HttpServletRequest,java.lang.String)
2013-12-05 09:14:47 [ main:989 ] - [ INFO ] Mapped "{[/register],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public boolean org.bench4q.web.api.AuthorizeActionController.register(org.bench4q.share.models.master.UserModel)
2013-12-05 09:14:47 [ main:989 ] - [ INFO ] Mapped "{[/adminLogin],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public boolean org.bench4q.web.api.AuthorizeActionController.adminLogin(org.bench4q.share.models.master.UserModel,org.springframework.ui.ModelMap)
2013-12-05 09:14:47 [ main:989 ] - [ INFO ] Mapped "{[/login],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public boolean org.bench4q.web.api.AuthorizeActionController.login(org.bench4q.share.models.master.UserModel,org.springframework.ui.ModelMap)
2013-12-05 09:14:47 [ main:990 ] - [ INFO ] Mapped "{[/getNetworkStatus],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto private org.bench4q.share.models.monitor.NetworkInterfaceModel org.bench4q.web.api.MonitorController.getNetworkStatus(java.lang.String,java.lang.String,java.lang.String,java.lang.String)
2013-12-05 09:14:47 [ main:990 ] - [ INFO ] Mapped "{[/getMemoryStatus],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public org.bench4q.share.models.monitor.MemoryModel org.bench4q.web.api.MonitorController.geMemoryStatus(java.lang.String,java.lang.String,java.lang.String,java.lang.String)
2013-12-05 09:14:47 [ main:990 ] - [ INFO ] Mapped "{[/getProcessorStatus],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public org.bench4q.share.models.monitor.ProcessorModel org.bench4q.web.api.MonitorController.getPeocessStatus(java.lang.String,java.lang.String,java.lang.String,java.lang.String)
2013-12-05 09:14:47 [ main:991 ] - [ INFO ] Mapped "{[/editPort],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.Boolean org.bench4q.web.api.RecordPortActionController.editPort(java.lang.String,org.bench4q.share.models.master.PortModel)
2013-12-05 09:14:47 [ main:992 ] - [ INFO ] Mapped "{[/loadPorts],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public org.bench4q.web.model.PortListModel org.bench4q.web.api.RecordPortActionController.loadPorts(javax.servlet.http.HttpServletRequest,java.lang.String)
2013-12-05 09:14:47 [ main:992 ] - [ INFO ] Mapped "{[/addPortToPool],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.Boolean org.bench4q.web.api.RecordPortActionController.addPorttoPortPool(javax.servlet.http.HttpServletRequest,java.lang.String,java.lang.String)
2013-12-05 09:14:47 [ main:992 ] - [ INFO ] Mapped "{[/removePortFromPool],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.Boolean org.bench4q.web.api.RecordPortActionController.removePortfromPortPool(javax.servlet.http.HttpServletRequest,java.lang.String)
2013-12-05 09:14:47 [ main:993 ] - [ INFO ] Mapped "{[/saveEditScript],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public boolean org.bench4q.web.api.ScriptActionController.savescript(javax.servlet.http.HttpServletRequest,java.lang.String,java.lang.String,java.lang.String)
2013-12-05 09:14:47 [ main:994 ] - [ INFO ] Mapped "{[/deleteScript],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public boolean org.bench4q.web.api.ScriptActionController.deletescript(javax.servlet.http.HttpServletRequest,java.lang.String,java.lang.String)
2013-12-05 09:14:47 [ main:994 ] - [ INFO ] Mapped "{[/loadScript],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.util.List<org.bench4q.share.models.master.ScriptModel> org.bench4q.web.api.ScriptActionController.loadscript(java.lang.String)
2013-12-05 09:14:47 [ main:994 ] - [ INFO ] Mapped "{[/editScript],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String org.bench4q.web.api.ScriptActionController.editScript(javax.servlet.http.HttpServletRequest,java.lang.String,java.lang.String)
2013-12-05 09:14:47 [ main:994 ] - [ INFO ] Mapped "{[/stopRecordServer],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public boolean org.bench4q.web.api.ScriptActionController.stopRecordServer(java.lang.String,java.lang.String,java.lang.String)
2013-12-05 09:14:47 [ main:994 ] - [ INFO ] Mapped "{[/startRecordServer],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public org.bench4q.share.models.master.OperateScriptServerResponseModel org.bench4q.web.api.ScriptActionController.startRecordServer(java.lang.String) throws javax.xml.bind.JAXBException
2013-12-05 09:14:47 [ main:994 ] - [ INFO ] Mapped "{[/saveRecordScript],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public boolean org.bench4q.web.api.ScriptActionController.saveScriptToDB(javax.servlet.http.HttpServletRequest,java.lang.String,java.lang.String,java.lang.String,java.lang.String)
2013-12-05 09:14:47 [ main:996 ] - [ INFO ] Mapped "{[/runTestPlan],methods=[POST],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String org.bench4q.web.api.TestPlanActionController.runTestPlan(java.lang.String,org.springframework.ui.ModelMap,org.bench4q.web.model.TestPlanRequestModel)
2013-12-05 09:14:47 [ main:996 ] - [ INFO ] Mapped "{[/testPlanTaskList],methods=[POST],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.util.List<org.bench4q.web.model.TestPlanTaskModel> org.bench4q.web.api.TestPlanActionController.getTestPlanTaskList(java.lang.String,java.util.List<org.bench4q.web.model.TestPlanTaskModel>,org.springframework.ui.ModelMap)
2013-12-05 09:14:47 [ main:997 ] - [ INFO ] Mapped "{[/loadTestPlans],methods=[GET || POST],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public org.bench4q.web.model.TestPlanListModel org.bench4q.web.api.TestPlanActionController.loadTestPlans(java.lang.String)
2013-12-05 09:14:47 [ main:997 ] - [ INFO ] Mapped "{[/getRunningInfo],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public org.bench4q.web.model.RunningIndexModel org.bench4q.web.api.TestPlanActionController.getRunningInfo(java.lang.String)
2013-12-05 09:14:47 [ main:997 ] - [ INFO ] Mapped "{[/downloadReport],methods=[GET || POST],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public void org.bench4q.web.api.TestPlanActionController.downloadReport(javax.servlet.http.HttpServletResponse,java.lang.String,java.lang.String)
2013-12-05 09:14:47 [ main:997 ] - [ INFO ] Mapped "{[/getScriptBriefStatus],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public org.bench4q.share.models.master.ScriptBriefResultModel org.bench4q.web.api.TestPlanActionController.getAgentBriefStatus(java.lang.String,java.lang.String,java.lang.String)
2013-12-05 09:14:47 [ main:1500 ] - [ INFO ] Root WebApplicationContext: initialization completed in 1499 ms
2013-12-05 09:14:47 [ main:1615 ] - [ INFO ] FrameworkServlet 'dispatcherServlet': initialization started
2013-12-05 09:14:47 [ main:1619 ] - [ INFO ] Refreshing WebApplicationContext for namespace 'dispatcherServlet-servlet': startup date [Thu Dec 05 09:14:47 CST 2013]; parent: Root WebApplicationContext
2013-12-05 09:14:47 [ main:1619 ] - [ INFO ] Loading XML bean definitions from ServletContext resource [/WEB-INF/bench4qweb-servlet.xml]
2013-12-05 09:14:47 [ main:1665 ] - [ INFO ] JSR-250 'javax.annotation.ManagedBean' found and supported for component scanning
2013-12-05 09:14:47 [ main:1665 ] - [ INFO ] JSR-330 'javax.inject.Named' annotation found and supported for component scanning
2013-12-05 09:14:47 [ main:1746 ] - [ INFO ] JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
2013-12-05 09:14:47 [ main:1753 ] - [ INFO ] Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@5a18a372: defining beans [agentActionController,authorizeActionController,monitorController,recordPortActionController,scriptActionController,testPlanActionController,scriptService,testLoginService,testScriptService,processHttpReponse,httpRequester,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,mvcContentNegotiationManager,org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping#0,org.springframework.format.support.FormattingConversionServiceFactoryBean#0,org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter#0,org.springframework.web.servlet.handler.MappedInterceptor#0,org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver#0,org.springframework.web.servlet.mvc.annotation.ResponseStatusExceptionResolver#0,org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver#0,org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping,org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter,org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter,org.springframework.web.servlet.resource.ResourceHttpRequestHandler#0,org.springframework.web.servlet.handler.SimpleUrlHandlerMapping#0,org.springframework.web.servlet.resource.ResourceHttpRequestHandler#1,org.springframework.web.servlet.handler.SimpleUrlHandlerMapping#1,org.springframework.web.servlet.resource.ResourceHttpRequestHandler#2,org.springframework.web.servlet.handler.SimpleUrlHandlerMapping#2,org.springframework.web.servlet.resource.ResourceHttpRequestHandler#3,org.springframework.web.servlet.handler.SimpleUrlHandlerMapping#3,org.springframework.web.servlet.resource.ResourceHttpRequestHandler#4,org.springframework.web.servlet.handler.SimpleUrlHandlerMapping#4,org.springframework.web.servlet.resource.ResourceHttpRequestHandler#5,org.springframework.web.servlet.handler.SimpleUrlHandlerMapping#5,org.springframework.web.servlet.resource.ResourceHttpRequestHandler#6,org.springframework.web.servlet.handler.SimpleUrlHandlerMapping#6,org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler#0,org.springframework.web.servlet.handler.SimpleUrlHandlerMapping#7,org.springframework.web.servlet.view.InternalResourceViewResolver#0,org.springframework.context.annotation.ConfigurationClassPostProcessor.importAwareProcessor]; parent: org.springframework.beans.factory.support.DefaultListableBeanFactory@f738944
2013-12-05 09:14:47 [ main:1781 ] - [ INFO ] Mapped "{[/addAgentToPool],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.Boolean org.bench4q.web.api.AgentActionController.addAgenttoPool(javax.servlet.http.HttpServletRequest,java.lang.String)
2013-12-05 09:14:47 [ main:1781 ] - [ INFO ] Mapped "{[/loadAgents],methods=[POST || GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public org.bench4q.web.model.AgentListModel org.bench4q.web.api.AgentActionController.loadAgentsFromPool(javax.servlet.http.HttpServletRequest,java.lang.String)
2013-12-05 09:14:47 [ main:1781 ] - [ INFO ] Mapped "{[/removeAgentFromPool],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.Boolean org.bench4q.web.api.AgentActionController.removeAgentfromPool(javax.servlet.http.HttpServletRequest,java.lang.String)
2013-12-05 09:14:47 [ main:1782 ] - [ INFO ] Mapped "{[/register],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public boolean org.bench4q.web.api.AuthorizeActionController.register(org.bench4q.share.models.master.UserModel)
2013-12-05 09:14:47 [ main:1782 ] - [ INFO ] Mapped "{[/adminLogin],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public boolean org.bench4q.web.api.AuthorizeActionController.adminLogin(org.bench4q.share.models.master.UserModel,org.springframework.ui.ModelMap)
2013-12-05 09:14:47 [ main:1783 ] - [ INFO ] Mapped "{[/login],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public boolean org.bench4q.web.api.AuthorizeActionController.login(org.bench4q.share.models.master.UserModel,org.springframework.ui.ModelMap)
2013-12-05 09:14:47 [ main:1783 ] - [ INFO ] Mapped "{[/getNetworkStatus],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto private org.bench4q.share.models.monitor.NetworkInterfaceModel org.bench4q.web.api.MonitorController.getNetworkStatus(java.lang.String,java.lang.String,java.lang.String,java.lang.String)
2013-12-05 09:14:47 [ main:1784 ] - [ INFO ] Mapped "{[/getMemoryStatus],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public org.bench4q.share.models.monitor.MemoryModel org.bench4q.web.api.MonitorController.geMemoryStatus(java.lang.String,java.lang.String,java.lang.String,java.lang.String)
2013-12-05 09:14:47 [ main:1784 ] - [ INFO ] Mapped "{[/getProcessorStatus],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public org.bench4q.share.models.monitor.ProcessorModel org.bench4q.web.api.MonitorController.getPeocessStatus(java.lang.String,java.lang.String,java.lang.String,java.lang.String)
2013-12-05 09:14:47 [ main:1785 ] - [ INFO ] Mapped "{[/editPort],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.Boolean org.bench4q.web.api.RecordPortActionController.editPort(java.lang.String,org.bench4q.share.models.master.PortModel)
2013-12-05 09:14:47 [ main:1785 ] - [ INFO ] Mapped "{[/loadPorts],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public org.bench4q.web.model.PortListModel org.bench4q.web.api.RecordPortActionController.loadPorts(javax.servlet.http.HttpServletRequest,java.lang.String)
2013-12-05 09:14:47 [ main:1785 ] - [ INFO ] Mapped "{[/addPortToPool],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.Boolean org.bench4q.web.api.RecordPortActionController.addPorttoPortPool(javax.servlet.http.HttpServletRequest,java.lang.String,java.lang.String)
2013-12-05 09:14:47 [ main:1785 ] - [ INFO ] Mapped "{[/removePortFromPool],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.Boolean org.bench4q.web.api.RecordPortActionController.removePortfromPortPool(javax.servlet.http.HttpServletRequest,java.lang.String)
2013-12-05 09:14:47 [ main:1787 ] - [ INFO ] Mapped "{[/saveEditScript],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public boolean org.bench4q.web.api.ScriptActionController.savescript(javax.servlet.http.HttpServletRequest,java.lang.String,java.lang.String,java.lang.String)
2013-12-05 09:14:47 [ main:1787 ] - [ INFO ] Mapped "{[/deleteScript],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public boolean org.bench4q.web.api.ScriptActionController.deletescript(javax.servlet.http.HttpServletRequest,java.lang.String,java.lang.String)
2013-12-05 09:14:47 [ main:1787 ] - [ INFO ] Mapped "{[/loadScript],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.util.List<org.bench4q.share.models.master.ScriptModel> org.bench4q.web.api.ScriptActionController.loadscript(java.lang.String)
2013-12-05 09:14:47 [ main:1787 ] - [ INFO ] Mapped "{[/editScript],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String org.bench4q.web.api.ScriptActionController.editScript(javax.servlet.http.HttpServletRequest,java.lang.String,java.lang.String)
2013-12-05 09:14:47 [ main:1787 ] - [ INFO ] Mapped "{[/stopRecordServer],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public boolean org.bench4q.web.api.ScriptActionController.stopRecordServer(java.lang.String,java.lang.String,java.lang.String)
2013-12-05 09:14:47 [ main:1787 ] - [ INFO ] Mapped "{[/startRecordServer],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public org.bench4q.share.models.master.OperateScriptServerResponseModel org.bench4q.web.api.ScriptActionController.startRecordServer(java.lang.String) throws javax.xml.bind.JAXBException
2013-12-05 09:14:47 [ main:1788 ] - [ INFO ] Mapped "{[/saveRecordScript],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public boolean org.bench4q.web.api.ScriptActionController.saveScriptToDB(javax.servlet.http.HttpServletRequest,java.lang.String,java.lang.String,java.lang.String,java.lang.String)
2013-12-05 09:14:47 [ main:1789 ] - [ INFO ] Mapped "{[/runTestPlan],methods=[POST],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String org.bench4q.web.api.TestPlanActionController.runTestPlan(java.lang.String,org.springframework.ui.ModelMap,org.bench4q.web.model.TestPlanRequestModel)
2013-12-05 09:14:47 [ main:1789 ] - [ INFO ] Mapped "{[/testPlanTaskList],methods=[POST],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.util.List<org.bench4q.web.model.TestPlanTaskModel> org.bench4q.web.api.TestPlanActionController.getTestPlanTaskList(java.lang.String,java.util.List<org.bench4q.web.model.TestPlanTaskModel>,org.springframework.ui.ModelMap)
2013-12-05 09:14:47 [ main:1790 ] - [ INFO ] Mapped "{[/loadTestPlans],methods=[GET || POST],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public org.bench4q.web.model.TestPlanListModel org.bench4q.web.api.TestPlanActionController.loadTestPlans(java.lang.String)
2013-12-05 09:14:47 [ main:1790 ] - [ INFO ] Mapped "{[/getRunningInfo],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public org.bench4q.web.model.RunningIndexModel org.bench4q.web.api.TestPlanActionController.getRunningInfo(java.lang.String)
2013-12-05 09:14:47 [ main:1790 ] - [ INFO ] Mapped "{[/downloadReport],methods=[GET || POST],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public void org.bench4q.web.api.TestPlanActionController.downloadReport(javax.servlet.http.HttpServletResponse,java.lang.String,java.lang.String)
2013-12-05 09:14:47 [ main:1790 ] - [ INFO ] Mapped "{[/getScriptBriefStatus],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public org.bench4q.share.models.master.ScriptBriefResultModel org.bench4q.web.api.TestPlanActionController.getAgentBriefStatus(java.lang.String,java.lang.String,java.lang.String)
2013-12-05 09:14:47 [ main:1883 ] - [ INFO ] Mapped URL path [/images/**] onto handler 'org.springframework.web.servlet.resource.ResourceHttpRequestHandler#0'
2013-12-05 09:14:47 [ main:1885 ] - [ INFO ] Mapped URL path [/style/**] onto handler 'org.springframework.web.servlet.resource.ResourceHttpRequestHandler#1'
2013-12-05 09:14:47 [ main:1886 ] - [ INFO ] Mapped URL path [/script/**] onto handler 'org.springframework.web.servlet.resource.ResourceHttpRequestHandler#2'
2013-12-05 09:14:47 [ main:1887 ] - [ INFO ] Mapped URL path [/css/**] onto handler 'org.springframework.web.servlet.resource.ResourceHttpRequestHandler#3'
2013-12-05 09:14:47 [ main:1888 ] - [ INFO ] Mapped URL path [/static/**] onto handler 'org.springframework.web.servlet.resource.ResourceHttpRequestHandler#4'
2013-12-05 09:14:47 [ main:1889 ] - [ INFO ] Mapped URL path [/img/**] onto handler 'org.springframework.web.servlet.resource.ResourceHttpRequestHandler#5'
2013-12-05 09:14:47 [ main:1890 ] - [ INFO ] Mapped URL path [/i18n/**] onto handler 'org.springframework.web.servlet.resource.ResourceHttpRequestHandler#6'
2013-12-05 09:14:47 [ main:1901 ] - [ INFO ] Mapped URL path [/**] onto handler 'org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler#0'
2013-12-05 09:14:48 [ main:1946 ] - [ INFO ] FrameworkServlet 'dispatcherServlet': initialization completed in 331 ms
2013-12-05 09:15:12 [ qtp797868569-24:26567 ] - [ INFO ] www login!
2013-12-05 10:22:24 [ qtp797868569-77:4058027 ] - [ INFO ] www login!
2013-12-05 14:39:25 [ qtp797868569-143:19479418 ] - [ INFO ] www login!
2013-12-05 14:46:16 [ qtp797868569-152:19890329 ] - [ INFO ] www login!

View File

@ -4,7 +4,10 @@
max-height: 400px; max-height: 400px;
padding: 15px; padding: 15px;
} }
.marginButton{
margin-left:10px;
margin-right:10px;
}
.div-distance{ .div-distance{
margin-top:30px; margin-top:30px;
} }

View File

@ -88,7 +88,7 @@ body {
<div class="box-icon"> <div class="box-icon">
<a href="#" class="btn btn-setting btn-round"><i <a href="#" class="btn btn-setting btn-round"><i
class="icon-plus"></i></a> <a href="#" class="btn btn-round" class="icon-plus"></i></a> <a href="#" class="btn btn-round"
onClick="loadscript()"><i class="icon-list"></i></a> <a ><i class="icon-list"></i></a> <a
href="#" class="btn btn-minimize btn-round"><i href="#" class="btn btn-minimize btn-round"><i
class="icon-chevron-up"></i></a> class="icon-chevron-up"></i></a>
</div> </div>

View File

@ -3,61 +3,44 @@ var containerHeader = $('#containerHeader');
var testPlanId; var testPlanId;
var urlModel = new UrlModel(); var urlModel = new UrlModel();
var testBriefModelField = new Array("name", "uuid", "scripts", "SUT", "status"); var testBriefModelField = new Array("name", "uuid", "scripts", "SUT", "status");
var scriptResult = new Array("name", "id", "load", "warm up", "execute", var scriptInfo = new Array("name", "id", "load", "warm up", "execute",
"cool down", "finished"); "cool down", "finished");
var scriptResult = new Array("averageResponseTime",
"totalSuccessCountFromBegin", "totalFailCountFromBegin",
"failThroughputThisTime");
var containerModel = new ContainerModel(); var containerModel = new ContainerModel();
function ContainerModel() { function ContainerModel() {
this.testBox = "testBox"; this.testBox = "testBox";
this.scriptBox = "scriptBox"; this.scriptBox = "scriptBox";
this.monitorBox = "monitorBox"; this.monitorBox = "monitorBox";
this.scriptList = "scriptList"; this.scriptList = "scriptList";
this.scriptResultBox = "scriptResultBox"; this.scriptChart = "scriptChart";
} }
function UrlModel() { function UrlModel() {
this.runInfo = "getRunningInfo"; this.runInfo = "getRunningInfo";
this.scriptResult = "getScriptBriefStatus"; this.scriptResult = "getScriptBriefStatus";
} }
$(document).ready(function() { function ChartList(childClass, key, child) {
/* testPlanId = getvars()['testPlanId']; */ this.childClass = childClass;
this.key = key;
testPlanId = 1; this.child = child;
/* getRunningInfo(urlModel.runInfo, testPlanId);*/
/* getScriptResult(urlModel.scriptResult,testPlanId,initScriptResultContainer); */
var scripts=new Array("www","wxr");
var allList=createScriptList(scripts,scriptResult);
initChart(container, "charts",allList,null,null);
$('#addGraph').click(
function(){
var div=container.children(".span3");
if(div.attr('visiblity')){
div.hide();
}
else div.show();
}
);
});
function createScriptList(scripts,sciptResult){
if(scripts.length==null||scripts.length<=0)
return ;
var list=new ChartList("Scripts","result",new Array());
for(var i=0;i<scripts.length;i++){
list.child[i]=new ChartList("script result",scripts[i],new Array());
if(scriptResult==null&&scriptResult.length<=0)
list.child[i].child=null;
else{
for(var j=0;j<scriptResult.length;j++){
list.child[i].child.push(new ChartList("",scriptResult,null));
}
}
}
return list;
} }
$(document).ready(
function() {
/* testPlanId = getvars()['testPlanId']; */
testPlanId = 1;
var scripts = new Array("www", "wxr");
var allList = createScriptList(scripts, scriptResult);
initChart(container, containerModel.scriptChart, "charts", allList,
null, null);
getRunningInfo(urlModel.runInfo, testPlanId);
/* getScriptResult(urlModel.scriptResult,testPlanId,initScriptResultContainer); */
});
function getRunningInfo(url, testPlanId) { function getRunningInfo(url, testPlanId) {
$.post(url, { $.post(url, {
@ -76,21 +59,20 @@ function getScriptResult(url, testPlanId, scriptId, callback) {
// getMonitorInfo... // getMonitorInfo...
function processTestBriefInfo(data) { function processTestBriefInfo(data) {
if (data != null) { if (data != null) {
initTestInfoContainer(containerHeader, data); /* initTestInfoContainer(containerHeader, data);*/
if (data.scriptIndexModels != null && data.scriptIndexModels.length > 0) { if (data.scriptIndexModels != null && data.scriptIndexModels.length > 0) {
initTestScriptContainer(containerHeader, data.scriptIndexModels); initTestScriptContainer(container, data.scriptIndexModels);
initScriptResultContainer(container, data.scriptIndexModels); /*initScriptResultContainer(container, data.scriptIndexModels);*/
} }
if (data.monitorModels != null && data.monitorModels.length > 0) if (data.monitorModels != null && data.monitorModels.length > 0)
initSUTContainer(parent, data.monitorModels); initSUTContainer(parent, data.monitorModels);
} else } else
alert("get testplan runing info is error! "); alert("get testplan runing info is error! ");
} }
function initTestInfoContainer(parent, data) { function initTestInfoContainer(parent, data) {
var box = createtBox(4, "Test"); var box = createBox(4, "Test");
addBoxId(box, containerModel.testBox); addId(box, containerModel.testBox);
addCloseAndMinIcons(box); addCloseAndMinIcons(box);
parent.append(box); parent.append(box);
var ul = createUl("dashboard-list"); var ul = createUl("dashboard-list");
@ -106,14 +88,14 @@ function initTestInfoContainer(parent, data) {
} }
function initTestScriptContainer(parent, data) { function initTestScriptContainer(parent, data) {
var box = createBox(8, "Scripts"); var box = createBox(12, "Scripts");
addBoxId(box, containerModel.scriptBox); addId(box, containerModel.scriptBox);
addCloseAndMinIcons(box); addCloseAndMinIcons(box);
parent.append(box); parent.append(box);
var tableClass = "table table-striped table-bordered bootstrap-datatable datatable dataTable"; var tableClass = "table table-striped table-bordered bootstrap-datatable datatable dataTable";
var table = createTable(containerModel.scriptList, tableClass, var table = createTable(containerModel.scriptList, tableClass,
scriptModelField); scriptInfo);
box.children('.box-content').append(table); box.children('.box-content').append(table);
setTable(table); setTable(table);
for ( var i = 0; i < data.length; i++) { for ( var i = 0; i < data.length; i++) {
@ -127,95 +109,103 @@ function initTestScriptContainer(parent, data) {
function initSUTContainer(data) { function initSUTContainer(data) {
} }
function initScriptResultContainer(parent, data) { function createScriptList(scripts, scriptResult) {
if (scripts.length == null || scripts.length <= 0)
} return;
// classes是二维数组。 var list = new ChartList("Script", "result", new Array());
function initChart(parent, title,allList,initShowList,data) { for ( var i = 0; i < scripts.length; i++) {
list.child[i] = new ChartList("Result", scripts[i], new Array());
var box = createChartBox("chart",12, title); if (scriptResult == null && scriptResult.length <= 0)
if(allList==null) list.child[i].child = null;
alert("list is null"); else {
var excessList=createExcessList(allList,initShowList); for ( var j = 0; j < scriptResult.length; j++) {
//var addBoxParent=box.children(".box-header").children(".box-icon").children("#addGraph"); list.child[i].child.push(new ChartList("", scriptResult[j],
var addBoxParent=container; null));
initAddGraphBox(addBoxParent,excessList); }
// initDeleteGraph(box,initShowList);
parent.append(box);
}
function createExcessList(allList,showList){
if(allList==null&&allList.child.length==0&&allList.child==null)
return null;
if(showList==null||showList.child.length==0)
return allList;
var excessList=new ChartList(allList.childClass,allList.key,new Array());
var flag=false;
for(var i=0;i<allList.child.length;i++){
for(var j=0;j<showList.child.length;j++){
if(allList.child[i].key==showList.child[j].key){
flag=true;
var childExcessList=createExcessList(allList.child[i],showList.child[j]);
if(childExcessList.child!=null&&childExcessList.child.length>0)
execessList.child.push(childExcessList);
}
}
if(!flag){
execessList.child.push(allList.value[i]);
} }
} }
if(excessList.child.length==0) excessList.child=null; return list;
return excessList;
} }
function initAddGraphBox(parent, excessList) { function initChart(parent, id, title, allList, initShowList, data) {
var box = createBox(3, "chart");
box.hide(); var box = createChartBox(id, 12,title);
addId(box,"graphBox");
var container = box.children(".box-content");
showAddGraphList(container,excessList,null);
//contianer.append($("<div></div>"));//ok and cancel
parent.append(box); parent.append(box);
if (allList == null)
alert("list is null");
var excessList = createExcessList(allList, initShowList);
$('#addBtn').click(function(){graphOper("Add Graph",excessList);});
$('#delBtn').click(function(){graphOper("Delete Graph",initShowList);} );
} }
function showAddGraphList (parent,list,select){ function showGraphOperList(parent, list, select) {
if(list==null) return;
if(list.child!=null&&list.child.length>0){ if (list.child != null && list.child.length > 0) {
if(select==null) if (select == null)
select=list.child[0]; select = list.child[0];
parent.append(createLable(list.childClass)); var options = new Array();
for ( var i = 0; i < list.child.length; i++) { for ( var i = 0; i < list.child.length; i++) {
var options = new Array(); options.push(list.child[i].key);
for ( var j = 0; j < list.child.length; j++) {
options.push(list.child[i].key);
}
parent.append(createSelect(options));
} }
showAddGraphList(parent,select,null); parent.append(createSingleList(list.childClass, options));
showGraphOperList(parent, select, null);
} }
} }
function deleteGraph(model, currenGraphs) { function deleteGraph(model, currenGraphs) {
} }
function ChartList(childClass,key,child) { function createExcessList(allList, showList) {
this.childClass=childClass; if (allList == null)
this.key = key; return null;
this.child = child; if (allList.child == null)
return null;
if (allList.child.length == 0)
return null;
if (showList == null || showList.child.length == 0)
return allList;
var excessList = new ChartList(allList.childClass, allList.key, new Array());
var flag = false;
for ( var i = 0; i < allList.child.length; i++) {
for ( var j = 0; j < showList.child.length; j++) {
if (allList.child[i].key == showList.child[j].key) {
flag = true;
var childExcessList = createExcessList(allList.child[i],
showList.child[j]);
if (childExcessList.child != null
&& childExcessList.child.length > 0)
execessList.child.push(childExcessList);
}
}
if (!flag) {
execessList.child.push(allList.value[i]);
}
}
if (excessList.child.length == 0)
excessList.child = null;
return excessList;
} }
function getvars() { function getvars() {
var vars = [], hash; var vars = [], hash;
var hashes = window.location.href.slice( var hashes = window.location.href.slice(
window.location.href.indexOf('?') + 1).split('&'); window.location.href.indexOf('?') + 1).split('&');
for ( var i = 0; i < hashes.length; i++) for ( var i = 0; i < hashes.length; i++) {
{
hash = hashes[i].split('='); hash = hashes[i].split('=');
vars.push(hash[0]); vars.push(hash[0]);
vars[hash[0]] = hash[1]; vars[hash[0]] = hash[1];
} }
return vars; return vars;
} }
function graphOper(title,list){
var container=$("#" + containerModel.scriptChart + "Modal");
setModalTitle(container,"Add Graph");
container.children('.modal-body').html("");
showGraphOperList(container.children('.modal-body'),list,null);
if (!container.is(":visible")) {
container.modal('show');
} else
container.modal('hide');
}

View File

@ -1,63 +1,64 @@
function addCloseAndMinIcons(box) {
function addCloseAndMinIcons(box){ var icons = new Array(
var icons=new Array("<a href='#' class='btn btn-minimize btn-round'><i class='icon-chevron-up'></i></a>", "<a href='#' class='btn btn-minimize btn-round'><i class='icon-chevron-up'></i></a>",
"<a href='#'class='btn btn-close btn-round'><i class='icon-remove'></i></a>"); "<a href='#'class='btn btn-close btn-round'><i class='icon-remove'></i></a>");
setBoxIcons(icons); addBoxIcons(box,icons);
} }
function addId(box,id){ function addId(box, id) {
box.attr("id",id); box.attr("id", id);
return box; return box;
} }
function addBoxIcons(box,boxIcons){ function addBoxIcons(box, boxIcons) {
var boxHeader=box.children('.box-header'); var boxHeader = box.children('.box-header');
for(var i=0;i<boxIcons.length;i++){ for ( var i = 0; i < boxIcons.length; i++) {
boxHeader.children('.box-icon').append(boxIcons[i]); boxHeader.children('.box-icon').append(boxIcons[i]);
boxHeader.children('.box-icon').append(" "); boxHeader.children('.box-icon').append(" ");
} }
} }
function createBox(size,title){ function createBox(size, title) {
var box=$("<div class='box'></div>"); var box = $("<div class='box'></div>");
size='span'+size; size = 'span' + size;
box.addClass(size); box.addClass(size);
var boxHeader=$("<div class='box-header well'><h2>"+ box.addClass("center");
"<i class='icon-th'></i></h2><div class='box-icon'>" + var boxHeader = $("<div class='box-header well'><h2>"
"</div></div>"); + "<i class='icon-th'></i></h2><div class='box-icon'>"
boxHeader.children("h2").text(title); + "</div></div>");
box.append(boxHeader); boxHeader.children("h2").text(title);
var boxContent=$("<div class='box-content'></div>"); box.append(boxHeader);
box.append(boxContent); var boxContent = $("<div class='box-content'></div>");
return box; box.append(boxContent);
return box;
} }
function createTable(id,tableClass,model){ function createTable(id, tableClass, model) {
var table=$("<table></table>"); var table = $("<table></table>");
table.attr("id",id); table.attr("id", id);
table.addClass(tableClass); table.addClass(tableClass);
table.append(createTableHead(model)); table.append(createTableHead(model));
return table; return table;
} }
function createTableHead( model) { function createTableHead(model) {
var thead=$("<thead></thead>"); var thead = $("<thead></thead>");
var tr=$("<tr></tr>"); var tr = $("<tr></tr>");
for ( var i = 0; i < model.length; i++) { for ( var i = 0; i < model.length; i++) {
tr.append("<th>" + model[i] + "</th>"); tr.append("<th>" + model[i] + "</th>");
} }
thead.append(tr); thead.append(tr);
return thead; return thead;
} }
function createUl(ulClass){ function createUl(ulClass) {
var ul=$("<ul></ul>"); var ul = $("<ul></ul>");
ul.addClass(ulClass); ul.addClass(ulClass);
return ul; return ul;
}; };
//will be unused // will be unused
function createLi(tagTxt,txt,txtColor,iconClass){ function createLi(tagTxt, txt, txtColor, iconClass) {
var a=$("<a ></a>"); var a = $("<a ></a>");
var li=$("<li></li>"); var li = $("<li></li>");
var i=$("<i ></i>"); var i = $("<i ></i>");
i.addClass(iconClass); i.addClass(iconClass);
a.append(i); a.append(i);
var span=$("<span></span>"); var span = $("<span></span>");
span.addClass(txtColor); span.addClass(txtColor);
span.text(tagTxt); span.text(tagTxt);
a.append(span); a.append(span);
@ -65,47 +66,101 @@ function createLi(tagTxt,txt,txtColor,iconClass){
li.append(a); li.append(a);
return li; return li;
} }
function setTable(table){ function setTable(table) {
table.dataTable({ table
"sDom": "<'row-fluid'<'span6'l><'span6'f>>t<'row-fluid'<'span12 center'p>>", .dataTable({
"sPaginationType": "bootstrap", "sDom" : "<'row-fluid'<'span6'l><'span6'f>>t<'row-fluid'<'span12 center'p>>",
"oLanguage": { "sPaginationType" : "bootstrap",
"sLengthMenu": "_MENU_ records per page" "oLanguage" : {
} "sLengthMenu" : "_MENU_ records per page"
} ); }
});
} }
function createBoxIcon(id,title){
var btn=$("<button ></button>"); function createAddIcon(id) {
btn.addClass("button btn-small btn-primary"); var btn =$( "<a href='#' class='btn btn-minimize btn-round'><i"
btn.addClass("div-left"); + " class='icon-plus'></i></a>");
btn.text(title); btn.attr("id",id);
btn.attr('id',id);
return btn; return btn;
} }
function createDelIcon(id) {
var btn =$( "<a href='#' class='btn btn-minimize btn-round'><i"
function createSelect(options){ + " class='icon-minus'></i></a>");
var select=$("<select s></select>"); btn.attr("id",id);
return btn;
}
function createChartBox(id, size, title) {
var boxIcons = new Array(createAddIcon("addBtn"), createDelIcon("delBtn"));
var box = createBox(size, title);
addId(box, id);
addBoxIcons(box, boxIcons);
addCloseAndMinIcons(box);
$("body").children('.container-fluid').append(createModal(id+"Modal"));
return box;
}
function createSelect(options) {
var select = $("<select ></select>");
select.addClass("form-control"); select.addClass("form-control");
for(var i=0;i<options.length;i++){ for ( var i = 0; i < options.length; i++) {
var option=$("<option></option>"); var option = $("<option></option>");
option.text(options[i]); option.text(options[i]);
select.append(option); select.append(option);
} }
return select; return select;
} }
function createChartBox(id,size,title){ function createSingleList(text,options) {
var addGraph=createBoxIcon("addGraph","add graph"); var div=$("<div></div>");
var deleteGraph=createBoxIcon("deletGraph","delete graph"); div.addClass("control-group");
var boxIcons=new Array(addGraph,deleteGraph);
var box=createBox(12,"chart");
addId(box,id);
addBoxIcons(box,boxIcons);
return box;
}
function createLable(text){
var lable=$("<lable></lable>"); var lable=$("<lable></lable>");
lable.addClass("control-label");
lable.text(text); lable.text(text);
return lable; var divContent=$("<div></div>");
divContent.addClass("controls");
divContent.append(createSelect(options));
div.append(lable);
div.append(divContent);
return div;
}
function createModal(id) {
var mainDiv = $("<div></div>");
mainDiv.addClass("modal hide fade");
mainDiv.attr("id", id);
mainDiv.append(createModalHeader());
mainDiv.append(createModalBody());
mainDiv.append(createModalFooter);
return mainDiv;
}
function createModalHeader() {
var header = $("<div></div>");
header.addClass("modal-header");
var closeButton = $("<button type='button' class='close' data-dismiss='modal'>x</button>");
header.append(closeButton);
var h = $("<h3></h3>");
header.append(h);
return header;
}
function createModalBody() {
var div = $("<div></div>");
div.addClass("modal-body");
return div;
}
function createModalFooter() {
var div = $("<div></div>");
div.addClass("modal-footer");
div.append(createModalButton("ok"));
div.append(createModalButton("cancel"));
return div;
}
function createModalButton(text) {
var button = $("<button></button>");
button.attr("type", "button");
button.addClass("btn btn-primary");
button.attr("data-dismiss", "modal");
button.text(text);
return button;
}
function setModalTitle(modal,title){
var header=modal.children(".modal-header").children("h3");
header.text(title);
} }