package data; import java.util.*; import java.util.concurrent.ConcurrentHashMap; import javafx.collections.ObservableList; enum TaxonomyEnum { TOTAL("Total", "Total"), // GOS DISKURZ("gos.T", "gos.T - diskurz"), DISKURZ_JAVNI("gos.T.J", " gos.T.J - diskurz-javni"), DISKURZ_INFORMATIVNO_IZOBRAZEVALNI("gos.T.J.I", " gos.T.J.I - diskurz-javni-informativno-izobraževalni"), DISKURZ_RAZVEDRILNI("gos.T.J.R", " gos.T.J.R - diskurz-javni-razvedrilni"), DISKURZ_NEJAVNI("gos.T.N", " gos.T.N - diskurz-nejavni"), DISKURZ_NEZASEBNI("gos.T.N.N", " gos.T.N.N - diskurz-nejavni-nezasebni"), DISKURZ_ZASEBNI("gos.T.N.Z", " gos.T.N.Z - diskurz-nejavni-zasebni"), SITUACIJA("gos.S", "gos.S - situacija"), SITUACIJA_RADIO("gos.S.R", " gos.S.R - situacija-radio"), SITUACIJA_TELEVIZIJA("gos.S.T", " gos.S.T - situacija-televizija"), KANAL("gos.K", "gos.K - kanal"), KANAL_OSEBNI_STIK("gos.K.O", " gos.K.O - kanal-osebni stik"), KANAL_TELEFON("gos.K.P", " gos.K.P - kanal-telefon"), KANAL_RADIO("gos.K.R", " gos.K.R - kanal-radio"), KANAL_TELEVIZIJA("gos.K.T", " gos.K.T - kanal-televizija"), // Gigafida // KNJIZNO("knjižno", "T.K", "gigafida"), // LEPOSLOVNO("leposlovno", "T.K.L", "gigafida"), // STROKOVNO("strokovno", "T.K.S", "gigafida"), // PERIODICNO("periodično", "T.P", "gigafida"), // CASOPIS("časopis", "T.P.C", "gigafida"), // REVIJA("revija", "T.P.R", "gigafida"), // INTERNET("internet", "I", "gigafida"), SSJ_TISK("SSJ.T", "SSJ.T - tisk"), SSJ_KNJIZNO("SSJ.T.K", " SSJ.T.K - tisk-knjižno"), SSJ_LEPOSLOVNO("SSJ.T.K.L", " SSJ.T.K.L - tisk-knjižno-leposlovno"), SSJ_STROKOVNO("SSJ.T.K.S", " SSJ.T.K.S - tisk-knjižno-strokovno"), SSJ_PERIODICNO("SSJ.T.P", " SSJ.T.P - tisk-periodično"), SSJ_CASOPIS("SSJ.T.P.C", " SSJ.T.P.C - tisk-periodično-časopis"), SSJ_REVIJA("SSJ.T.P.R", " SSJ.T.P.R - tisk-periodično-revija"), SSJ_DRUGO("SSJ.T.D", " SSJ.T.D - tisk-drugo"), SSJ_INTERNET("SSJ.I", "SSJ.I - internet"), FT_P_PRENOSNIK("Ft.P", "Ft.P - prenosnik"), FT_P_GOVORNI("Ft.P.G", " Ft.P.G - prenosnik-govorni"), FT_P_ELEKTRONSKI("Ft.P.E", " Ft.P.E - prenosnik-elektronski"), FT_P_PISNI("Ft.P.P", " Ft.P.P - prenosnik-pisni"), FT_P_OBJAVLJENO("Ft.P.P.O", " Ft.P.P.O - prenosnik-pisni-objavljeno"), FT_P_KNJIZNO("Ft.P.P.O.K", " Ft.P.P.O.K - prenosnik-pisni-objavljeno-knjižno"), FT_P_PERIODICNO("Ft.P.P.O.P", " Ft.P.P.O.P - prenosnik-pisni-objavljeno-periodično"), FT_P_CASOPISNO("Ft.P.P.O.P.C", " Ft.P.P.O.P.C - prenosnik-pisni-objavljeno-periodično-časopisno"), FT_P_DNEVNO("Ft.P.P.O.P.C.D", " Ft.P.P.O.P.C.D - prenosnik-pisni-objavljeno-periodično-časopisno-dnevno"), FT_P_VECKRAT_TEDENSKO("Ft.P.P.O.P.C.V", " Ft.P.P.O.P.C.V - prenosnik-pisni-objavljeno-periodično-časopisno-večkrat tedensko"), FT_P_CASOPISNO_TEDENSKO("Ft.P.P.O.P.C.T", " Ft.P.P.O.P.C.T - prenosnik-pisni-objavljeno-periodično-časopisno-tedensko"), FT_P_REVIALNO("Ft.P.P.O.P.R", " Ft.P.P.O.P.R - prenosnik-pisni-objavljeno-periodično-revialno"), FT_P_TEDENSKO("Ft.P.P.O.P.R.T", " Ft.P.P.O.P.R.T - prenosnik-pisni-objavljeno-periodično-revialno-tedensko"), FT_P_STIRINAJSTDNEVNO("Ft.P.P.O.P.R.S", " Ft.P.P.O.P.R.S - prenosnik-pisni-objavljeno-periodično-revialno-štirinajstdnevno"), FT_P_MESECNO("Ft.P.P.O.P.R.M", " Ft.P.P.O.P.R.M - prenosnik-pisni-objavljeno-periodično-revialno-mesečno"), FT_P_REDKEJE_KOT_MESECNO("Ft.P.P.O.P.R.D", " Ft.P.P.O.P.R.D - prenosnik-pisni-objavljeno-periodično-revialno-redkeje kot na mesec"), FT_P_OBCASNO("Ft.P.P.O.P.R.O", " Ft.P.P.O.P.R.O - prenosnik-pisni-objavljeno-periodično-revialno-občasno"), FT_P_NEOBJAVLJENO("Ft.P.P.N", " Ft.P.P.N - prenosnik-pisni-neobjavljeno"), FT_P_JAVNO("Ft.P.P.N.J", " Ft.P.P.N.J - prenosnik-pisni-neobjavljeno-javno"), FT_P_INTERNO("Ft.P.P.N.I", " Ft.P.P.N.I - prenosnik-pisni-neobjavljeno-interno"), FT_P_ZASEBNO("Ft.P.P.N.Z", " Ft.P.P.N.Z - prenosnik-pisni-neobjavljeno-zasebno"), FT_ZVRST("Ft.Z", "Ft.Z - zvrst"), FT_UMETNOSTNA("Ft.Z.U", " Ft.Z.U - zvrst-umetnostna"), FT_PESNISKA("Ft.Z.U.P", " Ft.Z.U.P - zvrst-umetnostna-pesniška"), FT_PROZNA("Ft.Z.U.R", " Ft.Z.U.R - zvrst-umetnostna-prozna"), FT_DRAMSKA("Ft.Z.U.D", " Ft.Z.U.D - zvrst-umetnostna-dramska"), FT_NEUMETNOSTNA("Ft.Z.N", " Ft.Z.N - zvrst-neumetnostna"), FT_STROKOVNA("Ft.Z.N.S", " Ft.Z.N.S - zvrst-neumetnostna-strokovna"), FT_HID("Ft.Z.N.S.H", " Ft.Z.N.S.H - zvrst-neumetnostna-strokovna-humanistična in družboslovna"), FT_NIT("Ft.Z.N.S.N", " Ft.Z.N.S.N - zvrst-neumetnostna-strokovna-naravoslovna in tehnična"), FT_NESTROKOVNA("Ft.Z.N.N", " Ft.Z.N.N - zvrst-neumetnostna-nestrokovna"), FT_PRAVNA("Ft.Z.N.P", " Ft.Z.N.P - zvrst-neumetnostna-pravna"), FT_LEKTORIRANO("Ft.L", "Ft.L - zvrst-lektorirano"), FT_DA("Ft.L.D", " Ft.L.D - zvrst-lektorirano-da"), FT_NE("Ft.L.N", " Ft.L.N - zvrst-lektorirano-ne"); private final String name; private final String longName; TaxonomyEnum(String name, String longName) { this.name = name; this.longName = longName; } public String toString() { return this.name; } public String toLongNameString() { return this.longName; } public static TaxonomyEnum factory(String tax) { if (tax != null) { // GOS if (DISKURZ.toString().equals(tax)) { return DISKURZ; } if (DISKURZ_JAVNI.toString().equals(tax)) { return DISKURZ_JAVNI; } if (DISKURZ_INFORMATIVNO_IZOBRAZEVALNI.toString().equals(tax)) { return DISKURZ_INFORMATIVNO_IZOBRAZEVALNI; } if (DISKURZ_RAZVEDRILNI.toString().equals(tax)) { return DISKURZ_RAZVEDRILNI; } if (DISKURZ_NEJAVNI.toString().equals(tax)) { return DISKURZ_NEJAVNI; } if (DISKURZ_NEZASEBNI.toString().equals(tax)) { return DISKURZ_NEZASEBNI; } if (DISKURZ_ZASEBNI.toString().equals(tax)) { return DISKURZ_ZASEBNI; } if (SITUACIJA.toString().equals(tax)) { return SITUACIJA; } if (SITUACIJA_RADIO.toString().equals(tax)) { return SITUACIJA_RADIO; } if (SITUACIJA_TELEVIZIJA.toString().equals(tax)) { return SITUACIJA_TELEVIZIJA; } if (KANAL.toString().equals(tax)) { return KANAL; } if (KANAL_OSEBNI_STIK.toString().equals(tax)) { return KANAL_OSEBNI_STIK; } if (KANAL_TELEFON.toString().equals(tax)) { return KANAL_TELEFON; } if (KANAL_RADIO.toString().equals(tax)) { return KANAL_RADIO; } if (KANAL_TELEVIZIJA.toString().equals(tax)) { return KANAL_TELEVIZIJA; } // Gigafida // if (TISK.toString().equals(tax)) { // return TISK; // } if (SSJ_TISK.toString().equals(tax)) { return SSJ_TISK; } if (SSJ_KNJIZNO.toString().equals(tax)) { return SSJ_KNJIZNO; } if (SSJ_LEPOSLOVNO.toString().equals(tax)) { return SSJ_LEPOSLOVNO; } if (SSJ_STROKOVNO.toString().equals(tax)) { return SSJ_STROKOVNO; } if (SSJ_PERIODICNO.toString().equals(tax)) { return SSJ_PERIODICNO; } if (SSJ_CASOPIS.toString().equals(tax)) { return SSJ_CASOPIS; } if (SSJ_REVIJA.toString().equals(tax)) { return SSJ_REVIJA; } if (SSJ_DRUGO.toString().equals(tax)) { return SSJ_DRUGO; } if (SSJ_INTERNET.toString().equals(tax)) { return SSJ_INTERNET; } if (FT_P_PRENOSNIK.toString().equals(tax)) { return FT_P_PRENOSNIK; } if (FT_P_GOVORNI.toString().equals(tax)) { return FT_P_GOVORNI; } if (FT_P_ELEKTRONSKI.toString().equals(tax)) { return FT_P_ELEKTRONSKI; } if (FT_P_PISNI.toString().equals(tax)) { return FT_P_PISNI; } if (FT_P_OBJAVLJENO.toString().equals(tax)) { return FT_P_OBJAVLJENO; } if (FT_P_KNJIZNO.toString().equals(tax)) { return FT_P_KNJIZNO; } if (FT_P_PERIODICNO.toString().equals(tax)) { return FT_P_PERIODICNO; } if (FT_P_CASOPISNO.toString().equals(tax)) { return FT_P_CASOPISNO; } if (FT_P_DNEVNO.toString().equals(tax)) { return FT_P_DNEVNO; } if (FT_P_VECKRAT_TEDENSKO.toString().equals(tax)) { return FT_P_VECKRAT_TEDENSKO; } if (FT_P_CASOPISNO_TEDENSKO.toString().equals(tax)) { return FT_P_CASOPISNO_TEDENSKO; } if (FT_P_REVIALNO.toString().equals(tax)) { return FT_P_REVIALNO; } if (FT_P_TEDENSKO.toString().equals(tax)) { return FT_P_TEDENSKO; } if (FT_P_STIRINAJSTDNEVNO.toString().equals(tax)) { return FT_P_STIRINAJSTDNEVNO; } if (FT_P_MESECNO.toString().equals(tax)) { return FT_P_MESECNO; } if (FT_P_REDKEJE_KOT_MESECNO.toString().equals(tax)) { return FT_P_REDKEJE_KOT_MESECNO; } if (FT_P_OBCASNO.toString().equals(tax)) { return FT_P_OBCASNO; } if (FT_P_NEOBJAVLJENO.toString().equals(tax)) { return FT_P_NEOBJAVLJENO; } if (FT_P_JAVNO.toString().equals(tax)) { return FT_P_JAVNO; } if (FT_P_INTERNO.toString().equals(tax)) { return FT_P_INTERNO; } if (FT_P_ZASEBNO.toString().equals(tax)) { return FT_P_ZASEBNO; } if (FT_ZVRST.toString().equals(tax)) { return FT_ZVRST; } if (FT_UMETNOSTNA.toString().equals(tax)) { return FT_UMETNOSTNA; } if (FT_PESNISKA.toString().equals(tax)) { return FT_PESNISKA; } if (FT_PROZNA.toString().equals(tax)) { return FT_PROZNA; } if (FT_DRAMSKA.toString().equals(tax)) { return FT_DRAMSKA; } if (FT_NEUMETNOSTNA.toString().equals(tax)) { return FT_NEUMETNOSTNA; } if (FT_STROKOVNA.toString().equals(tax)) { return FT_STROKOVNA; } if (FT_NIT.toString().equals(tax)) { return FT_NIT; } if (FT_HID.toString().equals(tax)) { return FT_HID; } if (FT_NESTROKOVNA.toString().equals(tax)) { return FT_NESTROKOVNA; } if (FT_PRAVNA.toString().equals(tax)) { return FT_PRAVNA; } if (FT_LEKTORIRANO.toString().equals(tax)) { return FT_LEKTORIRANO; } if (FT_DA.toString().equals(tax)) { return FT_DA; } if (FT_NE.toString().equals(tax)) { return FT_NE; } } return null; } public static TaxonomyEnum factoryLongName(String tax) { if (tax != null) { // GOS if (DISKURZ.toLongNameString().equals(tax)) { return DISKURZ; } if (DISKURZ_JAVNI.toLongNameString().equals(tax)) { return DISKURZ_JAVNI; } if (DISKURZ_INFORMATIVNO_IZOBRAZEVALNI.toLongNameString().equals(tax)) { return DISKURZ_INFORMATIVNO_IZOBRAZEVALNI; } if (DISKURZ_RAZVEDRILNI.toLongNameString().equals(tax)) { return DISKURZ_RAZVEDRILNI; } if (DISKURZ_NEJAVNI.toLongNameString().equals(tax)) { return DISKURZ_NEJAVNI; } if (DISKURZ_NEZASEBNI.toLongNameString().equals(tax)) { return DISKURZ_NEZASEBNI; } if (DISKURZ_ZASEBNI.toLongNameString().equals(tax)) { return DISKURZ_ZASEBNI; } if (SITUACIJA.toLongNameString().equals(tax)) { return SITUACIJA; } if (SITUACIJA_RADIO.toLongNameString().equals(tax)) { return SITUACIJA_RADIO; } if (SITUACIJA_TELEVIZIJA.toLongNameString().equals(tax)) { return SITUACIJA_TELEVIZIJA; } if (KANAL.toLongNameString().equals(tax)) { return KANAL; } if (KANAL_OSEBNI_STIK.toLongNameString().equals(tax)) { return KANAL_OSEBNI_STIK; } if (KANAL_TELEFON.toLongNameString().equals(tax)) { return KANAL_TELEFON; } if (KANAL_RADIO.toLongNameString().equals(tax)) { return KANAL_RADIO; } if (KANAL_TELEVIZIJA.toLongNameString().equals(tax)) { return KANAL_TELEVIZIJA; } // Gigafida // if (TISK.toString().equals(tax)) { // return TISK; // } if (SSJ_TISK.toLongNameString().equals(tax)) { return SSJ_TISK; } if (SSJ_KNJIZNO.toLongNameString().equals(tax)) { return SSJ_KNJIZNO; } if (SSJ_LEPOSLOVNO.toLongNameString().equals(tax)) { return SSJ_LEPOSLOVNO; } if (SSJ_STROKOVNO.toLongNameString().equals(tax)) { return SSJ_STROKOVNO; } if (SSJ_PERIODICNO.toLongNameString().equals(tax)) { return SSJ_PERIODICNO; } if (SSJ_CASOPIS.toLongNameString().equals(tax)) { return SSJ_CASOPIS; } if (SSJ_REVIJA.toLongNameString().equals(tax)) { return SSJ_REVIJA; } if (SSJ_DRUGO.toLongNameString().equals(tax)) { return SSJ_DRUGO; } if (SSJ_INTERNET.toLongNameString().equals(tax)) { return SSJ_INTERNET; } if (FT_P_PRENOSNIK.toLongNameString().equals(tax)) { return FT_P_PRENOSNIK; } if (FT_P_GOVORNI.toLongNameString().equals(tax)) { return FT_P_GOVORNI; } if (FT_P_ELEKTRONSKI.toLongNameString().equals(tax)) { return FT_P_ELEKTRONSKI; } if (FT_P_PISNI.toLongNameString().equals(tax)) { return FT_P_PISNI; } if (FT_P_OBJAVLJENO.toLongNameString().equals(tax)) { return FT_P_OBJAVLJENO; } if (FT_P_KNJIZNO.toLongNameString().equals(tax)) { return FT_P_KNJIZNO; } if (FT_P_PERIODICNO.toLongNameString().equals(tax)) { return FT_P_PERIODICNO; } if (FT_P_CASOPISNO.toLongNameString().equals(tax)) { return FT_P_CASOPISNO; } if (FT_P_DNEVNO.toLongNameString().equals(tax)) { return FT_P_DNEVNO; } if (FT_P_VECKRAT_TEDENSKO.toLongNameString().equals(tax)) { return FT_P_VECKRAT_TEDENSKO; } if (FT_P_CASOPISNO_TEDENSKO.toLongNameString().equals(tax)) { return FT_P_CASOPISNO_TEDENSKO; } if (FT_P_REVIALNO.toLongNameString().equals(tax)) { return FT_P_REVIALNO; } if (FT_P_TEDENSKO.toLongNameString().equals(tax)) { return FT_P_TEDENSKO; } if (FT_P_STIRINAJSTDNEVNO.toLongNameString().equals(tax)) { return FT_P_STIRINAJSTDNEVNO; } if (FT_P_MESECNO.toLongNameString().equals(tax)) { return FT_P_MESECNO; } if (FT_P_REDKEJE_KOT_MESECNO.toLongNameString().equals(tax)) { return FT_P_REDKEJE_KOT_MESECNO; } if (FT_P_OBCASNO.toLongNameString().equals(tax)) { return FT_P_OBCASNO; } if (FT_P_NEOBJAVLJENO.toLongNameString().equals(tax)) { return FT_P_NEOBJAVLJENO; } if (FT_P_JAVNO.toLongNameString().equals(tax)) { return FT_P_JAVNO; } if (FT_P_INTERNO.toLongNameString().equals(tax)) { return FT_P_INTERNO; } if (FT_P_ZASEBNO.toLongNameString().equals(tax)) { return FT_P_ZASEBNO; } if (FT_ZVRST.toLongNameString().equals(tax)) { return FT_ZVRST; } if (FT_UMETNOSTNA.toLongNameString().equals(tax)) { return FT_UMETNOSTNA; } if (FT_PESNISKA.toLongNameString().equals(tax)) { return FT_PESNISKA; } if (FT_PROZNA.toLongNameString().equals(tax)) { return FT_PROZNA; } if (FT_DRAMSKA.toLongNameString().equals(tax)) { return FT_DRAMSKA; } if (FT_NEUMETNOSTNA.toLongNameString().equals(tax)) { return FT_NEUMETNOSTNA; } if (FT_STROKOVNA.toLongNameString().equals(tax)) { return FT_STROKOVNA; } if (FT_NIT.toLongNameString().equals(tax)) { return FT_NIT; } if (FT_HID.toLongNameString().equals(tax)) { return FT_HID; } if (FT_NESTROKOVNA.toLongNameString().equals(tax)) { return FT_NESTROKOVNA; } if (FT_PRAVNA.toLongNameString().equals(tax)) { return FT_PRAVNA; } if (FT_LEKTORIRANO.toLongNameString().equals(tax)) { return FT_LEKTORIRANO; } if (FT_DA.toLongNameString().equals(tax)) { return FT_DA; } if (FT_NE.toLongNameString().equals(tax)) { return FT_NE; } } return null; } public static ArrayList taxonomySelected(TaxonomyEnum disjointTaxonomy) { ArrayList r = new ArrayList<>(); // System.out.println(disjointTaxonomy); if(disjointTaxonomy.equals(DISKURZ)){ r.add(DISKURZ_JAVNI); r.add(DISKURZ_INFORMATIVNO_IZOBRAZEVALNI); r.add(DISKURZ_RAZVEDRILNI); r.add(DISKURZ_NEJAVNI); r.add(DISKURZ_NEZASEBNI); r.add(DISKURZ_ZASEBNI); } else if(disjointTaxonomy.equals(DISKURZ_JAVNI)){ r.add(DISKURZ_INFORMATIVNO_IZOBRAZEVALNI); r.add(DISKURZ_RAZVEDRILNI); } else if(disjointTaxonomy.equals(DISKURZ_NEJAVNI)){ r.add(DISKURZ_NEZASEBNI); r.add(DISKURZ_ZASEBNI); } else if(disjointTaxonomy.equals(SITUACIJA)){ r.add(SITUACIJA_RADIO); r.add(SITUACIJA_TELEVIZIJA); } else if(disjointTaxonomy.equals(KANAL)){ r.add(KANAL_OSEBNI_STIK); r.add(KANAL_TELEFON); r.add(KANAL_RADIO); r.add(KANAL_TELEVIZIJA); } else if(disjointTaxonomy.equals(SSJ_TISK)){ r.add(SSJ_KNJIZNO); r.add(SSJ_LEPOSLOVNO); r.add(SSJ_STROKOVNO); r.add(SSJ_PERIODICNO); r.add(SSJ_CASOPIS); r.add(SSJ_REVIJA); r.add(SSJ_DRUGO); } else if(disjointTaxonomy.equals(SSJ_KNJIZNO)){ r.add(SSJ_LEPOSLOVNO); r.add(SSJ_STROKOVNO); } else if(disjointTaxonomy.equals(SSJ_PERIODICNO)){ r.add(SSJ_CASOPIS); r.add(SSJ_REVIJA); } else if(disjointTaxonomy.equals(FT_P_PRENOSNIK)){ r.add(FT_P_GOVORNI); r.add(FT_P_ELEKTRONSKI); r.add(FT_P_PISNI); r.add(FT_P_OBJAVLJENO); r.add(FT_P_KNJIZNO); r.add(FT_P_PERIODICNO); r.add(FT_P_CASOPISNO); r.add(FT_P_DNEVNO); r.add(FT_P_VECKRAT_TEDENSKO); r.add(FT_P_CASOPISNO_TEDENSKO); r.add(FT_P_REVIALNO); r.add(FT_P_TEDENSKO); r.add(FT_P_STIRINAJSTDNEVNO); r.add(FT_P_MESECNO); r.add(FT_P_REDKEJE_KOT_MESECNO); r.add(FT_P_OBCASNO); r.add(FT_P_NEOBJAVLJENO); r.add(FT_P_JAVNO); r.add(FT_P_INTERNO); r.add(FT_P_ZASEBNO); } else if(disjointTaxonomy.equals(FT_P_PISNI)){ r.add(FT_P_OBJAVLJENO); r.add(FT_P_KNJIZNO); r.add(FT_P_PERIODICNO); r.add(FT_P_CASOPISNO); r.add(FT_P_DNEVNO); r.add(FT_P_VECKRAT_TEDENSKO); r.add(FT_P_CASOPISNO_TEDENSKO); r.add(FT_P_REVIALNO); r.add(FT_P_TEDENSKO); r.add(FT_P_STIRINAJSTDNEVNO); r.add(FT_P_MESECNO); r.add(FT_P_REDKEJE_KOT_MESECNO); r.add(FT_P_OBCASNO); r.add(FT_P_NEOBJAVLJENO); r.add(FT_P_JAVNO); r.add(FT_P_INTERNO); r.add(FT_P_ZASEBNO); } else if(disjointTaxonomy.equals(FT_P_OBJAVLJENO)){ r.add(FT_P_KNJIZNO); r.add(FT_P_PERIODICNO); r.add(FT_P_CASOPISNO); r.add(FT_P_DNEVNO); r.add(FT_P_VECKRAT_TEDENSKO); r.add(FT_P_CASOPISNO_TEDENSKO); r.add(FT_P_REVIALNO); r.add(FT_P_TEDENSKO); r.add(FT_P_STIRINAJSTDNEVNO); r.add(FT_P_MESECNO); r.add(FT_P_REDKEJE_KOT_MESECNO); r.add(FT_P_OBCASNO); } else if(disjointTaxonomy.equals(FT_P_PERIODICNO)){ r.add(FT_P_CASOPISNO); r.add(FT_P_DNEVNO); r.add(FT_P_VECKRAT_TEDENSKO); r.add(FT_P_CASOPISNO_TEDENSKO); r.add(FT_P_REVIALNO); r.add(FT_P_TEDENSKO); r.add(FT_P_STIRINAJSTDNEVNO); r.add(FT_P_MESECNO); r.add(FT_P_REDKEJE_KOT_MESECNO); r.add(FT_P_OBCASNO); } else if(disjointTaxonomy.equals(FT_P_CASOPISNO)){ r.add(FT_P_DNEVNO); r.add(FT_P_VECKRAT_TEDENSKO); r.add(FT_P_CASOPISNO_TEDENSKO); } else if(disjointTaxonomy.equals(FT_P_REVIALNO)) { r.add(FT_P_TEDENSKO); r.add(FT_P_STIRINAJSTDNEVNO); r.add(FT_P_MESECNO); r.add(FT_P_REDKEJE_KOT_MESECNO); r.add(FT_P_OBCASNO); } else if(disjointTaxonomy.equals(FT_P_NEOBJAVLJENO)){ r.add(FT_P_JAVNO); r.add(FT_P_INTERNO); r.add(FT_P_ZASEBNO); } else if(disjointTaxonomy.equals(FT_ZVRST)){ r.add(FT_UMETNOSTNA); r.add(FT_PESNISKA); r.add(FT_PROZNA); r.add(FT_DRAMSKA); r.add(FT_NEUMETNOSTNA); r.add(FT_STROKOVNA); r.add(FT_HID); r.add(FT_NIT); r.add(FT_NESTROKOVNA); r.add(FT_PRAVNA); } else if(disjointTaxonomy.equals(FT_UMETNOSTNA)){ r.add(FT_PESNISKA); r.add(FT_PROZNA); r.add(FT_DRAMSKA); } else if(disjointTaxonomy.equals(FT_NEUMETNOSTNA)){ r.add(FT_STROKOVNA); r.add(FT_HID); r.add(FT_NIT); r.add(FT_NESTROKOVNA); r.add(FT_PRAVNA); } else if(disjointTaxonomy.equals(FT_STROKOVNA)){ r.add(FT_HID); r.add(FT_NIT); } else if(disjointTaxonomy.equals(FT_LEKTORIRANO)){ r.add(FT_DA); r.add(FT_NE); } return r; } public static ArrayList taxonomyDeselected(TaxonomyEnum disjointTaxonomy){ ArrayList r = new ArrayList<>(); Map connections = new ConcurrentHashMap<>(); connections.put(DISKURZ_JAVNI, DISKURZ); connections.put(DISKURZ_INFORMATIVNO_IZOBRAZEVALNI, DISKURZ_JAVNI); connections.put(DISKURZ_RAZVEDRILNI, DISKURZ_JAVNI); connections.put(DISKURZ_NEJAVNI, DISKURZ); connections.put(DISKURZ_NEZASEBNI, DISKURZ_NEJAVNI); connections.put(DISKURZ_ZASEBNI, DISKURZ_NEJAVNI); connections.put(SITUACIJA_RADIO, SITUACIJA); connections.put(SITUACIJA_TELEVIZIJA, SITUACIJA); connections.put(KANAL_OSEBNI_STIK, KANAL); connections.put(KANAL_TELEFON, KANAL); connections.put(KANAL_RADIO, KANAL); connections.put(KANAL_TELEVIZIJA, KANAL); connections.put(SSJ_KNJIZNO, SSJ_TISK); connections.put(SSJ_LEPOSLOVNO, SSJ_KNJIZNO); connections.put(SSJ_STROKOVNO, SSJ_KNJIZNO); connections.put(SSJ_PERIODICNO, SSJ_TISK); connections.put(SSJ_CASOPIS, SSJ_PERIODICNO); connections.put(SSJ_REVIJA, SSJ_PERIODICNO); connections.put(SSJ_DRUGO, SSJ_TISK); connections.put(FT_P_GOVORNI, FT_P_PRENOSNIK); connections.put(FT_P_ELEKTRONSKI, FT_P_PRENOSNIK); connections.put(FT_P_PISNI, FT_P_PRENOSNIK); connections.put(FT_P_OBJAVLJENO, FT_P_PISNI); connections.put(FT_P_KNJIZNO, FT_P_OBJAVLJENO); connections.put(FT_P_PERIODICNO, FT_P_OBJAVLJENO); connections.put(FT_P_CASOPISNO, FT_P_OBJAVLJENO); connections.put(FT_P_DNEVNO, FT_P_CASOPISNO); connections.put(FT_P_VECKRAT_TEDENSKO, FT_P_CASOPISNO); connections.put(FT_P_CASOPISNO_TEDENSKO, FT_P_CASOPISNO); connections.put(FT_P_REVIALNO, FT_P_PERIODICNO); connections.put(FT_P_TEDENSKO, FT_P_REVIALNO); connections.put(FT_P_STIRINAJSTDNEVNO, FT_P_REVIALNO); connections.put(FT_P_MESECNO, FT_P_REVIALNO); connections.put(FT_P_REDKEJE_KOT_MESECNO, FT_P_REVIALNO); connections.put(FT_P_OBCASNO, FT_P_REVIALNO); connections.put(FT_P_NEOBJAVLJENO, FT_P_PISNI); connections.put(FT_P_JAVNO, FT_P_NEOBJAVLJENO); connections.put(FT_P_INTERNO, FT_P_NEOBJAVLJENO); connections.put(FT_P_ZASEBNO, FT_P_NEOBJAVLJENO); connections.put(FT_UMETNOSTNA, FT_ZVRST); connections.put(FT_PESNISKA, FT_UMETNOSTNA); connections.put(FT_PROZNA, FT_UMETNOSTNA); connections.put(FT_DRAMSKA, FT_UMETNOSTNA); connections.put(FT_NEUMETNOSTNA, FT_ZVRST); connections.put(FT_STROKOVNA, FT_NEUMETNOSTNA); connections.put(FT_HID, FT_STROKOVNA); connections.put(FT_NIT, FT_STROKOVNA); connections.put(FT_NESTROKOVNA, FT_NEUMETNOSTNA); connections.put(FT_PRAVNA, FT_NEUMETNOSTNA); connections.put(FT_DA, FT_LEKTORIRANO); connections.put(FT_NE, FT_LEKTORIRANO); TaxonomyEnum currentTaxonomy = disjointTaxonomy; r.add(currentTaxonomy); while(connections.containsKey(currentTaxonomy)){ currentTaxonomy = connections.get(currentTaxonomy); r.add(currentTaxonomy); } Collections.reverse(r); return r; } public static ArrayList convertStringListToTaxonomyList(ObservableList stringList, Corpus corpus){ // System.out.println("1."); // System.out.println(stringList); ArrayList taxonomyList = new ArrayList<>(); // System.out.println("INTERESTING STUFF"); // System.out.println(stringList); for (String e : stringList) { for (Taxonomy t : corpus.getTaxonomy()){ if (t.toLongNameString().equals(e)) { taxonomyList.add(t.getTaxonomyEnum()); } } } // System.out.println(taxonomyList); // System.out.println("-----------------"); return taxonomyList; } public static void modifyingTaxonomy(ArrayList taxonomy, ArrayList checkedItemsTaxonomy, Corpus corpus){ // get taxonomies that were selected/deselected by user // System.out.println("Print here:"); // System.out.println(taxonomy); // System.out.println(checkedItemsTaxonomy); // System.out.println("-------------"); Set disjointTaxonomies = new HashSet<>(checkedItemsTaxonomy); if (taxonomy != null) { disjointTaxonomies.addAll(taxonomy); for (TaxonomyEnum s : checkedItemsTaxonomy) { if (taxonomy.contains(s)) { disjointTaxonomies.remove(s); } } } // remove previously selected items plus remove taxonomies that are not presented in current setup ArrayList disArr = new ArrayList<>(disjointTaxonomies); int i = 0; while(i < disArr.size()){ TaxonomyEnum s = disArr.get(i); if(!TaxonomyEnum.convertStringListToTaxonomyList(corpus.getObservableListTaxonomy(), corpus).contains(s)){ disjointTaxonomies.remove(s); disArr.remove(s); // taxonomy.remove(s); i--; } i++; } if (disjointTaxonomies.size() > 0) { TaxonomyEnum disjointTaxonomy = disjointTaxonomies.iterator().next(); // taxonomy was selected if (checkedItemsTaxonomy.contains(disjointTaxonomy)) { ArrayList addTaxonomies = TaxonomyEnum.taxonomySelected(disjointTaxonomy); checkedItemsTaxonomy.addAll(addTaxonomies); } else if (taxonomy.contains(disjointTaxonomy)) { ArrayList removeTaxonomies = TaxonomyEnum.taxonomyDeselected(disjointTaxonomy); checkedItemsTaxonomy.removeAll(removeTaxonomies); } } } } public class Taxonomy { private String name; private String longName; private TaxonomyEnum taxonomyEnum; public Taxonomy(String tax, boolean longName) { if (!longName) { this.taxonomyEnum = TaxonomyEnum.factory(tax); } else { this.taxonomyEnum = TaxonomyEnum.factoryLongName(tax); } if (taxonomyEnum != null){ this.name = this.taxonomyEnum.toString(); this.longName = this.taxonomyEnum.toLongNameString(); } else { this.name = tax; this.longName = tax; } } public Taxonomy(TaxonomyEnum taxonomyEnum) { this.taxonomyEnum = taxonomyEnum; this.name = this.taxonomyEnum.toString(); this.longName = this.taxonomyEnum.toLongNameString(); } // public Taxonomy(String name, String longName) { // this.name = name; // this.longName = longName; // } public String toString() { return this.name; } public String toLongNameString() { return this.longName; } public TaxonomyEnum getTaxonomyEnum() { return this.taxonomyEnum; } public static Taxonomy factory(String tax, Corpus corpus) { for (Taxonomy t : corpus.getTaxonomy()){ if(tax.equals(t.toString())) return t; } return null; // return new Taxonomy(tax, false); } public static Taxonomy factoryLongName(String tax, Corpus corpus) { for (Taxonomy t : corpus.getTaxonomy()){ if(tax.equals(t.toLongNameString())) return t; } return null; // return new Taxonomy(tax, true); } // public static ArrayList taxonomySelected(Taxonomy disjointTaxonomy) { // ArrayList rTaxonomyEnum = TaxonomyEnum.taxonomySelected(disjointTaxonomy.getTaxonomyEnum()); // // ArrayList r = new ArrayList<>(); // // for(TaxonomyEnum t : rTaxonomyEnum){ // r.add(new Taxonomy(t.toString(), false)); // } // // return r; // } public static ArrayList taxonomyDeselected(Taxonomy disjointTaxonomy){ // ArrayList r = new ArrayList<>(); // Map connections = new ConcurrentHashMap<>(); // connections.put(DISKURZ_JAVNI, DISKURZ); // connections.put(DISKURZ_INFORMATIVNO_IZOBRAZEVALNI, DISKURZ_JAVNI); // connections.put(DISKURZ_RAZVEDRILNI, DISKURZ_JAVNI); // connections.put(DISKURZ_NEJAVNI, DISKURZ); // connections.put(DISKURZ_NEZASEBNI, DISKURZ_NEJAVNI); // connections.put(DISKURZ_ZASEBNI, DISKURZ_NEJAVNI); // connections.put(SITUACIJA_RADIO, SITUACIJA); // connections.put(SITUACIJA_TELEVIZIJA, SITUACIJA); // connections.put(KANAL_OSEBNI_STIK, KANAL); // connections.put(KANAL_TELEFON, KANAL); // connections.put(KANAL_RADIO, KANAL); // connections.put(KANAL_TELEVIZIJA, KANAL); // // connections.put(SSJ_KNJIZNO, SSJ_TISK); // connections.put(SSJ_LEPOSLOVNO, SSJ_KNJIZNO); // connections.put(SSJ_STROKOVNO, SSJ_KNJIZNO); // connections.put(SSJ_PERIODICNO, SSJ_TISK); // connections.put(SSJ_CASOPIS, SSJ_PERIODICNO); // connections.put(SSJ_REVIJA, SSJ_PERIODICNO); // connections.put(SSJ_DRUGO, SSJ_TISK); // // connections.put(FT_P_GOVORNI, FT_P_PRENOSNIK); // connections.put(FT_P_ELEKTRONSKI, FT_P_PRENOSNIK); // connections.put(FT_P_PISNI, FT_P_PRENOSNIK); // connections.put(FT_P_OBJAVLJENO, FT_P_PISNI); // connections.put(FT_P_KNJIZNO, FT_P_OBJAVLJENO); // connections.put(FT_P_PERIODICNO, FT_P_OBJAVLJENO); // connections.put(FT_P_CASOPISNO, FT_P_OBJAVLJENO); // connections.put(FT_P_DNEVNO, FT_P_CASOPISNO); // connections.put(FT_P_VECKRAT_TEDENSKO, FT_P_CASOPISNO); // connections.put(FT_P_CASOPISNO_TEDENSKO, FT_P_CASOPISNO); // connections.put(FT_P_REVIALNO, FT_P_PERIODICNO); // connections.put(FT_P_TEDENSKO, FT_P_REVIALNO); // connections.put(FT_P_STIRINAJSTDNEVNO, FT_P_REVIALNO); // connections.put(FT_P_MESECNO, FT_P_REVIALNO); // connections.put(FT_P_REDKEJE_KOT_MESECNO, FT_P_REVIALNO); // connections.put(FT_P_OBCASNO, FT_P_REVIALNO); // connections.put(FT_P_NEOBJAVLJENO, FT_P_PISNI); // connections.put(FT_P_JAVNO, FT_P_NEOBJAVLJENO); // connections.put(FT_P_INTERNO, FT_P_NEOBJAVLJENO); // connections.put(FT_P_ZASEBNO, FT_P_NEOBJAVLJENO); // connections.put(FT_UMETNOSTNA, FT_ZVRST); // connections.put(FT_PESNISKA, FT_UMETNOSTNA); // connections.put(FT_PROZNA, FT_UMETNOSTNA); // connections.put(FT_DRAMSKA, FT_UMETNOSTNA); // connections.put(FT_NEUMETNOSTNA, FT_ZVRST); // connections.put(FT_STROKOVNA, FT_NEUMETNOSTNA); // connections.put(FT_HID, FT_STROKOVNA); // connections.put(FT_NIT, FT_STROKOVNA); // connections.put(FT_NESTROKOVNA, FT_NEUMETNOSTNA); // connections.put(FT_PRAVNA, FT_NEUMETNOSTNA); // connections.put(FT_DA, FT_LEKTORIRANO); // connections.put(FT_NE, FT_LEKTORIRANO); // // TaxonomyEnum currentTaxonomy = disjointTaxonomy; // r.add(currentTaxonomy); // while(connections.containsKey(currentTaxonomy)){ // currentTaxonomy = connections.get(currentTaxonomy); // r.add(currentTaxonomy); // } // Collections.reverse(r); // return r; return null; } public static ArrayList convertStringListToTaxonomyList(ObservableList stringList, Corpus corpus){ ArrayList taxonomyList = new ArrayList<>(); for (String e : stringList) { for (Taxonomy t : corpus.getTaxonomy()){ if (t.toLongNameString().equals(e)) { taxonomyList.add(t); } } } return taxonomyList; } public static ArrayList taxonomyToTaxonomyEnum(ArrayList taxonomy){ // System.out.println(taxonomy); if (taxonomy == null) { return null; } ArrayList r = new ArrayList<>(); for (Taxonomy t : taxonomy){ if (t.taxonomyEnum == null){ return null; } r.add(t.taxonomyEnum); } return r; } public static ArrayList taxonomyEnumToTaxonomy(ArrayList taxonomy, Corpus corpus){ // ArrayList r = new ArrayList<>(); // for (TaxonomyEnum t : taxonomy){ // r.add(new Taxonomy(t)); // } // return r; ArrayList r = new ArrayList<>(); for (TaxonomyEnum te : taxonomy){ for (Taxonomy t : corpus.getTaxonomy()){ if (t.taxonomyEnum.equals(te)) { r.add(t); break; } } } return r; } public static ArrayList modifyingTaxonomy(ArrayList taxonomy, ObservableList checkedItems, Corpus corpus){ ArrayList checkedItemsTaxonomy = TaxonomyEnum.convertStringListToTaxonomyList(checkedItems, corpus); if (checkedItemsTaxonomy != null && corpus.getCorpusType() != CorpusType.VERT && corpus.getCorpusType() != CorpusType.SSJ500K && corpus.getCorpusType() != CorpusType.GIGAFIDA2) { TaxonomyEnum.modifyingTaxonomy(Taxonomy.taxonomyToTaxonomyEnum(taxonomy), checkedItemsTaxonomy, corpus); return taxonomyEnumToTaxonomy(checkedItemsTaxonomy, corpus); } else { return convertStringListToTaxonomyList(checkedItems, corpus); } } }