change the api of upload script
This commit is contained in:
parent
4b355f91e6
commit
775b752200
|
@ -21,6 +21,7 @@ import javax.xml.validation.SchemaFactory;
|
|||
import javax.xml.validation.Validator;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.bench4q.share.communication.HttpRequester.HttpResponse;
|
||||
import org.bench4q.share.helper.ExceptionLog;
|
||||
import org.bench4q.share.helper.MarshalHelper;
|
||||
import org.bench4q.share.models.agent.RunScenarioModel;
|
||||
|
@ -35,6 +36,7 @@ import org.bench4q.web.extractObjectFromXml.ObjectXmlExchange;
|
|||
import org.bench4q.web.model.BaseResponseModel;
|
||||
import org.bench4q.web.model.ScenarioModel;
|
||||
import org.bench4q.web.service.BaseService;
|
||||
import org.bench4q.web.service.CommunicateWithMaster;
|
||||
import org.bench4q.web.service.ScriptService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
|
@ -54,10 +56,21 @@ import com.google.gson.Gson;
|
|||
@SessionAttributes("accessToken")
|
||||
public class ScriptActionController {
|
||||
|
||||
private CommunicateWithMaster communicateWithMaster;
|
||||
private final String baseUrl = "RecordScript";
|
||||
private ScriptService scriptService;
|
||||
private final String BASECALLER = "ScriptActionController:";
|
||||
|
||||
public CommunicateWithMaster getCommunicateWithMaster() {
|
||||
return communicateWithMaster;
|
||||
}
|
||||
|
||||
@Autowired
|
||||
public void setCommunicateWithMaster(
|
||||
CommunicateWithMaster communicateWithMaster) {
|
||||
this.communicateWithMaster = communicateWithMaster;
|
||||
}
|
||||
|
||||
private String getBaseUrl() {
|
||||
return baseUrl;
|
||||
}
|
||||
|
@ -281,7 +294,8 @@ public class ScriptActionController {
|
|||
public BaseResponseModel uploadScript(
|
||||
@ModelAttribute("accessToken") String accessToken,
|
||||
@RequestParam("script") CommonsMultipartFile script,
|
||||
@RequestParam String scriptName) throws CustomGenericException {
|
||||
@RequestParam String scriptName, List<File> paramFiles)
|
||||
throws CustomGenericException {
|
||||
if (script.isEmpty()) {
|
||||
return new BaseResponseModel(false, "empty file");
|
||||
}
|
||||
|
@ -289,12 +303,16 @@ public class ScriptActionController {
|
|||
return new BaseResponseModel(false, "empty file name");
|
||||
try {
|
||||
String scenarioModel = new String(script.getBytes());
|
||||
MarshalHelper.unmarshal(RunScenarioModel.class, scenarioModel);
|
||||
OperateScriptServerResponseModel operateScriptServerResponseModel = this
|
||||
.getScriptService().uploadScript(accessToken,
|
||||
scenarioModel, scriptName);
|
||||
Logger.getLogger(ScriptActionController.class).info(
|
||||
"script:" + scenarioModel);
|
||||
RunScenarioModel runScenarioModel = (RunScenarioModel) MarshalHelper
|
||||
.unmarshal(RunScenarioModel.class, scenarioModel);
|
||||
|
||||
HttpResponse httpResponse = this.getCommunicateWithMaster()
|
||||
.uploadScriptWithParamFiles(accessToken, scriptName,
|
||||
runScenarioModel, paramFiles);
|
||||
OperateScriptServerResponseModel operateScriptServerResponseModel = (OperateScriptServerResponseModel) MarshalHelper
|
||||
.tryUnmarshal(OperateScriptServerResponseModel.class,
|
||||
httpResponse.getContent());
|
||||
|
||||
if (operateScriptServerResponseModel.isSuccess())
|
||||
return new BaseResponseModel(true, (Object) new String(
|
||||
"upload script:" + scriptName + " success!"));
|
||||
|
@ -378,7 +396,8 @@ public class ScriptActionController {
|
|||
@ResponseBody
|
||||
public BaseResponseModel uploadEditScript(
|
||||
@ModelAttribute("accessToken") String accessToken,
|
||||
@RequestBody String content) throws CustomGenericException {
|
||||
@RequestBody String content, List<File> paramFiles)
|
||||
throws CustomGenericException {
|
||||
System.out.println("uploadEditScript");
|
||||
ScenarioModel scenarioModel = null;
|
||||
Gson gson = new Gson();
|
||||
|
@ -396,12 +415,14 @@ public class ScriptActionController {
|
|||
if (!validateScenarioModel(pageModels, usePluginModels))
|
||||
return new BaseResponseModel(false, "invalidate script");
|
||||
try {
|
||||
String script = ObjectXmlExchange.toXml(RunScenarioModel.class,
|
||||
ObjectXmlExchange.toXml(RunScenarioModel.class,
|
||||
runScenarioModel);
|
||||
|
||||
OperateScriptServerResponseModel operateScriptServerResponseModel = this
|
||||
.getScriptService().uploadScript(accessToken, script,
|
||||
scriptName);
|
||||
HttpResponse httpResponse = this.getCommunicateWithMaster()
|
||||
.uploadScriptWithParamFiles(accessToken, scriptName,
|
||||
runScenarioModel, paramFiles);
|
||||
OperateScriptServerResponseModel operateScriptServerResponseModel = (OperateScriptServerResponseModel) MarshalHelper
|
||||
.tryUnmarshal(OperateScriptServerResponseModel.class,
|
||||
httpResponse.getContent());
|
||||
if (operateScriptServerResponseModel.isSuccess())
|
||||
return new BaseResponseModel(true, (Object) new String(
|
||||
"upload script:" + scriptName + " success!"));
|
||||
|
|
|
@ -1,226 +1,225 @@
|
|||
package org.bench4q.web.service;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
|
||||
import javax.xml.bind.JAXBException;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.bench4q.share.communication.HttpRequester;
|
||||
import org.bench4q.share.communication.HttpRequester.HttpResponse;
|
||||
import org.bench4q.share.helper.ExceptionLog;
|
||||
import org.bench4q.share.helper.MarshalHelper;
|
||||
import org.bench4q.share.models.ErrorResponseModel;
|
||||
import org.bench4q.share.models.agent.RunScenarioModel;
|
||||
import org.bench4q.web.api.BaseControllerService;
|
||||
import org.bench4q.web.exception.CustomGenericException;
|
||||
import org.bench4q.web.extractObjectFromXml.ObjectXmlExchange;
|
||||
import org.eclipse.jetty.http.HttpStatus;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
public class CommunicateWithMaster {
|
||||
private Logger logger = Logger.getLogger(CommunicateWithMaster.class);
|
||||
private HttpRequester httpRequester;
|
||||
private final String HTTPRSEPONSE_INVALIDATE = " http response is null";
|
||||
public final String FAIL_WITH_EXCEPTION = "fail with exception from master";
|
||||
private final String AUTH_HEADER_PROPERTY = "Authorization";
|
||||
private final String ACCES_TOCKEN_STARTER = "Bearer ";
|
||||
private final String IOEXCEPTION = "io exception: get httpresponse from master";
|
||||
private final String JAXBEXCEPTION = "JAXBException exception :get httpresponse from master";
|
||||
private final String BADHTTPRESPONSE = "bad response";
|
||||
private static final Properties prop = new Properties();
|
||||
private static final String CONFIG_FILE_NAME = "ipConfig.properties";
|
||||
private static String masterAddress = "";
|
||||
|
||||
private HttpRequester getHttpRequester() {
|
||||
return httpRequester;
|
||||
}
|
||||
|
||||
@Autowired
|
||||
private void setHttpRequester(HttpRequester httpRequester) {
|
||||
this.httpRequester = httpRequester;
|
||||
}
|
||||
|
||||
public static String getMasterAddress() {
|
||||
return masterAddress;
|
||||
}
|
||||
|
||||
private String addMaseterAddressToUrl(String url) {
|
||||
return masterAddress + url;
|
||||
}
|
||||
|
||||
static {
|
||||
String masterIpFilePath;
|
||||
try {
|
||||
masterIpFilePath = BaseControllerService.class.getClassLoader()
|
||||
.getResource("").toURI().getPath()
|
||||
+ CONFIG_FILE_NAME;
|
||||
FileInputStream inputStream = new FileInputStream(new File(
|
||||
masterIpFilePath));
|
||||
prop.load(inputStream);
|
||||
inputStream.close();
|
||||
masterAddress = prop.getProperty("masterAddress");
|
||||
} catch (Exception e1) {
|
||||
masterAddress = "133.133.12.1:7979";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public HttpResponse uploadScriptWithParamFiles(String accessToken,
|
||||
String scriptName, RunScenarioModel runScenarioModel,
|
||||
List<File> paramFiles) {
|
||||
String url = masterAddress + "RecordScript/uploadScript/" + scriptName;
|
||||
System.out.println(url);
|
||||
List<String> stringPart = new LinkedList<String>();
|
||||
stringPart.add(MarshalHelper.tryMarshal(runScenarioModel));
|
||||
|
||||
return this.getHttpRequester().postFiles(
|
||||
makeAccessTockenMap(accessToken), url, "paramFiles[]",
|
||||
paramFiles, "scenarioModel", stringPart);
|
||||
}
|
||||
|
||||
public Object getRespnseObjectByPostXml(String accessToken, String url,
|
||||
Class<?> objectClass, String content, String caller)
|
||||
throws CustomGenericException {
|
||||
try {
|
||||
url = this.addMaseterAddressToUrl(url);
|
||||
HttpResponse httpResponse = this.getHttpRequester().sendPostXml(
|
||||
url, content, this.makeAccessTockenMap(accessToken));
|
||||
if (HttpRequester.isInvalidResponse(httpResponse)) {
|
||||
logger.info(HTTPRSEPONSE_INVALIDATE);
|
||||
throw new CustomGenericException("1", HTTPRSEPONSE_INVALIDATE,
|
||||
caller);
|
||||
}
|
||||
if (httpResponse.getCode() == HttpStatus.BAD_REQUEST_400) {
|
||||
ErrorResponseModel errorResponseModel = (ErrorResponseModel) ObjectXmlExchange
|
||||
.fromXml(ErrorResponseModel.class,
|
||||
httpResponse.getContent());
|
||||
logException(errorResponseModel);
|
||||
throw new CustomGenericException("2", FAIL_WITH_EXCEPTION + "_"
|
||||
+ errorResponseModel.getMessage(), caller + "_"
|
||||
+ errorResponseModel.getResource());
|
||||
}
|
||||
if (httpResponse.getCode() != 200) {
|
||||
logger.info(caller + " get httpResponse code is not 200:");
|
||||
logger.info(httpResponse.getContent());
|
||||
throw new CustomGenericException("1", BADHTTPRESPONSE, caller);
|
||||
}
|
||||
logger.info(httpResponse.getContent());
|
||||
Object responseObject = ObjectXmlExchange.fromXml(objectClass,
|
||||
httpResponse.getContent());
|
||||
return responseObject;
|
||||
} catch (IOException e) {
|
||||
logger.error(ExceptionLog.getStackTrace(e));
|
||||
throw new CustomGenericException("1", this.IOEXCEPTION, caller);
|
||||
} catch (JAXBException e) {
|
||||
logger.error(ExceptionLog.getStackTrace(e));
|
||||
throw new CustomGenericException("1", this.JAXBEXCEPTION,
|
||||
"get networks_" + caller);
|
||||
}
|
||||
}
|
||||
|
||||
public Object getResponseModel(String accessToken, String url,
|
||||
Class<?> objectClass, Map<String, String> params, String caller)
|
||||
throws CustomGenericException {
|
||||
try {
|
||||
url = this.addMaseterAddressToUrl(url);
|
||||
HttpResponse httpResponse = this.getHttpRequester().sendGet(url,
|
||||
params, this.makeAccessTockenMap(accessToken));
|
||||
if (HttpRequester.isInvalidResponse(httpResponse)) {
|
||||
logger.info(HTTPRSEPONSE_INVALIDATE);
|
||||
throw new CustomGenericException("1", HTTPRSEPONSE_INVALIDATE,
|
||||
caller);
|
||||
}
|
||||
if (httpResponse.getCode() == HttpStatus.BAD_REQUEST_400) {
|
||||
ErrorResponseModel errorResponseModel = (ErrorResponseModel) ObjectXmlExchange
|
||||
.fromXml(ErrorResponseModel.class,
|
||||
httpResponse.getContent());
|
||||
logException(errorResponseModel);
|
||||
throw new CustomGenericException("2", FAIL_WITH_EXCEPTION + "_"
|
||||
+ errorResponseModel.getMessage(), caller + "_"
|
||||
+ errorResponseModel.getResource());
|
||||
}
|
||||
if (httpResponse.getCode() != 200) {
|
||||
logger.info(caller + " get httpResponse code is not 200:");
|
||||
logger.info(httpResponse.getContent());
|
||||
throw new CustomGenericException("1", BADHTTPRESPONSE, caller);
|
||||
}
|
||||
logger.info("content:" + httpResponse.getContent());
|
||||
Object responseObject = ObjectXmlExchange.fromXml(objectClass,
|
||||
httpResponse.getContent());
|
||||
return responseObject;
|
||||
} catch (IOException e) {
|
||||
logger.error(ExceptionLog.getStackTrace(e));
|
||||
throw new CustomGenericException("1", this.IOEXCEPTION, caller);
|
||||
} catch (JAXBException e) {
|
||||
logger.error(ExceptionLog.getStackTrace(e));
|
||||
throw new CustomGenericException("1", this.JAXBEXCEPTION,
|
||||
"get networks_" + caller);
|
||||
}
|
||||
}
|
||||
|
||||
public Object getResponseModelByPut(String accessToken, String url,
|
||||
String content, Class<?> objectClass, String caller)
|
||||
throws CustomGenericException {
|
||||
try {
|
||||
url = this.addMaseterAddressToUrl(url);
|
||||
HttpResponse httpResponse = this.getHttpRequester().sendPutXml(url,
|
||||
content, this.makeAccessTockenMap(accessToken));
|
||||
if (HttpRequester.isInvalidResponse(httpResponse)) {
|
||||
|
||||
throw new CustomGenericException("1", HTTPRSEPONSE_INVALIDATE,
|
||||
caller);
|
||||
}
|
||||
System.out.println(httpResponse.getContent());
|
||||
if (httpResponse.getCode() == HttpStatus.BAD_REQUEST_400) {
|
||||
ErrorResponseModel errorResponseModel = (ErrorResponseModel) ObjectXmlExchange
|
||||
.fromXml(ErrorResponseModel.class,
|
||||
httpResponse.getContent());
|
||||
logException(errorResponseModel);
|
||||
throw new CustomGenericException("2", FAIL_WITH_EXCEPTION + "_"
|
||||
+ errorResponseModel.getMessage(), caller + "_"
|
||||
+ errorResponseModel.getResource());
|
||||
}
|
||||
if (httpResponse.getCode() != 200) {
|
||||
logger.info(caller + " get httpResponse code is not 200:");
|
||||
logger.info(httpResponse.getContent());
|
||||
throw new CustomGenericException("1", BADHTTPRESPONSE, caller);
|
||||
}
|
||||
Object responseObject = ObjectXmlExchange.fromXml(objectClass,
|
||||
httpResponse.getContent());
|
||||
|
||||
return responseObject;
|
||||
} catch (IOException e) {
|
||||
logger.error(e, e.fillInStackTrace());
|
||||
throw new CustomGenericException("1", this.IOEXCEPTION, caller);
|
||||
} catch (JAXBException e) {
|
||||
logger.error(e, e.fillInStackTrace());
|
||||
throw new CustomGenericException("1", this.JAXBEXCEPTION,
|
||||
"get networks_" + caller);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private Map<String, String> makeAccessTockenMap(String accessToken) {
|
||||
Map<String, String> properties = new HashMap<String, String>();
|
||||
properties
|
||||
.put(AUTH_HEADER_PROPERTY, ACCES_TOCKEN_STARTER + accessToken);
|
||||
return properties;
|
||||
}
|
||||
|
||||
public void logException(ErrorResponseModel errorResponseModel) {
|
||||
logger.info(FAIL_WITH_EXCEPTION);
|
||||
logger.info("Exception code:" + errorResponseModel.getCode());
|
||||
logger.info("Exception message:" + errorResponseModel.getMessage());
|
||||
logger.info("Exception resource:" + errorResponseModel.getResource());
|
||||
}
|
||||
|
||||
}
|
||||
package org.bench4q.web.service;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
|
||||
import javax.xml.bind.JAXBException;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.bench4q.share.communication.HttpRequester;
|
||||
import org.bench4q.share.communication.HttpRequester.HttpResponse;
|
||||
import org.bench4q.share.helper.ExceptionLog;
|
||||
import org.bench4q.share.helper.MarshalHelper;
|
||||
import org.bench4q.share.models.ErrorResponseModel;
|
||||
import org.bench4q.share.models.agent.RunScenarioModel;
|
||||
import org.bench4q.web.api.BaseControllerService;
|
||||
import org.bench4q.web.exception.CustomGenericException;
|
||||
import org.bench4q.web.extractObjectFromXml.ObjectXmlExchange;
|
||||
import org.eclipse.jetty.http.HttpStatus;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
public class CommunicateWithMaster {
|
||||
private Logger logger = Logger.getLogger(CommunicateWithMaster.class);
|
||||
private HttpRequester httpRequester;
|
||||
private final String HTTPRSEPONSE_INVALIDATE = " http response is null";
|
||||
public final String FAIL_WITH_EXCEPTION = "fail with exception from master";
|
||||
private final String AUTH_HEADER_PROPERTY = "Authorization";
|
||||
private final String ACCES_TOCKEN_STARTER = "Bearer ";
|
||||
private final String IOEXCEPTION = "io exception: get httpresponse from master";
|
||||
private final String JAXBEXCEPTION = "JAXBException exception :get httpresponse from master";
|
||||
private final String BADHTTPRESPONSE = "bad response";
|
||||
private static final Properties prop = new Properties();
|
||||
private static final String CONFIG_FILE_NAME = "ipConfig.properties";
|
||||
private static String masterAddress = "";
|
||||
|
||||
private HttpRequester getHttpRequester() {
|
||||
return httpRequester;
|
||||
}
|
||||
|
||||
@Autowired
|
||||
private void setHttpRequester(HttpRequester httpRequester) {
|
||||
this.httpRequester = httpRequester;
|
||||
}
|
||||
|
||||
public static String getMasterAddress() {
|
||||
return masterAddress;
|
||||
}
|
||||
|
||||
private String addMaseterAddressToUrl(String url) {
|
||||
return masterAddress + url;
|
||||
}
|
||||
|
||||
static {
|
||||
String masterIpFilePath;
|
||||
try {
|
||||
masterIpFilePath = BaseControllerService.class.getClassLoader()
|
||||
.getResource("").toURI().getPath()
|
||||
+ CONFIG_FILE_NAME;
|
||||
FileInputStream inputStream = new FileInputStream(new File(
|
||||
masterIpFilePath));
|
||||
prop.load(inputStream);
|
||||
inputStream.close();
|
||||
masterAddress = prop.getProperty("masterAddress");
|
||||
} catch (Exception e1) {
|
||||
masterAddress = "133.133.12.1:7979";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public HttpResponse uploadScriptWithParamFiles(String accessToken,
|
||||
String scriptName, RunScenarioModel runScenarioModel,
|
||||
List<File> paramFiles) {
|
||||
String url = masterAddress + "RecordScript/uploadScript/" + scriptName;
|
||||
List<String> stringPart = new LinkedList<String>();
|
||||
stringPart.add(MarshalHelper.tryMarshal(runScenarioModel));
|
||||
|
||||
return this.getHttpRequester().postFiles(
|
||||
makeAccessTockenMap(accessToken), url, "paramFiles[]",
|
||||
paramFiles, "scenarioModel", stringPart);
|
||||
}
|
||||
|
||||
public Object getRespnseObjectByPostXml(String accessToken, String url,
|
||||
Class<?> objectClass, String content, String caller)
|
||||
throws CustomGenericException {
|
||||
try {
|
||||
url = this.addMaseterAddressToUrl(url);
|
||||
HttpResponse httpResponse = this.getHttpRequester().sendPostXml(
|
||||
url, content, this.makeAccessTockenMap(accessToken));
|
||||
if (HttpRequester.isInvalidResponse(httpResponse)) {
|
||||
logger.info(HTTPRSEPONSE_INVALIDATE);
|
||||
throw new CustomGenericException("1", HTTPRSEPONSE_INVALIDATE,
|
||||
caller);
|
||||
}
|
||||
if (httpResponse.getCode() == HttpStatus.BAD_REQUEST_400) {
|
||||
ErrorResponseModel errorResponseModel = (ErrorResponseModel) ObjectXmlExchange
|
||||
.fromXml(ErrorResponseModel.class,
|
||||
httpResponse.getContent());
|
||||
logException(errorResponseModel);
|
||||
throw new CustomGenericException("2", FAIL_WITH_EXCEPTION + "_"
|
||||
+ errorResponseModel.getMessage(), caller + "_"
|
||||
+ errorResponseModel.getResource());
|
||||
}
|
||||
if (httpResponse.getCode() != 200) {
|
||||
logger.info(caller + " get httpResponse code is not 200:");
|
||||
logger.info(httpResponse.getContent());
|
||||
throw new CustomGenericException("1", BADHTTPRESPONSE, caller);
|
||||
}
|
||||
logger.info(httpResponse.getContent());
|
||||
Object responseObject = ObjectXmlExchange.fromXml(objectClass,
|
||||
httpResponse.getContent());
|
||||
return responseObject;
|
||||
} catch (IOException e) {
|
||||
logger.error(ExceptionLog.getStackTrace(e));
|
||||
throw new CustomGenericException("1", this.IOEXCEPTION, caller);
|
||||
} catch (JAXBException e) {
|
||||
logger.error(ExceptionLog.getStackTrace(e));
|
||||
throw new CustomGenericException("1", this.JAXBEXCEPTION,
|
||||
"get networks_" + caller);
|
||||
}
|
||||
}
|
||||
|
||||
public Object getResponseModel(String accessToken, String url,
|
||||
Class<?> objectClass, Map<String, String> params, String caller)
|
||||
throws CustomGenericException {
|
||||
try {
|
||||
url = this.addMaseterAddressToUrl(url);
|
||||
HttpResponse httpResponse = this.getHttpRequester().sendGet(url,
|
||||
params, this.makeAccessTockenMap(accessToken));
|
||||
if (HttpRequester.isInvalidResponse(httpResponse)) {
|
||||
logger.info(HTTPRSEPONSE_INVALIDATE);
|
||||
throw new CustomGenericException("1", HTTPRSEPONSE_INVALIDATE,
|
||||
caller);
|
||||
}
|
||||
if (httpResponse.getCode() == HttpStatus.BAD_REQUEST_400) {
|
||||
ErrorResponseModel errorResponseModel = (ErrorResponseModel) ObjectXmlExchange
|
||||
.fromXml(ErrorResponseModel.class,
|
||||
httpResponse.getContent());
|
||||
logException(errorResponseModel);
|
||||
throw new CustomGenericException("2", FAIL_WITH_EXCEPTION + "_"
|
||||
+ errorResponseModel.getMessage(), caller + "_"
|
||||
+ errorResponseModel.getResource());
|
||||
}
|
||||
if (httpResponse.getCode() != 200) {
|
||||
logger.info(caller + " get httpResponse code is not 200:");
|
||||
logger.info(httpResponse.getContent());
|
||||
throw new CustomGenericException("1", BADHTTPRESPONSE, caller);
|
||||
}
|
||||
logger.info("content:" + httpResponse.getContent());
|
||||
Object responseObject = ObjectXmlExchange.fromXml(objectClass,
|
||||
httpResponse.getContent());
|
||||
return responseObject;
|
||||
} catch (IOException e) {
|
||||
logger.error(ExceptionLog.getStackTrace(e));
|
||||
throw new CustomGenericException("1", this.IOEXCEPTION, caller);
|
||||
} catch (JAXBException e) {
|
||||
logger.error(ExceptionLog.getStackTrace(e));
|
||||
throw new CustomGenericException("1", this.JAXBEXCEPTION,
|
||||
"get networks_" + caller);
|
||||
}
|
||||
}
|
||||
|
||||
public Object getResponseModelByPut(String accessToken, String url,
|
||||
String content, Class<?> objectClass, String caller)
|
||||
throws CustomGenericException {
|
||||
try {
|
||||
url = this.addMaseterAddressToUrl(url);
|
||||
HttpResponse httpResponse = this.getHttpRequester().sendPutXml(url,
|
||||
content, this.makeAccessTockenMap(accessToken));
|
||||
if (HttpRequester.isInvalidResponse(httpResponse)) {
|
||||
|
||||
throw new CustomGenericException("1", HTTPRSEPONSE_INVALIDATE,
|
||||
caller);
|
||||
}
|
||||
System.out.println(httpResponse.getContent());
|
||||
if (httpResponse.getCode() == HttpStatus.BAD_REQUEST_400) {
|
||||
ErrorResponseModel errorResponseModel = (ErrorResponseModel) ObjectXmlExchange
|
||||
.fromXml(ErrorResponseModel.class,
|
||||
httpResponse.getContent());
|
||||
logException(errorResponseModel);
|
||||
throw new CustomGenericException("2", FAIL_WITH_EXCEPTION + "_"
|
||||
+ errorResponseModel.getMessage(), caller + "_"
|
||||
+ errorResponseModel.getResource());
|
||||
}
|
||||
if (httpResponse.getCode() != 200) {
|
||||
logger.info(caller + " get httpResponse code is not 200:");
|
||||
logger.info(httpResponse.getContent());
|
||||
throw new CustomGenericException("1", BADHTTPRESPONSE, caller);
|
||||
}
|
||||
Object responseObject = ObjectXmlExchange.fromXml(objectClass,
|
||||
httpResponse.getContent());
|
||||
|
||||
return responseObject;
|
||||
} catch (IOException e) {
|
||||
logger.error(e, e.fillInStackTrace());
|
||||
throw new CustomGenericException("1", this.IOEXCEPTION, caller);
|
||||
} catch (JAXBException e) {
|
||||
logger.error(e, e.fillInStackTrace());
|
||||
throw new CustomGenericException("1", this.JAXBEXCEPTION,
|
||||
"get networks_" + caller);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private Map<String, String> makeAccessTockenMap(String accessToken) {
|
||||
Map<String, String> properties = new HashMap<String, String>();
|
||||
properties
|
||||
.put(AUTH_HEADER_PROPERTY, ACCES_TOCKEN_STARTER + accessToken);
|
||||
return properties;
|
||||
}
|
||||
|
||||
public void logException(ErrorResponseModel errorResponseModel) {
|
||||
logger.info(FAIL_WITH_EXCEPTION);
|
||||
logger.info("Exception code:" + errorResponseModel.getCode());
|
||||
logger.info("Exception message:" + errorResponseModel.getMessage());
|
||||
logger.info("Exception resource:" + errorResponseModel.getResource());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,311 +1,312 @@
|
|||
package org.bench4q.web.service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.xml.bind.JAXBException;
|
||||
|
||||
import org.bench4q.share.models.agent.ParameterModel;
|
||||
import org.bench4q.share.models.agent.RunScenarioModel;
|
||||
import org.bench4q.share.models.agent.scriptrecord.BatchModel;
|
||||
import org.bench4q.share.models.agent.scriptrecord.BehaviorModel;
|
||||
import org.bench4q.share.models.agent.scriptrecord.PageModel;
|
||||
import org.bench4q.share.models.agent.scriptrecord.UsePluginModel;
|
||||
import org.bench4q.share.models.master.OperateScriptServerResponseModel;
|
||||
import org.bench4q.share.models.master.ScriptModel;
|
||||
import org.bench4q.web.exception.CustomGenericException;
|
||||
import org.bench4q.web.extractObjectFromXml.ObjectXmlExchange;
|
||||
import org.bench4q.web.model.NameAndIdMap;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
public class ScriptService extends BaseService {
|
||||
private String baseUrl = "RecordScript";
|
||||
|
||||
public String getBaseUrl() {
|
||||
return baseUrl;
|
||||
}
|
||||
|
||||
public void setBaseUrl(String baseUrl) {
|
||||
this.baseUrl = baseUrl;
|
||||
}
|
||||
|
||||
public ScriptModel queryScriptById(int id, String accessToken)
|
||||
throws CustomGenericException {
|
||||
// check script id and return throw exception
|
||||
String caller = "ScriptService:queryScript";
|
||||
|
||||
OperateScriptServerResponseModel operateScriptServerResponseModel = (OperateScriptServerResponseModel) this
|
||||
.getCommunicateWithMaster().getResponseModel(accessToken,
|
||||
this.getBaseUrl() + "/queryScriptById",
|
||||
OperateScriptServerResponseModel.class,
|
||||
makeParamsMap("scriptId", String.valueOf(id)), caller);
|
||||
if (operateScriptServerResponseModel.isSuccess())
|
||||
return operateScriptServerResponseModel.getScriptModels().get(0);
|
||||
else
|
||||
throw new CustomGenericException("5", "query script failed", caller
|
||||
+ ":" + id);
|
||||
}
|
||||
|
||||
public ScriptModel queryScriptByName(String scriptName, String accessToken)
|
||||
throws CustomGenericException {
|
||||
OperateScriptServerResponseModel operateScriptServerResponseModel = (OperateScriptServerResponseModel) this
|
||||
.getCommunicateWithMaster().getResponseModel(accessToken,
|
||||
this.getBaseUrl() + "/queryScriptByName",
|
||||
OperateScriptServerResponseModel.class,
|
||||
makeParamsMap("name", scriptName), "");
|
||||
if (operateScriptServerResponseModel.isSuccess())
|
||||
return operateScriptServerResponseModel.getScriptModels().get(0);
|
||||
else
|
||||
throw new CustomGenericException("5", "query script failed", ""
|
||||
+ ":" + scriptName);
|
||||
}
|
||||
|
||||
public List<ScriptModel> queryScripts(List<Integer> scriptIds,
|
||||
String accessToken) throws CustomGenericException {
|
||||
String caller = "ScriptService:queryScript";
|
||||
List<ScriptModel> scriptModels = new ArrayList<ScriptModel>();
|
||||
for (Integer scriptId : scriptIds) {
|
||||
OperateScriptServerResponseModel operateScriptServerResponseModel = (OperateScriptServerResponseModel) this
|
||||
.getCommunicateWithMaster()
|
||||
.getResponseModel(
|
||||
accessToken,
|
||||
this.getBaseUrl() + "/queryScriptById",
|
||||
OperateScriptServerResponseModel.class,
|
||||
makeParamsMap("scriptId", String.valueOf(scriptId)),
|
||||
caller);
|
||||
if (operateScriptServerResponseModel.isSuccess())
|
||||
scriptModels.add(operateScriptServerResponseModel
|
||||
.getScriptModels().get(0));
|
||||
else
|
||||
throw new CustomGenericException("5", "query script failed",
|
||||
caller + ":" + scriptId);
|
||||
}
|
||||
return scriptModels;
|
||||
}
|
||||
|
||||
public Map<String, Integer> getScriptNameIdMap(
|
||||
List<ScriptModel> scriptModels) throws CustomGenericException {
|
||||
Map<String, Integer> map = new HashMap<String, Integer>();
|
||||
for (ScriptModel scriptModel : scriptModels) {
|
||||
map.put(scriptModel.getName(), scriptModel.getId());
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
public List<NameAndIdMap> getScriptIdNameMap(List<ScriptModel> scriptModels)
|
||||
throws CustomGenericException {
|
||||
List<NameAndIdMap> nameAndIdMaps = new ArrayList<NameAndIdMap>();
|
||||
for (ScriptModel scriptModel : scriptModels) {
|
||||
NameAndIdMap nameAndIdMap = new NameAndIdMap(scriptModel.getId(),
|
||||
scriptModel.getName());
|
||||
nameAndIdMaps.add(nameAndIdMap);
|
||||
}
|
||||
return nameAndIdMaps;
|
||||
}
|
||||
|
||||
public Map<String, Integer> getPageNameAndIdMap(
|
||||
List<ScriptModel> scriptModels) throws JAXBException {
|
||||
try {
|
||||
Map<String, Integer> map = new HashMap<String, Integer>();
|
||||
for (ScriptModel scriptModel : scriptModels) {
|
||||
Map<String, Integer> pageMap = getPageNameAndIdMap((RunScenarioModel) ObjectXmlExchange
|
||||
.fromXml(RunScenarioModel.class,
|
||||
scriptModel.getScriptContent()));
|
||||
if (pageMap != null)
|
||||
map.putAll(pageMap);
|
||||
}
|
||||
return map;
|
||||
} catch (NullPointerException e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private Map<String, Integer> getPageNameAndIdMap(
|
||||
RunScenarioModel runScenarioModel) {
|
||||
|
||||
List<PageModel> pageModels = runScenarioModel.getPages();
|
||||
try {
|
||||
Map<String, Integer> map = new HashMap<String, Integer>();
|
||||
for (int i = 0; i < pageModels.size(); i++) {
|
||||
map.put("page_" + i, i);
|
||||
}
|
||||
return map;
|
||||
} catch (NullPointerException e) {
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public Map<String, Integer> getBehaviorNameAndIdMap(
|
||||
List<ScriptModel> scriptModels) throws JAXBException {
|
||||
try {
|
||||
Map<String, Integer> map = new HashMap<String, Integer>();
|
||||
for (ScriptModel scriptModel : scriptModels) {
|
||||
Map<String, Integer> behaviorMap = getBehaviorNameAndIdMap((RunScenarioModel) ObjectXmlExchange
|
||||
.fromXml(RunScenarioModel.class,
|
||||
scriptModel.getScriptContent()));
|
||||
if (behaviorMap != null)
|
||||
map.putAll(behaviorMap);
|
||||
}
|
||||
return map;
|
||||
} catch (NullPointerException e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public List<String> getScriptPages(RunScenarioModel runScenarioModel) {
|
||||
try {
|
||||
List<String> scriptPages = new ArrayList<String>();
|
||||
for (int i = 1; i < scriptPages.size(); i++) {
|
||||
scriptPages.add("page_" + i);
|
||||
}
|
||||
return scriptPages;
|
||||
} catch (NullPointerException e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public List<String> getScriptBehaviorUrl(RunScenarioModel runScenarioModel) {
|
||||
|
||||
List<BehaviorModel> behaviorModelsWithUrl = getBehaviorModelsHasUrl(runScenarioModel);
|
||||
if (behaviorModelsWithUrl == null)
|
||||
return null;
|
||||
List<String> urList = new ArrayList<String>();
|
||||
for (BehaviorModel behaviorModelWithUrl : behaviorModelsWithUrl) {
|
||||
String url = generateUrl(behaviorModelWithUrl.getParameters());
|
||||
urList.add(url);
|
||||
}
|
||||
return urList;
|
||||
}
|
||||
|
||||
public Map<String, Integer> getBehaviorNameAndIdMap(
|
||||
RunScenarioModel runScenarioModel) {
|
||||
try {
|
||||
Map<String, Integer> map = new HashMap<String, Integer>();
|
||||
List<BehaviorModel> behaviorModels = this
|
||||
.getBehaviorModelsHasUrl(runScenarioModel);
|
||||
if (behaviorModels == null)
|
||||
return null;
|
||||
for (BehaviorModel behaviorModel : behaviorModels) {
|
||||
String url = this.generateUrl(behaviorModel.getParameters());
|
||||
if (url != null)
|
||||
map.put(url, behaviorModel.getId());
|
||||
}
|
||||
return map;
|
||||
|
||||
} catch (NullPointerException e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private String generateUrl(List<ParameterModel> parameterModels) {
|
||||
String url = new String("");
|
||||
int i = 0;
|
||||
for (ParameterModel parameterModel : parameterModels) {
|
||||
if (i == 1 && parameterModel.getValue() != null)
|
||||
url += "?" + parameterModel.getValue();
|
||||
if (i > 1 && parameterModel.getValue() != null)
|
||||
url += "&" + parameterModel.getValue();
|
||||
i++;
|
||||
}
|
||||
if (url.length() <= 0)
|
||||
return null;
|
||||
return url;
|
||||
}
|
||||
|
||||
private List<BehaviorModel> getBehaviorModelsHasUrl(
|
||||
RunScenarioModel runScenarioModel) {
|
||||
try {
|
||||
|
||||
List<BehaviorModel> behaviorModels = getBehaviorModels(runScenarioModel);
|
||||
if (behaviorModels == null)
|
||||
return null;
|
||||
List<BehaviorModel> behaviorModelsWithUrl = new ArrayList<BehaviorModel>();
|
||||
for (BehaviorModel behaviorModel : behaviorModels) {
|
||||
List<ParameterModel> parameterModels = new ArrayList<ParameterModel>();
|
||||
parameterModels.addAll(behaviorModel.getParameters());
|
||||
for (ParameterModel parameterModel : parameterModels) {
|
||||
if (parameterModel.getKey().equals("url"))
|
||||
behaviorModelsWithUrl.add(behaviorModel);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return behaviorModelsWithUrl;
|
||||
} catch (NullPointerException e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private List<BehaviorModel> getBehaviorModels(
|
||||
RunScenarioModel runScenarioModel) {
|
||||
try {
|
||||
List<BatchModel> batchModels = new ArrayList<BatchModel>();
|
||||
for (PageModel pageModel : runScenarioModel.getPages())
|
||||
batchModels.addAll(pageModel.getBatches());
|
||||
List<BehaviorModel> behaviorModels = new ArrayList<BehaviorModel>();
|
||||
for (BatchModel batchModel : batchModels)
|
||||
behaviorModels.addAll(batchModel.getBehaviors());
|
||||
return behaviorModels;
|
||||
} catch (NullPointerException e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public RunScenarioModel createRunScenarioModel(
|
||||
List<BehaviorModel> behaviorModels,
|
||||
List<UsePluginModel> usedPluginModels) {
|
||||
RunScenarioModel runScenarioModel = new RunScenarioModel();
|
||||
runScenarioModel
|
||||
.setPages(createPageModelsWithBehaviorList(behaviorModels));
|
||||
runScenarioModel.setUsePlugins(usedPluginModels);
|
||||
return runScenarioModel;
|
||||
}
|
||||
|
||||
private List<PageModel> createPageModelsWithBehaviorList(
|
||||
List<BehaviorModel> behaviorModels) {
|
||||
List<PageModel> pageModels = new ArrayList<PageModel>();
|
||||
for (BehaviorModel behaviorModel : behaviorModels) {
|
||||
pageModels.add(createPageModelWithOneBehaviorModel(behaviorModel));
|
||||
}
|
||||
return pageModels;
|
||||
|
||||
}
|
||||
|
||||
private PageModel createPageModelWithOneBehaviorModel(
|
||||
BehaviorModel behaviorModel) {
|
||||
PageModel pageModel = new PageModel();
|
||||
pageModel.setBatches(new ArrayList<BatchModel>());
|
||||
pageModel.getBatches().add(
|
||||
createBatchModelWithOneBehavior(behaviorModel));
|
||||
return pageModel;
|
||||
}
|
||||
|
||||
private BatchModel createBatchModelWithOneBehavior(
|
||||
BehaviorModel behaviorModel) {
|
||||
BatchModel batchModel = new BatchModel();
|
||||
batchModel.setBehaviors(new ArrayList<BehaviorModel>());
|
||||
batchModel.getBehaviors().add(behaviorModel);
|
||||
batchModel.setChildId(-1);
|
||||
batchModel.setParentId(-1);
|
||||
batchModel.setId(behaviorModel.getId());
|
||||
return batchModel;
|
||||
}
|
||||
|
||||
public OperateScriptServerResponseModel uploadScript(String accessToken,
|
||||
String scenarioModel, String scriptName)
|
||||
throws CustomGenericException {
|
||||
String url = "RecordScript" + "/uploadScript" + "/" + scriptName;
|
||||
return (OperateScriptServerResponseModel) getCommunicateWithMaster()
|
||||
.getResponseModelByPut(accessToken, url, scenarioModel,
|
||||
OperateScriptServerResponseModel.class, "upload script");
|
||||
}
|
||||
}
|
||||
package org.bench4q.web.service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.xml.bind.JAXBException;
|
||||
|
||||
import org.bench4q.share.models.agent.ParameterModel;
|
||||
import org.bench4q.share.models.agent.RunScenarioModel;
|
||||
import org.bench4q.share.models.agent.scriptrecord.BatchModel;
|
||||
import org.bench4q.share.models.agent.scriptrecord.BehaviorModel;
|
||||
import org.bench4q.share.models.agent.scriptrecord.PageModel;
|
||||
import org.bench4q.share.models.agent.scriptrecord.UsePluginModel;
|
||||
import org.bench4q.share.models.master.OperateScriptServerResponseModel;
|
||||
import org.bench4q.share.models.master.ScriptModel;
|
||||
import org.bench4q.web.exception.CustomGenericException;
|
||||
import org.bench4q.web.extractObjectFromXml.ObjectXmlExchange;
|
||||
import org.bench4q.web.model.NameAndIdMap;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
public class ScriptService extends BaseService {
|
||||
private String baseUrl = "RecordScript";
|
||||
|
||||
public String getBaseUrl() {
|
||||
return baseUrl;
|
||||
}
|
||||
|
||||
public void setBaseUrl(String baseUrl) {
|
||||
this.baseUrl = baseUrl;
|
||||
}
|
||||
|
||||
public ScriptModel queryScriptById(int id, String accessToken)
|
||||
throws CustomGenericException {
|
||||
// check script id and return throw exception
|
||||
String caller = "ScriptService:queryScript";
|
||||
|
||||
OperateScriptServerResponseModel operateScriptServerResponseModel = (OperateScriptServerResponseModel) this
|
||||
.getCommunicateWithMaster().getResponseModel(accessToken,
|
||||
this.getBaseUrl() + "/queryScriptById",
|
||||
OperateScriptServerResponseModel.class,
|
||||
makeParamsMap("scriptId", String.valueOf(id)), caller);
|
||||
if (operateScriptServerResponseModel.isSuccess())
|
||||
return operateScriptServerResponseModel.getScriptModels().get(0);
|
||||
else
|
||||
throw new CustomGenericException("5", "query script failed", caller
|
||||
+ ":" + id);
|
||||
}
|
||||
|
||||
public ScriptModel queryScriptByName(String scriptName, String accessToken)
|
||||
throws CustomGenericException {
|
||||
OperateScriptServerResponseModel operateScriptServerResponseModel = (OperateScriptServerResponseModel) this
|
||||
.getCommunicateWithMaster().getResponseModel(accessToken,
|
||||
this.getBaseUrl() + "/queryScriptByName",
|
||||
OperateScriptServerResponseModel.class,
|
||||
makeParamsMap("name", scriptName), "");
|
||||
if (operateScriptServerResponseModel.isSuccess())
|
||||
return operateScriptServerResponseModel.getScriptModels().get(0);
|
||||
else
|
||||
throw new CustomGenericException("5", "query script failed", ""
|
||||
+ ":" + scriptName);
|
||||
}
|
||||
|
||||
public List<ScriptModel> queryScripts(List<Integer> scriptIds,
|
||||
String accessToken) throws CustomGenericException {
|
||||
String caller = "ScriptService:queryScript";
|
||||
List<ScriptModel> scriptModels = new ArrayList<ScriptModel>();
|
||||
for (Integer scriptId : scriptIds) {
|
||||
OperateScriptServerResponseModel operateScriptServerResponseModel = (OperateScriptServerResponseModel) this
|
||||
.getCommunicateWithMaster()
|
||||
.getResponseModel(
|
||||
accessToken,
|
||||
this.getBaseUrl() + "/queryScriptById",
|
||||
OperateScriptServerResponseModel.class,
|
||||
makeParamsMap("scriptId", String.valueOf(scriptId)),
|
||||
caller);
|
||||
if (operateScriptServerResponseModel.isSuccess())
|
||||
scriptModels.add(operateScriptServerResponseModel
|
||||
.getScriptModels().get(0));
|
||||
else
|
||||
throw new CustomGenericException("5", "query script failed",
|
||||
caller + ":" + scriptId);
|
||||
}
|
||||
return scriptModels;
|
||||
}
|
||||
|
||||
public Map<String, Integer> getScriptNameIdMap(
|
||||
List<ScriptModel> scriptModels) throws CustomGenericException {
|
||||
Map<String, Integer> map = new HashMap<String, Integer>();
|
||||
for (ScriptModel scriptModel : scriptModels) {
|
||||
map.put(scriptModel.getName(), scriptModel.getId());
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
public List<NameAndIdMap> getScriptIdNameMap(List<ScriptModel> scriptModels)
|
||||
throws CustomGenericException {
|
||||
List<NameAndIdMap> nameAndIdMaps = new ArrayList<NameAndIdMap>();
|
||||
for (ScriptModel scriptModel : scriptModels) {
|
||||
NameAndIdMap nameAndIdMap = new NameAndIdMap(scriptModel.getId(),
|
||||
scriptModel.getName());
|
||||
nameAndIdMaps.add(nameAndIdMap);
|
||||
}
|
||||
return nameAndIdMaps;
|
||||
}
|
||||
|
||||
public Map<String, Integer> getPageNameAndIdMap(
|
||||
List<ScriptModel> scriptModels) throws JAXBException {
|
||||
try {
|
||||
Map<String, Integer> map = new HashMap<String, Integer>();
|
||||
for (ScriptModel scriptModel : scriptModels) {
|
||||
Map<String, Integer> pageMap = getPageNameAndIdMap((RunScenarioModel) ObjectXmlExchange
|
||||
.fromXml(RunScenarioModel.class,
|
||||
scriptModel.getScriptContent()));
|
||||
if (pageMap != null)
|
||||
map.putAll(pageMap);
|
||||
}
|
||||
return map;
|
||||
} catch (NullPointerException e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private Map<String, Integer> getPageNameAndIdMap(
|
||||
RunScenarioModel runScenarioModel) {
|
||||
|
||||
List<PageModel> pageModels = runScenarioModel.getPages();
|
||||
try {
|
||||
Map<String, Integer> map = new HashMap<String, Integer>();
|
||||
for (int i = 0; i < pageModels.size(); i++) {
|
||||
map.put("page_" + i, i);
|
||||
}
|
||||
return map;
|
||||
} catch (NullPointerException e) {
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public Map<String, Integer> getBehaviorNameAndIdMap(
|
||||
List<ScriptModel> scriptModels) throws JAXBException {
|
||||
try {
|
||||
Map<String, Integer> map = new HashMap<String, Integer>();
|
||||
for (ScriptModel scriptModel : scriptModels) {
|
||||
Map<String, Integer> behaviorMap = getBehaviorNameAndIdMap((RunScenarioModel) ObjectXmlExchange
|
||||
.fromXml(RunScenarioModel.class,
|
||||
scriptModel.getScriptContent()));
|
||||
if (behaviorMap != null)
|
||||
map.putAll(behaviorMap);
|
||||
}
|
||||
return map;
|
||||
} catch (NullPointerException e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public List<String> getScriptPages(RunScenarioModel runScenarioModel) {
|
||||
try {
|
||||
List<String> scriptPages = new ArrayList<String>();
|
||||
for (int i = 1; i < scriptPages.size(); i++) {
|
||||
scriptPages.add("page_" + i);
|
||||
}
|
||||
return scriptPages;
|
||||
} catch (NullPointerException e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public List<String> getScriptBehaviorUrl(RunScenarioModel runScenarioModel) {
|
||||
|
||||
List<BehaviorModel> behaviorModelsWithUrl = getBehaviorModelsHasUrl(runScenarioModel);
|
||||
if (behaviorModelsWithUrl == null)
|
||||
return null;
|
||||
List<String> urList = new ArrayList<String>();
|
||||
for (BehaviorModel behaviorModelWithUrl : behaviorModelsWithUrl) {
|
||||
String url = generateUrl(behaviorModelWithUrl.getParameters());
|
||||
urList.add(url);
|
||||
}
|
||||
return urList;
|
||||
}
|
||||
|
||||
public Map<String, Integer> getBehaviorNameAndIdMap(
|
||||
RunScenarioModel runScenarioModel) {
|
||||
try {
|
||||
Map<String, Integer> map = new HashMap<String, Integer>();
|
||||
List<BehaviorModel> behaviorModels = this
|
||||
.getBehaviorModelsHasUrl(runScenarioModel);
|
||||
if (behaviorModels == null)
|
||||
return null;
|
||||
for (BehaviorModel behaviorModel : behaviorModels) {
|
||||
String url = this.generateUrl(behaviorModel.getParameters());
|
||||
if (url != null)
|
||||
map.put(url, behaviorModel.getId());
|
||||
}
|
||||
return map;
|
||||
|
||||
} catch (NullPointerException e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private String generateUrl(List<ParameterModel> parameterModels) {
|
||||
String url = new String("");
|
||||
int i = 0;
|
||||
for (ParameterModel parameterModel : parameterModels) {
|
||||
if (i == 1 && parameterModel.getValue() != null)
|
||||
url += "?" + parameterModel.getValue();
|
||||
if (i > 1 && parameterModel.getValue() != null)
|
||||
url += "&" + parameterModel.getValue();
|
||||
i++;
|
||||
}
|
||||
if (url.length() <= 0)
|
||||
return null;
|
||||
return url;
|
||||
}
|
||||
|
||||
private List<BehaviorModel> getBehaviorModelsHasUrl(
|
||||
RunScenarioModel runScenarioModel) {
|
||||
try {
|
||||
|
||||
List<BehaviorModel> behaviorModels = getBehaviorModels(runScenarioModel);
|
||||
if (behaviorModels == null)
|
||||
return null;
|
||||
List<BehaviorModel> behaviorModelsWithUrl = new ArrayList<BehaviorModel>();
|
||||
for (BehaviorModel behaviorModel : behaviorModels) {
|
||||
List<ParameterModel> parameterModels = new ArrayList<ParameterModel>();
|
||||
parameterModels.addAll(behaviorModel.getParameters());
|
||||
for (ParameterModel parameterModel : parameterModels) {
|
||||
if (parameterModel.getKey().equals("url"))
|
||||
behaviorModelsWithUrl.add(behaviorModel);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return behaviorModelsWithUrl;
|
||||
} catch (NullPointerException e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private List<BehaviorModel> getBehaviorModels(
|
||||
RunScenarioModel runScenarioModel) {
|
||||
try {
|
||||
List<BatchModel> batchModels = new ArrayList<BatchModel>();
|
||||
for (PageModel pageModel : runScenarioModel.getPages())
|
||||
batchModels.addAll(pageModel.getBatches());
|
||||
List<BehaviorModel> behaviorModels = new ArrayList<BehaviorModel>();
|
||||
for (BatchModel batchModel : batchModels)
|
||||
behaviorModels.addAll(batchModel.getBehaviors());
|
||||
return behaviorModels;
|
||||
} catch (NullPointerException e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public RunScenarioModel createRunScenarioModel(
|
||||
List<BehaviorModel> behaviorModels,
|
||||
List<UsePluginModel> usedPluginModels) {
|
||||
RunScenarioModel runScenarioModel = new RunScenarioModel();
|
||||
runScenarioModel
|
||||
.setPages(createPageModelsWithBehaviorList(behaviorModels));
|
||||
runScenarioModel.setUsePlugins(usedPluginModels);
|
||||
return runScenarioModel;
|
||||
}
|
||||
|
||||
private List<PageModel> createPageModelsWithBehaviorList(
|
||||
List<BehaviorModel> behaviorModels) {
|
||||
List<PageModel> pageModels = new ArrayList<PageModel>();
|
||||
for (BehaviorModel behaviorModel : behaviorModels) {
|
||||
pageModels.add(createPageModelWithOneBehaviorModel(behaviorModel));
|
||||
}
|
||||
return pageModels;
|
||||
|
||||
}
|
||||
|
||||
private PageModel createPageModelWithOneBehaviorModel(
|
||||
BehaviorModel behaviorModel) {
|
||||
PageModel pageModel = new PageModel();
|
||||
pageModel.setBatches(new ArrayList<BatchModel>());
|
||||
pageModel.getBatches().add(
|
||||
createBatchModelWithOneBehavior(behaviorModel));
|
||||
return pageModel;
|
||||
}
|
||||
|
||||
private BatchModel createBatchModelWithOneBehavior(
|
||||
BehaviorModel behaviorModel) {
|
||||
BatchModel batchModel = new BatchModel();
|
||||
batchModel.setBehaviors(new ArrayList<BehaviorModel>());
|
||||
batchModel.getBehaviors().add(behaviorModel);
|
||||
batchModel.setChildId(-1);
|
||||
batchModel.setParentId(-1);
|
||||
batchModel.setId(behaviorModel.getId());
|
||||
return batchModel;
|
||||
}
|
||||
public OperateScriptServerResponseModel uploadScript(String accessToken,
|
||||
String scenarioModel, String scriptName)
|
||||
throws CustomGenericException {
|
||||
String url = "RecordScript" + "/uploadScript" + "/" + scriptName;
|
||||
return (OperateScriptServerResponseModel) getCommunicateWithMaster()
|
||||
.getResponseModelByPut(accessToken, url, scenarioModel,
|
||||
OperateScriptServerResponseModel.class, "upload script");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -76,19 +76,19 @@
|
|||
<div class="submitDiv">
|
||||
|
||||
<button type="submit" class="btn btn-large btn-primary"
|
||||
onClick="javascript:password_validation(0);return false;return false)">
|
||||
onClick="javascript:password_validation(0);return false;return fals)">
|
||||
<fmt:message key="register_jsp_register" />
|
||||
</button>
|
||||
</div>
|
||||
<div class="submitDiv">
|
||||
<button type="submit" class="btn btn-large btn-primary"
|
||||
onClick="javascript:password_validation(1);return false)">
|
||||
onClick="javascript:password_validation(1);return false">
|
||||
<fmt:message key="register_jsp_admin" />
|
||||
</button>
|
||||
</div>
|
||||
<div class="submitDiv">
|
||||
<button type="submit" class="btn btn-large btn-primary"
|
||||
onClick="javascript:clean();return false;return false)">
|
||||
onClick="javascript:clean();return false">
|
||||
<fmt:message key="register_jsp_clear" />
|
||||
</button>
|
||||
</div>
|
||||
|
|
|
@ -29,7 +29,6 @@ function clean() {
|
|||
document.getElementsByName('retype_pwd')[0].value = "";
|
||||
}
|
||||
function register(scope) {
|
||||
alert(scope)
|
||||
var userName = $('#username').val();
|
||||
var password = $('#password').val();
|
||||
var rePassword = $("#retype_pwd").val();
|
||||
|
|
Loading…
Reference in New Issue