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 {