From b8a01380191d0083462c7fd34777ea517cb4a8c2 Mon Sep 17 00:00:00 2001 From: zhaosh84 Date: Thu, 22 May 2025 19:19:15 -0400 Subject: [PATCH] davis checkstyle --- .../org/translation/CountryCodeConverter.java | 8 +++- .../translation/InLabByHandTranslator.java | 38 +++++++++---------- 2 files changed, 24 insertions(+), 22 deletions(-) diff --git a/src/main/java/org/translation/CountryCodeConverter.java b/src/main/java/org/translation/CountryCodeConverter.java index 83dfd3e72..03f74d424 100644 --- a/src/main/java/org/translation/CountryCodeConverter.java +++ b/src/main/java/org/translation/CountryCodeConverter.java @@ -4,9 +4,8 @@ import java.net.URISyntaxException; import java.nio.file.Files; import java.nio.file.Paths; -import java.util.List; -// TODO CheckStyle: Wrong lexicographical order for 'java.util.HashMap' import (remove this comment once resolved) import java.util.HashMap; +import java.util.List; import java.util.Map; /** @@ -15,6 +14,8 @@ public class CountryCodeConverter { // TODO Task: pick appropriate instance variable(s) to store the data necessary for this class + private final Map codeToCountry; + private final Map countryToCode; /** * Default constructor which will load the country codes from "country-codes.txt" @@ -31,6 +32,9 @@ public CountryCodeConverter() { */ public CountryCodeConverter(String filename) { + this.codeToCountry = new HashMap<>(); + this.countryToCode = new HashMap<>(); + try { List lines = Files.readAllLines(Paths.get(getClass() .getClassLoader().getResource(filename).toURI())); diff --git a/src/main/java/org/translation/InLabByHandTranslator.java b/src/main/java/org/translation/InLabByHandTranslator.java index bcf55adf4..43ed14471 100644 --- a/src/main/java/org/translation/InLabByHandTranslator.java +++ b/src/main/java/org/translation/InLabByHandTranslator.java @@ -14,6 +14,8 @@ * the country code "can" to several languages. */ public class InLabByHandTranslator implements Translator { + + public static final String CANADA = "can"; /** * Returns the language abbreviations for all languages whose translations are * available for the given country. @@ -21,18 +23,16 @@ public class InLabByHandTranslator implements Translator { * @param country the country * @return list of language abbreviations which are available for this country */ + @Override public List getCountryLanguages(String country) { // TODO Checkstyle: The String "can" appears 4 times in the file. - if ("can".equals(country)) { + if (CANADA.equals(country)) { return new ArrayList<>(List.of("de", "en", "zh")); } return new ArrayList<>(); } - // TODO Checkstyle: Static variable definition in wrong order. - public static final String CANADA = "can"; - /** * Returns the country abbreviations for all countries whose translations are * available from this Translator. @@ -53,22 +53,20 @@ public List getCountries() { */ @Override public String translate(String country, String language) { - // TODO Checkstyle: Return count is 5 (max allowed for non-void methods/ lambdas is 2). - // TODO Checkstyle: String literal expressions should be on the left side of an equals comparison - if (!country.equals("can")) { - return null; - } - if (language.equals("de")) { - return "Kanada"; - } - else if (language.equals("en")) { - return "Canada"; - } - else if ("zh".equals(language)) { - return "加拿大"; - } - else { - return null; + String translation = null; + + if (CANADA.equals(country)) { + if ("de".equals(language)) { + translation = "Kanada"; + } + else if ("en".equals(language)) { + translation = "Canada"; + } + else if ("zh".equals(language)) { + translation = "加拿大"; + } } + + return translation; } }