directory-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From elecha...@apache.org
Subject svn commit: r1770286 - in /directory/shared/branches/shared-value/util: ./ src/main/java/org/apache/directory/api/util/exception/ src/test/java/org/apache/directory/api/util/exception/
Date Thu, 17 Nov 2016 23:39:57 GMT
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



Mime
View raw message