opendj-sdk/opendj-cli/src/main/java/com/forgerock/opendj/cli/ArgumentParser.java
@@ -54,7 +54,6 @@ import org.forgerock.i18n.LocalizableMessage; import org.forgerock.i18n.LocalizableMessageBuilder; import org.forgerock.i18n.slf4j.LocalizedLogger; import org.forgerock.util.Utils; /** * This class defines a utility that can be used to deal with command-line @@ -425,13 +424,13 @@ } // We have a location for the properties file. final Properties argumentProperties = new Properties(); final String scriptName = getScriptName(); try { final Properties argumentProperties = new Properties(); final String scriptName = getScriptName(); final Properties p = new Properties(); final FileInputStream fis = new FileInputStream(propertiesFilePath); p.load(fis); fis.close(); try (final FileInputStream fis = new FileInputStream(propertiesFilePath)) { p.load(fis); } for (final Enumeration<?> e = p.propertyNames(); e.hasMoreElements();) { final String currentPropertyName = (String) e.nextElement(); @@ -449,12 +448,12 @@ argumentProperties.setProperty(propertyName.toLowerCase(), p .getProperty(currentPropertyName)); } return argumentProperties; } catch (final Exception e) { final LocalizableMessage message = ERR_ARGPARSER_CANNOT_READ_PROPERTIES_FILE.get(propertiesFilePath, getExceptionMessage(e)); throw new ArgumentException(message, e); } return argumentProperties; } /** @@ -1384,9 +1383,7 @@ Properties argumentProperties = null; FileInputStream fis = null; try { fis = new FileInputStream(propertiesFile); try (final FileInputStream fis = new FileInputStream(propertiesFile)) { final Properties p = new Properties(); p.load(fis); argumentProperties = p; @@ -1396,8 +1393,6 @@ ERR_ARGPARSER_CANNOT_READ_PROPERTIES_FILE.get(propertiesFile, getExceptionMessage(e)); throw new ArgumentException(message, e); } } finally { Utils.closeSilently(fis); } parseArguments(rawArguments, argumentProperties); opendj-sdk/opendj-cli/src/main/java/com/forgerock/opendj/cli/ConnectionFactoryProvider.java
@@ -733,10 +733,10 @@ keyStorePIN = keyStorePass.toCharArray(); } final FileInputStream fos = new FileInputStream(keyStoreFile); final KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType()); keystore.load(fos, keyStorePIN); fos.close(); try (final FileInputStream fos = new FileInputStream(keyStoreFile)) { keystore.load(fos, keyStorePIN); } return new ApplicationKeyManager(keystore, keyStorePIN); } opendj-sdk/opendj-cli/src/main/java/com/forgerock/opendj/cli/DocGenerationHelper.java
@@ -77,16 +77,13 @@ configuration = getConfiguration(); // FreeMarker takes the data and a Writer to process the template. ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); Writer writer = new OutputStreamWriter(outputStream); try { try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); Writer writer = new OutputStreamWriter(outputStream)) { Template configurationTemplate = configuration.getTemplate(template); configurationTemplate.process(map, writer); builder.append(outputStream.toString()); } catch (Exception e) { throw new RuntimeException(e.getMessage(), e); } finally { org.forgerock.util.Utils.closeSilently(writer, outputStream); } } opendj-sdk/opendj-cli/src/main/java/com/forgerock/opendj/cli/FileBasedArgument.java
@@ -28,11 +28,12 @@ import static com.forgerock.opendj.cli.CliMessages.*; import static com.forgerock.opendj.util.StaticUtils.getExceptionMessage; import static org.forgerock.util.Utils.closeSilently; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.LinkedHashMap; import org.forgerock.i18n.LocalizableMessage; @@ -195,31 +196,20 @@ return false; } // Open the file for reading. BufferedReader reader; try { reader = new BufferedReader(new FileReader(valueFile)); } catch (final Exception e) { invalidReason.append(ERR_FILEARG_CANNOT_OPEN_FILE.get(valueString, getName(), getExceptionMessage(e))); return false; } // Read the first line and close the file. // Open the file, read the first line and close the file. String line; try { try (BufferedReader reader = new BufferedReader(new FileReader(valueFile))) { line = reader.readLine(); } catch (final Exception e) { invalidReason.append(ERR_FILEARG_CANNOT_READ_FILE.get(valueString, getName(), getExceptionMessage(e))); } catch (final FileNotFoundException e) { invalidReason.append(ERR_FILEARG_CANNOT_OPEN_FILE.get(valueString, getName(), getExceptionMessage(e))); return false; } finally { closeSilently(reader); } catch (final IOException e) { invalidReason.append(ERR_FILEARG_CANNOT_READ_FILE.get(valueString, getName(), getExceptionMessage(e))); return false; } // If the line read is null, then that means the file was empty. if (line == null) { invalidReason.append(ERR_FILEARG_EMPTY_FILE.get(valueString, getName())); return false; } opendj-sdk/opendj-cli/src/main/java/com/forgerock/opendj/cli/PromptingTrustManager.java
@@ -152,11 +152,8 @@ if (!onDiskTrustStorePath.exists()) { onDiskTrustStore.load(null, null); } else { final FileInputStream fos = new FileInputStream(onDiskTrustStorePath); try { try (final FileInputStream fos = new FileInputStream(onDiskTrustStorePath)) { onDiskTrustStore.load(fos, DEFAULT_PASSWORD); } finally { fos.close(); } } final TrustManagerFactory tmf = @@ -295,9 +292,9 @@ if (!truststoreFile.exists()) { createFile(truststoreFile); } final FileOutputStream fos = new FileOutputStream(truststoreFile); onDiskTrustStore.store(fos, DEFAULT_PASSWORD); fos.close(); try (final FileOutputStream fos = new FileOutputStream(truststoreFile)) { onDiskTrustStore.store(fos, DEFAULT_PASSWORD); } } catch (final Exception e) { LOG.warn(LocalizableMessage.raw("Error saving store to disk: " + e)); } opendj-sdk/opendj-cli/src/main/java/com/forgerock/opendj/cli/Utils.java
@@ -161,13 +161,10 @@ * If a problem occurs while trying to read the specified file. */ public static byte[] readBytesFromFile(final String filePath) throws IOException { byte[] val = null; FileInputStream fis = null; try { final File file = new File(filePath); fis = new FileInputStream(file); final long length = file.length(); val = new byte[(int) length]; final File file = new File(filePath); final long length = file.length(); try (FileInputStream fis = new FileInputStream(file)) { byte[] val = new byte[(int) length]; // Read in the bytes int offset = 0; int numRead = 0; @@ -182,10 +179,6 @@ } return val; } finally { if (fis != null) { fis.close(); } } } opendj-sdk/opendj-copyright-maven-plugin/src/main/java/org/forgerock/maven/CopyrightAbstractMojo.java
@@ -25,8 +25,6 @@ */ package org.forgerock.maven; import static org.forgerock.util.Utils.closeSilently; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; @@ -304,11 +302,8 @@ * Check to see whether the provided file has a comment line containing a * copyright without the current year. */ @SuppressWarnings("resource") private boolean checkCopyrightForFile(File changedFile) throws MojoExecutionException { BufferedReader reader = null; try { reader = new BufferedReader(new FileReader(changedFile)); try (BufferedReader reader = new BufferedReader(new FileReader(changedFile))) { String line; while ((line = reader.readLine()) != null) { String lowerLine = line.toLowerCase().trim(); @@ -316,7 +311,6 @@ && lowerLine.contains("copyright") && line.contains(currentYear.toString()) && line.contains(copyrightOwnerToken)) { reader.close(); return true; } } @@ -325,8 +319,6 @@ } catch (IOException ioe) { throw new MojoExecutionException("Could not read file " + changedFile.getPath() + " to check copyright date. No further copyright date checking will be performed."); } finally { closeSilently(reader); } } opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/KeyManagers.java
@@ -22,7 +22,7 @@ * * * Copyright 2010 Sun Microsystems, Inc. * Portions copyright 2012 ForgeRock AS. * Portions copyright 2012-2015 ForgeRock AS. */ package org.forgerock.opendj.ldap; @@ -209,19 +209,8 @@ final String keyStoreFormat = format != null ? format : KeyStore.getDefaultType(); final KeyStore keyStore = KeyStore.getInstance(keyStoreFormat); FileInputStream fos = null; try { fos = new FileInputStream(keyStoreFile); try (FileInputStream fos = new FileInputStream(keyStoreFile)) { keyStore.load(fos, password); } finally { if (fos != null) { try { fos.close(); } catch (final IOException ignored) { // Ignore. } } } final KeyManagerFactory kmf = opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/TrustManagers.java
@@ -22,7 +22,7 @@ * * * Copyright 2010 Sun Microsystems, Inc. * Portions copyright 2012-2014 ForgeRock AS. * Portions copyright 2012-2015 ForgeRock AS. */ package org.forgerock.opendj.ldap; @@ -326,19 +326,8 @@ final String trustStoreFormat = format != null ? format : KeyStore.getDefaultType(); final KeyStore keyStore = KeyStore.getInstance(trustStoreFormat); FileInputStream fos = null; try { fos = new FileInputStream(trustStoreFile); try (FileInputStream fos = new FileInputStream(trustStoreFile)) { keyStore.load(fos, password); } finally { if (fos != null) { try { fos.close(); } catch (final IOException ignored) { // Ignore. } } } final TrustManagerFactory tmf = opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldif/AbstractLDIFReader.java
@@ -288,11 +288,9 @@ throw DecodeException.error(message); } InputStream inputStream = null; ByteStringBuilder builder = null; try { try (InputStream inputStream = contentURL.openConnection().getInputStream()) { builder = new ByteStringBuilder(); inputStream = contentURL.openConnection().getInputStream(); int bytesRead; final byte[] buffer = new byte[4096]; @@ -310,14 +308,6 @@ ERR_LDIF_URL_IO_ERROR.get(entryDN.toString(), record.lineNumber, attrName, String.valueOf(contentURL), String.valueOf(e)); throw DecodeException.error(message); } finally { if (inputStream != null) { try { inputStream.close(); } catch (final Exception e) { // Ignore. } } } } else { /* opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldif/LDIF.java
@@ -22,7 +22,6 @@ * * Copyright 2011-2015 ForgeRock AS */ package org.forgerock.opendj.ldif; import static com.forgerock.opendj.ldap.CoreMessages.*; @@ -67,7 +66,6 @@ import org.forgerock.opendj.ldap.requests.SearchRequest; import org.forgerock.opendj.ldap.schema.AttributeUsage; import org.forgerock.opendj.ldap.schema.Schema; import org.forgerock.util.Utils; /** * This class contains common utility methods for creating and manipulating @@ -321,8 +319,7 @@ */ public static List<Entry> makeEntries(String... ldifLines) { List<Entry> entries = new ArrayList<>(); LDIFEntryReader reader = new LDIFEntryReader(ldifLines); try { try (LDIFEntryReader reader = new LDIFEntryReader(ldifLines)) { while (reader.hasNext()) { entries.add(reader.readEntry()); } @@ -332,8 +329,6 @@ } catch (final IOException e) { // This should never happen for a String based reader. throw new LocalizedIllegalArgumentException(WARN_READ_LDIF_RECORD_UNEXPECTED_IO_ERROR.get(e.getMessage())); } finally { Utils.closeSilently(reader); } if (entries.isEmpty()) { throw new LocalizedIllegalArgumentException(WARN_READ_LDIF_ENTRY_NO_ENTRY_FOUND.get()); opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldif/LDIFChangeRecordReader.java
@@ -24,7 +24,6 @@ * Copyright 2009-2010 Sun Microsystems, Inc. * Portions copyright 2011-2015 ForgeRock AS */ package org.forgerock.opendj.ldif; import java.io.IOException; @@ -61,7 +60,6 @@ import org.forgerock.opendj.ldap.schema.Syntax; import org.forgerock.opendj.ldap.schema.UnknownSchemaElementException; import org.forgerock.util.Reject; import org.forgerock.util.Utils; import static com.forgerock.opendj.ldap.CoreMessages.*; import static com.forgerock.opendj.util.StaticUtils.*; @@ -114,8 +112,7 @@ */ public static ChangeRecord valueOfLDIFChangeRecord(final String... ldifLines) { // LDIF change record reader is tolerant to missing change types. final LDIFChangeRecordReader reader = new LDIFChangeRecordReader(ldifLines); try { try (final LDIFChangeRecordReader reader = new LDIFChangeRecordReader(ldifLines)) { if (!reader.hasNext()) { // No change record found. final LocalizableMessage message = @@ -141,8 +138,6 @@ final LocalizableMessage message = WARN_READ_LDIF_RECORD_UNEXPECTED_IO_ERROR.get(e.getMessage()); throw new LocalizedIllegalArgumentException(message); } finally { Utils.closeSilently(reader); } } opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldif/LDIFChangeRecordWriter.java
@@ -22,7 +22,7 @@ * * * Copyright 2009 Sun Microsystems, Inc. * Portions copyright 2012-2013 ForgeRock AS. * Portions copyright 2012-2015 ForgeRock AS. */ package org.forgerock.opendj.ldif; @@ -82,9 +82,8 @@ */ public static String toString(final ChangeRecord change) { final StringWriter writer = new StringWriter(128); try { new LDIFChangeRecordWriter(writer).setAddUserFriendlyComments(true).writeChangeRecord( change).close(); try (LDIFChangeRecordWriter ldifWriter = new LDIFChangeRecordWriter(writer)) { ldifWriter.setAddUserFriendlyComments(true).writeChangeRecord(change); } catch (final IOException e) { // Should never happen. throw new IllegalStateException(e); opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldif/LDIFEntryReader.java
@@ -24,7 +24,6 @@ * Copyright 2009-2010 Sun Microsystems, Inc. * Portions copyright 2011-2015 ForgeRock AS */ package org.forgerock.opendj.ldif; import static com.forgerock.opendj.ldap.CoreMessages.*; @@ -48,7 +47,6 @@ import org.forgerock.opendj.ldap.schema.Schema; import org.forgerock.opendj.ldap.schema.SchemaValidationPolicy; import org.forgerock.util.Reject; import org.forgerock.util.Utils; /** * An LDIF entry reader reads attribute value records (entries) using the LDAP @@ -75,8 +73,7 @@ * If {@code ldifLines} was {@code null}. */ public static Entry valueOfLDIFEntry(final String... ldifLines) { final LDIFEntryReader reader = new LDIFEntryReader(ldifLines); try { try (final LDIFEntryReader reader = new LDIFEntryReader(ldifLines)) { if (!reader.hasNext()) { // No change record found. final LocalizableMessage message = @@ -102,8 +99,6 @@ final LocalizableMessage message = WARN_READ_LDIF_RECORD_UNEXPECTED_IO_ERROR.get(e.getMessage()); throw new LocalizedIllegalArgumentException(message); } finally { Utils.closeSilently(reader); } } opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldif/LDIFEntryWriter.java
@@ -22,7 +22,7 @@ * * * Copyright 2009-2010 Sun Microsystems, Inc. * Portions copyright 2012-2013 ForgeRock AS. * Portions copyright 2012-2015 ForgeRock AS. */ package org.forgerock.opendj.ldif; @@ -60,8 +60,8 @@ */ public static String toString(final Entry entry) { final StringWriter writer = new StringWriter(128); try { new LDIFEntryWriter(writer).setAddUserFriendlyComments(true).writeEntry(entry).close(); try (LDIFEntryWriter ldifWriter = new LDIFEntryWriter(writer)) { ldifWriter.setAddUserFriendlyComments(true).writeEntry(entry); } catch (final IOException e) { // Should never happen. throw new IllegalStateException(e); opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldif/TemplateFile.java
@@ -81,7 +81,6 @@ import org.forgerock.opendj.ldif.TemplateTag.UnderscoreParentDNTag; import org.forgerock.util.Pair; import org.forgerock.util.Reject; import org.forgerock.util.Utils; /** * A template file allow to generate entries from a collection of constant @@ -250,28 +249,20 @@ } private void retrieveFirstAndLastNames() throws IOException { BufferedReader first = null; try { first = getReader(FIRST_NAME_FILE); try (BufferedReader first = getReader(FIRST_NAME_FILE)) { if (first == null) { throw DecodeException.fatalError(ERR_ENTRY_GENERATOR_COULD_NOT_FIND_NAME_FILE.get(FIRST_NAME_FILE)); } final List<String> names = readLines(first); firstNames = names.toArray(new String[names.size()]); } finally { Utils.closeSilently(first); } BufferedReader last = null; try { last = getReader(LAST_NAME_FILE); try (BufferedReader last = getReader(LAST_NAME_FILE)) { if (last == null) { throw DecodeException.fatalError(ERR_ENTRY_GENERATOR_COULD_NOT_FIND_NAME_FILE.get(LAST_NAME_FILE)); } final List<String> names = readLines(last); lastNames = names.toArray(new String[names.size()]); } finally { Utils.closeSilently(first); } } @@ -362,9 +353,7 @@ * If any other problem occurs while parsing the template file. */ void parse(String templateFilename, List<LocalizableMessage> warnings) throws IOException, DecodeException { BufferedReader templateReader = null; try { templateReader = getReader(templateFilename); try (BufferedReader templateReader = getReader(templateFilename)) { if (templateReader == null) { throw DecodeException.fatalError( ERR_ENTRY_GENERATOR_COULD_NOT_FIND_TEMPLATE_FILE.get(templateFilename)); @@ -379,8 +368,6 @@ final List<String> fileLines = readLines(templateReader); final String[] lines = fileLines.toArray(new String[fileLines.size()]); parse(lines, warnings); } finally { Utils.closeSilently(templateReader); } } @@ -399,14 +386,10 @@ * If any other problem occurs while parsing the template. */ void parse(InputStream inputStream, List<LocalizableMessage> warnings) throws IOException, DecodeException { BufferedReader reader = null; try { reader = new BufferedReader(new InputStreamReader(inputStream)); try (BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) { final List<String> fileLines = readLines(reader); final String[] lines = fileLines.toArray(new String[fileLines.size()]); parse(lines, warnings); } finally { Utils.closeSilently(reader); } } opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldif/TemplateTag.java
@@ -22,7 +22,7 @@ * * * Copyright 2006-2009 Sun Microsystems, Inc. * Portions Copyright 2013 ForgeRock AS * Portions Copyright 2013-2015 ForgeRock AS */ package org.forgerock.opendj.ldif; @@ -44,7 +44,6 @@ import org.forgerock.opendj.ldif.TemplateFile.Template; import org.forgerock.opendj.ldif.TemplateFile.TemplateEntry; import org.forgerock.opendj.ldif.TemplateFile.TemplateValue; import org.forgerock.util.Utils; /** * Represents a tag that may be used in a template line when generating entries. @@ -395,31 +394,21 @@ // The first argument should be the path to the file. final String filePath = arguments[0]; BufferedReader dataReader = null; try { dataReader = templateFile.getReader(filePath); try (BufferedReader dataReader = templateFile.getReader(filePath)) { if (dataReader == null) { LocalizableMessage message = ERR_ENTRY_GENERATOR_TAG_CANNOT_FIND_FILE.get(filePath, getName(), lineNumber); throw DecodeException.fatalError(message); throw DecodeException.fatalError( ERR_ENTRY_GENERATOR_TAG_CANNOT_FIND_FILE.get(filePath, getName(), lineNumber)); } // See if the file has already been read into memory. If not, then // read it. try { fileLines = templateFile.getLines(filePath, dataReader); } catch (IOException ioe) { LocalizableMessage message = ERR_ENTRY_GENERATOR_TAG_CANNOT_READ_FILE.get(filePath, getName(), lineNumber, String.valueOf(ioe)); throw DecodeException.fatalError(message, ioe); } } finally { Utils.closeSilently(dataReader); // See if the file has already been read into memory. If not, then read it. fileLines = templateFile.getLines(filePath, dataReader); } catch (IOException e) { throw DecodeException.fatalError( ERR_ENTRY_GENERATOR_TAG_CANNOT_READ_FILE.get(filePath, getName(), lineNumber, e), e); } // If there is a second argument, then it should be either // "sequential" or "random". If there isn't one, then we should // assume "random". // If there is a second argument, then it should be either "sequential" or "random". // If there isn't one, then we should assume "random". if (arguments.length == 2) { if ("sequential".equalsIgnoreCase(arguments[1])) { isSequential = true; @@ -854,11 +843,7 @@ @Override TagResult generateValue(TemplateEntry templateEntry, TemplateValue templateValue) { int intValue = random.nextInt(100); if (intValue < percentage) { return TagResult.SUCCESS; } else { return TagResult.FAILURE; } return intValue < percentage ? TagResult.SUCCESS : TagResult.FAILURE; } } opendj-sdk/opendj-core/src/test/java/org/forgerock/opendj/ldap/TestCaseUtils.java
@@ -22,7 +22,7 @@ * * * Copyright 2009-2010 Sun Microsystems, Inc. * Portions Copyright 2012-2014 ForgeRock AS. * Portions Copyright 2012-2015 ForgeRock AS. */ package org.forgerock.opendj.ldap; @@ -31,7 +31,6 @@ import java.io.IOException; import java.net.InetSocketAddress; import java.net.ServerSocket; import java.net.SocketAddress; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; @@ -66,13 +65,12 @@ final File f = File.createTempFile("LDIFBasedTestCase", ".txt"); f.deleteOnExit(); final FileWriter w = new FileWriter(f); for (final String s : lines) { w.write(s + System.getProperty("line.separator")); try (final FileWriter w = new FileWriter(f)) { for (final String s : lines) { w.write(s + System.getProperty("line.separator")); } } w.close(); return f.getAbsolutePath(); } @@ -101,13 +99,10 @@ * @return The free port. */ public static InetSocketAddress findFreeSocketAddress() { try { ServerSocket serverLdapSocket = new ServerSocket(); try (ServerSocket serverLdapSocket = new ServerSocket()) { serverLdapSocket.setReuseAddress(true); serverLdapSocket.bind(new InetSocketAddress("127.0.0.1", 0)); final SocketAddress address = serverLdapSocket.getLocalSocketAddress(); serverLdapSocket.close(); return (InetSocketAddress) address; return (InetSocketAddress) serverLdapSocket.getLocalSocketAddress(); } catch (IOException e) { throw new RuntimeException(e); } opendj-sdk/opendj-core/src/test/java/org/forgerock/opendj/ldif/ConnectionChangeRecordWriterTestCase.java
@@ -22,7 +22,7 @@ * * * Copyright 2009-2010 Sun Microsystems, Inc. * Portions Copyright 2012-2014 ForgeRock AS. * Portions Copyright 2012-2015 ForgeRock AS. */ package org.forgerock.opendj.ldif; @@ -88,14 +88,9 @@ @Test public final void testWriteChangeRecordAddRequest() throws Exception { Connection connection = mock(Connection.class); ConnectionChangeRecordWriter writer = null; try { writer = new ConnectionChangeRecordWriter(connection); try (ConnectionChangeRecordWriter writer = new ConnectionChangeRecordWriter(connection)) { writer.writeChangeRecord(Requests.newAddRequest(getStandardLDIFChangeRecord())); verify(connection, times(1)).add(any(AddRequest.class)); } finally { writer.close(); } } @@ -107,12 +102,8 @@ @Test(expectedExceptions = NullPointerException.class) public final void testWriteChangeRecordAddRequestDoesntAllowNull() throws Exception { final Connection connection = mock(Connection.class); ConnectionChangeRecordWriter writer = null; try { writer = new ConnectionChangeRecordWriter(connection); try (ConnectionChangeRecordWriter writer = new ConnectionChangeRecordWriter(connection)) { writer.writeChangeRecord((AddRequest) null); } finally { writer.close(); } } @@ -125,15 +116,10 @@ @Test public final void testWriteChangeRecordContainingAddRequest() throws Exception { Connection connection = mock(Connection.class); ConnectionChangeRecordWriter writer = null; try { writer = new ConnectionChangeRecordWriter(connection); try (ConnectionChangeRecordWriter writer = new ConnectionChangeRecordWriter(connection)) { writer.writeChangeRecord(Requests.newChangeRecord(getStandardLDIFChangeRecord())); Assert.assertTrue(Requests.newChangeRecord(getStandardLDIFChangeRecord()) instanceof AddRequest); verify(connection, times(1)).add(any(AddRequest.class)); } finally { writer.close(); } } @@ -146,10 +132,7 @@ @Test public final void testWriteChangeRecordContainingDeleteRequest() throws Exception { Connection connection = mock(Connection.class); ConnectionChangeRecordWriter writer = null; try { writer = new ConnectionChangeRecordWriter(connection); try (ConnectionChangeRecordWriter writer = new ConnectionChangeRecordWriter(connection)) { // @formatter:off ChangeRecord cr = Requests.newChangeRecord( "dn: dc=example,dc=com", @@ -159,8 +142,6 @@ // @formatter:on Assert.assertTrue(cr instanceof DeleteRequest); verify(connection, times(1)).delete(any(DeleteRequest.class)); } finally { writer.close(); } } @@ -172,10 +153,7 @@ @Test(expectedExceptions = LocalizedIllegalArgumentException.class) public final void testWriteChangeRecordDoesntAllowMultipleLDIF() throws Exception { Connection connection = mock(Connection.class); ConnectionChangeRecordWriter writer = null; try { writer = new ConnectionChangeRecordWriter(connection); try (ConnectionChangeRecordWriter writer = new ConnectionChangeRecordWriter(connection)) { // @formatter:off writer.writeChangeRecord(Requests.newChangeRecord( "dn: uid=scarter,ou=People,dc=example,dc=com", @@ -189,9 +167,6 @@ "sn: Amarr") ); // @formatter:on } finally { writer.close(); } } @@ -205,7 +180,6 @@ @Test(expectedExceptions = RuntimeException.class) public final void testWriteChangeRecordChangeAcceptSendIOException() throws Exception { Connection connection = mock(Connection.class); ConnectionChangeRecordWriter writer = null; ChangeRecord cr = mock(ChangeRecord.class); when(cr.accept(any(ChangeRecordVisitor.class), any(ConnectionChangeRecordWriter.class))) @@ -222,11 +196,8 @@ } }); try { writer = new ConnectionChangeRecordWriter(connection); try (ConnectionChangeRecordWriter writer = new ConnectionChangeRecordWriter(connection)) { writer.writeChangeRecord(cr); } finally { writer.close(); } } @@ -240,7 +211,6 @@ @Test(expectedExceptions = LdapException.class) public final void testWriteChangeRecordChangeAcceptSendLdapException() throws Exception { Connection connection = mock(Connection.class); ConnectionChangeRecordWriter writer = null; ChangeRecord cr = mock(ChangeRecord.class); when(cr.accept(any(ChangeRecordVisitor.class), any(ConnectionChangeRecordWriter.class))) @@ -257,11 +227,8 @@ } }); try { writer = new ConnectionChangeRecordWriter(connection); try (ConnectionChangeRecordWriter writer = new ConnectionChangeRecordWriter(connection)) { writer.writeChangeRecord(cr); } finally { writer.close(); } } @@ -273,12 +240,8 @@ @Test(expectedExceptions = NullPointerException.class) public final void testWriteChangeRecordChangeRecordDoesntAllowNull() throws Exception { final Connection connection = mock(Connection.class); ConnectionChangeRecordWriter writer = null; try { writer = new ConnectionChangeRecordWriter(connection); try (ConnectionChangeRecordWriter writer = new ConnectionChangeRecordWriter(connection)) { writer.writeChangeRecord((ChangeRecord) null); } finally { writer.close(); } } @@ -290,15 +253,11 @@ @Test public final void testWriteChangeRecordDeleteRequest() throws Exception { Connection connection = mock(Connection.class); ConnectionChangeRecordWriter writer = null; try { try (ConnectionChangeRecordWriter writer = new ConnectionChangeRecordWriter(connection)) { ChangeRecord cr = Requests.newDeleteRequest(DN.valueOf("cn=scarter,dc=example,dc=com")); writer = new ConnectionChangeRecordWriter(connection); writer.writeChangeRecord(cr); verify(connection, times(1)).delete(any(DeleteRequest.class)); } finally { writer.close(); } } @@ -310,12 +269,8 @@ @Test(expectedExceptions = NullPointerException.class) public final void testWriteChangeRecordDeleteRequestDoesntAllowNull() throws Exception { final Connection connection = mock(Connection.class); ConnectionChangeRecordWriter writer = null; try { writer = new ConnectionChangeRecordWriter(connection); try (ConnectionChangeRecordWriter writer = new ConnectionChangeRecordWriter(connection)) { writer.writeChangeRecord((DeleteRequest) null); } finally { writer.close(); } } @@ -327,19 +282,15 @@ @Test public final void testWriteChangeRecordModifyDNRequest() throws Exception { Connection connection = mock(Connection.class); ConnectionChangeRecordWriter writer = null; try { try (ConnectionChangeRecordWriter writer = new ConnectionChangeRecordWriter(connection)) { // @formatter:off ChangeRecord cr = Requests.newModifyDNRequest( "cn=scarter,dc=example,dc=com", "cn=Susan Jacobs"); //@formatter:on writer = new ConnectionChangeRecordWriter(connection); writer.writeChangeRecord(cr); verify(connection, times(1)).modifyDN(any(ModifyDNRequest.class)); } finally { writer.close(); } } @@ -351,12 +302,8 @@ @Test(expectedExceptions = NullPointerException.class) public final void testWriteChangeRecordModifyDNRequestDoesntAllowNull() throws Exception { final Connection connection = mock(Connection.class); ConnectionChangeRecordWriter writer = null; try { writer = new ConnectionChangeRecordWriter(connection); try (ConnectionChangeRecordWriter writer = new ConnectionChangeRecordWriter(connection)) { writer.writeChangeRecord((ModifyDNRequest) null); } finally { writer.close(); } } @@ -368,10 +315,7 @@ @Test public final void testWriteChangeRecordModifyRequest() throws Exception { Connection connection = mock(Connection.class); ConnectionChangeRecordWriter writer = null; try { writer = new ConnectionChangeRecordWriter(connection); try (ConnectionChangeRecordWriter writer = new ConnectionChangeRecordWriter(connection)) { // @formatter:off ChangeRecord cr = Requests.newModifyRequest( "dn: cn=Fiona Jensen, ou=Marketing, dc=airius, dc=com", @@ -382,8 +326,6 @@ writer.writeChangeRecord(cr); // @formatter:on verify(connection, times(1)).modify(any(ModifyRequest.class)); } finally { writer.close(); } } @@ -395,12 +337,8 @@ @Test(expectedExceptions = NullPointerException.class) public final void testWriteChangeRecordModifyRequestDoesntAllowNull() throws Exception { final Connection connection = mock(Connection.class); ConnectionChangeRecordWriter writer = null; try { writer = new ConnectionChangeRecordWriter(connection); try (ConnectionChangeRecordWriter writer = new ConnectionChangeRecordWriter(connection)) { writer.writeChangeRecord((ModifyRequest) null); } finally { writer.close(); } } @@ -413,17 +351,12 @@ @Test public final void testWriteCommentDoNotSupportComment() throws Exception { Connection connection = mock(Connection.class); ConnectionChangeRecordWriter writer = null; try { writer = new ConnectionChangeRecordWriter(connection); try (ConnectionChangeRecordWriter writer = new ConnectionChangeRecordWriter(connection)) { writer.writeComment("# A new comment"); verify(connection, Mockito.never()).add(any(String.class)); verify(connection, Mockito.never()).delete(any(String.class)); verify(connection, Mockito.never()).modify(any(String.class)); verify(connection, Mockito.never()).modifyDN(any(String.class), any(String.class)); } finally { writer.close(); } } @@ -435,12 +368,8 @@ @Test(expectedExceptions = NullPointerException.class) public final void testWriteCommentDoesntAllowNull() throws Exception { final Connection connection = mock(Connection.class); ConnectionChangeRecordWriter writer = null; try { writer = new ConnectionChangeRecordWriter(connection); try (ConnectionChangeRecordWriter writer = new ConnectionChangeRecordWriter(connection)) { writer.writeComment(null); } finally { writer.close(); } } @@ -451,11 +380,8 @@ */ @Test(expectedExceptions = NullPointerException.class) public final void testConnectionChangeRecordWriterDoesntAllowNull() throws Exception { ConnectionChangeRecordWriter writer = null; try { writer = new ConnectionChangeRecordWriter(null); } finally { writer.close(); try (ConnectionChangeRecordWriter writer = new ConnectionChangeRecordWriter(null)) { // nothing more to do } } @@ -468,11 +394,9 @@ @Test public final void testConnectionChangeRecordWriterClose() throws Exception { Connection connection = mock(Connection.class); ConnectionChangeRecordWriter writer = null; try { writer = new ConnectionChangeRecordWriter(connection); try (ConnectionChangeRecordWriter writer = new ConnectionChangeRecordWriter(connection)) { // nothing more to do } finally { writer.close(); verify(connection, times(1)).close(); } } opendj-sdk/opendj-core/src/test/java/org/forgerock/opendj/ldif/EntryGeneratorTestCase.java
@@ -26,8 +26,9 @@ package org.forgerock.opendj.ldif; import static com.forgerock.opendj.ldap.CoreMessages.*; import static org.fest.assertions.Assertions.*; import static org.forgerock.opendj.ldap.TestCaseUtils.getTestFilePath; import static org.forgerock.opendj.ldap.TestCaseUtils.*; import static org.forgerock.opendj.ldap.schema.CoreSchema.*; import java.io.File; @@ -74,52 +75,35 @@ @Test(enabled = false) public void printEntriesToStdOut() throws Exception { String path = SUBTEMPLATES_TEMPLATE_PATH; EntryGenerator generator = null; try { generator = new EntryGenerator(getTestFilePath(path)).setResourcePath(resourcePath); try (EntryGenerator generator = new EntryGenerator(getTestFilePath(path)).setResourcePath(resourcePath)) { while (generator.hasNext()) { System.out.println(generator.readEntry()); } } finally { Utils.closeSilently(generator); } } @Test public void testCreateWithDefaultTemplateFile() throws Exception { EntryGenerator generator = null; try { generator = new EntryGenerator(); try (EntryGenerator generator = new EntryGenerator()) { assertThat(generator.hasNext()).isTrue(); } finally { Utils.closeSilently(generator); } } @Test(expectedExceptions = DecodeException.class, expectedExceptionsMessageRegExp = ".*Could not find template file unknown.*") public void testCreateWithMissingTemplateFile() throws Exception { EntryGenerator generator = null; try { generator = new EntryGenerator("unknown/path"); try (EntryGenerator generator = new EntryGenerator("unknown/path")) { generator.hasNext(); } finally { Utils.closeSilently(generator); } } @Test public void testCreateWithSetConstants() throws Exception { EntryGenerator generator = null; try { generator = new EntryGenerator().setConstant("numusers", 1); try (EntryGenerator generator = new EntryGenerator().setConstant("numusers", 1)) { generator.readEntry(); generator.readEntry(); assertThat(generator.readEntry().getName().toString()).isEqualTo("uid=user.0,ou=People,dc=example,dc=com"); assertThat(generator.hasNext()).as("should have no more entries").isFalse(); } finally { Utils.closeSilently(generator); } } @@ -272,15 +256,15 @@ Attribute ocAttribute = entry.getAttribute(getObjectClassAttributeType().getNameOrOID()); assertThat(ocAttribute).isNotNull(); Iterator<ByteString> it = ocAttribute.iterator(); for (int i = 0; i < objectClasses.length; i++) { assertThat(it.next().toString()).isEqualTo(objectClasses[i]); for (String objectClass : objectClasses) { assertThat(it.next().toString()).isEqualTo(objectClass); } assertThat(it.hasNext()).isFalse(); } private void checkPresenceOfAttributes(Entry entry, String... attributes) { for (int i = 0; i < attributes.length; i++) { assertThat(entry.getAttribute(attributes[i])).isNotNull(); for (String attribute : attributes) { assertThat(entry.getAttribute(attribute)).isNotNull(); } } @@ -576,17 +560,13 @@ @Test(dataProvider = "templatesToTestEscapeChars", dependsOnMethods = { "testParsingEscapeCharInTemplate" }) public void testEscapeCharsFromTemplate(String testName, String[] lines, String attrName, String expectedValue) throws Exception { EntryGenerator generator = null; try { generator = new EntryGenerator(lines).setResourcePath(resourcePath); try (EntryGenerator generator = new EntryGenerator(lines).setResourcePath(resourcePath)) { Entry topEntry = generator.readEntry(); Entry entry = generator.readEntry(); assertThat(topEntry).isNotNull(); assertThat(entry).isNotNull(); assertThat(entry.getAttribute(attrName).firstValueAsString()).isEqualTo(expectedValue); } finally { Utils.closeSilently(generator); } } @@ -609,17 +589,13 @@ // from [A-Z]. "cn: Foo \\<<random:chars:ABCDEFGHIJKLMNOPQRSTUVWXYZ:1>\\>\\{1\\}{sn}", "" }; EntryGenerator generator = null; try { generator = new EntryGenerator(lines).setResourcePath(resourcePath); try (EntryGenerator generator = new EntryGenerator(lines).setResourcePath(resourcePath)) { Entry topEntry = generator.readEntry(); Entry entry = generator.readEntry(); assertThat(topEntry).isNotNull(); assertThat(entry).isNotNull(); assertThat(entry.getAttribute("cn").firstValueAsString()).matches("Foo <[A-Z]>\\{1\\}Bar"); } finally { Utils.closeSilently(generator); } } } opendj-sdk/opendj-doc-maven-plugin/src/main/java/org/forgerock/opendj/maven/doc/Utils.java
@@ -124,9 +124,9 @@ */ static void writeStringToFile(final String string, final File file) throws IOException { createFile(file); PrintWriter printWriter = new PrintWriter(file); printWriter.print(string); printWriter.close(); try (PrintWriter printWriter = new PrintWriter(file)) { printWriter.print(string); } } /** opendj-sdk/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/Controls.java
@@ -112,9 +112,7 @@ final int port = Integer.parseInt(args[1]); final LDAPConnectionFactory factory = new LDAPConnectionFactory(host, port); Connection connection = null; try { connection = factory.getConnection(); try (Connection connection = factory.getConnection()) { checkSupportedControls(connection); final String user = "cn=Directory Manager"; @@ -149,10 +147,6 @@ System.err.println(e.getMessage()); System.exit(e.getResult().getResultCode().intValue()); return; } finally { if (connection != null) { connection.close(); } } } @@ -265,10 +259,8 @@ connection.modify(request); final LDIFEntryWriter writer = new LDIFEntryWriter(System.out); try { try (final LDIFEntryWriter writer = new LDIFEntryWriter(System.out)) { writer.writeEntry(connection.readEntry(dn, "description")); writer.close(); } catch (final IOException e) { System.err.println(e.getMessage()); System.exit(ResultCode.CLIENT_SIDE_LOCAL_ERROR.intValue()); @@ -341,15 +333,13 @@ true, authDN, "cn")); final ConnectionEntryReader reader = connection.search(request); final LDIFEntryWriter writer = new LDIFEntryWriter(System.out); try { try (final LDIFEntryWriter writer = new LDIFEntryWriter(System.out)) { while (reader.hasNext()) { if (!reader.isReference()) { final SearchResultEntry entry = reader.readEntry(); writer.writeEntry(entry); } } writer.close(); } catch (final LdapException e) { System.err.println(e.getMessage()); System.exit(e.getResult().getResultCode().intValue()); opendj-sdk/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/DataSource.java
@@ -59,14 +59,11 @@ public IncrementLineFileDataSource(final String file) throws IOException { lines = new ArrayList<>(); final BufferedReader in = new BufferedReader(new FileReader(file)); try { try (final BufferedReader in = new BufferedReader(new FileReader(file))) { String line; while ((line = in.readLine()) != null) { lines.add(line); } } finally { in.close(); } } @@ -127,14 +124,11 @@ public RandomLineFileDataSource(final long seed, final String file) throws IOException { lines = new ArrayList<>(); random = new Random(seed); final BufferedReader in = new BufferedReader(new FileReader(file)); try { try (final BufferedReader in = new BufferedReader(new FileReader(file))) { String line; while ((line = in.readLine()) != null) { lines.add(line); } } finally { in.close(); } }