Package tvbrowserdataservice.file

Examples of tvbrowserdataservice.file.DayProgramFile


    }
  }


  private DayProgramFile createTestDayProgramFile() {
    DayProgramFile file = new DayProgramFile();

    file.setVersion(4);

    file.addProgramFrame(createProgramFrame(1, 1024, 1050, "Supersendung"));
    file.addProgramFrame(createProgramFrame(2, 1050, 1100, "Spitzensendung"));
    file.addProgramFrame(createProgramFrame(5, 1212, 1400, "Laaangweilig"));
    file.addProgramFrame(createProgramFrame(6, 1100, 1212, "Nachrichten"));
    file.addProgramFrame(createProgramFrame(7, 1400, 1650, "S\u00e4nd\u00fcng m\u00fct \u00dcml\u00e4\u00fct\u00f6n"));
    file.addProgramFrame(createProgramFrame(8, 1650, 1700, "Sendeende"));

    return file;
  }
View Full Code Here


   
    if (! destDir.isDirectory()) {
      throw new IOException("File is not a directory: " + destDir.getAbsolutePath());
    }
   
    DayProgramFile prog = new DayProgramFile();
    prog.readFromFile(file);

    String progFileName = file.getName()//file.getAbsolutePath();
    // -8 for .prog.gz
    String transFileName = progFileName.substring(0, progFileName.length() - 8)
      + ".prog.txt";

    String binFileName = progFileName.substring(0, progFileName.length() - 8);
    int binNumber =0;

    FileOutputStream stream = null;
    try {
     
      stream = new FileOutputStream(new File(destDir,transFileName));
      PrintWriter writer = new PrintWriter(stream);
     
      writer.print("Version: ");
      writer.println(prog.getVersion());
      for (int frameIdx = 0; frameIdx < prog.getProgramFrameCount(); frameIdx++) {
        ProgramFrame frame = prog.getProgramFrameAt(frameIdx);
        writer.println();
        writer.print("Program ID: ");
        writer.println(frame.getId());
        for (int fieldIdx = 0; fieldIdx < frame.getProgramFieldCount(); fieldIdx++) {
          ProgramField field = frame.getProgramFieldAt(fieldIdx);
View Full Code Here

        channel, level, updateVersion);
      File file = new File(preparedDir, filename);
      if (! file.exists()) {
        finished = true;
      } else {
        DayProgramFile updateFile;
        try {
          updateFile = new DayProgramFile();
          updateFile.readFromFile(file);
        }
        catch (Exception exc) {
          throw new PreparationException("Loading prepared file failed: "
            + filename, exc);
        }
View Full Code Here

    for (int version = 1; version < newUpdateFileFromVersion; version++) {
      // Load the update file
      String updateFileName = DayProgramFile.getProgramFileName(date, country,
        channel, level, version);
      File file = new File(preparedDir, updateFileName);
      DayProgramFile updateFile;
      try {
        updateFile = new DayProgramFile();
        updateFile.readFromFile(file);
      }
      catch (Exception exc) {
        throw new PreparationException("Loading update file for version "
          + version + " failed: " + file.getAbsolutePath(), exc);
      }

      // Update the update file
      try {
        updateFile.updateUpdateFile(newUpdateFile);
      }
      catch (FileFormatException exc) {
        throw new PreparationException("Updating the update file for version "
          + version + " failed: " + updateFileName, exc);
      }

      // Save the update file
      file = new File(targetDir, updateFileName);
      try {
        updateFile.writeToFile(file);
      }
      catch (Exception exc) {
        throw new PreparationException("Writing update file for version "
          + version + " failed: " + file.getAbsolutePath(), exc);
      }
View Full Code Here

    String country=channel.getCountry();
    String ch=channel.getId();
   
    if (mCurFile==null) {
      mCurID=0;
      mCurFile=new DayProgramFile();
      mCurFilename=DayProgramFile.getProgramFileName(date,country,ch);
      frame.setId(mCurID);
      mCurFile.addProgramFrame(frame);
    }
    else {
      frame.setId(mCurID);
      String fName=DayProgramFile.getProgramFileName(date,country,ch);
      if (fName.equals(mCurFilename)) {
        mCurFile.addProgramFrame(frame);
      }
      else {
        flush();
        mCurFile=new DayProgramFile();
        mCurFilename=DayProgramFile.getProgramFileName(date,country,ch);
        mCurFile.addProgramFrame(frame);
      }
     
     
View Full Code Here

        }

        // Ensure that the file is not outdated
        if (date.compareTo(mDeadlineDay) >= 0) {
          // Load the file
          DayProgramFile rawFile;
          try {
            rawFile = new DayProgramFile();
            rawFile.readFromFile(element);
          }
          catch (Exception exc) {
            throw new PreparationException("Loading raw file failed: "
              + fileName, exc);
          }
View Full Code Here

    DayProgramFile[] levelProgArr = new DayProgramFile[levelFileNameArr.length];
    for (int i = 0; i < levelProgArr.length; i++) {
      File file = new File(preparedDir, levelFileNameArr[i]);
      System.err.println(file);
      if (file.exists()) {
        levelProgArr[i] = new DayProgramFile();
        try {
          levelProgArr[i].readFromFile(file);
        }
        catch (Exception exc) {
          throw new PreparationException("Loading complete file for level "
            + DayProgramFile.getLevels()[i] + " failed: " + levelFileNameArr[i],
            exc);
        }
      }
    }

    // Create a file that contains all level files
    DayProgramFile preparedProg = new DayProgramFile();
    for (int i = 0; i < levelProgArr.length; i++) {
      if (levelProgArr[i] != null) {
        try {
          preparedProg.merge(levelProgArr[i]);
        }
        catch (FileFormatException exc) {
          throw new PreparationException("Complete file has wrong format: "
            + preparedDir + File.separator + levelFileNameArr[i], exc);
        }
View Full Code Here


  private DayProgramFile extractLevel(DayProgramFile prog, int levelIdx)
    throws PreparationException
  {
    DayProgramFile levelProg = new DayProgramFile();

    for (int i = 0; i < prog.getProgramFrameCount(); i++) {
      ProgramFrame frame = prog.getProgramFrameAt(i);
      ProgramFrame levelFrame = null;

      if (levelIdx == 0) {
        // base: All information but description and the image
        levelFrame = (ProgramFrame) frame.clone();
        levelFrame.removeProgramFieldOfType(ProgramFieldType.DESCRIPTION_TYPE);
        levelFrame.removeProgramFieldOfType(ProgramFieldType.ACTOR_LIST_TYPE);
        levelFrame.removeProgramFieldOfType(ProgramFieldType.ADDITIONAL_INFORMATION_TYPE);
       // levelFrame.removeProgramFieldOfType(ProgramFieldType.IMAGE_TYPE);
        levelFrame.removeProgramFieldOfType(ProgramFieldType.PICTURE_TYPE);
        levelFrame.removeProgramFieldOfType(ProgramFieldType.PICTURE_DESCRIPTION_TYPE);
        levelFrame.removeProgramFieldOfType(ProgramFieldType.PICTURE_COPYRIGHT_TYPE);

      } else {
        ProgramField levelField1 = null;
        ProgramField levelField2 = null;
        ProgramField levelField3 = null;

        switch (levelIdx) {
          case 1:
            // more00-16: Only the descriptions and the actor list
            //            between midnight and 16 pm
            if (PrimaryDataUtilities.getProgramStartTime(frame) < (16 * 60)) {
              levelField1 = frame.getProgramFieldOfType(ProgramFieldType.DESCRIPTION_TYPE);
              levelField2 = frame.getProgramFieldOfType(ProgramFieldType.ACTOR_LIST_TYPE);
              levelField3 = frame.getProgramFieldOfType(ProgramFieldType.ADDITIONAL_INFORMATION_TYPE);
            }
            break;
          case 2:
            // more16-00: Only the descriptions and the actor list
            //            between 16 pm and midnight
            if (PrimaryDataUtilities.getProgramStartTime(frame) >= (16 * 60)) {
              levelField1 = frame.getProgramFieldOfType(ProgramFieldType.DESCRIPTION_TYPE);
              levelField2 = frame.getProgramFieldOfType(ProgramFieldType.ACTOR_LIST_TYPE);
              levelField3 = frame.getProgramFieldOfType(ProgramFieldType.ADDITIONAL_INFORMATION_TYPE);
            }
            break;
         /* case 3:
            // image00-16: Only the image between midnight and 16 pm
            if (PrimaryDataUtilities.getProgramStartTime(frame) < (16 * 60)) {
              levelField1 = frame.getProgramFieldOfType(ProgramFieldType.IMAGE_TYPE);
            }
            break;
          case 4:
            // image16-00: Only the image between 16 pm and midnight
            if (PrimaryDataUtilities.getProgramStartTime(frame) >= (16 * 60)) {
              levelField1 = frame.getProgramFieldOfType(ProgramFieldType.IMAGE_TYPE);
            }
            break;*/

          case 3:
            // picture00-16: Only the picture between midnight and 16 pm
            if (PrimaryDataUtilities.getProgramStartTime(frame) < (16 * 60)) {
              levelField1 = frame.getProgramFieldOfType(ProgramFieldType.PICTURE_TYPE);
              levelField2 = frame.getProgramFieldOfType(ProgramFieldType.PICTURE_DESCRIPTION_TYPE);
              levelField3 = frame.getProgramFieldOfType(ProgramFieldType.PICTURE_COPYRIGHT_TYPE);
            }
            break;

          case 4:
            // picture16-00: Only the picture between 16 pm and midnight
            if (PrimaryDataUtilities.getProgramStartTime(frame) >= (16 * 60)) {
              levelField1 = frame.getProgramFieldOfType(ProgramFieldType.PICTURE_TYPE);
              levelField2 = frame.getProgramFieldOfType(ProgramFieldType.PICTURE_DESCRIPTION_TYPE);
              levelField3 = frame.getProgramFieldOfType(ProgramFieldType.PICTURE_COPYRIGHT_TYPE);
            }
            break;


        }

        if ((levelField1 != null) || (levelField2 != null) || (levelField3 != null)) {
          levelFrame = new ProgramFrame(frame.getId());
          if (levelField1 != null) {
            levelFrame.addProgramField(levelField1);
          }
          if (levelField2 != null) {
            levelFrame.addProgramField(levelField2);
          }
          if (levelField3 != null) {
            levelFrame.addProgramField(levelField3);
          }
        }
      }

      if (levelFrame != null) {
        levelProg.addProgramFrame(levelFrame);
      }
    }

    return levelProg;
  }
View Full Code Here

        + file.getAbsolutePath(), exc);
    }

    // Create the new update file that updates from the last version to the
    // new version
    DayProgramFile newUpdateFile = createUpdateFile(lastProg, newProg);

    // Save the update file
    String newUpdateFileName = DayProgramFile.getProgramFileName(date, country,
      channel, level, lastProg.getVersion());
    file = new File(targetDir, newUpdateFileName);
    try {
      newUpdateFile.writeToFile(file);
    }
    catch (Exception exc) {
      throw new PreparationException("Writing new update file failed: "
        + file.getAbsolutePath(), exc);
    }
View Full Code Here


  private DayProgramFile createUpdateFile(DayProgramFile lastCompleteFile,
    DayProgramFile newCompleteFile)
  {
    DayProgramFile updateFile = new DayProgramFile();
    updateFile.setVersion(newCompleteFile.getVersion());

    // Determine the programs that should be deleted
    for (int lastIdx = 0; lastIdx < lastCompleteFile.getProgramFrameCount(); lastIdx++) {
      int id = lastCompleteFile.getProgramFrameAt(lastIdx).getId();

      // Check whether this frame has an counterpart in the new file
      int newIdx = newCompleteFile.getProgramFrameIndexForId(id);
      if (newIdx == -1) {
        // It has not -> Add an empty frame with this ID as a order for deletion
        ProgramFrame frame = new ProgramFrame(id);
        updateFile.addProgramFrame(frame);
      }
    }

    // Determine the programs that should be inserted or updated
    for (int newIdx = 0; newIdx < newCompleteFile.getProgramFrameCount(); newIdx++) {
      ProgramFrame newFrame = newCompleteFile.getProgramFrameAt(newIdx);

      // Check whether there is a counterpart in the last file
      int lastIdx = lastCompleteFile.getProgramFrameIndexForId(newFrame.getId());
      if (lastIdx == -1) {
        // There is no counterpart -> this is an insert
        ProgramFrame insertFrame = (ProgramFrame) newFrame.clone();
        updateFile.addProgramFrame(insertFrame);
      } else {
        // There is a counterpart -> this is an update
        // -> Determine the changed fields and add them
        ProgramFrame lastFrame = lastCompleteFile.getProgramFrameAt(lastIdx);
        ProgramFrame updateFrame = createUpdateFrame(lastFrame, newFrame);

        if (updateFrame != null) {
          updateFile.addProgramFrame(updateFrame);
        }
      }
    }

    return updateFile;
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.