summaryrefslogtreecommitdiff
path: root/songsterr-reader/src/main/java/de/uvok/tuxguitar/SongsterrInputStream.java
blob: b319b474b04749e4c3b0760427ae2ec42954b5ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package de.uvok.tuxguitar;
import java.io.IOException;
import java.io.InputStream;

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;
import com.fasterxml.jackson.datatype.jdk8.Jdk8Module;

public class SongsterrInputStream implements TGSongReader {

    @Override
    public TGFileFormat getFileFormat() {
        return SongsterrFileFormatDetector.FILE_FORMAT;
    }

    @Override
    public void read(TGSongReaderHandle arg0) throws TGFileFormatException {
        InputStream is = arg0.getInputStream();
        try {
            ObjectMapper om = new ObjectMapper();
            om.registerModule(new Jdk8Module());
            Song song = om.readValue(is, Song.class);
            System.out.println(song);
        } catch (IOException e) {
            throw new TGFileFormatException(e);
        }
    }

}