Package Database

Source Code of Database.NeighborhoodParser

package Database;

import Database.Primitives.Similarity;
import Database.Primitives.Song;

public class NeighborhoodParser extends Parser {

    private Song currentSong;

    public NeighborhoodParser(String f) {
        super(f);
    }

    @Override
    protected void format(String dataLine) {
        String[] data = dataLine.split("[ \t]");
        if (data.length != 3) {
    System.err.println("Split dataline into "+data.length+" pieces.");
          System.exit(1);
        }
        Song main = songs.getSong(Integer.parseInt(data[0]));
        if (main == null) {
            System.err.println("Could not find song with id:"+Integer.parseInt(data[0]));
        }
  Song other = songs.getSong(Integer.parseInt(data[1]));
        if (other == null) {
            System.err.println("Could not find other song id:"+Integer.parseInt(data[1]));
        }
        double neighborSim = Double.parseDouble(data[2]);
        Similarity sim = new Similarity(other, neighborSim);
        main.addToNeighborhood(sim);
       
       
    }

    private void formatSong(String dataLine) {
        if (dataLine != null) {
            currentSong = songs.getSong(Integer.parseInt(dataLine));
            if (currentSong == null) {
                System.err.println("Reading Neighborhood database found Song that wasn't already constructed.  Exiting.");
                System.exit(1);
            }

        } else {
            System.err.println("Unexpected format for song line: " + dataLine);
        }
    }

    private void formatSimilarity(String dataLine) {
        String[] splitData = dataLine.split("\t");
        if ((splitData != null) && (splitData.length == 3)) {
            int neighborID = Integer.parseInt(splitData[1]);
            Song neighbor = songs.getSong(neighborID);
            if (neighbor == null) {
                System.err.println("Reading Neighborhood database found Song that wasn't already constructed.  Exiting.");
                System.exit(1);
            }
            double neighborSim = Double.parseDouble(splitData[2]);
            Similarity sim = new Similarity(neighbor, neighborSim);
            currentSong.addToNeighborhood(sim);
        } else {
            System.err.println("Unexpected format for similarity line: " + dataLine);
        }
    }
}
TOP

Related Classes of Database.NeighborhoodParser

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.