You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ma...@apache.org on 2018/07/20 08:05:13 UTC
[12/19] james-project git commit: JAMES-2472 Upgrade commons-io
http://git-wip-us.apache.org/repos/asf/james-project/blob/8b94fa51/server/data/data-hbase/src/main/java/org/apache/james/user/hbase/HBaseUsersRepository.java
----------------------------------------------------------------------
diff --git a/server/data/data-hbase/src/main/java/org/apache/james/user/hbase/HBaseUsersRepository.java b/server/data/data-hbase/src/main/java/org/apache/james/user/hbase/HBaseUsersRepository.java
index c69b2cc..b3001c5 100644
--- a/server/data/data-hbase/src/main/java/org/apache/james/user/hbase/HBaseUsersRepository.java
+++ b/server/data/data-hbase/src/main/java/org/apache/james/user/hbase/HBaseUsersRepository.java
@@ -26,7 +26,6 @@ import java.util.Locale;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.HierarchicalConfiguration;
-import org.apache.commons.io.IOUtils;
import org.apache.hadoop.hbase.KeyValue;
import org.apache.hadoop.hbase.client.Delete;
import org.apache.hadoop.hbase.client.Get;
@@ -92,17 +91,13 @@ public class HBaseUsersRepository extends AbstractUsersRepository {
@Override
public void removeUser(String name) throws UsersRepositoryException {
- HTableInterface table = null;
- try {
- table = TablePool.getInstance().getUsersRepositoryTable();
+ try (HTableInterface table = TablePool.getInstance().getUsersRepositoryTable()) {
Delete delete = new Delete(Bytes.toBytes(name));
table.delete(delete);
table.flushCommits();
} catch (IOException e) {
log.error("Error while deleting user from HBase", e);
throw new UsersRepositoryException("Error while deleting user from HBase", e);
- } finally {
- IOUtils.closeQuietly(table);
}
}
@@ -125,49 +120,39 @@ public class HBaseUsersRepository extends AbstractUsersRepository {
@Override
public int countUsers() throws UsersRepositoryException {
- HTableInterface table = null;
- ResultScanner resultScanner = null;
- try {
- table = TablePool.getInstance().getUsersRepositoryTable();
+ try (HTableInterface table = TablePool.getInstance().getUsersRepositoryTable()) {
Scan scan = new Scan();
scan.addFamily(HUsersRepository.COLUMN_FAMILY_NAME);
scan.setCaching(table.getConfiguration().getInt("hbase.client.scanner.caching", 1) * 2);
- resultScanner = table.getScanner(scan);
- int resultCount = 0;
- while (resultScanner.next() != null) {
- resultCount++;
+ try (ResultScanner resultScanner = table.getScanner(scan)) {
+ int resultCount = 0;
+ while (resultScanner.next() != null) {
+ resultCount++;
+ }
+ return resultCount;
}
- return resultCount;
} catch (IOException e) {
log.error("Error while counting users from HBase", e);
throw new UsersRepositoryException("Error while counting users from HBase", e);
- } finally {
- IOUtils.closeQuietly(resultScanner);
- IOUtils.closeQuietly(table);
}
}
@Override
public Iterator<String> list() throws UsersRepositoryException {
List<String> list = new ArrayList<>();
- HTableInterface table = null;
- ResultScanner resultScanner = null;
- try {
- table = TablePool.getInstance().getUsersRepositoryTable();
+ try (HTableInterface table = TablePool.getInstance().getUsersRepositoryTable()) {
Scan scan = new Scan();
scan.addFamily(HUsersRepository.COLUMN_FAMILY_NAME);
scan.setCaching(table.getConfiguration().getInt("hbase.client.scanner.caching", 1) * 2);
- resultScanner = table.getScanner(scan);
- Result result;
- while ((result = resultScanner.next()) != null) {
- list.add(Bytes.toString(result.getRow()));
+ try (ResultScanner resultScanner = table.getScanner(scan)) {
+ Result result;
+ while ((result = resultScanner.next()) != null) {
+ list.add(Bytes.toString(result.getRow()));
+ }
}
} catch (IOException e) {
log.error("Error while scanning users from HBase", e);
throw new UsersRepositoryException("Error while scanning users from HBase", e);
- } finally {
- IOUtils.closeQuietly(resultScanner);
- IOUtils.closeQuietly(table);
}
return list.iterator();
}
@@ -187,9 +172,7 @@ public class HBaseUsersRepository extends AbstractUsersRepository {
* @throws UsersRepositoryException
*/
private KeyValue getKeyValue(String username) throws UsersRepositoryException {
- HTableInterface table = null;
- try {
- table = TablePool.getInstance().getUsersRepositoryTable();
+ try (HTableInterface table = TablePool.getInstance().getUsersRepositoryTable()) {
Get get = new Get(Bytes.toBytes(username));
Result result = table.get(get);
KeyValue keyValue = result.getColumnLatest(HUsersRepository.COLUMN_FAMILY_NAME, HUsersRepository.COLUMN.PWD);
@@ -197,8 +180,6 @@ public class HBaseUsersRepository extends AbstractUsersRepository {
} catch (IOException e) {
log.error("Error while counting users from HBase", e);
throw new UsersRepositoryException("Error while counting users from HBase", e);
- } finally {
- IOUtils.closeQuietly(table);
}
}
@@ -216,9 +197,7 @@ public class HBaseUsersRepository extends AbstractUsersRepository {
throw new UsersRepositoryException(username + " already exists.");
}
}
- HTableInterface table = null;
- try {
- table = TablePool.getInstance().getUsersRepositoryTable();
+ try (HTableInterface table = TablePool.getInstance().getUsersRepositoryTable()) {
Put put = new Put(Bytes.toBytes(username));
put.add(HUsersRepository.COLUMN_FAMILY_NAME, HUsersRepository.COLUMN.PWD,
Bytes.toBytes(user.getHashedPassword()));
@@ -227,8 +206,6 @@ public class HBaseUsersRepository extends AbstractUsersRepository {
} catch (IOException e) {
log.error("Error while adding user in HBase", e);
throw new UsersRepositoryException("Error while adding user in HBase", e);
- } finally {
- IOUtils.closeQuietly(table);
}
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/8b94fa51/server/data/data-jcr/src/main/java/org/apache/james/mailrepository/jcr/JCRMailRepository.java
----------------------------------------------------------------------
diff --git a/server/data/data-jcr/src/main/java/org/apache/james/mailrepository/jcr/JCRMailRepository.java b/server/data/data-jcr/src/main/java/org/apache/james/mailrepository/jcr/JCRMailRepository.java
index 0f57114..c2f8218 100644
--- a/server/data/data-jcr/src/main/java/org/apache/james/mailrepository/jcr/JCRMailRepository.java
+++ b/server/data/data-jcr/src/main/java/org/apache/james/mailrepository/jcr/JCRMailRepository.java
@@ -54,7 +54,6 @@ import javax.mail.internet.MimeMessage;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.HierarchicalConfiguration;
-import org.apache.commons.io.IOUtils;
import org.apache.jackrabbit.commons.cnd.CndImporter;
import org.apache.jackrabbit.util.ISO9075;
import org.apache.jackrabbit.util.Text;
@@ -520,14 +519,12 @@ public class JCRMailRepository extends AbstractMailRepository implements MailRep
}
PipedInputStream input = new PipedInputStream();
- final PipedOutputStream output = new PipedOutputStream(input);
+ PipedOutputStream output = new PipedOutputStream(input);
new Thread(() -> {
- try {
- message.writeTo(output);
+ try (PipedOutputStream stream = output) {
+ message.writeTo(stream);
} catch (Exception e) {
LOGGER.info("Exception ignored", e);
- } finally {
- IOUtils.closeQuietly(output);
}
}).start();
node.setProperty("jcr:data", input);
http://git-wip-us.apache.org/repos/asf/james-project/blob/8b94fa51/server/protocols/jmap/src/test/java/org/apache/james/jmap/crypto/JamesSignatureHandlerTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/crypto/JamesSignatureHandlerTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/crypto/JamesSignatureHandlerTest.java
index 9c2723e..8dc44de 100644
--- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/crypto/JamesSignatureHandlerTest.java
+++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/crypto/JamesSignatureHandlerTest.java
@@ -21,9 +21,7 @@ package org.apache.james.jmap.crypto;
import static org.assertj.core.api.Assertions.assertThat;
-import java.nio.charset.StandardCharsets;
import java.security.KeyStoreException;
-import java.util.Base64;
import org.apache.james.jmap.JMAPConfiguration;
import org.junit.Before;
http://git-wip-us.apache.org/repos/asf/james-project/blob/8b94fa51/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapRequestFrameDecoder.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapRequestFrameDecoder.java b/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapRequestFrameDecoder.java
index ec6c2d8..7a631f3 100644
--- a/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapRequestFrameDecoder.java
+++ b/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapRequestFrameDecoder.java
@@ -28,7 +28,6 @@ import java.util.HashMap;
import java.util.Map;
import org.apache.commons.io.FileUtils;
-import org.apache.commons.io.IOUtils;
import org.apache.james.imap.api.ImapMessage;
import org.apache.james.imap.api.ImapSessionState;
import org.apache.james.imap.api.process.ImapSession;
@@ -117,12 +116,20 @@ public class ImapRequestFrameDecoder extends FrameDecoder implements NettyConsta
buffer.readBytes(out, amount);
written += amount;
} catch (Exception e) {
- IOUtils.closeQuietly(out);
+ try {
+ out.close();
+ } catch (IOException ignored) {
+ //ignore exception during close
+ }
throw e;
}
// Check if all needed data was streamed to the file.
if (written == size) {
- IOUtils.closeQuietly(out);
+ try {
+ out.close();
+ } catch (IOException ignored) {
+ //ignore exception during close
+ }
reader = new NettyStreamImapRequestLineReader(channel, new FileInputStream(f) {
/**
http://git-wip-us.apache.org/repos/asf/james-project/blob/8b94fa51/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java b/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java
index 4c1363e..cc82148 100644
--- a/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java
+++ b/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java
@@ -47,7 +47,6 @@ import javax.mail.MessagingException;
import javax.mail.util.SharedFileInputStream;
import org.apache.commons.io.FileUtils;
-import org.apache.commons.io.IOUtils;
import org.apache.james.lifecycle.api.Disposable;
import org.apache.james.lifecycle.api.LifecycleUtil;
import org.apache.james.queue.api.MailQueueItemDecoratorFactory;
@@ -173,9 +172,6 @@ public class FileMailQueue implements ManageableMailQueue {
@Override
public void enQueue(Mail mail, long delay, TimeUnit unit) throws MailQueueException {
final String key = mail.getName() + "-" + COUNTER.incrementAndGet();
- FileOutputStream out = null;
- FileOutputStream foout = null;
- ObjectOutputStream oout = null;
try {
int i = RANDOM.nextInt(SPLITCOUNT) + 1;
@@ -185,19 +181,20 @@ public class FileMailQueue implements ManageableMailQueue {
if (delay > 0) {
mail.setAttribute(NEXT_DELIVERY, System.currentTimeMillis() + unit.toMillis(delay));
}
- foout = new FileOutputStream(item.getObjectFile());
- oout = new ObjectOutputStream(foout);
- oout.writeObject(mail);
- oout.flush();
- if (sync) {
- foout.getFD().sync();
+ try (FileOutputStream foout = new FileOutputStream(item.getObjectFile());
+ ObjectOutputStream oout = new ObjectOutputStream(foout)) {
+ oout.writeObject(mail);
+ oout.flush();
+ if (sync) {
+ foout.getFD().sync();
+ }
}
- out = new FileOutputStream(item.getMessageFile());
-
- mail.getMessage().writeTo(out);
- out.flush();
- if (sync) {
- out.getFD().sync();
+ try (FileOutputStream out = new FileOutputStream(item.getMessageFile())) {
+ mail.getMessage().writeTo(out);
+ out.flush();
+ if (sync) {
+ out.getFD().sync();
+ }
}
keyMappings.put(key, item);
@@ -221,10 +218,6 @@ public class FileMailQueue implements ManageableMailQueue {
//TODO: Think about exception handling in detail
} catch (IOException | MessagingException | InterruptedException e) {
throw new MailQueueException("Unable to enqueue mail", e);
- } finally {
- IOUtils.closeQuietly(out);
- IOUtils.closeQuietly(oout);
- IOUtils.closeQuietly(foout);
}
}
@@ -247,44 +240,41 @@ public class FileMailQueue implements ManageableMailQueue {
}
final String key = k;
final FileItem fitem = item;
- ObjectInputStream oin = null;
try {
final File objectFile = new File(fitem.getObjectFile());
final File msgFile = new File(fitem.getMessageFile());
- oin = new ObjectInputStream(new FileInputStream(objectFile));
- final Mail mail = (Mail) oin.readObject();
- mail.setMessage(new MimeMessageCopyOnWriteProxy(new FileMimeMessageSource(msgFile)));
- MailQueueItem fileMailQueueItem = new MailQueueItem() {
-
- @Override
- public Mail getMail() {
- return mail;
- }
-
- @Override
- public void done(boolean success) throws MailQueueException {
- if (!success) {
- try {
- inmemoryQueue.put(key);
- } catch (InterruptedException e) {
- Thread.currentThread().interrupt();
- throw new MailQueueException("Unable to rollback", e);
- }
- } else {
- fitem.delete();
- keyMappings.remove(key);
+ try (ObjectInputStream oin = new ObjectInputStream(new FileInputStream(objectFile))) {
+ final Mail mail = (Mail) oin.readObject();
+ mail.setMessage(new MimeMessageCopyOnWriteProxy(new FileMimeMessageSource(msgFile)));
+ MailQueueItem fileMailQueueItem = new MailQueueItem() {
+
+ @Override
+ public Mail getMail() {
+ return mail;
}
- LifecycleUtil.dispose(mail);
- }
- };
- return mailQueueItemDecoratorFactory.decorate(fileMailQueueItem);
+ @Override
+ public void done(boolean success) throws MailQueueException {
+ if (!success) {
+ try {
+ inmemoryQueue.put(key);
+ } catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
+ throw new MailQueueException("Unable to rollback", e);
+ }
+ } else {
+ fitem.delete();
+ keyMappings.remove(key);
+ }
+ LifecycleUtil.dispose(mail);
+ }
+ };
+ return mailQueueItemDecoratorFactory.decorate(fileMailQueueItem);
+ }
// TODO: Think about exception handling in detail
} catch (IOException | ClassNotFoundException | MessagingException e) {
throw new MailQueueException("Unable to dequeue", e);
- } finally {
- IOUtils.closeQuietly(oin);
}
} catch (InterruptedException e) {
@@ -325,7 +315,11 @@ public class FileMailQueue implements ManageableMailQueue {
@Override
public void dispose() {
- IOUtils.closeQuietly(in);
+ try {
+ in.close();
+ } catch (IOException e) {
+ //ignore exception during close
+ }
file = null;
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/8b94fa51/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/MimeMessageObjectMessageSource.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/MimeMessageObjectMessageSource.java b/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/MimeMessageObjectMessageSource.java
index fa53de9..dd7c4dc 100644
--- a/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/MimeMessageObjectMessageSource.java
+++ b/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/MimeMessageObjectMessageSource.java
@@ -25,7 +25,6 @@ import javax.jms.JMSException;
import javax.jms.ObjectMessage;
import javax.mail.util.SharedByteArrayInputStream;
-import org.apache.commons.io.IOUtils;
import org.apache.james.lifecycle.api.Disposable;
import org.apache.james.lifecycle.api.LifecycleUtil;
import org.apache.james.server.core.MimeMessageSource;
@@ -70,7 +69,11 @@ public class MimeMessageObjectMessageSource extends MimeMessageSource implements
@Override
public void dispose() {
- IOUtils.closeQuietly(in);
+ try {
+ in.close();
+ } catch (IOException e) {
+ //ignore exception during close
+ }
LifecycleUtil.dispose(in);
try {
http://git-wip-us.apache.org/repos/asf/james-project/blob/8b94fa51/server/testing/src/main/java/org/apache/james/utils/IMAPMessageReader.java
----------------------------------------------------------------------
diff --git a/server/testing/src/main/java/org/apache/james/utils/IMAPMessageReader.java b/server/testing/src/main/java/org/apache/james/utils/IMAPMessageReader.java
index 98b79c3..b03492c 100644
--- a/server/testing/src/main/java/org/apache/james/utils/IMAPMessageReader.java
+++ b/server/testing/src/main/java/org/apache/james/utils/IMAPMessageReader.java
@@ -23,7 +23,6 @@ import java.io.Closeable;
import java.io.IOException;
import java.util.List;
-import org.apache.commons.io.IOUtils;
import org.apache.commons.net.imap.IMAPClient;
import org.junit.rules.ExternalResource;
@@ -183,7 +182,11 @@ public class IMAPMessageReader extends ExternalResource implements Closeable {
@Override
protected void after() {
- IOUtils.closeQuietly(this);
+ try {
+ this.close();
+ } catch (IOException e) {
+ //ignore exception during close
+ }
}
public void copyFirstMessage(String destMailbox) throws IOException {
http://git-wip-us.apache.org/repos/asf/james-project/blob/8b94fa51/server/testing/src/main/java/org/apache/james/utils/MockSpamd.java
----------------------------------------------------------------------
diff --git a/server/testing/src/main/java/org/apache/james/utils/MockSpamd.java b/server/testing/src/main/java/org/apache/james/utils/MockSpamd.java
index c17be4d..45121c7 100644
--- a/server/testing/src/main/java/org/apache/james/utils/MockSpamd.java
+++ b/server/testing/src/main/java/org/apache/james/utils/MockSpamd.java
@@ -66,15 +66,14 @@ public class MockSpamd implements Runnable {
@Override
public void run() {
- try (Socket spamd = socket.accept();
+ try (ServerSocket serverSocket = socket;
+ Socket spamd = serverSocket.accept();
BufferedReader in = new BufferedReader(new InputStreamReader(spamd.getInputStream()));
OutputStream out = spamd.getOutputStream()) {
handleRequest(in, out);
} catch (IOException e) {
LOGGER.error("Exception while handling answer", e);
- } finally {
- IOUtils.closeQuietly(socket);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org