package data; import java.util.*; import java.util.concurrent.ConcurrentHashMap; import javafx.collections.ObservableList; public enum Taxonomy { 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; Taxonomy(String name, String longName) { this.name = name; this.longName = longName; } public String toString() { return this.name; } public String toLongNameString() { return this.longName; } public static Taxonomy 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 Taxonomy 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(Taxonomy 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(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); Taxonomy 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){ System.out.println(stringList); ArrayList taxonomyList = new ArrayList<>(); // System.out.println("INTERESTING STUFF"); // System.out.println(stringList); for (String e : stringList) { taxonomyList.add(factoryLongName(e)); } // 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(taxonomy); // System.out.println(checkedItemsTaxonomy); Set disjointTaxonomies = new HashSet<>(checkedItemsTaxonomy); if (taxonomy != null) { disjointTaxonomies.addAll(taxonomy); for (Taxonomy 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()){ Taxonomy s = disArr.get(i); if(!Taxonomy.convertStringListToTaxonomyList(corpus.getTaxonomy()).contains(s)){ disjointTaxonomies.remove(s); disArr.remove(s); // taxonomy.remove(s); i--; } i++; } if (disjointTaxonomies.size() > 0) { Taxonomy disjointTaxonomy = disjointTaxonomies.iterator().next(); // taxonomy was selected if (checkedItemsTaxonomy.contains(disjointTaxonomy)) { ArrayList addTaxonomies = Taxonomy.taxonomySelected(disjointTaxonomy); checkedItemsTaxonomy.addAll(addTaxonomies); } else if (taxonomy.contains(disjointTaxonomy)) { ArrayList removeTaxonomies = Taxonomy.taxonomyDeselected(disjointTaxonomy); checkedItemsTaxonomy.removeAll(removeTaxonomies); } } } }