Skip to content

Commit

Permalink
Tidying.
Browse files Browse the repository at this point in the history
  • Loading branch information
grahamkirby committed Dec 23, 2024
1 parent c9f2445 commit 71f7bfd
Show file tree
Hide file tree
Showing 178 changed files with 36,773 additions and 266 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -32,20 +32,25 @@

import static org.grahamkirby.race_timing.common.Race.*;

/**
* Abstract parent class for various forms of race output.
*/
@SuppressWarnings("IncorrectFormatting")
public abstract class RaceOutput {

public static final String DNF_STRING = "DNF";

//////////////////////////////////////////////////////////////////////////////////////////////////

protected final Race race;

protected Path output_directory_path;
protected String year;
protected String race_name_for_results;
protected String race_name_for_filenames;
private String overall_results_filename;
String prizes_filename;
String notes_filename;
protected Path output_directory_path;

//////////////////////////////////////////////////////////////////////////////////////////////////

Expand All @@ -66,6 +71,8 @@ public abstract class RaceOutput {
configure();
}

//////////////////////////////////////////////////////////////////////////////////////////////////

public void printResults() throws IOException {

final OutputStream stream = Files.newOutputStream(output_directory_path.resolve(overall_results_filename + getFileSuffix()));
Expand Down Expand Up @@ -106,7 +113,7 @@ protected void constructFilePaths() {

overall_results_filename = STR."\{race_name_for_filenames}_overall_\{year}";
prizes_filename = STR."\{race_name_for_filenames}_prizes_\{year}";
notes_filename = "processing_notes";
notes_filename = STR."\{race_name_for_filenames}_processing_notes_\{year}";

output_directory_path = race.getPath("../output");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,17 +20,54 @@
import org.grahamkirby.race_timing.common.categories.PrizeCategory;

import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.nio.file.Files;

import static org.grahamkirby.race_timing.common.Race.LINE_SEPARATOR;

public abstract class RaceOutputHTML extends RaceOutput {

static final String SOFTWARE_CREDIT_LINK_TEXT = "<p style=\"font-size:smaller; font-style:italic;\">Results generated using <a href=\"https://github.com/grahamkirby/race-timing\">race-timing</a>.</p>";

protected String combined_results_filename;

//////////////////////////////////////////////////////////////////////////////////////////////////

protected RaceOutputHTML(final Race race) {
super(race);
}

//////////////////////////////////////////////////////////////////////////////////////////////////

public void printCombined() throws IOException {

printCombined(CreditLinkOption.INCLUDE_CREDIT_LINK);
}

protected void printCombined(final CreditLinkOption credit_link_option) throws IOException {

final OutputStream stream = Files.newOutputStream(output_directory_path.resolve(combined_results_filename + getFileSuffix()));

try (final OutputStreamWriter writer = new OutputStreamWriter(stream)) {

writer.append("<h3>Results</h3>").append(LINE_SEPARATOR);
printPrizes(writer);

writer.append("<h4>Overall</h4>").append(LINE_SEPARATOR);
printResults(writer, getOverallResultPrinter(writer), credit_link_option);
}
}

//////////////////////////////////////////////////////////////////////////////////////////////////

@Override
protected void constructFilePaths() {

super.constructFilePaths();
combined_results_filename = STR."\{race_name_for_filenames}_combined_\{year}";
}

@Override
public String getFileSuffix() {
return ".html";
Expand Down Expand Up @@ -64,6 +101,4 @@ public String makeSubHeading(final String s) {
public String getResultsHeader() {
return "";
}

public abstract void printCombined() throws IOException;
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,12 @@
import org.grahamkirby.race_timing.common.Race;
import org.grahamkirby.race_timing.common.RaceResult;
import org.grahamkirby.race_timing.common.output.CreditLinkOption;
import org.grahamkirby.race_timing.common.output.ResultPrinterHTML;
import org.grahamkirby.race_timing.common.output.RaceOutputHTML;
import org.grahamkirby.race_timing.common.output.ResultPrinter;
import org.grahamkirby.race_timing.common.output.ResultPrinterHTML;

import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.nio.file.Files;

import static org.grahamkirby.race_timing.common.Normalisation.format;
import static org.grahamkirby.race_timing.common.Race.LINE_SEPARATOR;
Expand All @@ -38,20 +36,6 @@ class IndividualRaceOutputHTML extends RaceOutputHTML {
super(race);
}

@Override
public void printCombined() throws IOException {

final OutputStream stream = Files.newOutputStream(output_directory_path.resolve("combined.html"));

try (final OutputStreamWriter writer = new OutputStreamWriter(stream)) {

writer.append("<h3><strong>Results</strong></h3>").append(LINE_SEPARATOR);
printPrizes(writer);
writer.append("<h4>Overall</h4>").append(LINE_SEPARATOR);
printResults(writer, getOverallResultPrinter(writer), CreditLinkOption.INCLUDE_CREDIT_LINK);
}
}

@Override
protected ResultPrinter getOverallResultPrinter(final OutputStreamWriter writer) {
return new OverallResultPrinter(race, writer);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -552,7 +552,7 @@ private Duration getIndividualStartTime(final LegResult leg_result, final int le
orElse(null);
}

List<String> outputLegs(final RelayRaceResult result, final Function<? super LegOutputInfo, String> leg_output_formatter) {
List<String> getLegDetails(final RelayRaceResult result, final Function<? super LegOutputInfo, String> leg_output_formatter) {

final List<String> leg_details = new ArrayList<>();
boolean all_previous_legs_completed = true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ public void printResult(final RaceResult r) throws IOException {

writer.append(STR."\{result.shouldDisplayPosition() ? result.position_string : ""},\{result.entry.bib_number},\{encode(result.entry.team.name())},\{result.entry.team.category().getLongName()},");

final List<String> leg_strings = relay_race.outputLegs(result, info ->
final List<String> leg_strings = relay_race.getLegDetails(result, info ->
STR."\{encode(info.leg_runner_names())}\{info.leg_mass_start_annotation()},\{info.leg_time()},\{info.split_time()}");

writer.append(String.join(",", leg_strings));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.nio.file.Files;
import java.nio.file.StandardOpenOption;
import java.util.List;

import static org.grahamkirby.race_timing.common.Normalisation.format;
Expand All @@ -47,18 +48,14 @@ public class RelayRaceOutputHTML extends RaceOutputHTML {
@Override
public void printCombined() throws IOException {

final OutputStream stream = Files.newOutputStream(output_directory_path.resolve("combined.html"));
printCombined(CreditLinkOption.DO_NOT_INCLUDE_CREDIT_LINK);

try (final OutputStreamWriter writer = new OutputStreamWriter(stream)) {

writer.append("<h3><strong>Results</strong></h3>").append(LINE_SEPARATOR);
printPrizes(writer);
final OutputStream stream = Files.newOutputStream(output_directory_path.resolve(combined_results_filename + getFileSuffix()), StandardOpenOption.APPEND);

writer.append("<h4>Overall</h4>").append(LINE_SEPARATOR);
printResults(writer, getOverallResultPrinter(writer), CreditLinkOption.DO_NOT_INCLUDE_CREDIT_LINK);
try (final OutputStreamWriter writer = new OutputStreamWriter(stream)) {

writer.append("<h4>Full Results</h4>").append(LINE_SEPARATOR);
printDetailedResults(writer, CreditLinkOption.DO_NOT_INCLUDE_CREDIT_LINK);
printDetailedResults(writer);

writer.append("<p>M3: mass start leg 3<br />M4: mass start leg 4</p>").append(LINE_SEPARATOR);

Expand Down Expand Up @@ -91,16 +88,16 @@ protected ResultPrinter getPrizeResultPrinter(final OutputStreamWriter writer) {

void printDetailedResults() throws IOException {

final OutputStream stream = Files.newOutputStream(output_directory_path.resolve(STR."\{detailed_results_filename}.html"));
final OutputStream stream = Files.newOutputStream(output_directory_path.resolve(detailed_results_filename + getFileSuffix()));

try (final OutputStreamWriter writer = new OutputStreamWriter(stream)) {
printDetailedResults(writer, CreditLinkOption.INCLUDE_CREDIT_LINK);
printDetailedResults(writer);
}
}

private void printDetailedResults(final OutputStreamWriter writer, final CreditLinkOption credit_link_option) throws IOException {
private void printDetailedResults(final OutputStreamWriter writer) throws IOException {

printResults(writer, new DetailedResultPrinter(race, writer), credit_link_option);
printResults(writer, new DetailedResultPrinter(race, writer), CreditLinkOption.DO_NOT_INCLUDE_CREDIT_LINK);
}

//////////////////////////////////////////////////////////////////////////////////////////////////
Expand Down Expand Up @@ -260,7 +257,7 @@ public void printResult(final RaceResult r) throws IOException {
<td>\{result.entry.team.category().getLongName()}</td>
""");

final List<String> leg_strings = relay_race.outputLegs(result, info ->
final List<String> leg_strings = relay_race.getLegDetails(result, info ->
STR."""
<td>\{race.normalisation.htmlEncode(info.leg_runner_names())}\{info.leg_mass_start_annotation()}</td>
<td>\{info.leg_time()}</td>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ class RelayRaceOutputText extends RaceOutputText {
protected void constructFilePaths() {

super.constructFilePaths();
collated_times_filename = "times_collated";
collated_times_filename = STR."\{race_name_for_filenames}_times_collated_\{year}";
}

@SuppressWarnings("IncorrectFormatting")
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@
import org.grahamkirby.race_timing.common.Race;
import org.grahamkirby.race_timing.common.RaceResult;
import org.grahamkirby.race_timing.common.output.CreditLinkOption;
import org.grahamkirby.race_timing.common.output.RaceOutputHTML;
import org.grahamkirby.race_timing.common.output.ResultPrinter;
import org.grahamkirby.race_timing.common.output.ResultPrinterHTML;
import org.grahamkirby.race_timing.series_race.SeriesRace;
import org.grahamkirby.race_timing.series_race.SeriesRaceOutputHTML;

import java.io.IOException;
import java.io.OutputStreamWriter;
Expand All @@ -31,7 +31,7 @@
import static org.grahamkirby.race_timing.common.Race.KEY_RACE_NAME_FOR_RESULTS;
import static org.grahamkirby.race_timing.common.Race.LINE_SEPARATOR;

public class GrandPrixRaceOutputHTML extends SeriesRaceOutputHTML {
public class GrandPrixRaceOutputHTML extends RaceOutputHTML {

GrandPrixRaceOutputHTML(final Race race) {
super(race);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,18 +19,18 @@
import org.grahamkirby.race_timing.common.Race;
import org.grahamkirby.race_timing.common.RaceResult;
import org.grahamkirby.race_timing.common.output.CreditLinkOption;
import org.grahamkirby.race_timing.common.output.RaceOutputHTML;
import org.grahamkirby.race_timing.common.output.ResultPrinter;
import org.grahamkirby.race_timing.common.output.ResultPrinterHTML;
import org.grahamkirby.race_timing.series_race.SeriesRace;
import org.grahamkirby.race_timing.series_race.SeriesRaceOutputHTML;

import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.stream.Collectors;

import static org.grahamkirby.race_timing.common.Race.LINE_SEPARATOR;

public class MidweekRaceOutputHTML extends SeriesRaceOutputHTML {
public class MidweekRaceOutputHTML extends RaceOutputHTML {

MidweekRaceOutputHTML(final Race race) {
super(race);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,12 @@
import org.grahamkirby.race_timing.common.categories.PrizeCategory;
import org.grahamkirby.race_timing.common.categories.PrizeCategoryGroup;
import org.grahamkirby.race_timing.common.output.CreditLinkOption;
import org.grahamkirby.race_timing.common.output.RaceOutputHTML;
import org.grahamkirby.race_timing.common.output.ResultPrinter;
import org.grahamkirby.race_timing.common.output.ResultPrinterHTML;
import org.grahamkirby.race_timing.individual_race.IndividualRace;
import org.grahamkirby.race_timing.individual_race.IndividualRaceResult;
import org.grahamkirby.race_timing.series_race.SeriesRace;
import org.grahamkirby.race_timing.series_race.SeriesRaceOutputHTML;

import java.io.IOException;
import java.io.OutputStream;
Expand All @@ -39,7 +39,7 @@
import static org.grahamkirby.race_timing.common.Normalisation.format;
import static org.grahamkirby.race_timing.common.Race.LINE_SEPARATOR;

class TourRaceOutputHTML extends SeriesRaceOutputHTML {
class TourRaceOutputHTML extends RaceOutputHTML {

TourRaceOutputHTML(final Race race) {
super(race);
Expand Down Expand Up @@ -71,7 +71,7 @@ private void printIndividualRaceResults(final int race_number) throws IOExceptio

if (individual_race != null) {

final OutputStream race_stream = Files.newOutputStream(output_directory_path.resolve(STR."race\{race_number}.html"));
final OutputStream race_stream = Files.newOutputStream(output_directory_path.resolve(STR."\{race_name_for_filenames}_race\{race_number}_\{year}\{getFileSuffix()}"));

try (final OutputStreamWriter writer = new OutputStreamWriter(race_stream)) {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<h3><strong>Results</strong></h3>
<h3>Results</h3>
<h4>Prizes</h4>
<p><strong>Women Open</strong></p>
<ul>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<h3><strong>Results</strong></h3>
<h3>Results</h3>
<h4>Prizes</h4>
<p><strong>Women Open</strong></p>
<ul>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<h3><strong>Results</strong></h3>
<h3>Results</h3>
<h4>Prizes</h4>
<p><strong>Women Open</strong></p>
<ul>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<h3><strong>Results</strong></h3>
<h3>Results</h3>
<h4>Prizes</h4>
<p><strong>Women Open</strong></p>
<ul>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<h3><strong>Results</strong></h3>
<h3>Results</h3>
<h4>Prizes</h4>
<p><strong>Women Open</strong></p>
<ul>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<h3><strong>Results</strong></h3>
<h3>Results</h3>
<h4>Prizes</h4>
<p><strong>Women Open</strong></p>
<ul>
Expand Down
Loading

0 comments on commit 71f7bfd

Please sign in to comment.