![JAR search and dependency download from the Maven repository](/logo.png)
org.apache.maven.surefire.report.SimpleReportEntry Maven / Gradle / Ivy
The newest version!
package org.apache.maven.surefire.report;
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import org.apache.maven.surefire.util.internal.ImmutableMap;
import java.util.Collections;
import java.util.Map;
/**
* @author Kristian Rosenvold
*/
public class SimpleReportEntry
implements TestSetReportEntry
{
private final Map systemProperties;
private final String source;
private final String name;
private final StackTraceWriter stackTraceWriter;
private final Integer elapsed;
private final String message;
public SimpleReportEntry()
{
this( null, null );
}
public SimpleReportEntry( String source, String name )
{
this( source, name, null, null );
}
public SimpleReportEntry( String source, String name, Map systemProperties )
{
this( source, name, null, null, systemProperties );
}
private SimpleReportEntry( String source, String name, StackTraceWriter stackTraceWriter )
{
this( source, name, stackTraceWriter, null );
}
public SimpleReportEntry( String source, String name, Integer elapsed )
{
this( source, name, null, elapsed );
}
public SimpleReportEntry( String source, String name, String message )
{
this( source, name, null, null, message, Collections.emptyMap() );
}
protected SimpleReportEntry( String source, String name, StackTraceWriter stackTraceWriter, Integer elapsed,
String message, Map systemProperties )
{
if ( source == null )
{
source = "null";
}
if ( name == null )
{
name = "null";
}
this.source = source;
this.name = name;
this.stackTraceWriter = stackTraceWriter;
this.message = message;
this.elapsed = elapsed;
this.systemProperties = new ImmutableMap( systemProperties );
}
public SimpleReportEntry( String source, String name, StackTraceWriter stackTraceWriter, Integer elapsed )
{
this( source, name, stackTraceWriter, elapsed, Collections.emptyMap() );
}
public SimpleReportEntry( String source, String name, StackTraceWriter stackTraceWriter, Integer elapsed,
Map systemProperties )
{
this( source, name, stackTraceWriter, elapsed, safeGetMessage( stackTraceWriter ), systemProperties );
}
public static SimpleReportEntry assumption( String source, String name, String message )
{
return new SimpleReportEntry( source, name, message );
}
public static SimpleReportEntry ignored( String source, String name, String message )
{
return new SimpleReportEntry( source, name, message );
}
public static SimpleReportEntry withException( String source, String name, StackTraceWriter stackTraceWriter )
{
return new SimpleReportEntry( source, name, stackTraceWriter );
}
private static String safeGetMessage( StackTraceWriter stackTraceWriter )
{
try
{
SafeThrowable t = stackTraceWriter == null ? null : stackTraceWriter.getThrowable();
return t == null ? null : t.getMessage();
}
catch ( Throwable t )
{
return t.getMessage();
}
}
@Override
public String getSourceName()
{
return source;
}
@Override
public String getName()
{
return name;
}
@Override
public String getGroup()
{
return null;
}
@Override
public StackTraceWriter getStackTraceWriter()
{
return stackTraceWriter;
}
@Override
public Integer getElapsed()
{
return elapsed;
}
@Override
public String toString()
{
return "ReportEntry{" + "source='" + source + '\'' + ", name='" + name + '\'' + ", stackTraceWriter="
+ stackTraceWriter + ", elapsed=" + elapsed + ",message=" + message + '}';
}
@Override
public String getMessage()
{
return message;
}
@Override
public boolean equals( Object o )
{
if ( this == o )
{
return true;
}
if ( o == null || getClass() != o.getClass() )
{
return false;
}
SimpleReportEntry that = (SimpleReportEntry) o;
return isElapsedTimeEqual( that ) && isNameEqual( that ) && isSourceEqual( that ) && isStackEqual( that );
}
@Override
public int hashCode()
{
int result = source != null ? source.hashCode() : 0;
result = 31 * result + ( name != null ? name.hashCode() : 0 );
result = 31 * result + ( stackTraceWriter != null ? stackTraceWriter.hashCode() : 0 );
result = 31 * result + ( elapsed != null ? elapsed.hashCode() : 0 );
return result;
}
@Override
public String getNameWithGroup()
{
return getName();
}
@Override
public Map getSystemProperties()
{
return systemProperties;
}
private boolean isElapsedTimeEqual( SimpleReportEntry en )
{
return elapsed != null ? elapsed.equals( en.elapsed ) : en.elapsed == null;
}
private boolean isNameEqual( SimpleReportEntry en )
{
return name != null ? name.equals( en.name ) : en.name == null;
}
private boolean isSourceEqual( SimpleReportEntry en )
{
return source != null ? source.equals( en.source ) : en.source == null;
}
private boolean isStackEqual( SimpleReportEntry en )
{
return stackTraceWriter != null ? stackTraceWriter.equals( en.stackTraceWriter ) : en.stackTraceWriter == null;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy