Package tvbrowserdataservice.file

Examples of tvbrowserdataservice.file.DayProgramFile


  private MutableChannelDayProgram createChannelDayProgram(Date date,
    Channel channel)
    throws TvBrowserException
  {
    // Create a DayProgramFile that contains the data of all levels
    DayProgramFile prog = new DayProgramFile();
   
    for (int i = 0; i < DayProgramFile.getLevels().length; i++) {
      String level = DayProgramFile.getLevels()[i].getId();
      String fileName = DayProgramFile.getProgramFileName(date,
        channel.getCountry(), channel.getId(), level);
      File file = new File(mDataService.getDataDir(), fileName);
     
      if (file.exists()) {
        // Load this level
        DayProgramFile levelProg = new DayProgramFile();
        try {
          levelProg.readFromFile(file);
        }
        catch (Exception exc) {
          // This file must be corrupt -> delete it
          file.delete();
         
View Full Code Here


    String completeFileName = updateFileNameToCompleteFileName(job.getFileName());
   
    File completeFile = new File(mDataService.getDataDir(), completeFileName);
    try {
      // Read the update from the stream
      DayProgramFile updateProg = new DayProgramFile();
      updateProg.readFromStream(stream, job);

      // When we are here then the loading succeed -> The file is OK.
      // It is not a corrupt because it is currently being updated.
     
      // Load the complete file
      DayProgramFile completeProg = new DayProgramFile();
      completeProg.readFromFile(completeFile);
     
      // Update the complete file
      completeProg.updateCompleteFile(updateProg);

      // Save the complete program
      completeProg.writeToFile(completeFile);
     
      // Tell the database updater that this file needs an update
      mUpdater.addUpdateJobForDayProgramFile(completeFileName);
    }
    catch (Exception exc) {
View Full Code Here

    throws TvBrowserException
  {
    mLog.fine("Receiving file " + job.getFileName());
    File completeFile = new File(mDataService.getDataDir(), job.getFileName());
    try {
      DayProgramFile prog = new DayProgramFile();
      prog.readFromStream(stream, job);
     
      // When we are here then the loading succeed -> The file is OK.
      // It is not a corrupt because it is currently being updated.

      // Save the day program
      prog.writeToFile(completeFile);
     
      // Tell the database updater that this file needs an update
      mUpdater.addUpdateJobForDayProgramFile(job.getFileName());
    }
    catch (Exception exc) {
View Full Code Here

* @author Til Schneider, www.murfman.de
*/
public class DayProgramMapperTest extends TestCase {
 
  public void testSetIDs() throws PreparationException {
    DayProgramFile rawFile = new DayProgramFile();
    DayProgramFile cmplFile = new DayProgramFile();
   
    ProgramFrame cmplFrame1 = createProgramFrame(1, 10, 20, "Laangweilig");
    ProgramFrame cmplFrame2 = createProgramFrame(4, 21, 30, "Nachrichten");
    ProgramFrame cmplFrame3 = createProgramFrame(3, 41, 50, "Otto III");
    ProgramFrame cmplFrame4 = createProgramFrame(5, 31, 40, "Karl Franzon I");
    ProgramFrame cmplFrame5 = createProgramFrame(8, 51, 70, "Affenhaus");
    cmplFrame5.addProgramField(ProgramField.create(ProgramFieldType.DESCRIPTION_TYPE, "Super Film!"));
    ProgramFrame cmplFrame6 = createProgramFrame(8, 71, 80, "Rambo III");

    cmplFile.addProgramFrame(cmplFrame1);
    cmplFile.addProgramFrame(cmplFrame2);
    cmplFile.addProgramFrame(cmplFrame3);
    cmplFile.addProgramFrame(cmplFrame4);
    cmplFile.addProgramFrame(cmplFrame5);
    cmplFile.addProgramFrame(cmplFrame6);
   
    // start time changed
    ProgramFrame rawFrame1 = createProgramFrame(-1, 5, 20, "Laangweilig");
    ProgramFrame rawFrame2 = createProgramFrame(-1, 21, 30, "Nachrichten");
    // title changed
View Full Code Here

  public void testSaveAndLoad() throws IOException, FileFormatException {
    File file = null;
    try {
      file = File.createTempFile("tvbrowser", ".test.prog.gz");

      DayProgramFile origProgFile = createTestDayProgramFile();
      origProgFile.writeToFile(file);

      // System.out.println("Test file saved: " + file.getAbsolutePath());

      DayProgramFile readProgFile = new DayProgramFile();
      readProgFile.readFromFile(file);
    }
    finally {
      if (file != null) {
        file.delete();
      }
View Full Code Here

    }
    finally {
      try { stream.close(); } catch (Exception exc) {}
    }

    DayProgramFile prepProg1 = new DayProgramFile();
    prepProg1.setVersion(1);
    prepProg1.addProgramFrame(createProgramFrame(1, 20, 30, "Otto 1"));
    prepProg1.addProgramFrame(createProgramFrame(2, 31, 50, "Karlson vom Dach"));
    prepProg1.addProgramFrame(createProgramFrame(3, 51, 80, "Nixfürungut"));
    prepProg1.writeToFile(new File(prepDir, "2010-01-01_de_test_base_full.prog.gz"));

    DayProgramFile prepProg3 = new DayProgramFile();
    prepProg3.setVersion(1);
    prepProg3.addProgramFrame(createProgramFrame(1, 10, 20, "Vorher"));
    ProgramFrame frame = createProgramFrame(2, 21, 50, "Lange Sendung");
    frame.addProgramField(ProgramField.create(ProgramFieldType.DESCRIPTION_TYPE, "Bla bla"));
    prepProg3.addProgramFrame(frame);
    prepProg3.addProgramFrame(createProgramFrame(3, 51, 60, "Danach"));
    prepProg3.writeToFile(new File(prepDir, "2010-01-03_de_test_base_full.prog.gz"));

    // Start the update
    //manager.setGroupNames(new String[]{"testgroup"});
    //manager.updateRawDataDir();
    // TODO: Check the result
View Full Code Here



  public void testMerge() throws FileFormatException {
    // Create the first file
    DayProgramFile file1 = new DayProgramFile();

    file1.addProgramFrame(createProgramFrame(1, 1024, 1050, "Supersendung"));
    file1.addProgramFrame(createProgramFrame(3, 1050, 1100, "Spitzensendung"));
    file1.addProgramFrame(createProgramFrame(5, 1212, 1400, "Laaangweilig"));

    // Create the second file
    DayProgramFile file2 = new DayProgramFile();

    file2.addProgramFrame(createProgramFrame(2, 1050, 1100, "Spitzensendung"));

    // Add a frame with the same id, but with an extra field
    ProgramFrame frame = new ProgramFrame(3);
    frame.addProgramField(ProgramField.create(ProgramFieldType.DESCRIPTION_TYPE, "Beschreibung"));
    file2.addProgramFrame(frame);

    file2.addProgramFrame(createProgramFrame(6, 1100, 1212, "Nachrichten"));

    // Merge the files
    file1.merge(file2);

    // Create the expected file
    DayProgramFile file3 = new DayProgramFile();

    file3.addProgramFrame(createProgramFrame(1, 1024, 1050, "Supersendung"));
    file3.addProgramFrame(createProgramFrame(2, 1050, 1100, "Spitzensendung"));

    frame = createProgramFrame(3, 1050, 1100, "Spitzensendung");
    frame.addProgramField(ProgramField.create(ProgramFieldType.DESCRIPTION_TYPE, "Beschreibung"));
    file3.addProgramFrame(frame);

    file3.addProgramFrame(createProgramFrame(5, 1212, 1400, "Laaangweilig"));
    file3.addProgramFrame(createProgramFrame(6, 1100, 1212, "Nachrichten"));

    // Compare the result
    assertFilesAreEqual(file1, file3);
  }
View Full Code Here



  public void testUpdateCompleteFile() throws FileFormatException {
    // Create the complete file
    DayProgramFile file1 = new DayProgramFile();

    file1.addProgramFrame(createProgramFrame(1, 1024, 1050, "Supersendung"));
    file1.addProgramFrame(createProgramFrame(3, 1050, 1100, "Spitzensendung"));
    file1.addProgramFrame(createProgramFrame(5, 1212, 1400, "Laaangweilig"));

    // Create the update file
    DayProgramFile file2 = new DayProgramFile();
    file2.setVersion(2);

    // Add two programs
    file2.addProgramFrame(createProgramFrame(2, 1050, 1100, "Spitzensendung"));
    file2.addProgramFrame(createProgramFrame(6, 1100, 1212, "Nachrichten"));

    // Remove a program
    file2.addProgramFrame(new ProgramFrame(5));

    // Change a field
    ProgramFrame frame = new ProgramFrame(3);
    frame.addProgramField(ProgramField.create(ProgramFieldType.TITLE_TYPE, "Super-Spitzensendung"));
    file2.addProgramFrame(frame);

    // Update the complete file
    file1.updateCompleteFile(file2);

    // Create the expected file
    DayProgramFile file3 = new DayProgramFile();
    file3.setVersion(2);

    file3.addProgramFrame(createProgramFrame(1, 1024, 1050, "Supersendung"));
    file3.addProgramFrame(createProgramFrame(2, 1050, 1100, "Spitzensendung"));
    file3.addProgramFrame(createProgramFrame(3, 1050, 1100, "Super-Spitzensendung"));
    file3.addProgramFrame(createProgramFrame(6, 1100, 1212, "Nachrichten"));

    // Compare the result
    assertFilesAreEqual(file1, file3);
  }
View Full Code Here

    public boolean execute(String dir, java.io.PrintStream err) {
      File targetDir = new File(dir);

      try {
        // An unchanged day program except for the program order
        DayProgramFile rawProg1 = new DayProgramFile();
        rawProg1.addProgramFrame(createProgramFrame(10, 51, 80, "Nixfürungut"));
        rawProg1.addProgramFrame(createProgramFrame(11, 20, 30, "Otto 1"));
        rawProg1.addProgramFrame(createProgramFrame(12, 31, 50, "Karlson vom Dach"));
        rawProg1.writeToFile(new File(targetDir, "2010-01-01_de_test_raw_full.gz"));

        // A new day program
        DayProgramFile rawProg2 = new DayProgramFile();
        rawProg2.addProgramFrame(createProgramFrame(10, 50, 70, "Nachrichten"));
        rawProg2.writeToFile(new File(targetDir, "2010-01-02_de_test_raw_full.gz"));

        // A day program that needs an update
        DayProgramFile rawProg3 = new DayProgramFile();
        rawProg3.addProgramFrame(createProgramFrame(12, 21, 30, "Kurze Sendung I"));
        rawProg3.addProgramFrame(createProgramFrame(10, 10, 20, "Vorher"));
        rawProg3.addProgramFrame(createProgramFrame(11, 51, 60, "Danach"));
        rawProg3.addProgramFrame(createProgramFrame(13, 31, 50, "Kurze Sendung II"));
        rawProg3.writeToFile(new File(targetDir, "2010-01-03_de_test_raw_full.gz"));

        // TODO: A day program that has an old update with a higher frame version
        //       that needs a second update

        return false;
View Full Code Here



  public void testUpdateUpdateFile() throws FileFormatException {
    // Create the first update file
    DayProgramFile file1 = new DayProgramFile();

    file1.addProgramFrame(createProgramFrame(1, 1024, 1050, "Supersendung"));
    file1.addProgramFrame(new ProgramFrame(3));
    file1.addProgramFrame(createProgramFrame(5, 1212, 1400, "Laaangweilig"));

    // Create the second update file
    DayProgramFile file2 = new DayProgramFile();
    file2.setVersion(2);

    // Add a frame
    file2.addProgramFrame(createProgramFrame(6, 1100, 1212, "Nachrichten"));

    // Delete a frame that is in the first update file
    file2.addProgramFrame(new ProgramFrame(5));

    // Delete a frame that is not in the first update file
    file2.addProgramFrame(new ProgramFrame(4));

    // Change a field
    ProgramFrame frame = new ProgramFrame(1);
    frame.addProgramField(ProgramField.create(ProgramFieldType.TITLE_TYPE, "Super-Spitzensendung"));
    file2.addProgramFrame(frame);

    // Update the update file
    file1.updateUpdateFile(file2);

    // Create the expected file
    DayProgramFile file3 = new DayProgramFile();
    file3.setVersion(2);

    file3.addProgramFrame(createProgramFrame(1, 1024, 1050, "Super-Spitzensendung"));
    file3.addProgramFrame(new ProgramFrame(3));
    file3.addProgramFrame(new ProgramFrame(4));
    file3.addProgramFrame(new ProgramFrame(5));
    file3.addProgramFrame(createProgramFrame(6, 1100, 1212, "Nachrichten"));

    // Compare the result
    assertFilesAreEqual(file1, file3);
  }
View Full Code Here

TOP

Related Classes of tvbrowserdataservice.file.DayProgramFile

Copyright © 2018 www.massapicom. 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.