示例#1
0
  @Before
  public void setUp() {
    hkt = new HakukomentoTehdas();
    //        hakuj = new HakuJulkaisijalla();
    //        hakun = new HakuNimella();
    //        hakuo = new HakuOtsikolla();
    //        hakut = new HakuTunnisteella();

    kirjoittajat = new ArrayList<Kirjoittaja>();
    kirjoittajat.add(new Kirjoittaja("Arto", "Vihavainen"));
    kirjoittajat.add(new Kirjoittaja("Matti", "Luukkainen"));

    tagit = new ArrayList<Tagi>();
    tagit.add(new Tagi("hieno"));

    v = new Viite("article");
    v.setJulkaisija("ACM");
    v.setTunniste("AABB20");
    v.setOtsikko("Testi otsikko on hieno otsikko");
    v.setKirjoittajat(kirjoittajat);
    v.setTagit(tagit);

    v2 = new Viite("book");
    v2.setJulkaisija(null);
    v2.setTunniste("ATT20");
    v2.setOtsikko("Eri otsikko");
    v2.setKirjoittajat(new ArrayList<Kirjoittaja>());

    viitteet = new ArrayList<Viite>();
    viitteet.add(v);
    viitteet.add(v2);
  }
  private String teeSivunumeroistaBibtex(Viite viite) {
    int alku = viite.getAloitusSivu();
    int loppu = viite.getVikaSivu();

    if (alku == 0) {
      return "";
    }
    if (loppu == 0) {
      return this.intTiedostaBibtex("pages", alku);
    }

    return this.stringTiedostaBibtex("pages", alku + "--" + loppu);
  }
  public String teeViitteestaBibtex(Viite viite) {
    String bibtex = "\n@" + viite.getTyyppi() + "{" + viite.getTunniste() + ",\n";
    bibtex +=
        this.teeKirjoittajistaBibtex(viite)
            + this.teeOtsikostaBibtex(viite)
            + this.teeLehdenNimestaBibtex(viite)
            + this.teeJulkaisijastaBibtex(viite)
            + this.teeVuosiluvustaBibtex(viite)
            + this.teeKuukaudestaBibtex(viite)
            + this.teeSivunumeroistaBibtex(viite)
            + this.teeLehdenNumerostaBibtex(viite)
            + this.teeOsoitteestaBibtex(viite)
            + this.teeOrganisaatiostaBibtex(viite)
            + this.teeKirjanNimestaBibtex(viite)
            + this.teeSarjastaBibtex(viite)
            + this.teePainoksestaBibtex(viite)
            + this.teeLisatiedostaBibtex(viite)
            + "}\n";

    return SkandienKorvaaja.skanditBibtexYstavallisiksi(bibtex);
  }
  private String teeKirjoittajistaBibtex(Viite viite) {
    String bibtex = "\tauthor = {";
    List<Kirjoittaja> kirjoittajat = viite.getKirjoittajat();

    for (int i = 0; i < kirjoittajat.size(); i++) {
      bibtex += this.teeKirjoittajastaBibtex(kirjoittajat.get(i));

      if (i < kirjoittajat.size() - 1) {
        bibtex += " and ";
      }
    }
    return bibtex += "},\n";
  }
 private String teeKirjanNimestaBibtex(Viite viite) {
   return this.stringTiedostaBibtex("booktitle", viite.getKirjanNimi());
 }
 private String teeOrganisaatiostaBibtex(Viite viite) {
   return this.stringTiedostaBibtex("organization", viite.getOrganisaatio());
 }
 private String teeOsoitteestaBibtex(Viite viite) {
   return this.stringTiedostaBibtex("address", viite.getOsoite());
 }
 private String teeLehdenNumerostaBibtex(Viite viite) {
   return this.intTiedostaBibtex("volume", viite.getLehdenNumero());
 }
 private String teeKuukaudestaBibtex(Viite viite) {
   return this.intTiedostaBibtex("month", viite.getKuukausi());
 }
 private String teeVuosiluvustaBibtex(Viite viite) {
   return this.intTiedostaBibtex("year", viite.getVuosi());
 }
 private String teeLehdenNimestaBibtex(Viite viite) {
   return this.stringTiedostaBibtex("journal", viite.getLehdenNimi());
 }
 private String teeJulkaisijastaBibtex(Viite viite) {
   return this.stringTiedostaBibtex("publisher", viite.getJulkaisija());
 }
 private String teeOtsikostaBibtex(Viite viite) {
   return this.stringTiedostaBibtex("title", viite.getOtsikko());
 }
 private String teeLisatiedostaBibtex(Viite viite) {
   return this.stringTiedostaBibtex("note", viite.getLisatieto());
 }
 private String teePainoksestaBibtex(Viite viite) {
   return this.stringTiedostaBibtex("edition", viite.getPainos());
 }
 private String teeSarjastaBibtex(Viite viite) {
   return this.stringTiedostaBibtex("series", viite.getSarja());
 }