You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@polygene.apache.org by pa...@apache.org on 2017/07/21 08:09:53 UTC
[3/3] polygene-java git commit: Use platform line separators in
exception messages
Use platform line separators in exception messages
Otherwise the stacktraces include mixed line separators making writing
assertions brittle.
POLYGENE-270
Project: http://git-wip-us.apache.org/repos/asf/polygene-java/repo
Commit: http://git-wip-us.apache.org/repos/asf/polygene-java/commit/42b3d335
Tree: http://git-wip-us.apache.org/repos/asf/polygene-java/tree/42b3d335
Diff: http://git-wip-us.apache.org/repos/asf/polygene-java/diff/42b3d335
Branch: refs/heads/develop
Commit: 42b3d335875ba6a0882fd41d008c1da8d6dc604f
Parents: d0c1ff5
Author: Paul Merlin <pa...@apache.org>
Authored: Fri Jul 21 10:09:24 2017 +0200
Committer: Paul Merlin <pa...@apache.org>
Committed: Fri Jul 21 10:09:24 2017 +0200
----------------------------------------------------------------------
.../polygene/api/composite/DecoratorMixin.java | 12 +++++-----
.../composite/InvalidCompositeException.java | 23 ++++++++++----------
.../composite/NoSuchCompositeTypeException.java | 10 +++++----
.../ConstraintViolationException.java | 9 ++++----
.../api/object/NoSuchObjectTypeException.java | 5 +++--
.../ConcurrentEntityModificationException.java | 5 +++--
.../bootstrap/AssemblyReportException.java | 7 +++---
.../apache/polygene/bootstrap/Energy4Java.java | 3 ++-
.../bootstrap/CompositeAssemblyImpl.java | 2 +-
.../composite/CompositeMethodsModel.java | 11 ++++++----
.../runtime/composite/ConstructorModel.java | 8 ++++---
.../runtime/injection/InjectedFieldModel.java | 8 ++++---
.../polygene/bootstrap/ErrorReportingTest.java | 22 ++++++++++---------
...currentEntityStateModificationException.java | 4 +++-
14 files changed, 75 insertions(+), 54 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/42b3d335/core/api/src/main/java/org/apache/polygene/api/composite/DecoratorMixin.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/polygene/api/composite/DecoratorMixin.java b/core/api/src/main/java/org/apache/polygene/api/composite/DecoratorMixin.java
index 1707f3e..7e24da5 100644
--- a/core/api/src/main/java/org/apache/polygene/api/composite/DecoratorMixin.java
+++ b/core/api/src/main/java/org/apache/polygene/api/composite/DecoratorMixin.java
@@ -37,6 +37,8 @@ import org.apache.polygene.api.injection.scope.Uses;
public class DecoratorMixin
implements InvocationHandler
{
+ private static final String NL = System.getProperty( "line.separator" );
+
private Object delegate;
public DecoratorMixin( @Uses Object delegate )
@@ -78,15 +80,15 @@ public class DecoratorMixin
private String constructMessage( Method method, Object[] args )
{
StringBuilder builder = new StringBuilder();
- builder.append( "\nmethod: " );
+ builder.append( NL ).append( "method: " );
builder.append( method.getDeclaringClass().getName() );
builder.append( "." );
builder.append( method.getName() );
- builder.append( "\ndelegate: " );
+ builder.append( NL ).append( "delegate: " );
builder.append( delegate );
- builder.append( "\ndelegateType: " );
+ builder.append( NL ).append( "delegateType: " );
builder.append( delegate == null ? "n/a" : delegate.getClass().getName() );
- builder.append( "\narguments: \n" );
+ builder.append( NL ).append( "arguments:" ).append( NL );
for( Object arg : args )
{
builder.append( " " );
@@ -99,7 +101,7 @@ public class DecoratorMixin
{
builder.append( argClass.getName() );
}
- builder.append( '\n' );
+ builder.append( NL );
}
return builder.toString();
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/42b3d335/core/api/src/main/java/org/apache/polygene/api/composite/InvalidCompositeException.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/polygene/api/composite/InvalidCompositeException.java b/core/api/src/main/java/org/apache/polygene/api/composite/InvalidCompositeException.java
index c7657b3..4d1ead2 100644
--- a/core/api/src/main/java/org/apache/polygene/api/composite/InvalidCompositeException.java
+++ b/core/api/src/main/java/org/apache/polygene/api/composite/InvalidCompositeException.java
@@ -34,6 +34,7 @@ import org.apache.polygene.api.structure.ModuleDescriptor;
*/
public class InvalidCompositeException extends RuntimeException
{
+ private static final String NL = System.getProperty( "line.separator" );
private static boolean aggregateProblems = true;
private static ThreadLocal<ArrayList<InvalidCompositeException>> report = ThreadLocal.withInitial( ArrayList::new );
private ModuleDescriptor module;
@@ -73,13 +74,13 @@ public class InvalidCompositeException extends RuntimeException
public String getMessage()
{
String typeNames = typesString();
- String primary = primaryType == null ? "" : " primary: " + primaryType.toGenericString() + "\n";
+ String primary = primaryType == null ? "" : " primary: " + primaryType.toGenericString() + NL;
String methodName = memberString();
- String message = super.getMessage() == null ? "" : " message: " + super.getMessage() + "\n";
- String fragment = fragmentClass == null ? "" : " fragmentClass: " + fragmentClass.getName() + "\n";
- String valueType = this.valueType == null ? "" : " valueType: " + this.valueType.getTypeName() + "\n";
- String module = this.module == null ? "" : " layer: " + this.module.layer().name() + "\n module: "
- + this.module.name() + "\n";
+ String message = super.getMessage() == null ? "" : " message: " + super.getMessage() + NL;
+ String fragment = fragmentClass == null ? "" : " fragmentClass: " + fragmentClass.getName() + NL;
+ String valueType = this.valueType == null ? "" : " valueType: " + this.valueType.getTypeName() + NL;
+ String module = this.module == null ? "" : " layer: " + this.module.layer().name() + NL + " module: "
+ + this.module.name() + NL;
return message + module + primary + fragment + methodName + valueType + typeNames;
}
@@ -93,7 +94,7 @@ public class InvalidCompositeException extends RuntimeException
+ types.stream()
.map( Class::getSimpleName )
.collect( Collectors.joining( ",", "[", "]" ) )
- + "\n";
+ + NL;
}
private String memberString()
@@ -108,12 +109,12 @@ public class InvalidCompositeException extends RuntimeException
String parameters = Arrays.stream( method.getParameters() )
.map( p -> p.getType().getSimpleName() + " " + p.getName() )
.collect( Collectors.joining( ", ", "(", ")" ) );
- return " method: " + method.getReturnType().getSimpleName() + " " + method.getName() + parameters + "\n";
+ return " method: " + method.getReturnType().getSimpleName() + " " + method.getName() + parameters + NL;
}
if( member instanceof Field )
{
Field field = (Field) member;
- return " field: " + field.getType().getSimpleName() + " " + field.getName() + "\n";
+ return " field: " + field.getType().getSimpleName() + " " + field.getName() + NL;
}
return member.toString();
}
@@ -122,10 +123,10 @@ public class InvalidCompositeException extends RuntimeException
{
if( report.get().size() > 0 )
{
- String reportText = "\nComposition Problems Report:\n"
+ String reportText = NL + "Composition Problems Report:" + NL
+ report.get().stream()
.map( Throwable::getMessage )
- .map( m -> m + "\n--\n" )
+ .map( m -> m + NL + "--" + NL )
.collect( Collectors.joining() );
report.set( new ArrayList<>() );
return reportText;
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/42b3d335/core/api/src/main/java/org/apache/polygene/api/composite/NoSuchCompositeTypeException.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/polygene/api/composite/NoSuchCompositeTypeException.java b/core/api/src/main/java/org/apache/polygene/api/composite/NoSuchCompositeTypeException.java
index 1d6f155..2fdaea3 100644
--- a/core/api/src/main/java/org/apache/polygene/api/composite/NoSuchCompositeTypeException.java
+++ b/core/api/src/main/java/org/apache/polygene/api/composite/NoSuchCompositeTypeException.java
@@ -32,6 +32,8 @@ import static java.util.stream.Collectors.joining;
*/
public abstract class NoSuchCompositeTypeException extends InvalidApplicationException
{
+ private static final String NL = System.getProperty( "line.separator" );
+
private final String compositeType;
private final String moduleName;
private final String visibleTypes;
@@ -40,7 +42,7 @@ public abstract class NoSuchCompositeTypeException extends InvalidApplicationExc
protected NoSuchCompositeTypeException( String metaType, String compositeType, ModuleDescriptor module )
{
- super( "\n\tCould not find any visible " + metaType + " of type [" + compositeType + "] in module [" + module.name() + "]." );
+ super( NL + "\tCould not find any visible " + metaType + " of type [" + compositeType + "] in module [" + module.name() + "]." );
this.metaType = metaType;
this.compositeType = compositeType;
this.moduleName = module.name();
@@ -71,7 +73,7 @@ public abstract class NoSuchCompositeTypeException extends InvalidApplicationExc
@Override
public String getMessage()
{
- return super.getMessage() + "\n" + candidateTypes + "\n" + visibleTypes;
+ return super.getMessage() + NL + candidateTypes + NL + visibleTypes;
}
private String formatVisibleTypes( TypeLookup typeLookup )
@@ -85,7 +87,7 @@ public abstract class NoSuchCompositeTypeException extends InvalidApplicationExc
} )
.sorted()
.distinct()
- .collect( joining( "\n", "\tVisible " + metaType + " types are:\n", "" ) );
+ .collect( joining( NL, "\tVisible " + metaType + " types are:" + NL, "" ) );
}
private String findCandidateTypes( ModuleDescriptor module )
@@ -102,7 +104,7 @@ public abstract class NoSuchCompositeTypeException extends InvalidApplicationExc
return "\t\t[ " + typeName + "] in [" + descriptor.module().name() + "] with visibility " + descriptor.visibility();
} )
.distinct()
- .collect( joining( "\n", "\tInvisible " + metaType + " types are:\n", "" ) );
+ .collect( joining( NL, "\tInvisible " + metaType + " types are:" + NL, "" ) );
}
protected abstract Stream<? extends CompositeDescriptor> descriptors( TypeLookup typeLookup );
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/42b3d335/core/api/src/main/java/org/apache/polygene/api/constraint/ConstraintViolationException.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/polygene/api/constraint/ConstraintViolationException.java b/core/api/src/main/java/org/apache/polygene/api/constraint/ConstraintViolationException.java
index 0eecf04..83f9a8c 100644
--- a/core/api/src/main/java/org/apache/polygene/api/constraint/ConstraintViolationException.java
+++ b/core/api/src/main/java/org/apache/polygene/api/constraint/ConstraintViolationException.java
@@ -47,11 +47,12 @@ import org.apache.polygene.api.util.Classes;
*/
public class ConstraintViolationException extends IllegalArgumentException
{
+ private static final String NL = System.getProperty( "line.separator" );
private static final boolean longNames = Boolean.getBoolean( "polygene.constraints.longNames" );
- private static final String DEFAULT_PATTERN = "\n\tConstraint Violation(s) in {0} of types [{3}].\n";
- private static final String ENTITY_DEFAULT_PATTERN = "\n\tConstraint Violation(s) in entity {0} with id=[{2}].\n";
- private static final String SERVICE_DEFAULT_PATTERN = "\n\tConstraint Violation(s) in service {0} with id=[{2}].\n";
- private static final String MIXIN_DEFAULT_PATTERN = "\t\t@{2}({3}) on {0}.{1}(). Parameter [{4}] does not allow value [{5}].\n";
+ private static final String DEFAULT_PATTERN = NL + "\tConstraint Violation(s) in {0} of types [{3}]." + NL;
+ private static final String ENTITY_DEFAULT_PATTERN = NL + "\tConstraint Violation(s) in entity {0} with id=[{2}]." + NL;
+ private static final String SERVICE_DEFAULT_PATTERN = NL + "\tConstraint Violation(s) in service {0} with id=[{2}]." + NL;
+ private static final String MIXIN_DEFAULT_PATTERN = "\t\t@{2}({3}) on {0}.{1}(). Parameter [{4}] does not allow value [{5}]." + NL;
private String instanceToString; // arg {0}
private Class<?> primaryType; // arg {1}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/42b3d335/core/api/src/main/java/org/apache/polygene/api/object/NoSuchObjectTypeException.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/polygene/api/object/NoSuchObjectTypeException.java b/core/api/src/main/java/org/apache/polygene/api/object/NoSuchObjectTypeException.java
index af1801f..dcbd4f3 100644
--- a/core/api/src/main/java/org/apache/polygene/api/object/NoSuchObjectTypeException.java
+++ b/core/api/src/main/java/org/apache/polygene/api/object/NoSuchObjectTypeException.java
@@ -30,6 +30,7 @@ public class NoSuchObjectTypeException
extends InvalidApplicationException
{
private static final long serialVersionUID = -1121690536365682511L;
+ private static final String NL = System.getProperty( "line.separator" );
private final String objectType;
private final String moduleName;
@@ -38,8 +39,8 @@ public class NoSuchObjectTypeException
{
super( "Could not find any visible Object of type [" + type + "] in module ["
+ moduleName
- + "]. The visible types are: \n"
- + visible.map( Class::getName ).collect( Collectors.joining("\n") )
+ + "]. The visible types are: " + NL
+ + visible.map( Class::getName ).collect( Collectors.joining( NL ) )
);
this.objectType = type;
this.moduleName = moduleName;
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/42b3d335/core/api/src/main/java/org/apache/polygene/api/unitofwork/ConcurrentEntityModificationException.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/polygene/api/unitofwork/ConcurrentEntityModificationException.java b/core/api/src/main/java/org/apache/polygene/api/unitofwork/ConcurrentEntityModificationException.java
index 7d439b0..d54b1ad 100644
--- a/core/api/src/main/java/org/apache/polygene/api/unitofwork/ConcurrentEntityModificationException.java
+++ b/core/api/src/main/java/org/apache/polygene/api/unitofwork/ConcurrentEntityModificationException.java
@@ -34,6 +34,7 @@ public class ConcurrentEntityModificationException
extends UnitOfWorkCompletionException
{
private static final long serialVersionUID = 3872723845064767689L;
+ private static final String NL = System.getProperty( "line.separator" );
private final Map<EntityComposite, HasTypes> concurrentlyModifiedEntities;
@@ -41,7 +42,7 @@ public class ConcurrentEntityModificationException
Usecase usecase
)
{
- super( "Entities changed concurrently, and detected in usecase '" + usecase + "'\nModified entities : " + format( concurrentlyModifiedEntities ) );
+ super( "Entities changed concurrently, and detected in usecase '" + usecase + "'" + NL + "Modified entities : " + format( concurrentlyModifiedEntities ) );
this.concurrentlyModifiedEntities = concurrentlyModifiedEntities;
}
@@ -54,7 +55,7 @@ public class ConcurrentEntityModificationException
+ entry.getValue().types().map( Class::getSimpleName )
.collect( Collectors.joining( "," ) )
)
- .collect( Collectors.joining( "\n" ) );
+ .collect( Collectors.joining( NL ) );
}
public Map<EntityComposite, HasTypes> concurrentlyModifiedEntities()
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/42b3d335/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/AssemblyReportException.java
----------------------------------------------------------------------
diff --git a/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/AssemblyReportException.java b/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/AssemblyReportException.java
index 4a2211e..2ca57cf 100644
--- a/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/AssemblyReportException.java
+++ b/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/AssemblyReportException.java
@@ -21,7 +21,6 @@ package org.apache.polygene.bootstrap;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
-import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
@@ -30,6 +29,8 @@ import java.util.stream.Collectors;
*/
public class AssemblyReportException extends AssemblyException
{
+ private static final String NL = System.getProperty( "line.separator" );
+
private Set<Throwable> problems;
private String modelReport;
@@ -44,7 +45,7 @@ public class AssemblyReportException extends AssemblyException
String message;
if( modelReport == null )
{
- message = "\nComposition Problems Report:\n";
+ message = NL+ "Composition Problems Report:" + NL;
}
else
{
@@ -52,7 +53,7 @@ public class AssemblyReportException extends AssemblyException
}
return message + problems.stream()
.map( this::composeMessage )
- .map( m -> m + "\n--\n" )
+ .map( m -> m + NL + "--" + NL )
.collect( Collectors.joining() );
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/42b3d335/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/Energy4Java.java
----------------------------------------------------------------------
diff --git a/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/Energy4Java.java b/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/Energy4Java.java
index a4cf0c3..13941c1 100644
--- a/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/Energy4Java.java
+++ b/core/bootstrap/src/main/java/org/apache/polygene/bootstrap/Energy4Java.java
@@ -76,7 +76,8 @@ public final class Energy4Java
String modelReport = InvalidCompositeException.modelReport();
if( modelReport != null )
{
- throw new AssemblyException( "Composition problems\n\n" + modelReport );
+ String nl = System.getProperty( "line.separator" );
+ throw new AssemblyException( "Composition problems" + nl + nl + modelReport );
}
return model;
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/42b3d335/core/runtime/src/main/java/org/apache/polygene/runtime/bootstrap/CompositeAssemblyImpl.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/polygene/runtime/bootstrap/CompositeAssemblyImpl.java b/core/runtime/src/main/java/org/apache/polygene/runtime/bootstrap/CompositeAssemblyImpl.java
index 7f69916..e25bfe7 100644
--- a/core/runtime/src/main/java/org/apache/polygene/runtime/bootstrap/CompositeAssemblyImpl.java
+++ b/core/runtime/src/main/java/org/apache/polygene/runtime/bootstrap/CompositeAssemblyImpl.java
@@ -338,7 +338,7 @@ public abstract class CompositeAssemblyImpl
{
return implementMethodWithClass( method, mixinClass );
}
- handleInvalidCompositeType( "No implementation found for method ", null, null, null, null, method, types );
+ handleInvalidCompositeType( "No implementation found for method", null, null, null, null, method, types );
return null;
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/42b3d335/core/runtime/src/main/java/org/apache/polygene/runtime/composite/CompositeMethodsModel.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/polygene/runtime/composite/CompositeMethodsModel.java b/core/runtime/src/main/java/org/apache/polygene/runtime/composite/CompositeMethodsModel.java
index 2223091..dd2bfb6 100644
--- a/core/runtime/src/main/java/org/apache/polygene/runtime/composite/CompositeMethodsModel.java
+++ b/core/runtime/src/main/java/org/apache/polygene/runtime/composite/CompositeMethodsModel.java
@@ -39,6 +39,8 @@ import org.apache.polygene.runtime.injection.DependencyModel;
public final class CompositeMethodsModel
implements VisitableHierarchy<Object, Object>, Dependencies
{
+ private static final String NL = System.getProperty( "line.separator" );
+
private final LinkedHashMap<Method, CompositeMethodModel> methods;
private final MixinsModel mixinsModel;
@@ -102,14 +104,15 @@ public final class CompositeMethodsModel
// return method.invoke( proxy, args );
String message = "We have detected a default method on an interface that is not backed by a Composite. "
+ "Please report this to dev@polygene.apache.org together with the information below, "
- + "that/those class(es) and the relevant assembly information. Thank you\nMethod:"
+ + "that/those class(es) and the relevant assembly information. Thank you"
+ + NL + "Method:"
+ method.toGenericString()
- + "\nDeclaring Class:"
+ + NL + "Declaring Class:"
+ method.getDeclaringClass().toGenericString()
- + "\nTypes:"
+ + NL + "Types:"
+ mixinsModel.mixinTypes()
.map( Class::toGenericString )
- .collect( Collectors.joining( "\n" ) );
+ .collect( Collectors.joining( NL ) );
throw new UnsupportedOperationException( message );
}
throw new MissingMethodException( "Method '" + method + "' is not implemented" );
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/42b3d335/core/runtime/src/main/java/org/apache/polygene/runtime/composite/ConstructorModel.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/polygene/runtime/composite/ConstructorModel.java b/core/runtime/src/main/java/org/apache/polygene/runtime/composite/ConstructorModel.java
index 026a4e1..a35227c 100644
--- a/core/runtime/src/main/java/org/apache/polygene/runtime/composite/ConstructorModel.java
+++ b/core/runtime/src/main/java/org/apache/polygene/runtime/composite/ConstructorModel.java
@@ -41,6 +41,8 @@ import static org.apache.polygene.api.util.AccessibleObjects.accessible;
public final class ConstructorModel
implements ConstructorDescriptor, VisitableHierarchy<Object, Object>
{
+ private static final String NL = System.getProperty( "line.separator" );
+
private Constructor<?> constructor;
private InjectedParametersModel parameters;
@@ -103,9 +105,9 @@ public final class ConstructorModel
private String createExceptionMessage( Object[] parametersInstance )
{
- return "Could not instantiate \n " + constructor.getDeclaringClass()
- + "\nusing constructor:\n " + constructor.toGenericString()
- + "\nparameter types:\n " + Arrays.toString( parametersInstance );
+ return "Could not instantiate " + NL + " " + constructor.getDeclaringClass()
+ + NL + "using constructor:" + NL + " " + constructor.toGenericString()
+ + NL + "parameter types:" + NL + " " + Arrays.toString( parametersInstance );
}
@Override
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/42b3d335/core/runtime/src/main/java/org/apache/polygene/runtime/injection/InjectedFieldModel.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/polygene/runtime/injection/InjectedFieldModel.java b/core/runtime/src/main/java/org/apache/polygene/runtime/injection/InjectedFieldModel.java
index 553f1ff..8ce5597 100644
--- a/core/runtime/src/main/java/org/apache/polygene/runtime/injection/InjectedFieldModel.java
+++ b/core/runtime/src/main/java/org/apache/polygene/runtime/injection/InjectedFieldModel.java
@@ -47,6 +47,8 @@ import static java.util.Collections.singleton;
public final class InjectedFieldModel
implements InjectedFieldDescriptor, Dependencies, VisitableHierarchy<InjectedFieldModel, DependencyModel>
{
+ private static final String NL = System.getProperty( "line.separator" );
+
private DependencyModel dependencyModel;
private Field injectedField;
@@ -124,11 +126,11 @@ public final class InjectedFieldModel
annotBuilder.append( " " );
}
String annots = annotBuilder.toString();
- String message = "Can not inject the field\n "
+ String message = "Can not inject the field" + NL + " "
+ injectedField.getDeclaringClass()
- + "\n {\n " + annots + "\n "
+ + NL + " {" + NL + " " + annots + NL + " "
+ injectedField.getType().getSimpleName() + " " + injectedField.getName()
- + "\n }\nwith value \n " + value + "\nof type\n "
+ + NL + " }" + NL + "with value " + NL + " " + value + NL + "of type" + NL + " "
+ valueClassName;
throw new InjectionException( message, e );
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/42b3d335/core/runtime/src/test/java/org/apache/polygene/bootstrap/ErrorReportingTest.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/polygene/bootstrap/ErrorReportingTest.java b/core/runtime/src/test/java/org/apache/polygene/bootstrap/ErrorReportingTest.java
index 8feca04..0ddb5e6 100644
--- a/core/runtime/src/test/java/org/apache/polygene/bootstrap/ErrorReportingTest.java
+++ b/core/runtime/src/test/java/org/apache/polygene/bootstrap/ErrorReportingTest.java
@@ -31,6 +31,8 @@ import static org.junit.Assert.assertThat;
public class ErrorReportingTest extends AbstractPolygeneTest
{
+ private static final String NL = System.getProperty( "line.separator" );
+
@Override
public void assemble( ModuleAssembly module )
{
@@ -41,18 +43,18 @@ public class ErrorReportingTest extends AbstractPolygeneTest
@Override
protected void assemblyException( AssemblyException exception )
{
- assertThat( exception.getMessage(), containsString( "Composition Problems Report:\n" ) );
- assertThat( exception.getMessage(), containsString( " message: No implementation found for method \n"
- + " method: Map doAnotherThing(String name, int value)\n"
- + " types: [Person,ValueComposite]\n" ) );
+ assertThat( exception.getMessage(), containsString( "Composition Problems Report:" + NL ) );
+ assertThat( exception.getMessage(), containsString( " message: No implementation found for method" + NL
+ + " method: Map doAnotherThing(String name, int value)" + NL
+ + " types: [Person,ValueComposite]" + NL ) );
- assertThat( exception.getMessage(), containsString( " message: No implementation found for method \n"
- + " method: void doOneThing()\n"
- + " types: [Person,ValueComposite]\n" ) );
+ assertThat( exception.getMessage(), containsString( " message: No implementation found for method" + NL
+ + " method: void doOneThing()" + NL
+ + " types: [Person,ValueComposite]" + NL ) );
- assertThat( exception.getMessage(), containsString( " message: No implementation found for method \n"
- + " method: void goForWalk(int minutes)\n"
- + " types: [Pet,ValueComposite]\n" ) );
+ assertThat( exception.getMessage(), containsString( " message: No implementation found for method" + NL
+ + " method: void goForWalk(int minutes)" + NL
+ + " types: [Pet,ValueComposite]" + NL ) );
}
@Test
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/42b3d335/core/spi/src/main/java/org/apache/polygene/spi/entitystore/ConcurrentEntityStateModificationException.java
----------------------------------------------------------------------
diff --git a/core/spi/src/main/java/org/apache/polygene/spi/entitystore/ConcurrentEntityStateModificationException.java b/core/spi/src/main/java/org/apache/polygene/spi/entitystore/ConcurrentEntityStateModificationException.java
index f6bbfe8..132edb2 100644
--- a/core/spi/src/main/java/org/apache/polygene/spi/entitystore/ConcurrentEntityStateModificationException.java
+++ b/core/spi/src/main/java/org/apache/polygene/spi/entitystore/ConcurrentEntityStateModificationException.java
@@ -29,6 +29,8 @@ import org.apache.polygene.api.entity.EntityReference;
public class ConcurrentEntityStateModificationException
extends EntityStoreException
{
+ private static final String NL = System.getProperty( "line.separator" );
+
private Collection<EntityReference> modifiedEntities;
public ConcurrentEntityStateModificationException( Collection<EntityReference> modifiedEntities )
@@ -45,6 +47,6 @@ public class ConcurrentEntityStateModificationException
@Override
public String getMessage()
{
- return "Entities changed concurrently.\nModified entities are;\n" + modifiedEntities;
+ return "Entities changed concurrently." + NL + "Modified entities are;" + NL + modifiedEntities;
}
}
\ No newline at end of file