OSDN Git Service

chore: method add
authorhizumiaoba <56146205+hizumiaoba@users.noreply.github.com>
Thu, 4 Nov 2021 13:06:07 +0000 (22:06 +0900)
committerhizumiaoba <56146205+hizumiaoba@users.noreply.github.com>
Thu, 4 Nov 2021 13:06:07 +0000 (22:06 +0900)
src/com/ranfa/lib/EstimateAlbumTypeCycle.java
src/com/ranfa/lib/Scraping.java

index 40f5253..46d4c6e 100644 (file)
@@ -1,5 +1,6 @@
 package com.ranfa.lib;
 
+import java.io.IOException;
 import java.nio.file.Files;
 import java.nio.file.Paths;
 import java.text.SimpleDateFormat;
@@ -7,6 +8,10 @@ import java.util.Date;
 
 import javax.swing.JOptionPane;
 
+import com.fasterxml.jackson.core.util.DefaultPrettyPrinter;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.ObjectWriter;
+
 public class EstimateAlbumTypeCycle {
 
        private final static String CYCLEPATH = "generated/albumCycle.json";
@@ -24,6 +29,7 @@ public class EstimateAlbumTypeCycle {
                AlbumCycleDefinitionProperty property = new AlbumCycleDefinitionProperty();
                String inputType = JOptionPane.showInputDialog("現在のMASTER+のALBUMを入力してください。(A,B,C)");
                if(!inputType.equals("A") || !inputType.equals("B") || !inputType.equals("C")) {
+
                        LimitedLog.println(EstimateAlbumTypeCycle.class + ":[FATAL]; " + "inputType has invaild.Canceling initiate...");
                        return;
                }
@@ -33,7 +39,17 @@ public class EstimateAlbumTypeCycle {
                property.setDaysLeft(Integer.parseInt(inputDaysLeft));
                property.setType(inputType.equals("A") ? ALBUM_A : inputType.equals("B") ? ALBUM_B : ALBUM_C);
                write(property);
-               
+               return;
+       }
+
+       private static void write(AlbumCycleDefinitionProperty property) {
+               ObjectWriter writer = new ObjectMapper().writer(new DefaultPrettyPrinter());
+               try {
+                       writer.writeValue(Paths.get(CYCLEPATH).toFile(), writer);
+               } catch (IOException e) {
+                       // TODO 自動生成された catch ブロック
+                       e.printStackTrace();
+               }
        }
 
 }
index 4d875ab..ebac8c1 100644 (file)
@@ -6,6 +6,10 @@ import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.util.ArrayList;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
 
 import javax.swing.JOptionPane;
 
@@ -63,7 +67,7 @@ public class Scraping {
                                        .timeout(0)
                                        .get();
                        Elements rows = document.getElementsByTag("tbody").get(0).select("tr");
-                       ArrayList<ArrayList<Album>> typeLists = AlbumTypeEstimate.getAlbumType();
+                       ArrayList<ArrayList<Album>> typeLists = typeFetchFuture.get();
                        for(int i = 0; i < rows.size(); i++) {
                                String attribute = rows.get(i).select("td").get(0).text();
                                String name = rows.get(i).select("td").get(1).text();
@@ -101,7 +105,7 @@ public class Scraping {
                                }
                                res.add(tmp);
                        }
-               } catch (IOException e) {
+               } catch (IOException | InterruptedException | ExecutionException e) {
                        e.printStackTrace();
                }
                LimitedLog.println(Scraping.class + ":[INFO]: scraping compeleted in " + (System.currentTimeMillis() - time)+ "ms");