Fix sonar warnings in config-util.
[controller.git] / opendaylight / config / config-util / src / main / java / org / opendaylight / controller / config / util / CloseableUtil.java
1 /*
2  * Copyright (c) 2015 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8
9 package org.opendaylight.controller.config.util;
10
11 public class CloseableUtil {
12
13     private CloseableUtil() {
14     }
15
16     public static void closeAll(Iterable<? extends AutoCloseable> autoCloseables) throws Exception {
17         Exception lastException = null;
18         for (AutoCloseable autoCloseable : autoCloseables) {
19             try {
20                 autoCloseable.close();
21             } catch (Exception e) {
22                 if (lastException == null) {
23                     lastException = e;
24                 } else {
25                     lastException.addSuppressed(e);
26                 }
27             }
28         }
29         if (lastException != null) {
30             throw lastException;
31         }
32     }
33 }