summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--songsterr-reader/src/main/java/de/uvok/tuxguitar/SongsterrFileFormatDetector.java19
-rw-r--r--songsterr-reader/src/main/java/de/uvok/tuxguitar/SongsterrInputStream.java12
-rw-r--r--songsterr-reader/src/main/java/de/uvok/tuxguitar/SongsterrSong.java5
3 files changed, 21 insertions, 15 deletions
diff --git a/songsterr-reader/src/main/java/de/uvok/tuxguitar/SongsterrFileFormatDetector.java b/songsterr-reader/src/main/java/de/uvok/tuxguitar/SongsterrFileFormatDetector.java
index 125df35..3d2c5e7 100644
--- a/songsterr-reader/src/main/java/de/uvok/tuxguitar/SongsterrFileFormatDetector.java
+++ b/songsterr-reader/src/main/java/de/uvok/tuxguitar/SongsterrFileFormatDetector.java
@@ -1,11 +1,8 @@
package de.uvok.tuxguitar;
-import java.io.IOException;
import java.io.InputStream;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonFactory;
-
+import com.fasterxml.jackson.databind.ObjectMapper;
import org.herac.tuxguitar.io.base.TGFileFormat;
import org.herac.tuxguitar.io.base.TGFileFormatDetector;
@@ -14,17 +11,15 @@ public class SongsterrFileFormatDetector implements TGFileFormatDetector {
new String[] { "json", "bin" });
@Override
- public TGFileFormat getFileFormat(InputStream arg0) {
- byte[] b = new byte[5];
+ public TGFileFormat getFileFormat(InputStream stream) {
try {
- arg0.read(b, 0, 5);
- return FILE_FORMAT;
- // JsonFactory factory = JsonFactory.builder().build();
- // JsonParser p = factory.createParser(arg0);
- } catch (IOException e) {
+ ObjectMapper om = new ObjectMapper();
+ om.readTree(stream);
+ } catch (Exception e) {
+ System.err.println(e.toString());
return null;
}
- // return FILE_FORMAT;
+ return FILE_FORMAT;
}
}
diff --git a/songsterr-reader/src/main/java/de/uvok/tuxguitar/SongsterrInputStream.java b/songsterr-reader/src/main/java/de/uvok/tuxguitar/SongsterrInputStream.java
index 3f98c11..d822aba 100644
--- a/songsterr-reader/src/main/java/de/uvok/tuxguitar/SongsterrInputStream.java
+++ b/songsterr-reader/src/main/java/de/uvok/tuxguitar/SongsterrInputStream.java
@@ -1,5 +1,4 @@
package de.uvok.tuxguitar;
-
import java.io.IOException;
import java.io.InputStream;
@@ -7,6 +6,11 @@ import org.herac.tuxguitar.io.base.TGFileFormat;
import org.herac.tuxguitar.io.base.TGFileFormatException;
import org.herac.tuxguitar.io.base.TGSongReader;
import org.herac.tuxguitar.io.base.TGSongReaderHandle;
+import com.fasterxml.jackson.core.JsonFactory;
+import com.fasterxml.jackson.core.StreamReadFeature;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
public class SongsterrInputStream implements TGSongReader {
@@ -18,10 +22,12 @@ public class SongsterrInputStream implements TGSongReader {
@Override
public void read(TGSongReaderHandle arg0) throws TGFileFormatException {
InputStream is = arg0.getInputStream();
- byte[] b = new byte[5];
try {
- is.read(b, 0, 5);
+ ObjectMapper om = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+ SongsterrSong song = om.readValue(is, SongsterrSong.class);
+ System.out.println(song);
} catch (IOException e) {
+ throw new TGFileFormatException();
}
}
diff --git a/songsterr-reader/src/main/java/de/uvok/tuxguitar/SongsterrSong.java b/songsterr-reader/src/main/java/de/uvok/tuxguitar/SongsterrSong.java
new file mode 100644
index 0000000..1693316
--- /dev/null
+++ b/songsterr-reader/src/main/java/de/uvok/tuxguitar/SongsterrSong.java
@@ -0,0 +1,5 @@
+package de.uvok.tuxguitar;
+
+public class SongsterrSong {
+ public int strings;
+}