edit after let the marshalHelper throws exception

This commit is contained in:
coderfengyun 2013-12-19 17:35:26 +08:00
parent 7354d502b6
commit a501ed733f
20 changed files with 83 additions and 89 deletions

View File

@ -10,6 +10,7 @@ import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.xml.bind.JAXBException;
import org.bench4q.share.helper.MarshalHelper;
import org.bench4q.share.models.master.ScriptBriefResultModel;
@ -62,8 +63,12 @@ public class TestPlanScriptResult {
}
public ScriptBriefResultModel extractScriptBriefResultModel() {
return (ScriptBriefResultModel) MarshalHelper.unmarshal(
ScriptBriefResultModel.class,
this.getScriptBriefResultContent());
try {
return (ScriptBriefResultModel) MarshalHelper.unmarshal(
ScriptBriefResultModel.class,
this.getScriptBriefResultContent());
} catch (JAXBException e) {
return null;
}
}
}

View File

@ -1,43 +0,0 @@
package org.bench4q.master.helper;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
import org.apache.log4j.Logger;
import org.bench4q.master.exception.ExceptionLog;
public class MarshalHelper {
private static Logger logger = Logger.getLogger(MarshalHelper.class);
public static String marshal(Class<?> classToMarshal, Object input) {
ByteArrayOutputStream os = new ByteArrayOutputStream();
Marshaller marshaller;
try {
marshaller = JAXBContext.newInstance(classToMarshal)
.createMarshaller();
marshaller.marshal(input, os);
} catch (JAXBException e) {
logger.error(ExceptionLog.getExceptionStackTrace(e));
}
return os.toString();
}
public static Object unmarshal(Class<?> classToUnmarshal, String input) {
Unmarshaller unmarshaller;
try {
unmarshaller = JAXBContext.newInstance(classToUnmarshal)
.createUnmarshaller();
return unmarshaller.unmarshal(new ByteArrayInputStream(input
.getBytes()));
} catch (JAXBException e) {
logger.error(ExceptionLog.getExceptionStackTrace(e));
return null;
}
}
}

View File

@ -6,10 +6,10 @@ import java.util.Map;
import java.util.UUID;
import org.bench4q.master.entity.db.MonitorResult;
import org.bench4q.master.helper.MarshalHelper;
import org.bench4q.master.service.db.MonitorResultService;
import org.bench4q.master.service.db.TestPlanScriptService;
import org.bench4q.master.service.db.TestPlanService;
import org.bench4q.share.helper.MarshalHelper;
import org.bench4q.share.models.master.MonitorLogicalDiskResponseModel;
import org.bench4q.share.models.master.MonitorMemoryResponseModel;
import org.bench4q.share.models.master.MonitorNetworkReponseModel;

View File

@ -9,9 +9,10 @@ import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import org.apache.log4j.Logger;
import org.bench4q.master.helper.MarshalHelper;
import org.bench4q.master.exception.ExceptionLog;
import org.bench4q.master.helper.RunScenarioModelHelper;
import org.bench4q.master.scriptrecord.httpcapture.generator.ChildrenUrl;
import org.bench4q.share.helper.MarshalHelper;
import org.bench4q.share.models.agent.ParameterModel;
import org.bench4q.share.models.agent.scriptrecord.BatchBehavior;
import org.bench4q.share.models.agent.scriptrecord.BehaviorBaseModel;
@ -197,8 +198,13 @@ public class Bench4qTestScriptAdapter implements IScriptAdapter {
this.setRunScenarioModel(new RunScenarioModelNew());
return;
}
this.runScenarioModel = (RunScenarioModelNew) MarshalHelper.unmarshal(
RunScenarioModelNew.class, text);
try {
this.setRunScenarioModel((RunScenarioModelNew) MarshalHelper
.unmarshal(RunScenarioModelNew.class, text));
} catch (JAXBException e) {
logger.error(ExceptionLog.getExceptionStackTrace(e));
this.setRunScenarioModel(new RunScenarioModelNew());
}
}
}

View File

@ -1,11 +1,9 @@
package org.bench4q.master.service.communication;
import java.io.IOException;
import org.apache.log4j.Logger;
import org.bench4q.master.helper.MarshalHelper;
import org.bench4q.share.communication.HttpRequester;
import org.bench4q.share.communication.HttpRequester.HttpResponse;
import org.bench4q.share.helper.MarshalHelper;
import org.bench4q.share.models.agent.ServerStatusModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@ -33,7 +31,7 @@ public class AgentStateService {
}
return (ServerStatusModel) MarshalHelper.unmarshal(
ServerStatusModel.class, httpResponse.getContent());
} catch (IOException e) {
} catch (Exception e) {
logger.error("agent :" + hostName + " break down!");
return null;
}

