From a5b321a93b5b21be9d1f43b55d9da227eb085fbf Mon Sep 17 00:00:00 2001 From: akwizgran <michael@briarproject.org> Date: Thu, 16 Nov 2017 11:26:24 +0000 Subject: [PATCH] Multi-catch. --- .../contact/ContactExchangeTaskImpl.java | 7 +------ .../bramble/db/DatabaseComponentImpl.java | 6 +----- .../keyagreement/KeyAgreementConnector.java | 5 +---- .../lifecycle/LifecycleManagerImpl.java | 4 +--- .../bramble/plugin/ConnectionManagerImpl.java | 18 +++--------------- .../bramble/plugin/tcp/PortMapperImpl.java | 14 +++----------- .../plugin/file/UnixRemovableDriveMonitor.java | 7 ++++--- .../briar/feed/FeedManagerImpl.java | 18 +++--------------- .../briar/forum/ForumManagerImpl.java | 4 +--- .../briar/introduction/IntroduceeManager.java | 4 +--- .../briar/introduction/IntroducerManager.java | 4 +--- .../introduction/IntroductionManagerImpl.java | 7 +------ .../privategroup/GroupMessageFactoryImpl.java | 8 ++------ .../briar/test/TestDataCreatorImpl.java | 4 +--- .../IntroductionIntegrationTest.java | 4 +--- 15 files changed, 25 insertions(+), 89 deletions(-) diff --git a/bramble-core/src/main/java/org/briarproject/bramble/contact/ContactExchangeTaskImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/contact/ContactExchangeTaskImpl.java index 9eea4b2748..c49360e5bc 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/contact/ContactExchangeTaskImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/contact/ContactExchangeTaskImpl.java @@ -184,12 +184,7 @@ class ContactExchangeTaskImpl extends Thread implements ContactExchangeTask { // Close the outgoing stream and expect EOF on the incoming stream w.close(); if (!r.eof()) LOG.warning("Unexpected data at end of connection"); - } catch (GeneralSecurityException e) { - if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); - listener.contactExchangeFailed(); - tryToClose(conn, true); - return; - } catch (IOException e) { + } catch (GeneralSecurityException | IOException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); listener.contactExchangeFailed(); tryToClose(conn, true); diff --git a/bramble-core/src/main/java/org/briarproject/bramble/db/DatabaseComponentImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/db/DatabaseComponentImpl.java index 86942bd89f..e02e9a7ab9 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/db/DatabaseComponentImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/db/DatabaseComponentImpl.java @@ -137,11 +137,7 @@ class DatabaseComponentImpl<T> implements DatabaseComponent { } try { return new Transaction(db.startTransaction(), readOnly); - } catch (DbException e) { - if (readOnly) lock.readLock().unlock(); - else lock.writeLock().unlock(); - throw e; - } catch (RuntimeException e) { + } catch (DbException | RuntimeException e) { if (readOnly) lock.readLock().unlock(); else lock.writeLock().unlock(); throw e; diff --git a/bramble-core/src/main/java/org/briarproject/bramble/keyagreement/KeyAgreementConnector.java b/bramble-core/src/main/java/org/briarproject/bramble/keyagreement/KeyAgreementConnector.java index 9989024663..992cb006b1 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/keyagreement/KeyAgreementConnector.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/keyagreement/KeyAgreementConnector.java @@ -129,10 +129,7 @@ class KeyAgreementConnector { LOG.info("Interrupted while waiting for connection"); Thread.currentThread().interrupt(); return null; - } catch (ExecutionException e) { - if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); - return null; - } catch (IOException e) { + } catch (ExecutionException | IOException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); return null; } finally { diff --git a/bramble-core/src/main/java/org/briarproject/bramble/lifecycle/LifecycleManagerImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/lifecycle/LifecycleManagerImpl.java index 9a40876970..a7f5cc689d 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/lifecycle/LifecycleManagerImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/lifecycle/LifecycleManagerImpl.java @@ -203,9 +203,7 @@ class LifecycleManagerImpl implements LifecycleManager { if (LOG.isLoggable(INFO)) LOG.info("Closing database took " + duration + " ms"); shutdownLatch.countDown(); - } catch (DbException e) { - if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); - } catch (ServiceException e) { + } catch (DbException | ServiceException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); } finally { startStopSemaphore.release(); diff --git a/bramble-core/src/main/java/org/briarproject/bramble/plugin/ConnectionManagerImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/plugin/ConnectionManagerImpl.java index 8c0063b91d..071068ab5c 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/plugin/ConnectionManagerImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/plugin/ConnectionManagerImpl.java @@ -134,11 +134,7 @@ class ConnectionManagerImpl implements ConnectionManager { try { byte[] tag = readTag(reader); ctx = keyManager.getStreamContext(transportId, tag); - } catch (IOException e) { - if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); - disposeReader(true, false); - return; - } catch (DbException e) { + } catch (IOException | DbException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); disposeReader(true, false); return; @@ -249,11 +245,7 @@ class ConnectionManagerImpl implements ConnectionManager { try { byte[] tag = readTag(reader); ctx = keyManager.getStreamContext(transportId, tag); - } catch (IOException e) { - if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); - disposeReader(true, false); - return; - } catch (DbException e) { + } catch (IOException | DbException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); disposeReader(true, false); return; @@ -381,11 +373,7 @@ class ConnectionManagerImpl implements ConnectionManager { try { byte[] tag = readTag(reader); ctx = keyManager.getStreamContext(transportId, tag); - } catch (IOException e) { - if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); - disposeReader(true, false); - return; - } catch (DbException e) { + } catch (IOException | DbException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); disposeReader(true, false); return; diff --git a/bramble-core/src/main/java/org/briarproject/bramble/plugin/tcp/PortMapperImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/plugin/tcp/PortMapperImpl.java index 5790c1ae20..32c2b5be07 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/plugin/tcp/PortMapperImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/plugin/tcp/PortMapperImpl.java @@ -58,9 +58,7 @@ class PortMapperImpl implements PortMapper { "External address " + scrubInetAddress(externalString)); if (externalString != null) external = InetAddress.getByName(externalString); - } catch (IOException e) { - if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); - } catch (SAXException e) { + } catch (IOException | SAXException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); } return new MappingResult(internal, external, port, succeeded); @@ -77,11 +75,7 @@ class PortMapperImpl implements PortMapper { GatewayDiscover d = new GatewayDiscover(); try { d.discover(); - } catch (IOException e) { - if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); - } catch (SAXException e) { - if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); - } catch (ParserConfigurationException e) { + } catch (IOException | SAXException | ParserConfigurationException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); } gateway = d.getValidGateway(); @@ -92,9 +86,7 @@ class PortMapperImpl implements PortMapper { gateway.deletePortMapping(port, "TCP"); if (LOG.isLoggable(INFO)) LOG.info("Deleted mapping for port " + port); - } catch (IOException e) { - if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); - } catch (SAXException e) { + } catch (IOException | SAXException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); } } diff --git a/bramble-j2se/src/main/java/org/briarproject/bramble/plugin/file/UnixRemovableDriveMonitor.java b/bramble-j2se/src/main/java/org/briarproject/bramble/plugin/file/UnixRemovableDriveMonitor.java index 8fcc0a539a..4ca1a30843 100644 --- a/bramble-j2se/src/main/java/org/briarproject/bramble/plugin/file/UnixRemovableDriveMonitor.java +++ b/bramble-j2se/src/main/java/org/briarproject/bramble/plugin/file/UnixRemovableDriveMonitor.java @@ -13,6 +13,8 @@ import java.util.List; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; +import javax.annotation.Nullable; + @MethodsNotNullByDefault @ParametersNotNullByDefault abstract class UnixRemovableDriveMonitor implements RemovableDriveMonitor, @@ -34,13 +36,12 @@ JNotifyListener { protected abstract String[] getPathsToWatch(); + @Nullable private static Throwable tryLoad() { try { Class.forName("net.contentobjects.jnotify.JNotify"); return null; - } catch (UnsatisfiedLinkError e) { - return e; - } catch (ClassNotFoundException e) { + } catch (UnsatisfiedLinkError | ClassNotFoundException e) { return e; } } diff --git a/briar-core/src/main/java/org/briarproject/briar/feed/FeedManagerImpl.java b/briar-core/src/main/java/org/briarproject/briar/feed/FeedManagerImpl.java index 5218ecf2e5..3857f1fb55 100644 --- a/briar-core/src/main/java/org/briarproject/briar/feed/FeedManagerImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/feed/FeedManagerImpl.java @@ -294,11 +294,7 @@ class FeedManagerImpl implements FeedManager, Client, EventListener, for (Feed feed : feeds) { try { newFeeds.add(fetchFeed(feed)); - } catch (IOException e) { - if (LOG.isLoggable(WARNING)) - LOG.log(WARNING, e.toString(), e); - newFeeds.add(feed); - } catch (DbException e) { + } catch (IOException | DbException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); newFeeds.add(feed); @@ -381,9 +377,7 @@ class FeedManagerImpl implements FeedManager, Client, EventListener, SyndFeedInput input = new SyndFeedInput(); try { return input.build(new XmlReader(stream)); - } catch (IllegalArgumentException e) { - throw new IOException(e); - } catch (FeedException e) { + } catch (IllegalArgumentException | FeedException e) { throw new IOException(e); } } @@ -469,13 +463,7 @@ class FeedManagerImpl implements FeedManager, Client, EventListener, BlogPost post = blogPostFactory .createBlogPost(groupId, time, null, localAuthor, body); blogManager.addLocalPost(txn, post); - } catch (DbException e) { - if (LOG.isLoggable(WARNING)) - LOG.log(WARNING, e.toString(), e); - } catch (GeneralSecurityException e) { - if (LOG.isLoggable(WARNING)) - LOG.log(WARNING, e.toString(), e); - } catch (FormatException e) { + } catch (DbException | GeneralSecurityException | FormatException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); } catch (IllegalArgumentException e) { diff --git a/briar-core/src/main/java/org/briarproject/briar/forum/ForumManagerImpl.java b/briar-core/src/main/java/org/briarproject/briar/forum/ForumManagerImpl.java index b07bb9683f..19f78a6b51 100644 --- a/briar-core/src/main/java/org/briarproject/briar/forum/ForumManagerImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/forum/ForumManagerImpl.java @@ -134,9 +134,7 @@ class ForumManagerImpl extends BdfIncomingMessageHook implements ForumManager { try { p = forumPostFactory.createPost(groupId, timestamp, parentId, author, body); - } catch (GeneralSecurityException e) { - throw new RuntimeException(e); - } catch (FormatException e) { + } catch (GeneralSecurityException | FormatException e) { throw new RuntimeException(e); } return p; diff --git a/briar-core/src/main/java/org/briarproject/briar/introduction/IntroduceeManager.java b/briar-core/src/main/java/org/briarproject/briar/introduction/IntroduceeManager.java index 44a4dab27a..f074700aef 100644 --- a/briar-core/src/main/java/org/briarproject/briar/introduction/IntroduceeManager.java +++ b/briar-core/src/main/java/org/briarproject/briar/introduction/IntroduceeManager.java @@ -519,9 +519,7 @@ class IntroduceeManager { try { processStateUpdate(txn, null, engine.onLocalAction(state, localAction)); - } catch (DbException e) { - if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); - } catch (IOException e) { + } catch (DbException | IOException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); } } diff --git a/briar-core/src/main/java/org/briarproject/briar/introduction/IntroducerManager.java b/briar-core/src/main/java/org/briarproject/briar/introduction/IntroducerManager.java index 09b6975adb..b24109396c 100644 --- a/briar-core/src/main/java/org/briarproject/briar/introduction/IntroducerManager.java +++ b/briar-core/src/main/java/org/briarproject/briar/introduction/IntroducerManager.java @@ -173,9 +173,7 @@ class IntroducerManager { try { processStateUpdate(txn, engine.onLocalAction(state, localAction)); - } catch (DbException e) { - if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); - } catch (IOException e) { + } catch (DbException | IOException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); } } diff --git a/briar-core/src/main/java/org/briarproject/briar/introduction/IntroductionManagerImpl.java b/briar-core/src/main/java/org/briarproject/briar/introduction/IntroductionManagerImpl.java index 774b80e421..f2d30f80ed 100644 --- a/briar-core/src/main/java/org/briarproject/briar/introduction/IntroductionManagerImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/introduction/IntroductionManagerImpl.java @@ -251,12 +251,7 @@ class IntroductionManagerImpl extends ConversationClientImpl LOG.warning("Unknown role '" + role + "'"); throw new DbException(); } - } catch (DbException e) { - if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); - if (role == ROLE_INTRODUCER) introducerManager.abort(txn, state); - else introduceeManager.abort(txn, state); - } catch (FormatException e) { - // FIXME necessary? + } catch (DbException | FormatException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); if (role == ROLE_INTRODUCER) introducerManager.abort(txn, state); else introduceeManager.abort(txn, state); diff --git a/briar-core/src/main/java/org/briarproject/briar/privategroup/GroupMessageFactoryImpl.java b/briar-core/src/main/java/org/briarproject/briar/privategroup/GroupMessageFactoryImpl.java index 5c2b9fc8de..7f0404872a 100644 --- a/briar-core/src/main/java/org/briarproject/briar/privategroup/GroupMessageFactoryImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/privategroup/GroupMessageFactoryImpl.java @@ -63,9 +63,7 @@ class GroupMessageFactoryImpl implements GroupMessageFactory { Message m = clientHelper.createMessage(groupId, timestamp, body); return new GroupMessage(m, null, member); - } catch (GeneralSecurityException e) { - throw new RuntimeException(e); - } catch (FormatException e) { + } catch (GeneralSecurityException | FormatException e) { throw new RuntimeException(e); } } @@ -91,9 +89,7 @@ class GroupMessageFactoryImpl implements GroupMessageFactory { Message m = clientHelper.createMessage(groupId, timestamp, body); return new GroupMessage(m, parentId, author); - } catch (GeneralSecurityException e) { - throw new RuntimeException(e); - } catch (FormatException e) { + } catch (GeneralSecurityException | FormatException e) { throw new RuntimeException(e); } } diff --git a/briar-core/src/main/java/org/briarproject/briar/test/TestDataCreatorImpl.java b/briar-core/src/main/java/org/briarproject/briar/test/TestDataCreatorImpl.java index 7f7be6c971..b9a91694f4 100644 --- a/briar-core/src/main/java/org/briarproject/briar/test/TestDataCreatorImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/test/TestDataCreatorImpl.java @@ -324,9 +324,7 @@ public class TestDataCreatorImpl implements TestDataCreator { .createBlogPost(blog.getId(), timestamp, null, author, body); blogManager.addLocalPost(blogPost); - } catch (FormatException e) { - throw new RuntimeException(e); - } catch (GeneralSecurityException e) { + } catch (FormatException | GeneralSecurityException e) { throw new RuntimeException(e); } } diff --git a/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTest.java index c6bf6ebb16..4902f58c1f 100644 --- a/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTest.java @@ -924,9 +924,7 @@ public class IntroductionIntegrationTest time); } } - } catch (DbException exception) { - eventWaiter.rethrow(exception); - } catch (FormatException exception) { + } catch (DbException | FormatException exception) { eventWaiter.rethrow(exception); } finally { eventWaiter.resume(); -- GitLab