diff --git a/.gitignore b/.gitignore index dd4cb24b..39fa8c27 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ .externalToolBuilders /src/main/webapp/.htaccess +/logs/ diff --git a/logs/log.log b/logs/log.log index c5766a7a..7b2c3845 100644 --- a/logs/log.log +++ b/logs/log.log @@ -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:22:12 [ qtp15683977-16:83650 ] - [ 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.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.api.TestPlanActionController.getTestPlanTaskList(java.lang.String,java.util.List,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.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.api.TestPlanActionController.getTestPlanTaskList(java.lang.String,java.util.List,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! diff --git a/src/main/webapp/bench4q-css/bench4q.css b/src/main/webapp/bench4q-css/bench4q.css index 94d835a7..391f7650 100644 --- a/src/main/webapp/bench4q-css/bench4q.css +++ b/src/main/webapp/bench4q-css/bench4q.css @@ -4,7 +4,10 @@ max-height: 400px; padding: 15px; } - +.marginButton{ + margin-left:10px; + margin-right:10px; +} .div-distance{ margin-top:30px; } diff --git a/src/main/webapp/script.jsp b/src/main/webapp/script.jsp index 6967014c..e7306460 100644 --- a/src/main/webapp/script.jsp +++ b/src/main/webapp/script.jsp @@ -88,7 +88,7 @@ body {
diff --git a/src/main/webapp/script/result-new.js b/src/main/webapp/script/result-new.js index 1c127efe..1e073267 100644 --- a/src/main/webapp/script/result-new.js +++ b/src/main/webapp/script/result-new.js @@ -3,61 +3,44 @@ var containerHeader = $('#containerHeader'); var testPlanId; var urlModel = new UrlModel(); 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"); +var scriptResult = new Array("averageResponseTime", + "totalSuccessCountFromBegin", "totalFailCountFromBegin", + "failThroughputThisTime"); var containerModel = new ContainerModel(); + function ContainerModel() { this.testBox = "testBox"; this.scriptBox = "scriptBox"; this.monitorBox = "monitorBox"; this.scriptList = "scriptList"; - this.scriptResultBox = "scriptResultBox"; + this.scriptChart = "scriptChart"; } function UrlModel() { this.runInfo = "getRunningInfo"; this.scriptResult = "getScriptBriefStatus"; } -$(document).ready(function() { - /* testPlanId = getvars()['testPlanId']; */ - - testPlanId = 1; -/* 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 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) initSUTContainer(parent, data.monitorModels); - } else alert("get testplan runing info is error! "); } function initTestInfoContainer(parent, data) { - var box = createtBox(4, "Test"); - addBoxId(box, containerModel.testBox); + var box = createBox(4, "Test"); + addId(box, containerModel.testBox); addCloseAndMinIcons(box); parent.append(box); var ul = createUl("dashboard-list"); @@ -106,14 +88,14 @@ function initTestInfoContainer(parent, data) { } function initTestScriptContainer(parent, data) { - - var box = createBox(8, "Scripts"); - addBoxId(box, containerModel.scriptBox); + + var box = createBox(12, "Scripts"); + addId(box, containerModel.scriptBox); addCloseAndMinIcons(box); parent.append(box); var tableClass = "table table-striped table-bordered bootstrap-datatable datatable dataTable"; var table = createTable(containerModel.scriptList, tableClass, - scriptModelField); + scriptInfo); box.children('.box-content').append(table); setTable(table); for ( var i = 0; i < data.length; i++) { @@ -127,95 +109,103 @@ function initTestScriptContainer(parent, data) { function initSUTContainer(data) { } -function initScriptResultContainer(parent, data) { - -} -// classes是二维数组。 -function initChart(parent, title,allList,initShowList,data) { - - var box = createChartBox("chart",12, title); - if(allList==null) - alert("list is null"); - var excessList=createExcessList(allList,initShowList); - //var addBoxParent=box.children(".box-header").children(".box-icon").children("#addGraph"); - var addBoxParent=container; - 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;i0) - execessList.child.push(childExcessList); - } - } - if(!flag){ - execessList.child.push(allList.value[i]); +function createScriptList(scripts, scriptResult) { + if (scripts.length == null || scripts.length <= 0) + return; + var list = new ChartList("Script", "result", new Array()); + for ( var i = 0; i < scripts.length; i++) { + list.child[i] = new ChartList("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[j], + null)); + } } } - if(excessList.child.length==0) excessList.child=null; - return excessList; + return list; } -function initAddGraphBox(parent, excessList) { - var box = createBox(3, "chart"); - box.hide(); - addId(box,"graphBox"); - var container = box.children(".box-content"); - showAddGraphList(container,excessList,null); - //contianer.append($("
"));//ok and cancel +function initChart(parent, id, title, allList, initShowList, data) { + + var box = createChartBox(id, 12,title); 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(select==null) - select=list.child[0]; - parent.append(createLable(list.childClass)); + if (list.child != null && list.child.length > 0) { + if (select == null) + select = list.child[0]; + var options = new Array(); for ( var i = 0; i < list.child.length; i++) { - var options = new Array(); - for ( var j = 0; j < list.child.length; j++) { - options.push(list.child[i].key); - } - parent.append(createSelect(options)); + options.push(list.child[i].key); } - showAddGraphList(parent,select,null); + parent.append(createSingleList(list.childClass, options)); + showGraphOperList(parent, select, null); } } function deleteGraph(model, currenGraphs) { } -function ChartList(childClass,key,child) { - this.childClass=childClass; - this.key = key; - this.child = child; +function createExcessList(allList, showList) { + if (allList == null) + return null; + 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() { - var vars = [], hash; - var hashes = window.location.href.slice( 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('='); - vars.push(hash[0]); - vars[hash[0]] = hash[1]; - } - 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'); +} \ No newline at end of file diff --git a/src/main/webapp/script/uiCreate.js b/src/main/webapp/script/uiCreate.js index 56555b75..ebc8f8d4 100644 --- a/src/main/webapp/script/uiCreate.js +++ b/src/main/webapp/script/uiCreate.js @@ -1,63 +1,64 @@ - -function addCloseAndMinIcons(box){ - var icons=new Array("", -""); - setBoxIcons(icons); +function addCloseAndMinIcons(box) { + var icons = new Array( + "", + ""); + addBoxIcons(box,icons); } -function addId(box,id){ - box.attr("id",id); +function addId(box, id) { + box.attr("id", id); return box; } -function addBoxIcons(box,boxIcons){ - var boxHeader=box.children('.box-header'); - for(var i=0;i"); - size='span'+size; +function createBox(size, title) { + var box = $("
"); + size = 'span' + size; box.addClass(size); - var boxHeader=$("

"+ - "

" + - "
"); - boxHeader.children("h2").text(title); - box.append(boxHeader); - var boxContent=$("
"); - box.append(boxContent); - return box; + box.addClass("center"); + var boxHeader = $("

" + + "

" + + "
"); + boxHeader.children("h2").text(title); + box.append(boxHeader); + var boxContent = $("
"); + box.append(boxContent); + return box; } -function createTable(id,tableClass,model){ - var table=$("
"); - table.attr("id",id); +function createTable(id, tableClass, model) { + var table = $("
"); + table.attr("id", id); table.addClass(tableClass); table.append(createTableHead(model)); return table; } -function createTableHead( model) { - var thead=$(""); - var tr=$(""); +function createTableHead(model) { + var thead = $(""); + var tr = $(""); for ( var i = 0; i < model.length; i++) { tr.append("" + model[i] + ""); } thead.append(tr); return thead; } -function createUl(ulClass){ - var ul=$("
    "); +function createUl(ulClass) { + var ul = $("
      "); ul.addClass(ulClass); return ul; }; -//will be unused -function createLi(tagTxt,txt,txtColor,iconClass){ - var a=$(""); - var li=$("
    • "); - var i=$(""); +// will be unused +function createLi(tagTxt, txt, txtColor, iconClass) { + var a = $(""); + var li = $("
    • "); + var i = $(""); i.addClass(iconClass); a.append(i); - var span=$(""); + var span = $(""); span.addClass(txtColor); span.text(tagTxt); a.append(span); @@ -65,47 +66,101 @@ function createLi(tagTxt,txt,txtColor,iconClass){ li.append(a); return li; } -function setTable(table){ - table.dataTable({ - "sDom": "<'row-fluid'<'span6'l><'span6'f>>t<'row-fluid'<'span12 center'p>>", - "sPaginationType": "bootstrap", - "oLanguage": { - "sLengthMenu": "_MENU_ records per page" - } - } ); +function setTable(table) { + table + .dataTable({ + "sDom" : "<'row-fluid'<'span6'l><'span6'f>>t<'row-fluid'<'span12 center'p>>", + "sPaginationType" : "bootstrap", + "oLanguage" : { + "sLengthMenu" : "_MENU_ records per page" + } + }); } -function createBoxIcon(id,title){ - var btn=$(""); - btn.addClass("button btn-small btn-primary"); - btn.addClass("div-left"); - btn.text(title); - btn.attr('id',id); +function createAddIcon(id) { + var btn =$( ""); + btn.attr("id",id); return btn; } - - -function createSelect(options){ - var select=$(""); +function createDelIcon(id) { + var btn =$( ""); + 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.addClass("form-control"); - for(var i=0;i"); + for ( var i = 0; i < options.length; i++) { + var option = $(""); option.text(options[i]); select.append(option); } return select; } -function createChartBox(id,size,title){ - var addGraph=createBoxIcon("addGraph","add graph"); - var deleteGraph=createBoxIcon("deletGraph","delete graph"); - var boxIcons=new Array(addGraph,deleteGraph); - var box=createBox(12,"chart"); - addId(box,id); - addBoxIcons(box,boxIcons); - return box; -} -function createLable(text){ +function createSingleList(text,options) { + var div=$("
      "); + div.addClass("control-group"); var lable=$(""); + lable.addClass("control-label"); lable.text(text); - return lable; + var divContent=$("
      "); + divContent.addClass("controls"); + divContent.append(createSelect(options)); + div.append(lable); + div.append(divContent); + return div; +} + +function createModal(id) { + var mainDiv = $("
      "); + mainDiv.addClass("modal hide fade"); + mainDiv.attr("id", id); + mainDiv.append(createModalHeader()); + mainDiv.append(createModalBody()); + mainDiv.append(createModalFooter); + return mainDiv; +} +function createModalHeader() { + var header = $("
      "); + header.addClass("modal-header"); + var closeButton = $(""); + header.append(closeButton); + var h = $("

      "); + header.append(h); + return header; +} +function createModalBody() { + var div = $("
      "); + div.addClass("modal-body"); + return div; +} +function createModalFooter() { + var div = $("
      "); + div.addClass("modal-footer"); + div.append(createModalButton("ok")); + div.append(createModalButton("cancel")); + return div; +} +function createModalButton(text) { + var 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); } \ No newline at end of file