diff --git a/src/CurlHelper.java b/src/main/java/sjpapi/api/CurlHelper.java similarity index 78% rename from src/CurlHelper.java rename to src/main/java/sjpapi/api/CurlHelper.java index 8c97b96..7278040 100644 --- a/src/CurlHelper.java +++ b/src/main/java/sjpapi/api/CurlHelper.java @@ -4,9 +4,11 @@ public class CurlHelper { - private final static CurlReader reader = new CurlReader(); - private final static CurlValidator validator = new CurlValidator(); + private static final CurlReader reader = new CurlReader(); + private static final CurlValidator validator = new CurlValidator(); + private CurlHelper() { + } public static String getOutputFromCurl(String word) throws IOException { @@ -25,10 +27,4 @@ public static String getOutputFromCurl(String word) throws IOException { private static String readCurlFromSJP(String word) throws IOException { return reader.getCurlOutput("https://sjp.pl/"+word); } - - - - - - } diff --git a/src/CurlReader.java b/src/main/java/sjpapi/api/CurlReader.java similarity index 70% rename from src/CurlReader.java rename to src/main/java/sjpapi/api/CurlReader.java index 608d9ec..ac6ed93 100644 --- a/src/CurlReader.java +++ b/src/main/java/sjpapi/api/CurlReader.java @@ -6,27 +6,25 @@ import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; +import java.util.logging.Logger; + +import static java.util.logging.Level.SEVERE; public class CurlReader { - private String readed = ""; + private String readResult = ""; + private static final Logger logger = Logger.getLogger(CurlReader.class.getName()); public String getCurlOutput(final String https) { - - Thread thread = new Thread(new Runnable() { - @Override - public void run() { - try { - try { - readed = CurlReader.this.read(https); - } catch (MalformedURLException e) { - e.printStackTrace(); - } - - } catch (Exception e) { - e.printStackTrace(); - } + Thread thread = new Thread(() -> { + try { + readResult = read(https); + } catch (MalformedURLException e) { + logger.log(SEVERE, "MalformedURLException"); + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); } }); thread.start(); @@ -34,8 +32,9 @@ public void run() { thread.join(); } catch (InterruptedException e) { e.printStackTrace(); + Thread.currentThread().interrupt(); } - return readed; + return readResult; } @@ -57,12 +56,9 @@ private String read(String https) throws IOException { BufferedReader br; String response = curlOutput.toString(); - if ("404".equals(response)) - { + if ("404".equals(response)) { br = new BufferedReader(new InputStreamReader(urlConnection.getErrorStream())); - } - else - { + } else { br = new BufferedReader(new InputStreamReader(urlConnection.getInputStream())); } @@ -72,13 +68,10 @@ private String read(String https) throws IOException { } br.close(); urlConnection.disconnect(); - } - catch(Exception e) { + } catch (Exception e) { curlOutput = new StringBuilder(); } return curlOutput.toString(); } - - } diff --git a/src/CurlValidator.java b/src/main/java/sjpapi/api/CurlValidator.java similarity index 74% rename from src/CurlValidator.java rename to src/main/java/sjpapi/api/CurlValidator.java index 89fbb49..e3a10dc 100644 --- a/src/CurlValidator.java +++ b/src/main/java/sjpapi/api/CurlValidator.java @@ -13,9 +13,6 @@ private Boolean isResponseOK( String curlOutput ) { } private Boolean isBodySection( String curlOutput ) { - if (curlOutput.contains("
") && curlOutput.contains("")){ - return true; - } - return false; + return curlOutput.contains("") && curlOutput.contains(""); } } diff --git a/src/SjpAPI.java b/src/main/java/sjpapi/api/SjpAPI.java similarity index 93% rename from src/SjpAPI.java rename to src/main/java/sjpapi/api/SjpAPI.java index d88f0e7..28e9339 100644 --- a/src/SjpAPI.java +++ b/src/main/java/sjpapi/api/SjpAPI.java @@ -6,6 +6,9 @@ public class SjpAPI { + private SjpAPI() { + } + public static String getWord(String word) throws IOException, JSONException { String json; String wordWithoutSpecialChar; diff --git a/src/SjpHelper.java b/src/main/java/sjpapi/api/SjpHelper.java similarity index 94% rename from src/SjpHelper.java rename to src/main/java/sjpapi/api/SjpHelper.java index 363e615..3420a53 100644 --- a/src/SjpHelper.java +++ b/src/main/java/sjpapi/api/SjpHelper.java @@ -9,6 +9,9 @@ public class SjpHelper { private static final SjpValidator validator = new SjpValidator(); private static final SjpWrapper wrapper = new SjpWrapper(); + private SjpHelper() { + } + public static String translateFromCurlToJSON(String curl ) throws JSONException, UnsupportedEncodingException { String json = "EMPTY"; diff --git a/src/SjpValidator.java b/src/main/java/sjpapi/api/SjpValidator.java similarity index 100% rename from src/SjpValidator.java rename to src/main/java/sjpapi/api/SjpValidator.java diff --git a/src/SjpWrapper.java b/src/main/java/sjpapi/api/SjpWrapper.java similarity index 93% rename from src/SjpWrapper.java rename to src/main/java/sjpapi/api/SjpWrapper.java index a6656b4..62aae70 100644 --- a/src/SjpWrapper.java +++ b/src/main/java/sjpapi/api/SjpWrapper.java @@ -20,7 +20,7 @@ public String getWrapped (String curlOutput) throws JSONException, UnsupportedEn private List]*>(.+?)<.+?(?=.*)href=\"\\/(.+?)\".+?znaczenie.+?
]*>(.+?)<\\/p>";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
@@ -59,7 +59,7 @@ private String translateArrayToJSON(List> wordsFromCurlOutput ) thr
jsonObject.put("name",wordsFromCurlOutput.get(0).get(0));
jsonObject.put("count",wordsFromCurlOutput.size());
for( int i = 0; i < wordsFromCurlOutput.size(); i++){
- jsonObject.put("canBeUsed"+"["+i+"]",TranslateCanBeUsed(wordsFromCurlOutput.get(i).get(1)));
+ jsonObject.put("canBeUsed"+"["+i+"]", translateCanBeUsed(wordsFromCurlOutput.get(i).get(1)));
jsonObject.put("variant"+"["+i+"]", StringUtils.htmlToPolishLetter(wordsFromCurlOutput.get(i).get(2)));
jsonObject.put("meaning"+"["+i+"]", wrappedDescription(wordsFromCurlOutput.get(i).get(3)));
}
@@ -68,7 +68,7 @@ private String translateArrayToJSON(List
> wordsFromCurlOutput ) thr
return allWrappedWord;
}
- private Boolean TranslateCanBeUsed(String oneParamOfWordFromCurl){
+ private Boolean translateCanBeUsed(String oneParamOfWordFromCurl){
return !oneParamOfWordFromCurl.startsWith("niedopuszczalne");
}
diff --git a/src/StringUtils.java b/src/main/java/sjpapi/api/StringUtils.java
similarity index 94%
rename from src/StringUtils.java
rename to src/main/java/sjpapi/api/StringUtils.java
index 4f1cb6f..c8b5b64 100644
--- a/src/StringUtils.java
+++ b/src/main/java/sjpapi/api/StringUtils.java
@@ -57,11 +57,14 @@ public class StringUtils {
htmlEntities.put("€", "\u20a0");
}
+ private StringUtils() {
+ }
// Function from
// https://www.rgagnon.com/javadetails/java-0307.html
public static String unescapeHTML(String source, int start) {
- int startOfHtmlSpecialCharCombination, closeOfHtmlSpecialCharCombination;
+ int startOfHtmlSpecialCharCombination;
+ int closeOfHtmlSpecialCharCombination;
startOfHtmlSpecialCharCombination = source.indexOf("&", start);
if (startOfHtmlSpecialCharCombination > -1) {
@@ -86,7 +89,7 @@ public static String htmlToPolishLetter(String htmlWithBadCoding) throws Unsuppo
}
public static boolean hasSpecyficHTMLTags(String text){
- String HTML_PATTERN = "]*>.+?<\\/a>|]*.+?<\\/span>|