Author: elecharny
Date: Thu Nov 17 23:39:57 2016
New Revision: 1770286
URL: http://svn.apache.org/viewvc?rev=1770286&view=rev
Log:
Porting Rainer Jung's patch to the Value branch
Added:
directory/shared/branches/shared-value/util/src/test/java/org/apache/directory/api/util/exception/
directory/shared/branches/shared-value/util/src/test/java/org/apache/directory/api/util/exception/MultiExceptionTest.java
directory/shared/branches/shared-value/util/src/test/java/org/apache/directory/api/util/exception/RuntimeMultiExceptionTest.java
Modified:
directory/shared/branches/shared-value/util/pom.xml
directory/shared/branches/shared-value/util/src/main/java/org/apache/directory/api/util/exception/MultiException.java
directory/shared/branches/shared-value/util/src/main/java/org/apache/directory/api/util/exception/RuntimeMultiException.java
Modified: directory/shared/branches/shared-value/util/pom.xml
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-value/util/pom.xml?rev=1770286&r1=1770285&r2=1770286&view=diff
==============================================================================
--- directory/shared/branches/shared-value/util/pom.xml (original)
+++ directory/shared/branches/shared-value/util/pom.xml Thu Nov 17 23:39:57 2016
@@ -80,6 +80,16 @@
</instructions>
</configuration>
</plugin>
+ <plugin>
+ <groupId>de.thetaphi</groupId>
+ <artifactId>forbiddenapis</artifactId>
+ <configuration>
+ <excludes>
+ <exclude>**/MultiExceptionTest.class</exclude>
+ <exclude>**/RuntimeMultiExceptionTest.class</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
</plugins>
</build>
</project>
Modified: directory/shared/branches/shared-value/util/src/main/java/org/apache/directory/api/util/exception/MultiException.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-value/util/src/main/java/org/apache/directory/api/util/exception/MultiException.java?rev=1770286&r1=1770285&r2=1770286&view=diff
==============================================================================
--- directory/shared/branches/shared-value/util/src/main/java/org/apache/directory/api/util/exception/MultiException.java
(original)
+++ directory/shared/branches/shared-value/util/src/main/java/org/apache/directory/api/util/exception/MultiException.java
Thu Nov 17 23:39:57 2016
@@ -140,7 +140,7 @@ public class MultiException extends Exce
out.println( "\n\t<<========= Next Nested Exception" + " ========>>\n"
);
}
- throwable.printStackTrace();
+ throwable.printStackTrace( out );
}
out.println( "\n\t<<========= Last Nested Exception" + " ========>>\n"
);
@@ -173,7 +173,7 @@ public class MultiException extends Exce
out.println( "\n\t<<========= Next Nested Exception" + " ========>>\n"
);
}
- throwable.printStackTrace();
+ throwable.printStackTrace( out );
}
out.println( "\n\t<<========= Last Nested Exception" + " ========>>\n"
);
Modified: directory/shared/branches/shared-value/util/src/main/java/org/apache/directory/api/util/exception/RuntimeMultiException.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-value/util/src/main/java/org/apache/directory/api/util/exception/RuntimeMultiException.java?rev=1770286&r1=1770285&r2=1770286&view=diff
==============================================================================
--- directory/shared/branches/shared-value/util/src/main/java/org/apache/directory/api/util/exception/RuntimeMultiException.java
(original)
+++ directory/shared/branches/shared-value/util/src/main/java/org/apache/directory/api/util/exception/RuntimeMultiException.java
Thu Nov 17 23:39:57 2016
@@ -150,7 +150,7 @@ public class RuntimeMultiException exten
out.println( "\n\t<<========= Next Nested Exception" + " ========>>\n"
);
}
- throwable.printStackTrace();
+ throwable.printStackTrace( out );
}
out.println( "\n\t<<========= Last Nested Exception" + " ========>>\n"
);
@@ -183,7 +183,7 @@ public class RuntimeMultiException exten
out.println( "\n\t<<========= Next Nested Exception" + " ========>>\n"
);
}
- throwable.printStackTrace();
+ throwable.printStackTrace( out );
}
out.println( "\n\t<<========= Last Nested Exception" + " ========>>\n"
);
Added: directory/shared/branches/shared-value/util/src/test/java/org/apache/directory/api/util/exception/MultiExceptionTest.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-value/util/src/test/java/org/apache/directory/api/util/exception/MultiExceptionTest.java?rev=1770286&view=auto
==============================================================================
--- directory/shared/branches/shared-value/util/src/test/java/org/apache/directory/api/util/exception/MultiExceptionTest.java
(added)
+++ directory/shared/branches/shared-value/util/src/test/java/org/apache/directory/api/util/exception/MultiExceptionTest.java
Thu Nov 17 23:39:57 2016
@@ -0,0 +1,104 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.api.util.exception;
+
+
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.junit.Assert.assertThat;
+
+import java.io.ByteArrayOutputStream;
+import java.io.PrintStream;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+
+/**
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public class MultiExceptionTest
+{
+ private PrintStream originalOut;
+ private PrintStream originalErr;
+
+ @Before
+ public void setUp()
+ {
+ originalOut = System.out;
+ originalErr = System.err;
+ }
+
+
+ @After
+ public void tearDown()
+ {
+ System.setOut( originalOut );
+ System.setErr( originalErr );
+ }
+
+
+ @Test
+ public void testPrintStacktracePrintWriterDoesNotWriteToSystemOutErr()
+ {
+ ByteArrayOutputStream systemOut = new ByteArrayOutputStream();
+ PrintStream systemPrintStream = new PrintStream( systemOut );
+ System.setOut( systemPrintStream );
+ System.setErr( systemPrintStream );
+
+ StringWriter customOut = new StringWriter();
+ PrintWriter customPrintWriter = new PrintWriter( customOut );
+ MultiException multiException = new MultiException( "multi" );
+ multiException.addThrowable( new Exception( "nested1" ) );
+ multiException.addThrowable( new Exception( "nested2" ) );
+ multiException.printStackTrace( customPrintWriter );
+
+ assertThat( customOut.toString(), containsString( "multi" ) );
+ assertThat( customOut.toString(), containsString( "nested1" ) );
+ assertThat( customOut.toString(), containsString( "nested2" ) );
+ assertThat( systemOut.size(), equalTo( 0 ) );
+ }
+
+
+ @Test
+ public void testPrintStacktraceToPrintStreamDoesNotWriteToSystemOutErr()
+ {
+ ByteArrayOutputStream systemOut = new ByteArrayOutputStream();
+ PrintStream systemPrintStream = new PrintStream( systemOut );
+ System.setOut( systemPrintStream );
+ System.setErr( systemPrintStream );
+
+ ByteArrayOutputStream customOut = new ByteArrayOutputStream();
+ PrintStream customPrintWriter = new PrintStream( customOut );
+ MultiException multiException = new MultiException( "multi" );
+ multiException.addThrowable( new Exception( "nested1" ) );
+ multiException.addThrowable( new Exception( "nested2" ) );
+ multiException.printStackTrace( customPrintWriter );
+
+ assertThat( customOut.toString(), containsString( "multi" ) );
+ assertThat( customOut.toString(), containsString( "nested1" ) );
+ assertThat( customOut.toString(), containsString( "nested2" ) );
+ assertThat( systemOut.size(), equalTo( 0 ) );
+ }
+}
Added: directory/shared/branches/shared-value/util/src/test/java/org/apache/directory/api/util/exception/RuntimeMultiExceptionTest.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-value/util/src/test/java/org/apache/directory/api/util/exception/RuntimeMultiExceptionTest.java?rev=1770286&view=auto
==============================================================================
--- directory/shared/branches/shared-value/util/src/test/java/org/apache/directory/api/util/exception/RuntimeMultiExceptionTest.java
(added)
+++ directory/shared/branches/shared-value/util/src/test/java/org/apache/directory/api/util/exception/RuntimeMultiExceptionTest.java
Thu Nov 17 23:39:57 2016
@@ -0,0 +1,105 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.api.util.exception;
+
+
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.junit.Assert.assertThat;
+
+import java.io.ByteArrayOutputStream;
+import java.io.PrintStream;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+
+/**
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public class RuntimeMultiExceptionTest
+{
+ private PrintStream originalOut;
+ private PrintStream originalErr;
+
+
+ @Before
+ public void setUp()
+ {
+ originalOut = System.out;
+ originalErr = System.err;
+ }
+
+
+ @After
+ public void tearDown()
+ {
+ System.setOut( originalOut );
+ System.setErr( originalErr );
+ }
+
+
+ @Test
+ public void testPrintStacktracePrintWriterDoesNotWriteToSystemOutErr()
+ {
+ ByteArrayOutputStream systemOut = new ByteArrayOutputStream();
+ PrintStream systemPrintStream = new PrintStream( systemOut );
+ System.setOut( systemPrintStream );
+ System.setErr( systemPrintStream );
+
+ StringWriter customOut = new StringWriter();
+ PrintWriter customPrintWriter = new PrintWriter( customOut );
+ RuntimeMultiException runtimeMultiException = new RuntimeMultiException( "multi"
);
+ runtimeMultiException.addThrowable( new Exception( "nested1" ) );
+ runtimeMultiException.addThrowable( new Exception( "nested2" ) );
+ runtimeMultiException.printStackTrace( customPrintWriter );
+
+ assertThat( customOut.toString(), containsString( "multi" ) );
+ assertThat( customOut.toString(), containsString( "nested1" ) );
+ assertThat( customOut.toString(), containsString( "nested2" ) );
+ assertThat( systemOut.size(), equalTo( 0 ) );
+ }
+
+
+ @Test
+ public void testPrintStacktraceToPrintStreamDoesNotWriteToSystemOutErr()
+ {
+ ByteArrayOutputStream systemOut = new ByteArrayOutputStream();
+ PrintStream systemPrintStream = new PrintStream( systemOut );
+ System.setOut( systemPrintStream );
+ System.setErr( systemPrintStream );
+
+ ByteArrayOutputStream customOut = new ByteArrayOutputStream();
+ PrintStream customPrintWriter = new PrintStream( customOut );
+ RuntimeMultiException runtimeMultiException = new RuntimeMultiException( "multi"
);
+ runtimeMultiException.addThrowable( new Exception( "nested1" ) );
+ runtimeMultiException.addThrowable( new Exception( "nested2" ) );
+ runtimeMultiException.printStackTrace( customPrintWriter );
+
+ assertThat( customOut.toString(), containsString( "multi" ) );
+ assertThat( customOut.toString(), containsString( "nested1" ) );
+ assertThat( customOut.toString(), containsString( "nested2" ) );
+ assertThat( systemOut.size(), equalTo( 0 ) );
+ }
+}
\ No newline at end of file
|