java.lang.Object
es.urjc.etsii.grafo.io.serializers.ResultsSerializer<S,I>
es.urjc.etsii.grafo.io.serializers.excel.ExcelSerializer<S,I>
public class ExcelSerializer<S extends Solution<S,I>,I extends Instance>
extends ResultsSerializer<S,I>
Serialize results to Excel XML format
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static enum
Value types to use as hint when serializing to Excel cells. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
Instance data sheetstatic final double
Negative infinity value to use in Excelstatic final String
Sheet name where common data such as VM version, benchmark score, etc will be storedstatic final String
Pivot table sheet namestatic final double
Positive infinity value to use in Excelstatic final String
Raw sheet nameFields inherited from class es.urjc.etsii.grafo.io.serializers.ResultsSerializer
referenceResultProviders
-
Constructor Summary
ConstructorsConstructorDescriptionExcelSerializer
(ExcelConfig serializerConfig, List<ReferenceResultProvider> referenceResultProviders, Optional<ExcelCustomizer> excelCustomizer, InstanceManager<I> instanceManager) Create an Excel serializer -
Method Summary
Modifier and TypeMethodDescriptionvoid
_serializeResults
(String experimentName, List<SolutionGeneratedEvent<S, I>> results, Path p) This procedure serialize the list of results to a specific format and generate the resultant file in a given pathbestResultPerInstance
(Objective<?, ?, ?> objective, List<? extends SolutionGeneratedEvent<?, ?>> results, List<ReferenceResultProvider> providers, boolean maximizing) Get best result for a given instanceprotected void
fillInstanceSheet
(String expName, org.apache.poi.xssf.usermodel.XSSFWorkbook excelBook) void
fillRawSheet
(org.apache.poi.xssf.streaming.SXSSFSheet rawSheet, boolean maximizing, List<? extends SolutionGeneratedEvent<?, ?>> results, List<ReferenceResultProvider> referenceResultProviders) Write data to raw sheetprotected String[]
void
headRawSheet
(org.apache.poi.xssf.streaming.SXSSFSheet rawSheet) protected static double
nanInfiniteFilter
(boolean maximizing, double value) Transform NaNs and other special double values to valid values in Excelprotected static void
writeCell
(org.apache.poi.xssf.streaming.SXSSFCell cell, Object d, ExcelSerializer.CType type) Write value to sheet cellprotected static void
writeCell
(org.apache.poi.xssf.usermodel.XSSFCell cell, Object d, ExcelSerializer.CType type) Write value to sheet cellMethods inherited from class es.urjc.etsii.grafo.io.serializers.ResultsSerializer
getConfig, serializeResults
-
Field Details
-
RAW_SHEET
Raw sheet name- See Also:
-
PIVOT_SHEET
Pivot table sheet name- See Also:
-
OTHER_DATA_SHEET
Sheet name where common data such as VM version, benchmark score, etc will be stored- See Also:
-
INSTANCE_SHEET
Instance data sheet- See Also:
-
POSITIVE_INFINITY
public static final double POSITIVE_INFINITYPositive infinity value to use in Excel- See Also:
-
NEGATIVE_INFINITY
public static final double NEGATIVE_INFINITYNegative infinity value to use in Excel- See Also:
-
-
Constructor Details
-
ExcelSerializer
public ExcelSerializer(ExcelConfig serializerConfig, List<ReferenceResultProvider> referenceResultProviders, Optional<ExcelCustomizer> excelCustomizer, InstanceManager<I> instanceManager) Create an Excel serializer- Parameters:
serializerConfig
- excel serializer configurationreferenceResultProviders
- reference result providers if availableexcelCustomizer
- customizer if availableinstanceManager
-
-
-
Method Details
-
_serializeResults
public void _serializeResults(String experimentName, List<SolutionGeneratedEvent<S, I>> results, Path p) This procedure serialize the list of results to a specific format and generate the resultant file in a given path- Specified by:
_serializeResults
in classResultsSerializer<S extends Solution<S,
I>, I extends Instance> - Parameters:
results
- list of resultsp
- path
-
fillInstanceSheet
protected void fillInstanceSheet(String expName, org.apache.poi.xssf.usermodel.XSSFWorkbook excelBook) -
getCommonHeaders
-
bestResultPerInstance
protected static Map<String,Double> bestResultPerInstance(Objective<?, ?, ?> objective, List<? extends SolutionGeneratedEvent<?, ?>> results, List<ReferenceResultProvider> providers, boolean maximizing) Get best result for a given instance- Parameters:
results
- our resultsproviders
- reference valuesmaximizing
- true if this is a maximizing problem, false otherwise- Returns:
- best value known for a given instance
-
fillRawSheet
public void fillRawSheet(org.apache.poi.xssf.streaming.SXSSFSheet rawSheet, boolean maximizing, List<? extends SolutionGeneratedEvent<?, ?>> results, List<ReferenceResultProvider> referenceResultProviders) Write data to raw sheet- Parameters:
rawSheet
- sheet reference where data should be written tomaximizing
- true if this is a maximizing problem, false otherwiseresults
- list of results to serializereferenceResultProviders
- reference result providers if available
-
headRawSheet
public void headRawSheet(org.apache.poi.xssf.streaming.SXSSFSheet rawSheet) -
nanInfiniteFilter
protected static double nanInfiniteFilter(boolean maximizing, double value) Transform NaNs and other special double values to valid values in Excel- Parameters:
maximizing
- true if this is a maximizing problem, false otherwisevalue
- value to transform- Returns:
- transformed value
-
writeCell
protected static void writeCell(org.apache.poi.xssf.streaming.SXSSFCell cell, Object d, ExcelSerializer.CType type) Write value to sheet cell- Parameters:
cell
- cell where value will be writtend
- value to writetype
- hints how the value should be interpreted. May or may not be honored.
-
writeCell
protected static void writeCell(org.apache.poi.xssf.usermodel.XSSFCell cell, Object d, ExcelSerializer.CType type) Write value to sheet cell- Parameters:
cell
- cell where value will be writtend
- value to writetype
- hints how the value should be interpreted. May or may not be honored.
-