OSDN Git Service

green: 軽いリファクタリング
authorhayashi <hayashi.yuu@gmail.com>
Sat, 22 Jul 2017 07:44:50 +0000 (16:44 +0900)
committerhayashi <hayashi.yuu@gmail.com>
Sat, 22 Jul 2017 07:44:50 +0000 (16:44 +0900)
importPicture/src/osm/jp/gpx/ImportPicture.java

index 7d41feb..aeeab0d 100644 (file)
@@ -113,11 +113,12 @@ public class ImportPicture extends Thread {
      */\r
     public static void main(String[] argv) throws Exception\r
     {\r
-        Date imgtime;\r
 \r
        String paramFilePath = ((argv.length < 1) ? AppParameters.FILE_PATH : argv[0]);\r
         System.out.println("Param File = '"+ paramFilePath +"'");\r
         ImportPicture obj = new ImportPicture();\r
+\r
+        Date imgtime;\r
         obj.params = new AppParameters(paramFilePath);\r
 \r
         System.out.println(" - param: "+ AppParameters.IMG_TIME +"="+ obj.params.getProperty(AppParameters.IMG_TIME) );\r
@@ -145,26 +146,7 @@ public class ImportPicture extends Thread {
 \r
         // 基準時刻ファイルの「更新日時」を使って時刻合わせを行う。\r
         // argv[1] --> AppParameters.IMG_BASE_FILE に置き換え\r
-        File baseFile = new File(obj.imgDir, obj.params.getProperty(AppParameters.IMG_BASE_FILE));\r
-        if (obj.exifBase) {\r
-            ImageMetadata meta = Imaging.getMetadata(baseFile);\r
-            JpegImageMetadata jpegMetadata = (JpegImageMetadata)meta;\r
-            if (jpegMetadata == null) {\r
-                System.out.println("'"+ baseFile.getAbsolutePath() +"' にEXIF情報がありません");\r
-                return;\r
-            }\r
-            TiffImageMetadata exif = jpegMetadata.getExif();\r
-            if (exif == null) {\r
-                System.out.println("'"+ baseFile.getAbsolutePath() +"' にEXIF情報がありません");\r
-                return;\r
-            }\r
-               String dateTimeOriginal = exif.getFieldValue(ExifTagConstants.EXIF_TAG_DATE_TIME_ORIGINAL)[0];\r
-               long lastModifyTime = ImportPicture.toEXIFDate(dateTimeOriginal).getTime();\r
-               imgtime = new Date(lastModifyTime);\r
-        }\r
-        else {\r
-            imgtime = new Date(baseFile.lastModified());\r
-        }\r
+       imgtime = obj.adjustTime(new File(obj.imgDir, obj.params.getProperty(AppParameters.IMG_BASE_FILE)));\r
 \r
         // 出力ファイル\r
         // argv[3] --> AppParameters.IMG_OUTPUT に置き換え\r
@@ -296,7 +278,11 @@ public class ImportPicture extends Thread {
        \r
     public static final String TIME_FORMAT_STRING = "yyyy-MM-dd'T'HH:mm:ss'Z'";\r
     private static final String EXIF_DATE_TIME_FORMAT_STRING = "yyyy:MM:dd HH:mm:ss";\r
-\r
+    \r
+    public void setUp() {\r
+       \r
+    }\r
+    \r
     @Override\r
     public void run() {\r
         /**\r
@@ -633,6 +619,31 @@ public class ImportPicture extends Thread {
         }\r
 \r
     }\r
+    \r
+    // 基準時刻ファイルの「更新日時」を使って時刻合わせを行う。\r
+    // argv[1] --> AppParameters.IMG_BASE_FILE に置き換え\r
+    // File baseFile = new File(obj.imgDir, obj.params.getProperty(AppParameters.IMG_BASE_FILE));\r
+    private Date adjustTime(File baseFile) throws ImageReadException, IOException, ParseException {\r
+        if (exifBase) {\r
+            ImageMetadata meta = Imaging.getMetadata(baseFile);\r
+            JpegImageMetadata jpegMetadata = (JpegImageMetadata)meta;\r
+            if (jpegMetadata == null) {\r
+                System.out.println("'"+ baseFile.getAbsolutePath() +"' にEXIF情報がありません");\r
+                return null;\r
+            }\r
+            TiffImageMetadata exif = jpegMetadata.getExif();\r
+            if (exif == null) {\r
+                System.out.println("'"+ baseFile.getAbsolutePath() +"' にEXIF情報がありません");\r
+                return null;\r
+            }\r
+               String dateTimeOriginal = exif.getFieldValue(ExifTagConstants.EXIF_TAG_DATE_TIME_ORIGINAL)[0];\r
+               return new Date(ImportPicture.toEXIFDate(dateTimeOriginal).getTime());\r
+        }\r
+        else {\r
+            return new Date(baseFile.lastModified());\r
+        }\r
+    }\r
+\r
        \r
     /**\r
      * 対象は '*.JPG' のみ対象とする\r