opendj3-server-dev/src/server/org/opends/server/admin/PropertyDefinitionUsageBuilder.java
@@ -25,17 +25,16 @@ * Portions Copyright 2014 ForgeRock AS */ package org.opends.server.admin; import org.forgerock.i18n.LocalizableMessage; import org.forgerock.i18n.LocalizableMessageBuilder; import org.forgerock.util.Utils; import java.text.NumberFormat; import java.util.EnumSet; import java.util.Set; import java.util.TreeSet; /** * A property definition visitor which can be used to generate syntax * usage information. @@ -189,22 +188,10 @@ } } else { Set<String> values = new TreeSet<String>(); for (Object value : EnumSet.allOf(d.getEnumClass())) { values.add(value.toString().trim().toLowerCase()); } boolean isFirst = true; LocalizableMessageBuilder builder = new LocalizableMessageBuilder(); for (String s : values) { if (!isFirst) { builder.append(" | "); } builder.append(s); isFirst = false; } return builder.toMessage(); return LocalizableMessage.raw(Utils.joinAsString(" | ", values)); } } opendj3-server-dev/src/server/org/opends/server/core/EntryCacheConfigManager.java
@@ -25,50 +25,38 @@ * Portions Copyright 2013-2014 ForgeRock AS. */ package org.opends.server.core; import org.forgerock.i18n.LocalizableMessage; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import java.util.SortedMap; import java.util.TreeMap; import java.util.*; import org.forgerock.i18n.LocalizableMessage; import org.forgerock.i18n.slf4j.LocalizedLogger; import org.forgerock.util.Utils; import org.opends.server.admin.ClassPropertyDefinition; import org.opends.server.admin.server.ConfigurationAddListener; import org.opends.server.admin.server.ConfigurationChangeListener; import org.opends.server.admin.server.ConfigurationDeleteListener; import org.opends.server.admin.server.ServerManagementContext; import org.opends.server.admin.std.server.EntryCacheCfg; import org.opends.server.admin.std.server.RootCfg; import org.opends.server.admin.std.meta.EntryCacheCfgDefn; import org.opends.server.api.EntryCache; import org.opends.server.config.ConfigException; import org.forgerock.i18n.slf4j.LocalizedLogger; import org.opends.server.types.ConfigChangeResult; import org.opends.server.types.InitializationException; import org.opends.server.types.ResultCode; import org.forgerock.i18n.LocalizableMessageBuilder; import org.opends.server.admin.std.server.EntryCacheCfg; import org.opends.server.admin.std.server.EntryCacheMonitorProviderCfg; import org.opends.server.admin.std.server.RootCfg; import org.opends.server.api.Backend; import org.opends.server.api.EntryCache; import org.opends.server.config.ConfigConstants; import org.opends.server.config.ConfigEntry; import org.opends.server.config.ConfigException; import org.opends.server.extensions.DefaultEntryCache; import org.opends.server.monitors.EntryCacheMonitorProvider; import org.opends.server.types.ConfigChangeResult; import org.opends.server.types.DN; import org.opends.server.types.InitializationException; import org.opends.server.types.ResultCode; import static org.opends.messages.ExtensionMessages.*; import static org.opends.messages.ConfigMessages.*; import static org.opends.messages.ExtensionMessages.*; import static org.opends.server.util.StaticUtils.*; /** * This class defines a utility that will be used to manage the configuration * for the Directory Server entry cache. The default entry cache is always @@ -615,9 +603,9 @@ // it instead of creating a new one unless explicit init is requested. EntryCache<? extends EntryCacheCfg> cache; if (initialize || (entryCache == null)) { cache = (EntryCache<? extends EntryCacheCfg>) cacheClass.newInstance(); cache = cacheClass.newInstance(); } else { cache = (EntryCache<? extends EntryCacheCfg>) entryCache; cache = entryCache; } if (initialize) @@ -640,18 +628,7 @@ unacceptableReasons); if (! acceptable) { LocalizableMessageBuilder buffer = new LocalizableMessageBuilder(); if (! unacceptableReasons.isEmpty()) { Iterator<LocalizableMessage> iterator = unacceptableReasons.iterator(); buffer.append(iterator.next()); while (iterator.hasNext()) { buffer.append(". "); buffer.append(iterator.next()); } } String buffer = Utils.joinAsString(". ", unacceptableReasons); throw new InitializationException( ERR_CONFIG_ENTRYCACHE_CONFIG_NOT_ACCEPTABLE.get(configuration.dn(), buffer)); } opendj3-server-dev/src/server/org/opends/server/core/PluginConfigManager.java
@@ -26,15 +26,14 @@ */ package org.opends.server.core; import java.lang.reflect.Method; import java.util.*; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.locks.ReentrantLock; import org.forgerock.i18n.LocalizableMessage; import org.forgerock.i18n.LocalizableMessageBuilder; import org.forgerock.i18n.slf4j.LocalizedLogger; import org.forgerock.util.Utils; import org.opends.server.admin.ClassPropertyDefinition; import org.opends.server.admin.server.ConfigurationAddListener; import org.opends.server.admin.server.ConfigurationChangeListener; @@ -45,9 +44,11 @@ import org.opends.server.admin.std.server.PluginRootCfg; import org.opends.server.admin.std.server.RootCfg; import org.opends.server.api.ClientConnection; import org.opends.server.api.plugin.*; import org.opends.server.api.plugin.DirectoryServerPlugin; import org.opends.server.api.plugin.InternalDirectoryServerPlugin; import org.opends.server.api.plugin.PluginResult; import org.opends.server.api.plugin.PluginType; import org.opends.server.config.ConfigException; import org.forgerock.i18n.slf4j.LocalizedLogger; import org.opends.server.types.*; import org.opends.server.types.operation.*; @@ -55,8 +56,6 @@ import static org.opends.messages.PluginMessages.*; import static org.opends.server.util.StaticUtils.*; /** * This class defines a utility that will be used to manage the configuration * for the set of plugins defined in the Directory Server. It will perform the @@ -379,18 +378,7 @@ unacceptableReasons); if (! acceptable) { LocalizableMessageBuilder buffer = new LocalizableMessageBuilder(); if (! unacceptableReasons.isEmpty()) { Iterator<LocalizableMessage> iterator = unacceptableReasons.iterator(); buffer.append(iterator.next()); while (iterator.hasNext()) { buffer.append(". "); buffer.append(iterator.next()); } } String buffer = Utils.joinAsString(". ", unacceptableReasons); throw new InitializationException( ERR_CONFIG_PLUGIN_CONFIG_NOT_ACCEPTABLE.get(configuration.dn(), buffer)); } opendj3-server-dev/src/server/org/opends/server/extensions/ConfigFileHandler.java
@@ -1220,19 +1220,8 @@ if (resultCode != ResultCode.SUCCESS) { LocalizableMessageBuilder buffer = new LocalizableMessageBuilder(); if (! messages.isEmpty()) { Iterator<LocalizableMessage> iterator = messages.iterator(); buffer.append(iterator.next()); while (iterator.hasNext()) { buffer.append(". "); buffer.append(iterator.next()); } } LocalizableMessage message = ERR_CONFIG_FILE_ADD_APPLY_FAILED.get(buffer); String reasons = Utils.joinAsString(". ", messages); LocalizableMessage message = ERR_CONFIG_FILE_ADD_APPLY_FAILED.get(reasons); throw new DirectoryException(resultCode, message); } } @@ -1518,19 +1507,8 @@ if (resultCode != ResultCode.SUCCESS) { LocalizableMessageBuilder buffer = new LocalizableMessageBuilder(); if (! messages.isEmpty()) { Iterator<LocalizableMessage> iterator = messages.iterator(); buffer.append(iterator.next()); while (iterator.hasNext()) { buffer.append(". "); buffer.append(iterator.next()); } } LocalizableMessage message = ERR_CONFIG_FILE_MODIFY_APPLY_FAILED.get(buffer); String reasons = Utils.joinAsString(". ", messages); LocalizableMessage message = ERR_CONFIG_FILE_MODIFY_APPLY_FAILED.get(reasons); throw new DirectoryException(resultCode, message); } } @@ -3225,20 +3203,7 @@ boolean adminActionRequired = result.adminActionRequired(); List<LocalizableMessage> messages = result.getMessages(); LocalizableMessageBuilder messageBuffer = new LocalizableMessageBuilder(); if (messages != null) { for (LocalizableMessage s : messages) { if (messageBuffer.length() > 0) { messageBuffer.append(" "); } messageBuffer.append(s); } } String messageBuffer = Utils.joinAsString(" ", messages); if (resultCode != ResultCode.SUCCESS) { logger.error(ERR_CONFIG_CHANGE_RESULT_ERROR, className, methodName, opendj3-server-dev/src/server/org/opends/server/extensions/FIFOEntryCache.java
@@ -26,18 +26,14 @@ */ package org.opends.server.extensions; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.*; import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantReadWriteLock; import org.forgerock.i18n.LocalizableMessage; import org.forgerock.i18n.slf4j.LocalizedLogger; import org.forgerock.util.Utils; import org.opends.server.admin.server.ConfigurationChangeListener; import org.opends.server.admin.std.server.EntryCacheCfg; import org.opends.server.admin.std.server.FIFOEntryCacheCfg; @@ -45,8 +41,6 @@ import org.opends.server.api.EntryCache; import org.opends.server.config.ConfigException; import org.opends.server.core.DirectoryServer; import org.forgerock.i18n.LocalizableMessage; import org.forgerock.i18n.slf4j.LocalizedLogger; import org.opends.server.types.CacheEntry; import org.opends.server.types.ConfigChangeResult; import org.opends.server.types.DN; @@ -56,12 +50,9 @@ import org.opends.server.types.SearchFilter; import org.opends.server.types.Attribute; import org.opends.server.util.ServerConstants; import org.forgerock.i18n.LocalizableMessageBuilder; import static org.opends.messages.ExtensionMessages.*; /** * This class defines a Directory Server entry cache that uses a FIFO to keep * track of the entries. Entries that have been in the cache the longest are @@ -169,15 +160,7 @@ EntryCacheCommon.ConfigPhase.PHASE_INIT, null, errorMessages ); if (!processEntryCacheConfig(configuration, applyChanges, errorHandler)) { LocalizableMessageBuilder buffer = new LocalizableMessageBuilder(); if (!errorMessages.isEmpty()) { Iterator<LocalizableMessage> iterator = errorMessages.iterator(); buffer.append(iterator.next()); while (iterator.hasNext()) { buffer.append(". "); buffer.append(iterator.next()); } } String buffer = Utils.joinAsString(". ", errorMessages); throw new ConfigException(ERR_FIFOCACHE_CANNOT_INITIALIZE.get(buffer)); } } @@ -1050,6 +1033,7 @@ /** * {@inheritDoc} */ @Override public String toVerboseString() { StringBuilder sb = new StringBuilder(); opendj3-server-dev/src/server/org/opends/server/extensions/FileSystemEntryCache.java
@@ -26,21 +26,13 @@ */ package org.opends.server.extensions; import java.util.ArrayList; import java.util.HashSet; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Iterator; import java.util.Map; import java.util.Set; import java.util.SortedSet; import java.util.StringTokenizer; import java.io.File; import java.util.*; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantReadWriteLock; import java.util.concurrent.atomic.AtomicLong; import java.io.File; import com.sleepycat.bind.EntryBinding; import com.sleepycat.bind.serial.SerialBinding; import com.sleepycat.bind.serial.StoredClassCatalog; @@ -56,28 +48,29 @@ import com.sleepycat.je.StatsConfig; import com.sleepycat.je.config.ConfigParam; import com.sleepycat.je.config.EnvironmentParams; import org.forgerock.i18n.LocalizableMessage; import org.forgerock.i18n.LocalizableMessageBuilder; import org.opends.server.api.Backend; import org.opends.server.api.EntryCache; import org.opends.server.admin.std.server.EntryCacheCfg; import org.opends.server.admin.std.server.FileSystemEntryCacheCfg; import org.forgerock.i18n.slf4j.LocalizedLogger; import org.forgerock.opendj.ldap.ByteString; import org.forgerock.opendj.ldap.ByteStringBuilder; import org.forgerock.util.Utils; import org.opends.server.admin.server.ConfigurationChangeListener; import org.opends.server.admin.server.ServerManagementContext; import org.opends.server.admin.std.server.EntryCacheCfg; import org.opends.server.admin.std.server.FileSystemEntryCacheCfg; import org.opends.server.admin.std.server.RootCfg; import org.opends.server.api.Backend; import org.opends.server.api.EntryCache; import org.opends.server.backends.jeb.ConfigurableEnvironment; import org.opends.server.config.ConfigException; import org.opends.server.core.DirectoryServer; import org.forgerock.i18n.slf4j.LocalizedLogger; import org.opends.server.types.*; import org.forgerock.opendj.ldap.ByteString; import org.forgerock.opendj.ldap.ByteStringBuilder; import org.opends.server.util.ServerConstants; import static org.opends.server.config.ConfigConstants.*; import static org.opends.messages.ExtensionMessages.*; import static org.opends.server.util.StaticUtils.*; import static org.opends.messages.ConfigMessages.*; import static org.opends.messages.ExtensionMessages.*; import static org.opends.server.config.ConfigConstants.*; import static org.opends.server.util.StaticUtils.*; /** * This class defines a Directory Server entry cache that uses JE database to @@ -221,15 +214,7 @@ EntryCacheCommon.ConfigPhase.PHASE_INIT, null, errorMessages ); if (!processEntryCacheConfig(configuration, applyChanges, errorHandler)) { LocalizableMessageBuilder buffer = new LocalizableMessageBuilder(); if (!errorMessages.isEmpty()) { Iterator<LocalizableMessage> iterator = errorMessages.iterator(); buffer.append(iterator.next()); while (iterator.hasNext()) { buffer.append(". "); buffer.append(iterator.next()); } } String buffer = Utils.joinAsString(". ", errorMessages); throw new ConfigException(ERR_FSCACHE_CANNOT_INITIALIZE.get(buffer)); } opendj3-server-dev/src/server/org/opends/server/extensions/SoftReferenceEntryCache.java
@@ -26,27 +26,24 @@ */ package org.opends.server.extensions; import java.lang.ref.ReferenceQueue; import java.lang.ref.SoftReference; import java.util.ArrayList; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.concurrent.ConcurrentHashMap; import org.forgerock.i18n.LocalizableMessage; import org.forgerock.i18n.LocalizableMessageBuilder; import org.forgerock.i18n.LocalizableMessage; import org.forgerock.i18n.slf4j.LocalizedLogger; import org.forgerock.util.Utils; import org.opends.server.admin.server.ConfigurationChangeListener; import org.opends.server.admin.std.server.EntryCacheCfg; import org.opends.server.admin.std.server.SoftReferenceEntryCacheCfg; import org.opends.server.api.Backend; import org.opends.server.api.EntryCache; import org.opends.server.api.DirectoryThread; import org.opends.server.api.EntryCache; import org.opends.server.config.ConfigException; import org.opends.server.core.DirectoryServer; import org.forgerock.i18n.slf4j.LocalizedLogger; import org.opends.server.types.Attribute; import org.opends.server.types.CacheEntry; import org.opends.server.types.ConfigChangeResult; @@ -58,8 +55,6 @@ import static org.opends.messages.ExtensionMessages.*; /** * This class defines a Directory Server entry cache that uses soft references * to manage objects in a way that will allow them to be freed if the JVM is @@ -141,15 +136,7 @@ EntryCacheCommon.ConfigPhase.PHASE_INIT, null, errorMessages ); if (!processEntryCacheConfig(configuration, applyChanges, errorHandler)) { LocalizableMessageBuilder buffer = new LocalizableMessageBuilder(); if (!errorMessages.isEmpty()) { Iterator<LocalizableMessage> iterator = errorMessages.iterator(); buffer.append(iterator.next()); while (iterator.hasNext()) { buffer.append(". "); buffer.append(iterator.next()); } } String buffer = Utils.joinAsString(". ", errorMessages); throw new ConfigException(ERR_SOFTREFCACHE_CANNOT_INITIALIZE.get(buffer)); } } @@ -693,6 +680,7 @@ /** * {@inheritDoc} */ @Override public String toVerboseString() { StringBuilder sb = new StringBuilder(); opendj3-server-dev/src/server/org/opends/server/replication/plugin/LDAPReplicationDomain.java
@@ -3028,11 +3028,11 @@ // log error and information for the REPAIR tool. LocalizableMessageBuilder mb = new LocalizableMessageBuilder(); mb.append(ERR_CANNOT_RENAME_CONFLICT_ENTRY.get()); mb.append(String.valueOf(entryDN)); mb.append(entryDN); mb.append(" "); mb.append(String.valueOf(conflictOp)); mb.append(conflictOp); mb.append(" "); mb.append(String.valueOf(op.getResultCode())); mb.append(op.getResultCode()); logger.error(mb.toMessage()); } } catch (DirectoryException e) @@ -3040,9 +3040,9 @@ // log error and information for the REPAIR tool. LocalizableMessageBuilder mb = new LocalizableMessageBuilder(); mb.append(ERR_EXCEPTION_RENAME_CONFLICT_ENTRY.get()); mb.append(String.valueOf(entryDN)); mb.append(entryDN); mb.append(" "); mb.append(String.valueOf(conflictOp)); mb.append(conflictOp); mb.append(" "); mb.append(stackTraceToSingleLineString(e)); logger.error(mb.toMessage()); @@ -3075,11 +3075,11 @@ // log information for the repair tool. LocalizableMessageBuilder mb = new LocalizableMessageBuilder(); mb.append(ERR_CANNOT_RENAME_CONFLICT_ENTRY.get()); mb.append(String.valueOf(dn)); mb.append(dn); mb.append(" "); mb.append(String.valueOf(conflictOp)); mb.append(conflictOp); mb.append(" "); mb.append(String.valueOf(newOp.getResultCode())); mb.append(newOp.getResultCode()); logger.error(mb.toMessage()); } } @@ -3114,9 +3114,9 @@ // Log information for the repair tool. LocalizableMessageBuilder mb = new LocalizableMessageBuilder(); mb.append(ERR_CANNOT_ADD_CONFLICT_ATTRIBUTE.get()); mb.append(String.valueOf(op)); mb.append(op); mb.append(" "); mb.append(String.valueOf(newOp.getResultCode())); mb.append(newOp.getResultCode()); logger.error(mb.toMessage()); } @@ -5152,9 +5152,9 @@ // Log information for the repair tool. LocalizableMessageBuilder mb = new LocalizableMessageBuilder(); mb.append(ERR_CANNOT_ADD_CONFLICT_ATTRIBUTE.get()); mb.append(String.valueOf(newOp)); mb.append(newOp); mb.append(" "); mb.append(String.valueOf(newOp.getResultCode())); mb.append(newOp.getResultCode()); logger.error(mb.toMessage()); } else if (task != null) opendj3-server-dev/src/server/org/opends/server/replication/server/changelog/je/DraftCNDB.java
@@ -30,7 +30,6 @@ import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock; import org.forgerock.i18n.LocalizableMessageBuilder; import org.forgerock.i18n.slf4j.LocalizedLogger; import org.opends.server.replication.server.changelog.api.*; @@ -616,10 +615,7 @@ } catch(Exception e) { LocalizableMessageBuilder mb = new LocalizableMessageBuilder(); mb.append(ERR_ERROR_CLEARING_DB.get(toString(), e.getMessage() + " " + stackTraceToSingleLineString(e))); logger.error(mb.toMessage()); logger.error(ERR_ERROR_CLEARING_DB, this, e.getMessage() + " " + stackTraceToSingleLineString(e)); } finally { opendj3-server-dev/src/server/org/opends/server/replication/server/changelog/je/ReplicationDB.java
@@ -33,7 +33,6 @@ import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock; import org.forgerock.i18n.LocalizableMessageBuilder; import org.opends.server.replication.common.CSN; import org.opends.server.replication.protocol.UpdateMsg; import org.opends.server.replication.server.ReplicationServer; @@ -865,10 +864,7 @@ } catch (Exception e) { LocalizableMessageBuilder mb = new LocalizableMessageBuilder(); mb.append(ERR_ERROR_CLEARING_DB.get(toString(), e.getMessage() + " " + stackTraceToSingleLineString(e))); logger.error(mb.toMessage()); logger.error(ERR_ERROR_CLEARING_DB, this, e.getMessage() + " " + stackTraceToSingleLineString(e)); } finally { opendj3-server-dev/src/server/org/opends/server/replication/server/changelog/je/ReplicationDbEnv.java
@@ -34,7 +34,6 @@ import java.util.concurrent.atomic.AtomicBoolean; import org.forgerock.i18n.LocalizableMessage; import org.forgerock.i18n.LocalizableMessageBuilder; import org.forgerock.i18n.slf4j.LocalizedLogger; import org.opends.server.replication.server.ChangelogState; import org.opends.server.replication.server.ReplicationServer; @@ -557,11 +556,8 @@ } catch (RuntimeException e) { LocalizableMessageBuilder mb = new LocalizableMessageBuilder(); mb.append(ERR_ERROR_CLEARING_DB.get(databaseName, e.getMessage() + " " + stackTraceToSingleLineString(e))); logger.error(mb.toMessage()); logger.error(ERR_ERROR_CLEARING_DB, databaseName, e.getMessage() + " " + stackTraceToSingleLineString(e)); } finally { opendj3-server-dev/src/server/org/opends/server/replication/service/ReplicationBroker.java
@@ -43,11 +43,10 @@ import java.util.concurrent.atomic.AtomicReference; import org.forgerock.i18n.LocalizableMessage; import org.forgerock.i18n.LocalizableMessageBuilder; import org.opends.server.admin.std.server.ReplicationDomainCfg; import org.opends.server.core.DirectoryServer; import org.forgerock.i18n.slf4j.LocalizedLogger; import org.forgerock.util.Utils; import org.opends.server.admin.std.server.ReplicationDomainCfg; import org.opends.server.core.DirectoryServer; import org.opends.server.replication.common.*; import org.opends.server.replication.plugin.MultimasterReplication; import org.opends.server.replication.protocol.*; @@ -2282,11 +2281,8 @@ } catch (Exception e) { LocalizableMessageBuilder mb = new LocalizableMessageBuilder(); mb.append(NOTE_EXCEPTION_RESTARTING_SESSION.get( getBaseDN().toNormalizedString(), e.getLocalizedMessage())); mb.append(stackTraceToSingleLineString(e)); logger.error(mb.toMessage()); logger.error(NOTE_EXCEPTION_RESTARTING_SESSION, getBaseDN().toNormalizedString(), e.getLocalizedMessage() + " " + stackTraceToSingleLineString(e)); } if (rs.isConnected() || !infiniteTry) opendj3-server-dev/src/server/org/opends/server/workflowelement/WorkflowElementConfigManager.java
@@ -26,17 +26,13 @@ */ package org.opends.server.workflowelement; import java.lang.reflect.InvocationTargetException; import static org.opends.messages.ConfigMessages.*; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.forgerock.i18n.LocalizableMessage; import org.forgerock.util.Utils; import org.opends.server.admin.ClassPropertyDefinition; import org.opends.server.admin.server.ConfigurationAddListener; import org.opends.server.admin.server.ConfigurationChangeListener; @@ -52,6 +48,7 @@ import org.opends.server.types.InitializationException; import org.opends.server.types.ResultCode; import static org.opends.messages.ConfigMessages.*; /** * This class defines a utility that will be used to manage the configuration @@ -427,7 +424,6 @@ // Again, use SuppressWarning because we know the cast is safe @SuppressWarnings("unchecked") WorkflowElement<? extends WorkflowElementCfg> workflowElement = (WorkflowElement<? extends WorkflowElementCfg>) workflowElementClass.newInstance(); if (initialize) @@ -449,18 +445,7 @@ if (! acceptable) { StringBuilder buffer = new StringBuilder(); if (! unacceptableReasons.isEmpty()) { Iterator<String> iterator = unacceptableReasons.iterator(); buffer.append(iterator.next()); while (iterator.hasNext()) { buffer.append(". "); buffer.append(iterator.next()); } } String buffer = Utils.joinAsString(". ", unacceptableReasons); throw new InitializationException( ERR_CONFIG_WORKFLOW_ELEMENT_CONFIG_NOT_ACCEPTABLE.get(configuration.dn(), buffer)); }