diff --git a/pom.xml b/pom.xml index 3f7f5f1..5e720b5 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 osm.surveyor AdjustTerra - 5.2-SNAPSHOT + 5.3-SNAPSHOT UTF-8 diff --git a/src/main/java/osm/jp/gpx/GpxFolder.java b/src/main/java/osm/jp/gpx/GpxFolder.java index 293c57b..dd4af8c 100644 --- a/src/main/java/osm/jp/gpx/GpxFolder.java +++ b/src/main/java/osm/jp/gpx/GpxFolder.java @@ -3,26 +3,30 @@ import java.io.File; import java.io.FileNotFoundException; import java.io.FilenameFilter; +import java.io.IOException; +import java.text.ParseException; import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; +import java.util.List; -public class GpxFolder extends ArrayList { +import javax.xml.parsers.ParserConfigurationException; + +import org.xml.sax.SAXException; + +public class GpxFolder extends ArrayList { private static final long serialVersionUID = 6178901459948163548L; - File[] gpxfiles; AppParameters params; - File gpxDir; - public GpxFolder(AppParameters params) throws FileNotFoundException { + public GpxFolder(AppParameters params) throws ParserConfigurationException, SAXException, IOException, ParseException { this.params = params; - gpxDir = params.getGpxSourceFolder(); - - gpxDir = params.getGpxSourceFolder(); + + File[] gpxfiles; + File gpxDir = params.getGpxSourceFolder(); if (gpxDir == null) { // GPXファイルまたはディレクトリが存在しません。('%s') - throw new FileNotFoundException(String.format(ImportPicture.i18n.getString("msg.100"), gpxDir.getAbsolutePath())); + throw new FileNotFoundException(String.format(ImportPicture.i18n.getString("msg.100"), "null")); } - if (!gpxDir.exists()) { // GPXファイルまたはディレクトリが存在しません。('%s') throw new FileNotFoundException(String.format(ImportPicture.i18n.getString("msg.100"), gpxDir.getAbsolutePath())); @@ -30,9 +34,9 @@ if (gpxDir.isFile()) { if (accept(params, gpxDir.getName())) { - ArrayList fileArray = new ArrayList<>(); - fileArray.add(gpxDir); - gpxfiles = (File[]) fileArray.toArray(); + List fileList = new ArrayList<>(); + fileList.add(gpxDir); + gpxfiles = fileList.toArray(new File[fileList.size()]); } else { // GPXファイルまたはディレクトリが存在しません。('%s') @@ -45,7 +49,7 @@ if (gpxfiles == null) { // 対象となるGPXファイルがありませんでした。('%s') throw new FileNotFoundException( - String.format(ImportPicture.i18n.getString("msg.110"), this.gpxDir.getAbsolutePath()) + String.format(ImportPicture.i18n.getString("msg.110"), gpxDir.getAbsolutePath()) ); } if (params.isImgOutputAll() && (gpxfiles.length > 1)) { @@ -61,6 +65,9 @@ } Arrays.sort(gpxfiles, new FileSort()); + for (File file : gpxfiles) { + this.add(new GpxFile(params, file)); + } } /** diff --git a/src/main/java/osm/jp/gpx/ImgFile.java b/src/main/java/osm/jp/gpx/ImgFile.java index fb8f09c..000f7c8 100644 --- a/src/main/java/osm/jp/gpx/ImgFile.java +++ b/src/main/java/osm/jp/gpx/ImgFile.java @@ -134,15 +134,15 @@ String ret = ""; if (isDone()) { ret += (String.format("|%-32s|", this.getName())); - ret += (String.format("%20s|", ImportPicture.toUTCString(imgtime))); - ret += (String.format("%20s|", ImportPicture.toUTCString(gpstime))); + ret += (String.format("%20s|", (imgtime==null ? "" : ImportPicture.toUTCString(imgtime)))); + ret += (String.format("%20s|", (gpstime==null ? "" : ImportPicture.toUTCString(gpstime)))); ret += (String.format("%14.10f|%14.10f|", latitude, longitude)); ret += (String.format("%8s|%6s|%6s|", eleStr, magvarStr, speedStr)); } else { ret += (String.format("|%-32s|", this.getName())); - ret += (String.format("%20s|", ImportPicture.toUTCString(imgtime))); - ret += (String.format("%20s|", ImportPicture.toUTCString(gpstime))); + ret += (String.format("%20s|", (imgtime==null ? "" : ImportPicture.toUTCString(imgtime)))); + ret += (String.format("%20s|", (gpstime==null ? "" : ImportPicture.toUTCString(gpstime)))); ret += (String.format("%-14s|%-14s|", "", "")); ret += (String.format("%8s|%6s|%6s|", "", "", "")); } diff --git a/src/main/java/osm/jp/gpx/ImportPicture.java b/src/main/java/osm/jp/gpx/ImportPicture.java index f4dc69a..e2fb67f 100644 --- a/src/main/java/osm/jp/gpx/ImportPicture.java +++ b/src/main/java/osm/jp/gpx/ImportPicture.java @@ -82,7 +82,7 @@ obj.setUp(((argv.length < 1) ? AppParameters.FILE_PATH : argv[0])); } - public File gpxDir; + //public File gpxDir; public ImgFolder imgFolder; public GpxFolder gpxFolder; public AppParameters params; @@ -103,14 +103,11 @@ // 出力ファイル // AppParameters.IMG_OUTPUT に置き換え - File outDir = new File(params.getProperty(AppParameters.IMG_OUTPUT_FOLDER)); if (params.isImgOutput()) { + File outDir = new File(params.getProperty(AppParameters.IMG_OUTPUT_FOLDER)); outDir = new File(outDir, imgFolder.getImgDir().getName()); + imgFolder.setOutDir(outDir); } - else { - outDir = gpxDir; - } - imgFolder.setOutDir(outDir); this.start(); try {