예제 #1
0
 private static String getHMS(String s, String zeit) {
   // liefert die Zeit: Stunde, Minute, Sekunde aus "HH:mm:ss"
   // %4 - Stunde
   // %5 - Minute
   // %6 - Sekunde
   String ret = "";
   if (!zeit.equals("")) {
     try {
       if (zeit.length() == 8) {
         switch (s) {
           case "%4":
             ret = zeit.substring(0, 2); // Stunde
             break;
           case "%5":
             ret = zeit.substring(3, 5); // Minute
             break;
           case "%6":
             ret = zeit.substring(6); // Sekunde
             break;
         }
       }
     } catch (Exception ex) {
       Log.fehlerMeldung(775421006, ex, zeit);
     }
   }
   return ret;
 }
예제 #2
0
 private static boolean get(
     XMLStreamReader parser, String xmlElem, String[] xmlNames, String[] strRet) {
   boolean ret = true;
   int maxElem = strRet.length;
   for (int i = 0; i < maxElem; ++i) {
     strRet[i] = "";
   }
   try {
     while (parser.hasNext()) {
       int event = parser.next();
       if (event == XMLStreamConstants.END_ELEMENT) {
         if (parser.getLocalName().equals(xmlElem)) {
           break;
         }
       }
       if (event == XMLStreamConstants.START_ELEMENT) {
         for (int i = 0; i < maxElem; ++i) {
           if (parser.getLocalName().equals(xmlNames[i])) {
             strRet[i] = parser.getElementText();
             break;
           }
         }
       }
     }
   } catch (Exception ex) {
     ret = false;
     Log.fehlerMeldung(467256394, ex);
   }
   return ret;
 }
예제 #3
0
 private static String getDMY(String s, String datum) {
   // liefert das Datum: Jahr - Monat - Tag aus dd.MM.yyyy
   // %1 - Tag
   // %2 - Monat
   // %3 - Jahr
   String ret = "";
   if (!datum.equals("")) {
     try {
       if (datum.length() == 10) {
         switch (s) {
           case "%1":
             ret = datum.substring(0, 2); // Tag
             break;
           case "%2":
             ret = datum.substring(3, 5); // Monat
             break;
           case "%3":
             ret = datum.substring(6); // Jahr
             break;
         }
       }
     } catch (Exception ex) {
       Log.fehlerMeldung(775421006, ex, datum);
     }
   }
   return ret;
 }
예제 #4
0
 public boolean loadListOfSets() {
   try {
     this.clear();
     int event;
     XMLInputFactory inFactory = XMLInputFactory.newInstance();
     inFactory.setProperty(XMLInputFactory.IS_COALESCING, Boolean.FALSE);
     XMLStreamReader parser;
     InputStreamReader inReader;
     URLConnection conn;
     conn = new URL(Konstanten.ADRESSE_VORLAGE_PROGRAMMGRUPPEN).openConnection();
     conn.setRequestProperty("User-Agent", Daten.getUserAgent());
     conn.setReadTimeout(TIMEOUT);
     conn.setConnectTimeout(TIMEOUT);
     inReader = new InputStreamReader(conn.getInputStream(), MSConst.KODIERUNG_UTF);
     parser = inFactory.createXMLStreamReader(inReader);
     while (parser.hasNext()) {
       event = parser.next();
       if (event == XMLStreamConstants.START_ELEMENT) {
         if (parser.getLocalName().equals(PGR)) {
           // wieder ein neuer Server, toll
           String[] p = new String[PGR_MAX_ELEM];
           get(parser, PGR, PGR_COLUMN_NAMES, p);
           if (!p[PGR_URL_NR].equals("")) {
             this.add(p);
           }
         }
       }
     }
   } catch (Exception ex) {
     Log.fehlerMeldung(398001963, ex);
     return false;
   }
   return true;
 }
예제 #5
0
 public final void init() {
   datumFilm = getDatumForObject();
   try {
     art = Byte.parseByte(arr[DOWNLOAD_ART_NR]);
     quelle = Byte.parseByte(arr[DOWNLOAD_QUELLE_NR]);
   } catch (Exception ex) {
     Log.fehlerMeldung(
         649632580, ex, "Art: " + arr[DOWNLOAD_ART_NR] + " Quelle: " + arr[DOWNLOAD_QUELLE_NR]);
     art = ART_PROGRAMM;
     quelle = QUELLE_BUTTON;
   }
 }
예제 #6
0
 private static String datumDrehen(String datum) {
   String ret = "";
   if (!datum.equals("")) {
     try {
       if (datum.length() == 10) {
         String tmp = datum.substring(6); // Jahr
         tmp += "." + datum.substring(3, 5); // Monat
         tmp += "." + datum.substring(0, 2); // Tag
         ret = tmp;
       }
     } catch (Exception ex) {
       Log.fehlerMeldung(775421006, ex, datum);
     }
   }
   return ret;
 }
예제 #7
0
 private static ListePset importPset(InputStreamReader in, boolean log) {
   DatenPset datenPset = null;
   ListePset liste = new ListePset();
   try {
     int event;
     XMLInputFactory inFactory = XMLInputFactory.newInstance();
     inFactory.setProperty(XMLInputFactory.IS_COALESCING, Boolean.FALSE);
     XMLStreamReader parser;
     parser = inFactory.createXMLStreamReader(in);
     while (parser.hasNext()) {
       event = parser.next();
       if (event == XMLStreamConstants.START_ELEMENT) {
         // String t = parser.getLocalName();
         switch (parser.getLocalName()) {
           case DatenPset.PROGRAMMSET:
             datenPset = new DatenPset();
             if (!get(parser, DatenPset.PROGRAMMSET, DatenPset.COLUMN_NAMES_, datenPset.arr)) {
               datenPset = null;
             } else {
               liste.add(datenPset);
             }
             break;
           case DatenProg.PROGRAMM:
             if (datenPset != null) {
               DatenProg datenProg = new DatenProg();
               if (get(parser, DatenProg.PROGRAMM, DatenProg.COLUMN_NAMES_, datenProg.arr)) {
                 datenPset.addProg(datenProg);
               }
             }
             break;
         }
       }
     }
     in.close();
   } catch (Exception ex) {
     if (log) {
       Log.fehlerMeldung(467810360, ex);
     }
     return null;
   }
   if (liste.isEmpty()) {
     return null;
   } else {
     return liste;
   }
 }
