Java 类org.apache.commons.lang3.exception.ContextedRuntimeException 实例源码
项目:DockerProcessAPI
文件:CommandUtils.java
protected static void issueCommand(String[] commandArray, String errorMessage,
Pair<String, Object>[] errorContextValues) {
String commandStr = StringUtils.join(commandArray, ' ');
logger.info("Docker command: {}", commandStr);
try {
Process docker = createProcess(commandArray);
waitForThrowingException(docker, commandStr);
} catch (Exception e) {
ContextedRuntimeException cEx = new DockerProcessAPIException(errorMessage, e)
.addContextValue("commandStr", commandStr);
if (errorContextValues != null) {
for (Pair<String, Object> pair : errorContextValues) {
cEx.addContextValue(pair.getKey(), pair.getValue());
}
}
throw cEx;
}
}
项目:btm-DropwizardHealthChecks
文件:CassandraHealthCheckTest.java
@Test
public void testCheckException() throws Exception {
TestCassandraHealthCheck testCassandraHealthCheck = new TestCassandraHealthCheck(TEST_SERVER);
testCassandraHealthCheck.cluster = testCluster;
FieldUtils.writeField(testCassandraHealthCheck, "logger", loggerMock, true);
Mockito.when(session.execute(Matchers.anyString())).thenThrow(new RuntimeException("crap"));
Result result = testCassandraHealthCheck.check();
Assert.assertFalse(result.isHealthy());
Mockito.verify(session).close();
Mockito.verify(session).execute(Matchers.anyString());
Assert.assertEquals(1, testCluster.nbrTimesCloseCalled);
ArgumentCaptor<ContextedRuntimeException> exCaptor = ArgumentCaptor.forClass(ContextedRuntimeException.class);
Mockito.verify(loggerMock).error(Matchers.anyString(), exCaptor.capture());
Assert.assertEquals(3, exCaptor.getValue().getContextLabels().size());
Assert.assertEquals(result.getError(), exCaptor.getValue());
}
项目:btm-DropwizardHealthChecks
文件:DataSourceHealthCheck.java
@Override
protected Result check() throws Exception {
Connection conn = null;
Statement stmt = null;
ResultSet rSet = null;
try {
conn = dataSource.getConnection();
stmt = conn.createStatement();
rSet = stmt.executeQuery(testSqlText);
safeClose(rSet);
} catch (Exception e) {
Exception wrappedException = new ContextedRuntimeException(e).addContextValue("datasource", dataSource);
logger.error("Healthcheck Failure", wrappedException);
return Result.unhealthy(wrappedException);
} finally {
safeClose(stmt);
safeClose(conn);
}
return Result.healthy();
}
项目:btm-DropwizardHealthChecks
文件:MongoDbHealthCheckTest.java
@Test
public void testCheckInvalidDatabase() throws Exception {
TestMongoDbHealthCheck healthCheck = setTpcheckMocks();
Mockito.when(commandResult.get(Matchers.anyString())).thenReturn(Integer.valueOf(0));
Result result = healthCheck.check();
Mockito.verify(loggerMock).debug("connectionUrl={} databaseList={} stats={}", TEST_CONNECT_URL, "",
"commandResult");
Mockito.verify(mongoClientMock).close();
Assert.assertFalse(result.isHealthy());
ArgumentCaptor<ContextedRuntimeException> exCaptor = ArgumentCaptor.forClass(ContextedRuntimeException.class);
Mockito.verify(loggerMock).error(Matchers.anyString(), exCaptor.capture());
Assert.assertEquals(4, exCaptor.getValue().getContextLabels().size());
Assert.assertEquals("Database has nothing in it.", exCaptor.getValue().getCause().getMessage());
}
项目:btm-DropwizardHealthChecks
文件:RabbitMQHealthCheck.java
@Override
protected Result check() throws Exception {
Connection conn = null;
Channel channel = null;
try {
conn = connectionFactory.newConnection();
channel = conn.createChannel();
channel.queueDeclarePassive(queueName);
return Result.healthy();
} catch (Exception e) {
Exception wrappedException = new ContextedRuntimeException(e).addContextValue("queueName", queueName)
.addContextValue("connectionFactory", ToStringBuilder.reflectionToString(connectionFactory));
logger.error("Healthcheck Failure", wrappedException);
return Result.unhealthy(wrappedException);
} finally {
closeChannel(channel);
closeConnection(conn);
}
}
项目:btm-DropwizardHealthChecks
文件:RabbitMQHealthCheck.java
private void closeChannel(Channel channel) throws IOException, TimeoutException {
try {
if (channel != null && channel.isOpen()) {
channel.close();
}
} catch (Exception e) {
logger.warn("RabbitMQ channel erred on close",
new ContextedRuntimeException(e)
.addContextValue("queueName", queueName)
.addContextValue("connectionFactory",
ToStringBuilder.reflectionToString(connectionFactory)));
}
}
项目:lti-attendance
文件:AttendanceSectionService.java
/**
* @throws RuntimeException if course does not exist or if the courseForm is null
*/
public void loadIntoForm(CourseConfigurationForm courseForm, long courseId) {
Validate.notNull(courseForm, "courseForm must not be null");
List<AttendanceSection> sections = sectionRepository.findByCanvasCourseId(courseId);
if(CollectionUtils.isEmpty(sections)){
RuntimeException e = new RuntimeException("Cannot load data into courseForm for non-existent sections for this course");
throw new ContextedRuntimeException(e).addContextValue("courseId", courseId);
}
AttendanceAssignment attendanceAssignment = assignmentRepository.findByAttendanceSection(sections.get(0));
if(attendanceAssignment == null) {
attendanceAssignment = new AttendanceAssignment();
}
courseForm.setAssignmentName(StringUtils.defaultIfEmpty(attendanceAssignment.getAssignmentName(), "Attendance"));
courseForm.setAssignmentPoints(StringUtils.defaultIfEmpty(attendanceAssignment.getAssignmentPoints(), "100"));
//default to full points for present or excused
courseForm.setPresentPoints(StringUtils.defaultIfEmpty(attendanceAssignment.getPresentPoints(), courseForm.getAssignmentPoints()));
courseForm.setExcusedPoints(StringUtils.defaultIfEmpty(attendanceAssignment.getExcusedPoints(), courseForm.getAssignmentPoints()));
courseForm.setTardyPoints(StringUtils.defaultIfEmpty(attendanceAssignment.getTardyPoints(), "0"));
courseForm.setAbsentPoints(StringUtils.defaultIfEmpty(attendanceAssignment.getAbsentPoints(), "0"));
courseForm.setGradingOn(attendanceAssignment.getGradingOn());
}
项目:lti-attendance
文件:AttendanceCourseService.java
/**
* @throws RuntimeException if course does not exist or if the courseForm is null
*/
public void loadIntoForm(CourseConfigurationForm courseForm, long courseId) {
Validate.notNull(courseForm, "courseForm must not be null");
AttendanceCourse attendanceCourse = attendanceCourseRepository.findByCanvasCourseId(courseId);
if(attendanceCourse == null) {
RuntimeException e = new IllegalArgumentException("Cannot load data into courseForm for non-existent course");
throw new ContextedRuntimeException(e).addContextValue("courseId", courseId);
}
courseForm.setTotalClassMinutes(attendanceCourse.getTotalMinutes());
courseForm.setDefaultMinutesPerSession(attendanceCourse.getDefaultMinutesPerSession());
courseForm.setSimpleAttendance(attendanceCourse.getAttendanceType().equals(AttendanceType.SIMPLE));
courseForm.setShowNotesToStudents(attendanceCourse.getShowNotesToStudents());
}
项目:lti-attendance
文件:MakeupService.java
/**
* @throws IllegalArgumentException when a student cannot be found in the database for the given studentId
*/
public MakeupForm createMakeupForm(long studentId, long sectionId, boolean addEmptyEntry) {
AttendanceStudent student = attendanceStudentRepository.findByStudentId(new Long(studentId));
if(student == null) {
RuntimeException e = new IllegalArgumentException("student does not exist in the database");
throw new ContextedRuntimeException(e).addContextValue("studentId", studentId);
}
List<Makeup> makeups = makeupRepository.findByAttendanceStudentOrderByDateOfClassAsc(student);
if (addEmptyEntry) {
makeups.add(new Makeup());
}
MakeupForm makeupForm = new MakeupForm();
makeupForm.setEntriesFromMakeEntities(makeups);
makeupForm.setSectionId(sectionId);
makeupForm.setStudentId(studentId);
return makeupForm;
}
项目:btm-DropwizardHealthChecks
文件:HttpHealthCheck.java
@Override
protected Result check() throws Exception {
try {
return localCheck();
} catch (Exception e) {
Exception wrappedException = new ContextedRuntimeException(e).addContextValue("checkUrl", checkUrl)
.addContextValue("requestTimeoutMillis", requestTimeoutMillis).addContextValue("headerMap",
(headerMap == null) ? headerMap : Arrays.toString(headerMap.entrySet().toArray()));
logger.error("Healthcheck Failure", wrappedException);
return Result.unhealthy(wrappedException);
}
}
项目:btm-DropwizardHealthChecks
文件:HttpHealthCheckTest.java
@Test
public void testCheckUrlNonExistent() throws Exception {
makeCheck3Args(TEST_URL, TEST_TIMEOUT, TEST_HEADERS);
FieldUtils.writeField(healthCheck3Args, "checkUrl", "invalidUrl", true);
HealthCheck.Result result = healthCheck3Args.check();
// System.out.println(result.getMessage());
Mockito.verify(loggerMock).error(Matchers.anyString(), Matchers.any(ContextedRuntimeException.class));
Assert.assertTrue(result.getMessage().contains("invalidUrl"));
Assert.assertTrue(result.getMessage().contains("10"));
Assert.assertTrue(result.getMessage().contains("headerMap=[]"));
Assert.assertFalse(result.isHealthy());
}
项目:btm-DropwizardHealthChecks
文件:CassandraHealthCheckTest.java
@Test
public void testCloseClusterQuietlyClusterException() throws Exception {
testCluster.exceptionToThrow = new RuntimeException("crap");
MethodUtils.invokeMethod(healthCheck, true, "closeClusterQuietly", testCluster);
Assert.assertEquals(1, testCluster.nbrTimesCloseCalled);
ArgumentCaptor<ContextedRuntimeException> exCaptor = ArgumentCaptor.forClass(ContextedRuntimeException.class);
Mockito.verify(loggerMock).warn(Matchers.anyString(), exCaptor.capture());
Assert.assertEquals(3, exCaptor.getValue().getContextLabels().size());
}
项目:btm-DropwizardHealthChecks
文件:CassandraHealthCheckTest.java
@Test
public void testCloseSessionQuietlyException() throws Exception {
Mockito.doThrow(new RuntimeException("crap")).when(session).close();
MethodUtils.invokeMethod(healthCheck, true, "closeSessionQuietly", session);
Mockito.verify(session).close();
ArgumentCaptor<ContextedRuntimeException> exCaptor = ArgumentCaptor.forClass(ContextedRuntimeException.class);
Mockito.verify(loggerMock).warn(Matchers.anyString(), exCaptor.capture());
Assert.assertEquals(3, exCaptor.getValue().getContextLabels().size());
}
项目:btm-DropwizardHealthChecks
文件:DataSourceHealthCheck.java
private void safeClose(AutoCloseable statement) {
try {
if (statement != null) {
statement.close();
}
} catch (Exception e) {
logger.warn("JDBC Statement erred on close",
new ContextedRuntimeException(e).addContextValue("datasource", dataSource));
}
}
项目:btm-DropwizardHealthChecks
文件:DataSourceHealthCheckTest.java
@Test
public void checkQueryExecutionFailure() throws Exception {
Mockito.when(dataSourceMock.getConnection()).thenReturn(connectionMock);
Mockito.when(connectionMock.createStatement()).thenReturn(statementMock);
Mockito.when(statementMock.executeQuery(TEST_QUERY)).thenThrow(TEST_EXCEPTION);
Result result = healthCheck.check();
Assert.assertTrue(!result.isHealthy());
Assert.assertEquals(TEST_EXCEPTION, result.getError().getCause());
Mockito.verify(loggerMock).error(Matchers.anyString(), Matchers.any(ContextedRuntimeException.class));
Mockito.verify(connectionMock).close();
Mockito.verify(statementMock).close();
}
项目:btm-DropwizardHealthChecks
文件:DataSourceHealthCheckTest.java
@Test
public void checkCloseFailure() throws Exception {
mockSetup();
Mockito.doThrow(TEST_EXCEPTION).when(connectionMock).close();
Result result = healthCheck.check();
Assert.assertTrue(result.isHealthy());
Mockito.verify(loggerMock).warn(Matchers.anyString(), Matchers.any(ContextedRuntimeException.class));
}
项目:btm-DropwizardHealthChecks
文件:MongoDbHealthCheck.java
@Override
protected Result check() throws Exception {
MongoClient mongoClient = null;
String databaseList = null;
String databaseStats = null;
try {
mongoClient = createMongoClient();
MongoIterable<String> dbList = mongoClient.listDatabaseNames();
databaseList = StringUtils.join(dbList, ',');
CommandResult resultSet = mongoClient.getDB(databaseName).getStats();
databaseStats = resultSet.toString();
logger.debug("connectionUrl={} databaseList={} stats={}", connectionUrl, databaseList, databaseStats);
Integer nbrCollections = (Integer) resultSet.get("collections");
if (nbrCollections == 0) {
throw new RuntimeException("Database has nothing in it.");
}
} catch (Exception e) {
ContextedRuntimeException wrappedException = wrapException(e);
wrappedException.addContextValue("databaseList", databaseList);
wrappedException.addContextValue("databaseStats", databaseStats);
logger.error("MongoDB Healthcheck Failure", wrappedException);
return Result.unhealthy(wrappedException);
} finally {
closeQuietly(mongoClient);
}
return Result.healthy();
}
项目:btm-DropwizardHealthChecks
文件:MongoDbHealthCheckTest.java
@Test
public void testCloseQuietlyExcepting() throws Exception {
TestMongoClient mongoClient = new TestMongoClient();
mongoClient.exceptionToThrow = TEST_EXCEPTION;
MethodUtils.invokeMethod(healthCheck, true, "closeQuietly", mongoClient);
ArgumentCaptor<ContextedRuntimeException> exCaptor = ArgumentCaptor.forClass(ContextedRuntimeException.class);
Mockito.verify(loggerMock).warn(Matchers.anyString(), exCaptor.capture());
Assert.assertEquals(2, exCaptor.getValue().getContextLabels().size());
Assert.assertEquals(mongoClient.exceptionToThrow, exCaptor.getValue().getCause());
}
项目:btm-DropwizardHealthChecks
文件:MongoDbHealthCheckTest.java
@Test
public void testWrapException() throws Exception {
ContextedRuntimeException wrapped = (ContextedRuntimeException) MethodUtils.invokeMethod(healthCheck, true,
"wrapException", TEST_EXCEPTION);
Assert.assertEquals(TEST_EXCEPTION, wrapped.getCause());
Assert.assertEquals(2, wrapped.getContextEntries().size());
Assert.assertEquals(TEST_CONNECT_URL, wrapped.getContextValues("connectionUrl").get(0));
Assert.assertEquals(TEST_DATABASE, wrapped.getContextValues("databaseName").get(0));
}
项目:btm-DropwizardHealthChecks
文件:RabbitMQHealthCheck.java
private void closeConnection(Connection conn) throws IOException {
try {
if (conn != null && conn.isOpen()) {
conn.close();
}
} catch (Exception e) {
logger.warn("RabbitMQ connection erred on close",
new ContextedRuntimeException(e)
.addContextValue("connectionFactory",
ToStringBuilder.reflectionToString(connectionFactory)));
}
}
项目:btm-DropwizardHealthChecks
文件:RabbitMQHealthCheckTest.java
@Test
public void checkNonexistentQueue() throws Exception {
mockSetup();
Mockito.when(channelMock.queueDeclarePassive(TEST_QUEUE)).thenThrow(TEST_EXCEPTION);
Result result = healthCheck.check();
Assert.assertFalse(result.isHealthy());
Mockito.verify(loggerMock).error(Matchers.anyString(), Matchers.any(ContextedRuntimeException.class));
}
项目:btm-DropwizardHealthChecks
文件:RabbitMQHealthCheckTest.java
@Test
public void checkChannelCloseError() throws Exception {
mockSetup();
Mockito.doThrow(TEST_EXCEPTION).when(channelMock).close();
healthCheck.check();
Mockito.verify(loggerMock).warn(Matchers.anyString(), Matchers.any(ContextedRuntimeException.class));
}
项目:btm-DropwizardHealthChecks
文件:RabbitMQHealthCheckTest.java
@Test
public void checkConnectionCloseError() throws Exception {
mockSetup();
Mockito.doThrow(TEST_EXCEPTION).when(connectionMock).close();
healthCheck.check();
Mockito.verify(loggerMock).warn(Matchers.anyString(), Matchers.any(ContextedRuntimeException.class));
}
项目:lti-attendance
文件:AttendanceCourseServiceUTest.java
@Test(expected = ContextedRuntimeException.class)
public void loadIntoForm_CourseDoesntExist() {
long nonExistantCanvasCourseId = -1;
CourseConfigurationForm courseForm = new CourseConfigurationForm();
when(mockCourseRepository.findByCanvasCourseId(nonExistantCanvasCourseId)).thenReturn(null);
courseService.loadIntoForm(courseForm, nonExistantCanvasCourseId);
}
项目:lti-attendance
文件:MakeupServiceCreateUTest.java
@Test(expected = ContextedRuntimeException.class)
public void createMakeupForm_NonExistantStudent() {
long nonExistantStudentId = -1;
long sectionId = 500;
boolean addEmptyEntry = true;
when(mockStudentRepository.findByStudentId(nonExistantStudentId)).thenReturn(null);
makeupService.createMakeupForm(nonExistantStudentId, sectionId, addEmptyEntry);
}
项目:moneta
文件:RestTestingUtils.java
public static HttpResponse simpleRESTGet(String requestUri) {
Validate.notEmpty(requestUri, "Null or blank requestUri not allowed.");
CloseableHttpClient httpclient = HttpClients.createDefault();
HttpGet httpGet = new HttpGet(requestUri);
try {
return httpclient.execute(httpGet);
} catch (Exception e) {
throw new ContextedRuntimeException(e)
.addContextValue("requestUri", requestUri);
}
}
项目:BeanTester
文件:BaseBean.java
@Override
public Object clone() throws CloneNotSupportedException {
CallingRegistry.addCall("clone");
try {
return BeanUtils.cloneBean(this);
} catch (Exception e) {
throw new ContextedRuntimeException("Error cloning value object", e)
.addContextValue("class", this.getClass().getName());
}
}
项目:btm-DropwizardHealthChecks
文件:CassandraHealthCheck.java
private Exception wrapException(Exception e) {
return new ContextedRuntimeException(e)
.addContextValue("serverName", serverName)
.addContextValue("keySpace", keySpace)
.addContextValue("query", query);
}
项目:btm-DropwizardHealthChecks
文件:MongoDbHealthCheck.java
private ContextedRuntimeException wrapException(Exception e) {
return new ContextedRuntimeException(e)
.addContextValue("connectionUrl", connectionUrl)
.addContextValue("databaseName", databaseName);
}