View File

@ -6,10 +6,10 @@ import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import org.apache.log4j.Logger;
import org.bench4q.master.helper.MarshalHelper;
import org.bench4q.master.service.db.MonitorResultService;
import org.bench4q.share.communication.HttpRequester;
import org.bench4q.share.communication.HttpRequester.HttpResponse;
import org.bench4q.share.helper.MarshalHelper;
import org.bench4q.share.models.monitor.LogicalDiskModel;
import org.bench4q.share.models.monitor.MemoryModel;
import org.bench4q.share.models.monitor.NetworkInterfaceModel;

View File

@ -3,13 +3,15 @@ package org.bench4q.master.service.communication;
import java.io.IOException;
import java.util.UUID;
import javax.xml.bind.JAXBException;
import org.apache.log4j.Logger;
import org.bench4q.master.entity.db.Agent;
import org.bench4q.master.exception.ExceptionLog;
import org.bench4q.master.helper.MarshalHelper;
import org.bench4q.master.testplan.highavailable.faultolerence.BriefAgentFault;
import org.bench4q.share.communication.HttpRequester;
import org.bench4q.share.communication.HttpRequester.HttpResponse;
import org.bench4q.share.helper.MarshalHelper;
import org.bench4q.share.models.agent.AgentBriefStatusModel;
import org.bench4q.share.models.agent.RunScenarioModel;
import org.bench4q.share.models.agent.RunScenarioResultModel;
@ -34,14 +36,21 @@ public class RunningAgentService {
public RunScenarioResultModel run(Agent agent,
RunScenarioModel runScenarioModel) throws IOException {
HttpResponse httpResponse = this.httpRequester.sendPostXml(
buildBaseUrl(agent) + "/test/run", MarshalHelper.marshal(
RunScenarioModel.class, runScenarioModel), null);
if (HttpRequester.isInvalidResponse(httpResponse)) {
HttpResponse httpResponse;
try {
httpResponse = this.httpRequester.sendPostXml(buildBaseUrl(agent)
+ "/test/run", MarshalHelper.marshal(
RunScenarioModel.class, runScenarioModel), null);
if (HttpRequester.isInvalidResponse(httpResponse)) {
return null;
}
return (RunScenarioResultModel) MarshalHelper.unmarshal(
RunScenarioResultModel.class, httpResponse.getContent());
} catch (JAXBException e) {
logger.error(ExceptionLog.getExceptionStackTrace(e));
return null;
}
return (RunScenarioResultModel) MarshalHelper.unmarshal(
RunScenarioResultModel.class, httpResponse.getContent());
}
public AgentBriefStatusModel brief(Agent agent, UUID agentRunId) {
@ -101,7 +110,7 @@ public class RunningAgentService {
}
return (TestBehaviorsBriefModel) MarshalHelper.unmarshal(
TestBehaviorsBriefModel.class, httpResponse.getContent());
} catch (IOException e) {
} catch (Exception e) {
logger.error(ExceptionLog.getExceptionStackTrace(e)
+ " When behaviorsBrief");
return null;

View File

@ -9,8 +9,8 @@ import org.apache.log4j.Logger;
import org.bench4q.master.entity.db.Script;
import org.bench4q.master.entity.db.User;
import org.bench4q.master.exception.ExceptionLog;
import org.bench4q.master.helper.MarshalHelper;
import org.bench4q.master.helper.SessionHelper;
import org.bench4q.share.helper.MarshalHelper;
import org.bench4q.share.models.agent.RunScenarioModel;
import org.hibernate.Session;
import org.hibernate.Transaction;
@ -167,8 +167,13 @@ public class ScriptService {
if (content == null) {
return null;
}
return (RunScenarioModel) MarshalHelper.unmarshal(
RunScenarioModel.class, content);
try {
return (RunScenarioModel) MarshalHelper.unmarshal(
RunScenarioModel.class, content);
} catch (JAXBException e) {
logger.error(ExceptionLog.getExceptionStackTrace(e));
return null;
}
}
public String getScriptContentByScriptId(int scriptId) {

View File

@ -6,10 +6,14 @@ import java.util.UUID;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import javax.xml.bind.JAXBException;
import org.apache.log4j.Logger;
import org.bench4q.master.entity.db.Script;
import org.bench4q.master.entity.db.TestPlanDB;
import org.bench4q.master.entity.db.TestPlanScript;
import org.bench4q.master.entity.db.TestPlanScriptResult;
import org.bench4q.master.exception.ExceptionLog;
import org.bench4q.master.helper.SessionHelper;
import org.bench4q.share.helper.MarshalHelper;
import org.bench4q.share.models.master.ScriptBriefResultModel;
@ -21,6 +25,7 @@ import org.springframework.stereotype.Component;
@Component
public class TestPlanScriptService {
private static Logger logger = Logger.getLogger(TestPlanService.class);
private SessionHelper sessionHelper;
private ScriptService scriptService;
private TestPlanService testPlanService;
@ -129,8 +134,13 @@ public class TestPlanScriptService {
Date createDatetime) {
TestPlanScriptResult result = new TestPlanScriptResult();
result.setTestPlanScript(testPlanScript);
result.setScriptBriefResultContent(MarshalHelper.marshal(
ScriptBriefResultModel.class, model));
try {
result.setScriptBriefResultContent(MarshalHelper.marshal(
ScriptBriefResultModel.class, model));
} catch (JAXBException e) {
logger.error(ExceptionLog.getExceptionStackTrace(e));
result.setScriptBriefResultContent("");
}
result.setCreateDatetime(createDatetime);
return result;
}

View File

@ -12,11 +12,12 @@ import org.bench4q.master.entity.db.Script;
import org.bench4q.master.entity.db.TestPlanDB;
import org.bench4q.master.entity.db.TestPlanScript;
import org.bench4q.master.entity.db.User;
import org.bench4q.master.helper.MarshalHelper;
import org.bench4q.master.exception.ExceptionLog;
import org.bench4q.master.helper.SessionHelper;
import org.bench4q.master.testplan.entity.RunningScript;
import org.bench4q.master.testplan.entity.TestPlanInBusiness;
import org.bench4q.share.enums.master.TestPlanStatus;
import org.bench4q.share.helper.MarshalHelper;
import org.bench4q.share.models.master.TestPlanBusinessModel;
import org.bench4q.share.models.master.TestScriptConfig;
import org.hibernate.Session;
@ -68,9 +69,8 @@ public class TestPlanService {
transaction.commit();
return true;
} catch (Exception e) {
e.printStackTrace();
transaction.rollback();
System.err.println("saveTestPlanToDB fails!!");
logger.error(ExceptionLog.getExceptionStackTrace(e));
return false;
} finally {
if (session != null) {

View File

@ -4,7 +4,7 @@ import javax.xml.bind.JAXBException;
import static org.junit.Assert.*;
import org.bench4q.master.helper.MarshalHelper;
import org.bench4q.share.helper.MarshalHelper;
import org.bench4q.share.models.master.RunningAgentModel;
import org.junit.Test;
@ -19,7 +19,7 @@ public class MarshallerTest {
}
@Test
public void testUnmarshal() {
public void testUnmarshal() throws JAXBException {
RunningAgentModel input = new RunningAgentModel();
String content = MarshalHelper.marshal(RunningAgentModel.class, input);
RunningAgentModel output = (RunningAgentModel) MarshalHelper.unmarshal(

View File

@ -6,8 +6,8 @@ import java.util.Map;
import javax.xml.bind.JAXBException;
import org.bench4q.master.helper.MarshalHelper;
import org.bench4q.share.communication.HttpRequester.HttpResponse;
import org.bench4q.share.helper.MarshalHelper;
import org.bench4q.share.models.master.AgentModel;
import org.bench4q.share.models.master.AgentResponseModel;
import org.junit.Test;

View File

@ -2,16 +2,19 @@ package org.bench4q.master.test;
import java.io.IOException;
import org.bench4q.master.helper.MarshalHelper;
import javax.xml.bind.JAXBException;
import org.bench4q.share.communication.HttpRequester.HttpResponse;
import org.bench4q.share.helper.MarshalHelper;
import org.bench4q.share.models.master.AuthorizeResponseModel;
import org.junit.Test;
import static org.junit.Assert.*;
public class AuthTest extends TestBase {
@Test
public void testNormalAuth() throws IOException {
public void testNormalAuth() throws IOException, JAXBException {
String urlString = BASE_URL
+ "/user/normalAuthorize?userName=chen&password=123";
HttpResponse httpResponse = this.httpRequester.sendGet(urlString, null,
@ -23,7 +26,7 @@ public class AuthTest extends TestBase {
}
@Test
public void testAdminAuth() throws IOException {
public void testAdminAuth() throws IOException, JAXBException {
String url = BASE_URL
+ "/user/adminAuthorize?userName=chen&password=123";
HttpResponse httpResponse = this.httpRequester.sendGet(url, null, null);

View File

@ -2,9 +2,9 @@ package org.bench4q.master.test;
import java.io.IOException;
import org.bench4q.master.helper.MarshalHelper;
import org.bench4q.share.communication.HttpRequester;
import org.bench4q.share.communication.HttpRequester.HttpResponse;
import org.bench4q.share.helper.MarshalHelper;
import org.bench4q.share.models.master.TestPlanBusinessModel;
import org.junit.Test;
@ -34,7 +34,7 @@ public class HttpRequestTest {
new TestPlanBusinessModel()), null);
System.out.println(httpResponse.getCode());
} catch (IOException e) {
} catch (Exception e) {
e.printStackTrace();
}
}

View File

@ -8,8 +8,8 @@ import java.util.Map;
import javax.xml.bind.JAXBException;
import org.bench4q.master.helper.MarshalHelper;
import org.bench4q.share.communication.HttpRequester.HttpResponse;
import org.bench4q.share.helper.MarshalHelper;
import org.bench4q.share.models.master.MonitorLogicalDiskResponseModel;
import org.bench4q.share.models.monitor.LogicalDiskModel;
import org.bench4q.share.models.monitor.LogicalDiskModelChild;
@ -17,7 +17,7 @@ import org.bench4q.share.models.monitor.LogicalDiskModelChild;
public class MonitorControllerTest extends TestBase {
public MonitorLogicalDiskResponseModel testLogicalDiskInfo(String hostName,
String port, String request) throws IOException {
String port, String request) throws IOException, JAXBException {
Map<String, String> map = new HashMap<String, String>();
map.put("hostName", hostName);
map.put("port", port);

View File

@ -6,8 +6,8 @@ import java.io.IOException;
import javax.xml.bind.JAXBException;
import org.bench4q.master.helper.MarshalHelper;
import org.bench4q.share.communication.HttpRequester.HttpResponse;
import org.bench4q.share.helper.MarshalHelper;
import org.bench4q.share.models.master.OperateScriptServerResponseModel;
import org.junit.Test;

View File

@ -1,12 +1,11 @@
package org.bench4q.master.test;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import org.bench4q.master.helper.MarshalHelper;
import org.bench4q.share.communication.HttpRequester;
import org.bench4q.share.communication.HttpRequester.HttpResponse;
import org.bench4q.share.helper.MarshalHelper;
import org.bench4q.share.models.master.AuthorizeResponseModel;
public class TestBase {
@ -41,7 +40,7 @@ public class TestBase {
return ((AuthorizeResponseModel) MarshalHelper.unmarshal(
AuthorizeResponseModel.class, httpResponse.getContent()))
.getAccessToken();
} catch (IOException e) {
} catch (Exception e) {
e.printStackTrace();
return null;
}

View File

@ -8,9 +8,9 @@ import javax.xml.bind.JAXBException;
import static org.junit.Assert.*;
import org.bench4q.master.helper.MarshalHelper;
import org.bench4q.master.test.TestBase;
import org.bench4q.share.communication.HttpRequester.HttpResponse;
import org.bench4q.share.helper.MarshalHelper;
import org.bench4q.share.models.agent.RunScenarioModel;
import org.bench4q.share.models.master.OperateScriptServerResponseModel;
import org.bench4q.share.models.master.ScriptModel;
@ -54,7 +54,7 @@ public class RecordScriptControllerTest extends TestBase {
}
public ScriptModel saveScriptToDB(OperateScriptServerResponseModel model,
String scriptName) throws IOException {
String scriptName) throws IOException, JAXBException {
Map<String, String> params = new HashMap<String, String>();
params.put("scriptName", scriptName);
params.put("port", String.valueOf(model.getPort()));

View File

@ -12,11 +12,11 @@ import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import org.bench4q.master.helper.MarshalHelper;
import org.bench4q.master.test.TestBase;
import org.bench4q.share.communication.HttpRequester;
import org.bench4q.share.communication.HttpRequester.HttpResponse;
import org.bench4q.share.enums.master.TestPlanStatus;
import org.bench4q.share.helper.MarshalHelper;
import org.bench4q.share.models.master.MonitorModel;
import org.bench4q.share.models.master.RunningScriptModel;
import org.bench4q.share.models.master.ScriptBriefResultModel;

View File

@ -4,6 +4,8 @@ import static org.junit.Assert.*;
import java.io.IOException;
import javax.xml.bind.JAXBException;
import org.bench4q.master.test.TestBase;
import org.bench4q.share.communication.HttpRequester.HttpResponse;
import org.bench4q.share.helper.MarshalHelper;
@ -19,7 +21,7 @@ public class TestTestPlanResult extends TestBase {
fail("Not yet implemented");
}
public void testScriptReuslts() throws IOException {
public void testScriptReuslts() throws IOException, JAXBException {
HttpResponse httpResponse = this.httpRequester.sendGet(URL + "/"
+ testPlanRunId, null,
makeAccessTockenMap(this.getAccessTocken()));