예제 #1
0
  // Einstellungen aus dem Fahrtenbuch auslesen
  public boolean readEinstellungen() {
    String s;
    fbDaten.bootDatei = "boote.efbb";
    fbDaten.mitgliederDatei = "mitglieder.efbm";
    fbDaten.zieleDatei = "ziele.efbz";
    fbDaten.statistikDatei = "statistik.efbs";
    try {
      while ((s = freadLine()) != null && !s.startsWith("##ENDE_KONFIG")) {
        s = s.trim();
        if (s.startsWith("BOOTE=")) fbDaten.bootDatei = s.substring(6, s.length());
        if (s.startsWith("MITGLIEDER=")) fbDaten.mitgliederDatei = s.substring(11, s.length());
        if (s.startsWith("ZIELE=")) fbDaten.zieleDatei = s.substring(6, s.length());
        if (s.startsWith("STATISTIK=")) fbDaten.statistikDatei = s.substring(10, s.length());
        if (s.startsWith("VORHERIGESFB=")) prevFb = s.substring(13, s.length());
        if (s.startsWith("NAECHSTESFB=")) nextFb = s.substring(12, s.length());
        if (s.startsWith("NAMENSANGABEN="))
          fbDaten.erstVorname = s.substring(14, s.length()).equals("VORNACH");
        if (s.startsWith("STATUS1=")) { // aus Kompatibilität zu FBs von vor 090
          String t = s.substring(8, s.length());
          if (!t.endsWith(
              ","
                  + Daten.efaTypes.getValue(
                      EfaTypes.CATEGORY_STATUS, EfaTypes.TYPE_STATUS_GUEST))) {
            t =
                t
                    + ","
                    + Daten.efaTypes.getValue(EfaTypes.CATEGORY_STATUS, EfaTypes.TYPE_STATUS_GUEST);
          }
          fbDaten.status = EfaUtil.statusList2Arr(t);
        }
        if (s.startsWith("STATUS=")) {
          String t = s.substring(7, s.length());
          fbDaten.status = EfaUtil.statusList2Arr(t);
        }
        if (s.startsWith("ANZMITGLIEDER=")) {
          String t = s.substring(14, s.length());
          fbDaten.anzMitglieder = EfaUtil.string2int(t, 0);
        }

        if (s.startsWith("MEHRTAGESFAHRT=")) {
          String t = s.substring(15, s.length());
          DatenFelder d = new DatenFelder(6, t);
          Mehrtagesfahrt m =
              new Mehrtagesfahrt(
                  d.get(0),
                  d.get(1),
                  d.get(2),
                  EfaUtil.string2int(d.get(3), 1),
                  d.get(4),
                  d.get(5).equals("+"));
          mehrtagesfahrten.put(m.name, m);
        }
      }
    } catch (IOException e) {
      errReadingFile(dat, e.getMessage());
      return false;
    }
    return true;
  }
예제 #2
0
  // Beginn eines Element-Tags
  public void startElement(String uri, String localName, String qname, Attributes atts) {
    try {
      if (uri.equals("http://www.nmichael.de/elwiz")) {

        // Elemente des elwiz-Namensraums

        if (!localName.equals("option")) { // Hauptelement
          // Namen ermitteln
          String name = null;
          for (int i = 0; i < atts.getLength(); i++)
            if (atts.getLocalName(i).equals("name")) name = atts.getValue(i);

          // Element suchen
          for (int i = 0; i < options.size(); i++)
            if (((ElwizOption) options.get(i)).name.equals(name)) {
              this.option = (ElwizOption) options.get(i);
              break;
            }

        } else { // Unterelement

          // Position des Unterelements für Zugriff auf options-Vektor ermitteln
          int pos = -1;
          for (int i = 0; i < atts.getLength(); i++)
            if (atts.getLocalName(i).equals("pos")) pos = EfaUtil.string2int(atts.getValue(i), -1);

          if (option != null)
            switch (option.type) {
              case ElwizOption.O_OPTIONAL: // optional
                JCheckBox o1 = (JCheckBox) option.components.get(pos);
                if (!o1.isSelected()) skip = true;
                break;
              case ElwizOption.O_SELECT: // select
                JRadioButton o2 = (JRadioButton) option.components.get(pos);
                if (!o2.isSelected()) skip = true;
                ElwizSingleOption eso = (ElwizSingleOption) option.options.get(pos);
                if (!skip && eso.value != null) f.write(eso.value);
                break;
              case ElwizOption.O_VALUE: // value
                JTextField o3 = (JTextField) option.components.get(pos);
                f.write(o3.getText().trim());
                break;
            }
        }

      } else {

        // Elemente des XSLT-Namensraums

        if (skip) return; // Element unterdrücken?

        f.write("<" + qname);
        for (int i = 0; i < atts.getLength(); i++) {
          f.write(
              " "
                  + atts.getLocalName(i)
                  + "=\""
                  + EfaUtil.replace(atts.getValue(i), "<", "&lt;", true)
                  + "\"");
        }
        if (localName.equals("stylesheet"))
          f.write(
              " xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:fo=\"http://www.w3.org/1999/XSL/Format\"");
        f.write(">");
      }
    } catch (IOException e) {
    }
  }