Package tvdataservice

Examples of tvdataservice.MutableChannelDayProgram


      monitor.setMaximum(mUpdateJobSet.size());
      int i=0;
      for (UpdateJob updateJob : mUpdateJobSet) {
        monitor.setValue(i++);
        try {
          MutableChannelDayProgram prog
            = createChannelDayProgram(updateJob.getDate(), updateJob.getChannel());
           
          mDataBase.updateDayProgram(prog);
        }
        catch (TvBrowserException exc) {
View Full Code Here


      }
    }
   
    // Convert it into a MutableChannelDayProgram
    try {
      MutableChannelDayProgram target = new MutableChannelDayProgram(date, channel);
      for (int i = 0; i < prog.getProgramFrameCount(); i++) {
        ProgramFrame frame = prog.getProgramFrameAt(i);
        target.addProgram(createProgramFromFrame(frame, date, channel));
      }
      return target;
    }
    catch (TvBrowserException exc) {
      throw new TvBrowserException(getClass(), "error.2",
View Full Code Here

          Channel ch = channelMap.get(Integer.toString(schedule.getStation()));
          if (ch != null) {
            Calendar cal = Calendar.getInstance();
            cal.setTime(schedule.getTime().getLocalDate());
            devplugin.Date programDate = new Date(cal);
            MutableChannelDayProgram chDayProgram = getMutableDayProgram(ch, programDate);

            MutableProgram prog = new MutableProgram(ch, programDate, cal.get(Calendar.HOUR_OF_DAY), cal.get(Calendar.MINUTE), true);
            net.sf.xtvdclient.xtvd.datatypes.Program xtvdProgram = xtvd.getPrograms().get(schedule.getProgram());

            int info = 0;
            if (schedule.getCloseCaptioned()) {
              info |= Program.INFO_SUBTITLE_FOR_AURALLY_HANDICAPPED;
            }
            if (schedule.getStereo()) {
              info |= Program.INFO_AUDIO_STEREO;
            }
            if (schedule.getSubtitled()) {
              info |= Program.INFO_ORIGINAL_WITH_SUBTITLE;
            }
            if (schedule.getHdtv()) {
              info |= Program.INFO_VISION_HD;
            }
            if (xtvdProgram.getColorCode() != null) {
              String code = xtvdProgram.getColorCode().toLowerCase();
              if (code.contains("black") || code.contains("bw")) {
                info |= Program.INFO_VISION_BLACK_AND_WHITE;
              }
              else if (!code.equalsIgnoreCase("Color and B & W")) {
                mLog.warning("Unknown color code: " + xtvdProgram.getColorCode());
              }
            }

            prog.setInfo(info);

            prog.setTitle(xtvdProgram.getTitle());

            if (xtvdProgram.getSyndicatedEpisodeNumber() != null) {
              try {
                prog.setIntField(ProgramFieldType.EPISODE_NUMBER_TYPE, Integer.parseInt(xtvdProgram.getSyndicatedEpisodeNumber()));
              } catch (NumberFormatException e) {
                // ignore, the syndicated episode number may also be an arbitrary string
              }
            }

            if (xtvdProgram.getSubtitle() != null) {
              prog.setTextField(ProgramFieldType.EPISODE_TYPE, xtvdProgram.getSubtitle());
            }

            if (xtvdProgram.getYear() != null) {
              try {
                prog.setIntField(ProgramFieldType.PRODUCTION_YEAR_TYPE, Integer.parseInt(xtvdProgram.getYear()));
                // year is only set for movies
                setMovieType(prog);
              } catch (NumberFormatException e) {
                e.printStackTrace();
              }
            } else if (xtvdProgram.getOriginalAirDate() != null) {
              Calendar aircal = Calendar.getInstance();
              java.util.Date date = xtvdProgram.getOriginalAirDate().getDate();
              aircal.setTime(date);
              prog.setIntField(ProgramFieldType.PRODUCTION_YEAR_TYPE, aircal.get(Calendar.YEAR));
              String repetition = new SimpleDateFormat().format(date);
              if (repetition.endsWith("00:00")) {
                repetition = repetition.substring(0, repetition.length() - "00:00".length()).trim();
              }
              prog.setTextField(ProgramFieldType.REPETITION_OF_TYPE, repetition);
            }

            StringBuilder desc = new StringBuilder();
            if (xtvdProgram.getDescription() != null) {
              desc.append(xtvdProgram.getDescription()).append('\n');
            }
            if (xtvdProgram.getStarRating() != null) {
              int rating = parseStarRating(xtvdProgram.getStarRating());
              if (rating >= 0) {
                prog.setIntField(ProgramFieldType.RATING_TYPE, rating);
              }
              setMovieType(prog);
            }
            if (xtvdProgram.getMpaaRating() != null) {
              String rating = xtvdProgram.getMpaaRating().toString();
              prog.setTextField(ProgramFieldType.AGE_RATING_TYPE, rating);
              int ageLimit = ProgramUtilities.getAgeLimit(rating);
              if (ageLimit >= 0) {
                prog.setIntField(ProgramFieldType.AGE_LIMIT_TYPE, ageLimit);
              }
              setMovieType(prog);
            }
            if (schedule.getTvRating() != null) {
              String rating = schedule.getTvRating().toString();
              String ratingString = prog.getTextField(ProgramFieldType.AGE_RATING_TYPE);
              if (ratingString != null) {
                ratingString = ratingString + ", " + rating;
              }
              else {
                ratingString = rating;
              }
              prog.setTextField(ProgramFieldType.AGE_RATING_TYPE, ratingString);
              int ageLimit = ProgramUtilities.getAgeLimit(rating);
              if (ageLimit >= 0) {
                prog.setIntField(ProgramFieldType.AGE_LIMIT_TYPE, ageLimit);
              }
            }
            if (xtvdProgram.getAdvisories() != null && !xtvdProgram.getAdvisories().isEmpty()) {
              StringBuilder advBuilder = new StringBuilder();

              for (MovieAdvisories advisory : xtvdProgram.getAdvisories()) {
                if (advBuilder.length() > 0) {
                  advBuilder.append(", ");
                }
                advBuilder.append(advisory.toString());
              }
              desc.append("\nAdvisories: ").append(advBuilder.toString());
            }

            if (xtvdProgram.getRunTime() != null) {
              try {
                int length = Integer.parseInt(xtvdProgram.getRunTime().getHours())*60 + Integer.parseInt(xtvdProgram.getRunTime().getMinutes());
                prog.setIntField(ProgramFieldType.NET_PLAYING_TIME_TYPE, length);
              } catch (NumberFormatException e) {
                e.printStackTrace();
              }
            }
            /*
            if (xtvdProgram.getSeries() != null) {
              desc.append("\nSeries : ").append(xtvdProgram.getSeries());
            }
            if (xtvdProgram.getShowType()!= null) {
              desc.append("\nShowType : ").append(xtvdProgram.getShowType());
            } */

            if (schedule.getPart() != null) {
              final Part part = schedule.getPart();
              desc.append("\nPart " + part.getNumber() + " of " + part.getTotal());
            }
            if (schedule.getRepeat() && xtvdProgram.getOriginalAirDate() == null) {
              prog.setTextField(ProgramFieldType.REPETITION_OF_TYPE, "unknown previous program");
            }


            Crew crew = xtvd.getProductionCrew().get(xtvdProgram.getId());
            if (crew != null) {
              StringBuilder actors = new StringBuilder();
              StringBuilder director = new StringBuilder();
              StringBuilder host = new StringBuilder();
              StringBuilder producer = new StringBuilder();
              StringBuilder writer = new StringBuilder();
              StringBuilder additional = new StringBuilder();

              for (CrewMember member : crew.getMember()) {
                final String role = member.getRole();
                if ("Actor".equalsIgnoreCase(role) || "Guest Star".equals(role)) {
                  appendPerson(actors, member);
                } else if ("Director".equalsIgnoreCase(role)) {
                  appendPerson(director, member);
                } else if ("Host".equalsIgnoreCase(role) || "Anchor".equalsIgnoreCase(role)) {
                  appendPerson(host, member);
                } else if (role.toLowerCase().contains("producer")) {
                  appendPerson(producer, member);
                } else if ("Writer".equalsIgnoreCase(role)) {
                  appendPerson(writer, member);
                } else if (role.toLowerCase().contains("guest")) {
                  appendPerson(additional, member);
                }
                else if ("Narrator".equalsIgnoreCase(role)) {
                  appendPersonWithRole(additional, member);
                }
                else {
                  appendPersonWithRole(additional, member);
                  if (!role.equalsIgnoreCase("judge")) {
                    mLog.warning("Unknown crew member role: " + role);
                  }
                }
              }
              if (actors.length() > 0) {
                prog.setTextField(ProgramFieldType.ACTOR_LIST_TYPE, actors.toString());
              }
              if (director.length() > 0) {
                prog.setTextField(ProgramFieldType.DIRECTOR_TYPE, director.toString());
              }
              if (host.length() > 0) {
                prog.setTextField(ProgramFieldType.MODERATION_TYPE, host.toString());
              }
              if (producer.length() > 0) {
                prog.setTextField(ProgramFieldType.PRODUCER_TYPE, producer.toString());
              }
              if (writer.length() > 0) {
                prog.setTextField(ProgramFieldType.SCRIPT_TYPE, writer.toString());
              }
              if (additional.length() > 0) {
                prog.setTextField(ProgramFieldType.ADDITIONAL_PERSONS_TYPE, additional.toString());
              }
            }

            ProgramGenre programGenre = xtvd.getGenres().get( xtvdProgram.getId() );
            if (programGenre != null) {
              StringBuilder genreStr = new StringBuilder();
              for (Genre genre : programGenre.getGenres()) {
                if (genreStr.length() > 0) {
                  genreStr.append(", ");
                }
                genreStr.append(genre.getClassValue());
              }
              prog.setTextField(ProgramFieldType.GENRE_TYPE, genreStr.toString());
            }

            final String description = desc.toString().trim();
            if (!description.isEmpty()) {
              prog.setDescription(description);
              prog.setShortInfo(MutableProgram.generateShortInfoFromDescription(description));
            }

            chDayProgram.addProgram(prog);
          }

        }
        storeDayPrograms(updateManager);
      } catch (DataDirectException e) {
View Full Code Here

    }
    return rating;
  }

  private MutableChannelDayProgram getMutableDayProgram(Channel ch, devplugin.Date date) {
    MutableChannelDayProgram dayProgram;
    if (mChannelMap.get(ch) != null) {
      dayProgram = mChannelMap.get(ch).get(date);

      if (dayProgram == null) {
        dayProgram = new MutableChannelDayProgram(date, ch);
        mChannelMap.get(ch).put(date, dayProgram);
      }
    } else {
      Map<devplugin.Date, MutableChannelDayProgram> map = new HashMap<Date, MutableChannelDayProgram>();
      dayProgram = new MutableChannelDayProgram(date, ch);
      map.put(date, dayProgram);
      mChannelMap.put(ch, map);
    }

    return dayProgram;
View Full Code Here

            try {
              for (int i = 0; i < items.length; i++) {
                items[i] = items[i].trim();
              }
              Date date = parseDate(items[RT_DATE]);
              MutableChannelDayProgram mutDayProg = getMutableDayProgram(date);

              int[] time = parseTime(items[RT_START_TIME]);

              MutableProgram prog = new MutableProgram(mChannel,date, time[0], time[1], true);

              prog.setTitle(items[RT_TITLE]);

              StringBuilder desc = new StringBuilder(items[RT_SUBTITLE].trim()).append("\n\n");

              if (items[RT_DESCRIPTION].indexOf(0x0D) > 0) {
                items[RT_DESCRIPTION] = items[RT_DESCRIPTION].replace((char)0x0D, '\n');
              }

              if (items[RT_STAR_RATING].length() != 0) {
                  prog.setIntField(ProgramFieldType.RATING_TYPE, translateRating(items[RT_STAR_RATING]));
              }

              desc.append(items[RT_DESCRIPTION]);

              prog.setTextField(ProgramFieldType.DESCRIPTION_TYPE, desc.toString().trim());

              prog.setTextField(ProgramFieldType.SHORT_DESCRIPTION_TYPE, MutableProgram.generateShortInfoFromDescription(items[RT_DESCRIPTION].trim()));

              String field = items[RT_EPISODE];
              if (field.length() > 0) {
                prog.setTextField(ProgramFieldType.EPISODE_TYPE, field);
              }

              field = items[RT_YEAR];
              if (field.length() > 0) {
                try {
                  prog.setIntField(ProgramFieldType.PRODUCTION_YEAR_TYPE, Integer.parseInt(field));
                } catch (Exception e) {
                }
              }

              field = items[RT_DURATION_MINUTES];
              if (field.length() > 0) {
                try {
                  prog.setIntField(ProgramFieldType.NET_PLAYING_TIME_TYPE, Integer.parseInt(field));
                } catch (Exception e) {
                }
              }

              field = items[RT_DIRECTOR];
              if (field.length() > 0) {
                prog.setTextField(ProgramFieldType.DIRECTOR_TYPE, field);
              }

              field = items[RT_ACTORS];
              if (field.length() > 0) {
                prog.setTextField(ProgramFieldType.ACTOR_LIST_TYPE, createCast(field));
              }

              int bitset = 0;

              field = items[RT_GENRE];
              if ((field.length() > 0)&& (!field.equalsIgnoreCase("No Genre"))) {
                prog.setTextField(ProgramFieldType.GENRE_TYPE, field);

                if (field.equalsIgnoreCase("Business")) {
                  bitset |= Program.INFO_CATEGORIE_MAGAZINE_INFOTAINMENT;
                } else if (field.equalsIgnoreCase("Children")) {
                  bitset |= Program.INFO_CATEGORIE_CHILDRENS;
                } else if (field.equalsIgnoreCase("Comedy")) {
                  bitset |= Program.INFO_CATEGORIE_SHOW;
                } else if (field.equalsIgnoreCase("Consumer")) {
                  bitset |= Program.INFO_CATEGORIE_MAGAZINE_INFOTAINMENT;
                } else if (field.equalsIgnoreCase("Cookery")) {
                  bitset |= Program.INFO_CATEGORIE_MAGAZINE_INFOTAINMENT;
                } else if (field.equalsIgnoreCase("Current affairs")) {
                  bitset |= Program.INFO_CATEGORIE_MAGAZINE_INFOTAINMENT;
                } else if (field.equalsIgnoreCase("Documentary")) {
                  bitset |= Program.INFO_CATEGORIE_DOCUMENTARY;
                } else if (field.equalsIgnoreCase("Education")) {
                  bitset |= Program.INFO_CATEGORIE_MAGAZINE_INFOTAINMENT;
                } else if (field.equalsIgnoreCase("Entertainment")) {
                  bitset |= Program.INFO_CATEGORIE_SHOW;
                } else if (field.equalsIgnoreCase("Film")) {
                  bitset |= Program.INFO_CATEGORIE_MOVIE;
                } else if (field.equalsIgnoreCase("Game show")) {
                  bitset |= Program.INFO_CATEGORIE_SHOW;
                } else if (field.equalsIgnoreCase("Gardening")) {
                  bitset |= Program.INFO_CATEGORIE_MAGAZINE_INFOTAINMENT;
                } else if (field.equalsIgnoreCase("Health")) {
                  bitset |= Program.INFO_CATEGORIE_MAGAZINE_INFOTAINMENT;
                } else if (field.equalsIgnoreCase("Interests")) {
                  bitset |= Program.INFO_CATEGORIE_MAGAZINE_INFOTAINMENT;
                } else if (field.equalsIgnoreCase("Music and Arts")) {
                  bitset |= Program.INFO_CATEGORIE_ARTS;
                } else if (field.equalsIgnoreCase("News and Current Affairs")) {
                  bitset |= Program.INFO_CATEGORIE_NEWS;
                } else if (field.equalsIgnoreCase("Science")) {
                  bitset |= Program.INFO_CATEGORIE_MAGAZINE_INFOTAINMENT;
                } else if (field.equalsIgnoreCase("Sitcom")) {
                  bitset |= Program.INFO_CATEGORIE_SERIES;
                } else if (field.equalsIgnoreCase("Soap")) {
                  bitset |= Program.INFO_CATEGORIE_SERIES;
                } else if (field.equalsIgnoreCase("Sport")) {
                  bitset |= Program.INFO_CATEGORIE_SPORTS;
                } else if (field.equalsIgnoreCase("Talk show")) {
                  bitset |= Program.INFO_CATEGORIE_SHOW;
                } else if (field.equalsIgnoreCase("Travel")) {
                  bitset |= Program.INFO_CATEGORIE_DOCUMENTARY;
                } else if (field.equalsIgnoreCase("Environment")) {
                  bitset |= Program.INFO_CATEGORIE_MAGAZINE_INFOTAINMENT;
                }
              }

              if (Boolean.parseBoolean(items[RT_SUBTITLED])) {
                bitset |= Program.INFO_SUBTITLE_FOR_AURALLY_HANDICAPPED;
              }

              if (Boolean.parseBoolean(items[RT_DEAF_SIGNED])) {
                bitset |= Program.INFO_SIGN_LANGUAGE;
              }

              if (Boolean.parseBoolean(items[RT_16_TO_9])) {
                bitset |= Program.INFO_VISION_16_TO_9;
              }

              if (Boolean.parseBoolean(items[RT_BLACK_WHITE])) {
                bitset |= Program.INFO_VISION_BLACK_AND_WHITE;
              }

              if (Boolean.parseBoolean(items[RT_MOVIE])) {
                bitset |= Program.INFO_CATEGORIE_MOVIE;
              }

              if (Boolean.parseBoolean(items[RT_MOVIE_PREMIERE])) {
                bitset |= Program.INFO_NEW;
              }

              if (Boolean.parseBoolean(items[RT_NEW_SERIES])) {
                bitset |= Program.INFO_NEW;
                bitset |= Program.INFO_CATEGORIE_MOVIE;
              }

              prog.setInfo(bitset);

              try {
                int age = Integer.parseInt(items[RT_AGE_LIMIT]);
                prog.setIntField(ProgramFieldType.AGE_LIMIT_TYPE, age);
              } catch (Exception e) {
                // do nothing if field is non numeric
              }


              int[] endtime = parseTime(items[RT_END_TIME]);
              prog.setTimeField(ProgramFieldType.END_TIME_TYPE, endtime[0] * 60 + endtime[1]);

              prog.setProgramLoadingIsComplete();
              mutDayProg.addProgram(prog);
              countProgram ++;
            } catch (Exception e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
            }
View Full Code Here

  /**
   * @param date Date to search for
   * @return MutableChannelDayProgram that fits to the Date, a new one is created if needed
   */
  private MutableChannelDayProgram getMutableDayProgram(Date date) {
    MutableChannelDayProgram dayProgram = mMutMap.get(date);

    if (dayProgram == null) {
      dayProgram = new MutableChannelDayProgram(date, mChannel);
      mMutMap.put(date, dayProgram);
    }

    return dayProgram;
  }
View Full Code Here

  }

  @Override
  protected void startProgram(final Date startDate, final int startTime) {
    if (!mDayProgsHashTable.containsKey(startDate.toString())) {
      mMcdp = new MutableChannelDayProgram(startDate, mChannel);
      mDayProgsHashTable.put(startDate.toString(), mMcdp);
    } else {
      mMcdp = mDayProgsHashTable.get(startDate.toString());
    }
    int startHour = startTime / 60;
View Full Code Here

                prog.setShortInfo(shortDesc);
                prog.setLength(Integer.parseInt(mCurrentEvent.get("e2eventduration")) / 60);

                prog.setProgramLoadingIsComplete();

                MutableChannelDayProgram mutDayProg = getMutableDayProgram(programDate);
                mutDayProg.addProgram(prog);
            } catch (NumberFormatException e) {
                e.printStackTrace();
            }
        } else if (qName.equals("e2eventlist")) {
            storeDayPrograms(mUpdateManager);
View Full Code Here

    /**
     * @param date Date to search for
     * @return MutableChannelDayProgram that fits to the Date, a new one is created if needed
     */
    private MutableChannelDayProgram getMutableDayProgram(devplugin.Date date) {
        MutableChannelDayProgram dayProgram = mMutMap.get(date);

        if (dayProgram == null) {
            dayProgram = new MutableChannelDayProgram(date, mChannel);
            mMutMap.put(date, dayProgram);
        }

        return dayProgram;
    }
View Full Code Here

  public void dispatch(Program program) {
   
    Date date = program.getDate();
    Channel channel = program.getChannel();

    MutableChannelDayProgram channelDayProg
      = getChannelDayProgram(date, channel, true);

    channelDayProg.addProgram(program);
  }
View Full Code Here

TOP

Related Classes of tvdataservice.MutableChannelDayProgram

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.