예제 #8
0
  private void aufrufBauen(
      DatenPset pSet, DatenFilm film, DatenAbo abo, String nname, String ppfad) {
    // zieldatei und pfad bauen und eintragen
    try {
      DatenProg programm = pSet.getProgUrl(arr[DOWNLOAD_URL_NR]);
      // ##############################################
      // für die alten Versionen:
      pSet.arr[DatenPset.PROGRAMMSET_ZIEL_DATEINAME_NR] =
          pSet.arr[DatenPset.PROGRAMMSET_ZIEL_DATEINAME_NR].replace("%n", "");
      pSet.arr[DatenPset.PROGRAMMSET_ZIEL_DATEINAME_NR] =
          pSet.arr[DatenPset.PROGRAMMSET_ZIEL_DATEINAME_NR].replace("%p", "");
      pSet.arr[DatenPset.PROGRAMMSET_ZIEL_PFAD_NR] =
          pSet.arr[DatenPset.PROGRAMMSET_ZIEL_PFAD_NR].replace("%n", "");
      pSet.arr[DatenPset.PROGRAMMSET_ZIEL_PFAD_NR] =
          pSet.arr[DatenPset.PROGRAMMSET_ZIEL_PFAD_NR].replace("%p", "");
      for (DatenProg prog : pSet.getListeProg()) {
        prog.arr[DatenProg.PROGRAMM_ZIEL_DATEINAME_NR] =
            prog.arr[DatenProg.PROGRAMM_ZIEL_DATEINAME_NR].replace("%n", "");
        prog.arr[DatenProg.PROGRAMM_ZIEL_DATEINAME_NR] =
            prog.arr[DatenProg.PROGRAMM_ZIEL_DATEINAME_NR].replace("%p", "");
      }
      // ##############################################
      // pSet und ... eintragen
      arr[DOWNLOAD_PROGRAMMSET_NR] = pSet.arr[DatenPset.PROGRAMMSET_NAME_NR];

      // Direkter Download nur wenn url passt und wenn im Programm ein Zielpfad ist sonst Abspielen
      art =
          (pSet.checkDownloadDirekt(arr[DOWNLOAD_URL_NR]) && pSet.progsContainPath())
              ? ART_DOWNLOAD
              : ART_PROGRAMM;
      arr[DOWNLOAD_ART_NR] = String.valueOf(art);
      if (art == ART_DOWNLOAD) {
        arr[DatenDownload.DOWNLOAD_PROGRAMM_NR] = ART_DOWNLOAD_TXT;
      } else {
        arr[DatenDownload.DOWNLOAD_PROGRAMM_NR] = programm.arr[DatenProg.PROGRAMM_NAME_NR];
      }

      arr[DOWNLOAD_PROGRAMM_RESTART_NR] = String.valueOf(programm.isRestart());
      dateinamePfadBauen(pSet, film, abo, nname, ppfad);
      programmaufrufBauen(programm);
    } catch (Exception ex) {
      Log.fehlerMeldung(825600145, ex);
    }
  }
예제 #9
0
 public static ListePset importPsetFile(JFrame parent, String dateiUrl, boolean log) {
   int timeout = 10_000; // 10 Sekunden
   try {
     if (GuiFunktionen.istUrl(dateiUrl)) {
       URLConnection conn;
       conn = new URL(dateiUrl).openConnection();
       conn.setConnectTimeout(timeout);
       conn.setReadTimeout(timeout);
       conn.setRequestProperty("User-Agent", Daten.getUserAgent());
       return ListePsetVorlagen.importPset(
           new InputStreamReader(conn.getInputStream(), MSConst.KODIERUNG_UTF), log);
     } else {
       return ListePsetVorlagen.importPset(
           new InputStreamReader(new FileInputStream(dateiUrl), MSConst.KODIERUNG_UTF), log);
     }
   } catch (Exception ex) {
     if (log) {
       Log.fehlerMeldung(630048926, ex);
     }
     return null;
   }
 }
예제 #10
0
 public Datum getDatumForObject() {
   Datum tmp = new Datum(0);
   if (!arr[DatenDownload.DOWNLOAD_DATUM_NR].equals("")) {
     try {
       if (!arr[DatenDownload.DOWNLOAD_ZEIT_NR].equals("")) {
         tmp.setTime(
             sdf_datum_zeit
                 .parse(arr[DatenDownload.DOWNLOAD_DATUM_NR] + arr[DatenDownload.DOWNLOAD_ZEIT_NR])
                 .getTime());
       } else {
         tmp.setTime(sdf_datum.parse(arr[DatenDownload.DOWNLOAD_DATUM_NR]).getTime());
       }
     } catch (Exception ex) {
       Log.fehlerMeldung(
           649897321,
           ex,
           new String[] {
             "Datum: " + arr[DatenDownload.DOWNLOAD_DATUM_NR],
             "Zeit: " + arr[DatenDownload.DOWNLOAD_ZEIT_NR]
           });
     }
   }
   return tmp;
 }