-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Fix field formatter save actions throwing exception on autosave #5010
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we need a generic solution for this. Otherwise we run consistently in these threading issues and in the long term it's not a reliable solution to extract certain things that need to run on the javafx thread due to the bindings.
I would propose to create methods bindOnUI(Property A, Property B)
and bindBidirectionalOnUI
in BindingsHelper
which bind A
and B
but changes are propagated on the JavaFX thread. The implementation probably needs to copy the builtin classes and change the update mechanism:
https://github.com/javafxports/openjdk-jfx/blob/develop/modules/javafx.base/src/main/java/javafx/beans/property/ObjectPropertyBase.java#L234
https://github.com/javafxports/openjdk-jfx/blob/51f12edf47adfe0529e8cea10f399f4525687d27/modules/javafx.base/src/main/java/com/sun/javafx/binding/BidirectionalBinding.java#L599
26265bf Create pacific-science.csl (JabRef#5020) e6ff62e Update pravnik.csl & iso690-full-note-cs.csl (JabRef#5019) 8ab9362 Create turabian-9-author-date (JabRef#4796) 28c7021 Update west-european-politics.csl (JabRef#4900) 6d06e5e Create american-physical-society-et-al (JabRef#4974) 7472744 Create farmeconomia.csl (JabRef#5017) bd916df Create amerindia.csl (JabRef#5011) 28d176d Create law-technology-and-humans-journal-style.csl (JabRef#5015) a998aa5 Create kerala-journal-of-ophthalmology.csl (JabRef#5014) 8662257 Update journal-of-australian-strength-and-conditioning.csl (JabRef#5010) e28f06f Create clinical-management-issues.csl (JabRef#5008) abb92fb Create institut-francais-darcheologie-orientale-en.csl (JabRef#4870) f931c78 Update institut-francais-darcheologie-orientale.csl (JabRef#4869) 9d604ca Update journal-of-foraminiferal-research.csl 1191d07 add Journal of Foraminiferal Research (JabRef#5007) 0903e9d Update molecular-therapy.csl (JabRef#5009) 316d6c7 Update journal-of-alzheimers-disease.csl (JabRef#5006) 868a7ed Create journal-of-soil-science-and-plant-nutrition (JabRef#5005) 875ef81 Create universitat-bern-institut-fur-sozialanthropologie.csl (JabRef#4998) 1194b81 Create journal-de-la-societe-des-americanistes.csl (JabRef#4995) 1d2a472 Update international-energy-agency-organisation-for-economic-co-operation-and-development.csl (JabRef#4999) 02a26ef Update iso690-author-date-cs.csl (JabRef#5003) 165592c Create european-journal-of-entomology.csl (JabRef#5001) 4d587ca Create european-journal-of-anaesthesiology.csl (JabRef#5002) git-subtree-dir: src/main/resources/csl-styles git-subtree-split: 26265bf
26265bf Create pacific-science.csl (JabRef#5020) e6ff62e Update pravnik.csl & iso690-full-note-cs.csl (JabRef#5019) 8ab9362 Create turabian-9-author-date (JabRef#4796) 28c7021 Update west-european-politics.csl (JabRef#4900) 6d06e5e Create american-physical-society-et-al (JabRef#4974) 7472744 Create farmeconomia.csl (JabRef#5017) bd916df Create amerindia.csl (JabRef#5011) 28d176d Create law-technology-and-humans-journal-style.csl (JabRef#5015) a998aa5 Create kerala-journal-of-ophthalmology.csl (JabRef#5014) 8662257 Update journal-of-australian-strength-and-conditioning.csl (JabRef#5010) e28f06f Create clinical-management-issues.csl (JabRef#5008) abb92fb Create institut-francais-darcheologie-orientale-en.csl (JabRef#4870) f931c78 Update institut-francais-darcheologie-orientale.csl (JabRef#4869) 9d604ca Update journal-of-foraminiferal-research.csl 1191d07 add Journal of Foraminiferal Research (JabRef#5007) 0903e9d Update molecular-therapy.csl (JabRef#5009) 316d6c7 Update journal-of-alzheimers-disease.csl (JabRef#5006) 868a7ed Create journal-of-soil-science-and-plant-nutrition (JabRef#5005) 875ef81 Create universitat-bern-institut-fur-sozialanthropologie.csl (JabRef#4998) 1194b81 Create journal-de-la-societe-des-americanistes.csl (JabRef#4995) 1d2a472 Update international-energy-agency-organisation-for-economic-co-operation-and-development.csl (JabRef#4999) 02a26ef Update iso690-author-date-cs.csl (JabRef#5003) 165592c Create european-journal-of-entomology.csl (JabRef#5001) 4d587ca Create european-journal-of-anaesthesiology.csl (JabRef#5002) git-subtree-dir: src/main/resources/csl-styles git-subtree-split: 26265bf
26265bf Create pacific-science.csl (JabRef#5020) e6ff62e Update pravnik.csl & iso690-full-note-cs.csl (JabRef#5019) 8ab9362 Create turabian-9-author-date (JabRef#4796) 28c7021 Update west-european-politics.csl (JabRef#4900) 6d06e5e Create american-physical-society-et-al (JabRef#4974) 7472744 Create farmeconomia.csl (JabRef#5017) bd916df Create amerindia.csl (JabRef#5011) 28d176d Create law-technology-and-humans-journal-style.csl (JabRef#5015) a998aa5 Create kerala-journal-of-ophthalmology.csl (JabRef#5014) 8662257 Update journal-of-australian-strength-and-conditioning.csl (JabRef#5010) e28f06f Create clinical-management-issues.csl (JabRef#5008) abb92fb Create institut-francais-darcheologie-orientale-en.csl (JabRef#4870) f931c78 Update institut-francais-darcheologie-orientale.csl (JabRef#4869) 9d604ca Update journal-of-foraminiferal-research.csl 1191d07 add Journal of Foraminiferal Research (JabRef#5007) 0903e9d Update molecular-therapy.csl (JabRef#5009) 316d6c7 Update journal-of-alzheimers-disease.csl (JabRef#5006) 868a7ed Create journal-of-soil-science-and-plant-nutrition (JabRef#5005) 875ef81 Create universitat-bern-institut-fur-sozialanthropologie.csl (JabRef#4998) 1194b81 Create journal-de-la-societe-des-americanistes.csl (JabRef#4995) 1d2a472 Update international-energy-agency-organisation-for-economic-co-operation-and-development.csl (JabRef#4999) 02a26ef Update iso690-author-date-cs.csl (JabRef#5003) 165592c Create european-journal-of-entomology.csl (JabRef#5001) 4d587ca Create european-journal-of-anaesthesiology.csl (JabRef#5002) git-subtree-dir: src/main/resources/csl-styles git-subtree-split: 26265bf
26265bf Create pacific-science.csl (JabRef#5020) e6ff62e Update pravnik.csl & iso690-full-note-cs.csl (JabRef#5019) 8ab9362 Create turabian-9-author-date (JabRef#4796) 28c7021 Update west-european-politics.csl (JabRef#4900) 6d06e5e Create american-physical-society-et-al (JabRef#4974) 7472744 Create farmeconomia.csl (JabRef#5017) bd916df Create amerindia.csl (JabRef#5011) 28d176d Create law-technology-and-humans-journal-style.csl (JabRef#5015) a998aa5 Create kerala-journal-of-ophthalmology.csl (JabRef#5014) 8662257 Update journal-of-australian-strength-and-conditioning.csl (JabRef#5010) e28f06f Create clinical-management-issues.csl (JabRef#5008) abb92fb Create institut-francais-darcheologie-orientale-en.csl (JabRef#4870) f931c78 Update institut-francais-darcheologie-orientale.csl (JabRef#4869) 9d604ca Update journal-of-foraminiferal-research.csl 1191d07 add Journal of Foraminiferal Research (JabRef#5007) 0903e9d Update molecular-therapy.csl (JabRef#5009) 316d6c7 Update journal-of-alzheimers-disease.csl (JabRef#5006) 868a7ed Create journal-of-soil-science-and-plant-nutrition (JabRef#5005) 875ef81 Create universitat-bern-institut-fur-sozialanthropologie.csl (JabRef#4998) 1194b81 Create journal-de-la-societe-des-americanistes.csl (JabRef#4995) 1d2a472 Update international-energy-agency-organisation-for-economic-co-operation-and-development.csl (JabRef#4999) 02a26ef Update iso690-author-date-cs.csl (JabRef#5003) 165592c Create european-journal-of-entomology.csl (JabRef#5001) 4d587ca Create european-journal-of-anaesthesiology.csl (JabRef#5002) git-subtree-dir: src/main/resources/csl-styles git-subtree-split: 26265bf
26265bf Create pacific-science.csl (JabRef#5020) e6ff62e Update pravnik.csl & iso690-full-note-cs.csl (JabRef#5019) 8ab9362 Create turabian-9-author-date (JabRef#4796) 28c7021 Update west-european-politics.csl (JabRef#4900) 6d06e5e Create american-physical-society-et-al (JabRef#4974) 7472744 Create farmeconomia.csl (JabRef#5017) bd916df Create amerindia.csl (JabRef#5011) 28d176d Create law-technology-and-humans-journal-style.csl (JabRef#5015) a998aa5 Create kerala-journal-of-ophthalmology.csl (JabRef#5014) 8662257 Update journal-of-australian-strength-and-conditioning.csl (JabRef#5010) e28f06f Create clinical-management-issues.csl (JabRef#5008) abb92fb Create institut-francais-darcheologie-orientale-en.csl (JabRef#4870) f931c78 Update institut-francais-darcheologie-orientale.csl (JabRef#4869) 9d604ca Update journal-of-foraminiferal-research.csl 1191d07 add Journal of Foraminiferal Research (JabRef#5007) 0903e9d Update molecular-therapy.csl (JabRef#5009) 316d6c7 Update journal-of-alzheimers-disease.csl (JabRef#5006) 868a7ed Create journal-of-soil-science-and-plant-nutrition (JabRef#5005) 875ef81 Create universitat-bern-institut-fur-sozialanthropologie.csl (JabRef#4998) 1194b81 Create journal-de-la-societe-des-americanistes.csl (JabRef#4995) 1d2a472 Update international-energy-agency-organisation-for-economic-co-operation-and-development.csl (JabRef#4999) 02a26ef Update iso690-author-date-cs.csl (JabRef#5003) 165592c Create european-journal-of-entomology.csl (JabRef#5001) 4d587ca Create european-journal-of-anaesthesiology.csl (JabRef#5002) git-subtree-dir: src/main/resources/csl-styles git-subtree-split: 26265bf
26265bf Create pacific-science.csl (JabRef#5020) e6ff62e Update pravnik.csl & iso690-full-note-cs.csl (JabRef#5019) 8ab9362 Create turabian-9-author-date (JabRef#4796) 28c7021 Update west-european-politics.csl (JabRef#4900) 6d06e5e Create american-physical-society-et-al (JabRef#4974) 7472744 Create farmeconomia.csl (JabRef#5017) bd916df Create amerindia.csl (JabRef#5011) 28d176d Create law-technology-and-humans-journal-style.csl (JabRef#5015) a998aa5 Create kerala-journal-of-ophthalmology.csl (JabRef#5014) 8662257 Update journal-of-australian-strength-and-conditioning.csl (JabRef#5010) e28f06f Create clinical-management-issues.csl (JabRef#5008) abb92fb Create institut-francais-darcheologie-orientale-en.csl (JabRef#4870) f931c78 Update institut-francais-darcheologie-orientale.csl (JabRef#4869) 9d604ca Update journal-of-foraminiferal-research.csl 1191d07 add Journal of Foraminiferal Research (JabRef#5007) 0903e9d Update molecular-therapy.csl (JabRef#5009) 316d6c7 Update journal-of-alzheimers-disease.csl (JabRef#5006) 868a7ed Create journal-of-soil-science-and-plant-nutrition (JabRef#5005) 875ef81 Create universitat-bern-institut-fur-sozialanthropologie.csl (JabRef#4998) 1194b81 Create journal-de-la-societe-des-americanistes.csl (JabRef#4995) 1d2a472 Update international-energy-agency-organisation-for-economic-co-operation-and-development.csl (JabRef#4999) 02a26ef Update iso690-author-date-cs.csl (JabRef#5003) 165592c Create european-journal-of-entomology.csl (JabRef#5001) 4d587ca Create european-journal-of-anaesthesiology.csl (JabRef#5002) git-subtree-dir: src/main/resources/csl-styles git-subtree-split: 26265bf
26265bf Create pacific-science.csl (JabRef#5020) e6ff62e Update pravnik.csl & iso690-full-note-cs.csl (JabRef#5019) 8ab9362 Create turabian-9-author-date (JabRef#4796) 28c7021 Update west-european-politics.csl (JabRef#4900) 6d06e5e Create american-physical-society-et-al (JabRef#4974) 7472744 Create farmeconomia.csl (JabRef#5017) bd916df Create amerindia.csl (JabRef#5011) 28d176d Create law-technology-and-humans-journal-style.csl (JabRef#5015) a998aa5 Create kerala-journal-of-ophthalmology.csl (JabRef#5014) 8662257 Update journal-of-australian-strength-and-conditioning.csl (JabRef#5010) e28f06f Create clinical-management-issues.csl (JabRef#5008) abb92fb Create institut-francais-darcheologie-orientale-en.csl (JabRef#4870) f931c78 Update institut-francais-darcheologie-orientale.csl (JabRef#4869) 9d604ca Update journal-of-foraminiferal-research.csl 1191d07 add Journal of Foraminiferal Research (JabRef#5007) 0903e9d Update molecular-therapy.csl (JabRef#5009) 316d6c7 Update journal-of-alzheimers-disease.csl (JabRef#5006) 868a7ed Create journal-of-soil-science-and-plant-nutrition (JabRef#5005) 875ef81 Create universitat-bern-institut-fur-sozialanthropologie.csl (JabRef#4998) 1194b81 Create journal-de-la-societe-des-americanistes.csl (JabRef#4995) 1d2a472 Update international-energy-agency-organisation-for-economic-co-operation-and-development.csl (JabRef#4999) 02a26ef Update iso690-author-date-cs.csl (JabRef#5003) 165592c Create european-journal-of-entomology.csl (JabRef#5001) 4d587ca Create european-journal-of-anaesthesiology.csl (JabRef#5002) git-subtree-dir: src/main/resources/csl-styles git-subtree-split: 26265bf
26265bf Create pacific-science.csl (JabRef#5020) e6ff62e Update pravnik.csl & iso690-full-note-cs.csl (JabRef#5019) 8ab9362 Create turabian-9-author-date (JabRef#4796) 28c7021 Update west-european-politics.csl (JabRef#4900) 6d06e5e Create american-physical-society-et-al (JabRef#4974) 7472744 Create farmeconomia.csl (JabRef#5017) bd916df Create amerindia.csl (JabRef#5011) 28d176d Create law-technology-and-humans-journal-style.csl (JabRef#5015) a998aa5 Create kerala-journal-of-ophthalmology.csl (JabRef#5014) 8662257 Update journal-of-australian-strength-and-conditioning.csl (JabRef#5010) e28f06f Create clinical-management-issues.csl (JabRef#5008) abb92fb Create institut-francais-darcheologie-orientale-en.csl (JabRef#4870) f931c78 Update institut-francais-darcheologie-orientale.csl (JabRef#4869) 9d604ca Update journal-of-foraminiferal-research.csl 1191d07 add Journal of Foraminiferal Research (JabRef#5007) 0903e9d Update molecular-therapy.csl (JabRef#5009) 316d6c7 Update journal-of-alzheimers-disease.csl (JabRef#5006) 868a7ed Create journal-of-soil-science-and-plant-nutrition (JabRef#5005) 875ef81 Create universitat-bern-institut-fur-sozialanthropologie.csl (JabRef#4998) 1194b81 Create journal-de-la-societe-des-americanistes.csl (JabRef#4995) 1d2a472 Update international-energy-agency-organisation-for-economic-co-operation-and-development.csl (JabRef#4999) 02a26ef Update iso690-author-date-cs.csl (JabRef#5003) 165592c Create european-journal-of-entomology.csl (JabRef#5001) 4d587ca Create european-journal-of-anaesthesiology.csl (JabRef#5002) git-subtree-dir: src/main/resources/csl-styles git-subtree-split: 26265bf
26265bf Create pacific-science.csl (#5020) e6ff62e Update pravnik.csl & iso690-full-note-cs.csl (#5019) 8ab9362 Create turabian-9-author-date (#4796) 28c7021 Update west-european-politics.csl (#4900) 6d06e5e Create american-physical-society-et-al (#4974) 7472744 Create farmeconomia.csl (#5017) bd916df Create amerindia.csl (#5011) 28d176d Create law-technology-and-humans-journal-style.csl (#5015) a998aa5 Create kerala-journal-of-ophthalmology.csl (#5014) 8662257 Update journal-of-australian-strength-and-conditioning.csl (#5010) e28f06f Create clinical-management-issues.csl (#5008) abb92fb Create institut-francais-darcheologie-orientale-en.csl (#4870) f931c78 Update institut-francais-darcheologie-orientale.csl (#4869) 9d604ca Update journal-of-foraminiferal-research.csl 1191d07 add Journal of Foraminiferal Research (#5007) 0903e9d Update molecular-therapy.csl (#5009) 316d6c7 Update journal-of-alzheimers-disease.csl (#5006) 868a7ed Create journal-of-soil-science-and-plant-nutrition (#5005) 875ef81 Create universitat-bern-institut-fur-sozialanthropologie.csl (#4998) 1194b81 Create journal-de-la-societe-des-americanistes.csl (#4995) 1d2a472 Update international-energy-agency-organisation-for-economic-co-operation-and-development.csl (#4999) 02a26ef Update iso690-author-date-cs.csl (#5003) 165592c Create european-journal-of-entomology.csl (#5001) 4d587ca Create european-journal-of-anaesthesiology.csl (#5002) git-subtree-dir: src/main/resources/csl-styles git-subtree-split: 26265bf
26265bf Create pacific-science.csl (JabRef#5020) e6ff62e Update pravnik.csl & iso690-full-note-cs.csl (JabRef#5019) 8ab9362 Create turabian-9-author-date (JabRef#4796) 28c7021 Update west-european-politics.csl (JabRef#4900) 6d06e5e Create american-physical-society-et-al (JabRef#4974) 7472744 Create farmeconomia.csl (JabRef#5017) bd916df Create amerindia.csl (JabRef#5011) 28d176d Create law-technology-and-humans-journal-style.csl (JabRef#5015) a998aa5 Create kerala-journal-of-ophthalmology.csl (JabRef#5014) 8662257 Update journal-of-australian-strength-and-conditioning.csl (JabRef#5010) e28f06f Create clinical-management-issues.csl (JabRef#5008) abb92fb Create institut-francais-darcheologie-orientale-en.csl (JabRef#4870) f931c78 Update institut-francais-darcheologie-orientale.csl (JabRef#4869) 9d604ca Update journal-of-foraminiferal-research.csl 1191d07 add Journal of Foraminiferal Research (JabRef#5007) 0903e9d Update molecular-therapy.csl (JabRef#5009) 316d6c7 Update journal-of-alzheimers-disease.csl (JabRef#5006) 868a7ed Create journal-of-soil-science-and-plant-nutrition (JabRef#5005) 875ef81 Create universitat-bern-institut-fur-sozialanthropologie.csl (JabRef#4998) 1194b81 Create journal-de-la-societe-des-americanistes.csl (JabRef#4995) 1d2a472 Update international-energy-agency-organisation-for-economic-co-operation-and-development.csl (JabRef#4999) 02a26ef Update iso690-author-date-cs.csl (JabRef#5003) 165592c Create european-journal-of-entomology.csl (JabRef#5001) 4d587ca Create european-journal-of-anaesthesiology.csl (JabRef#5002) git-subtree-dir: src/main/resources/csl-styles git-subtree-split: 26265bf
26265bf Create pacific-science.csl (JabRef#5020) e6ff62e Update pravnik.csl & iso690-full-note-cs.csl (JabRef#5019) 8ab9362 Create turabian-9-author-date (JabRef#4796) 28c7021 Update west-european-politics.csl (JabRef#4900) 6d06e5e Create american-physical-society-et-al (JabRef#4974) 7472744 Create farmeconomia.csl (JabRef#5017) bd916df Create amerindia.csl (JabRef#5011) 28d176d Create law-technology-and-humans-journal-style.csl (JabRef#5015) a998aa5 Create kerala-journal-of-ophthalmology.csl (JabRef#5014) 8662257 Update journal-of-australian-strength-and-conditioning.csl (JabRef#5010) e28f06f Create clinical-management-issues.csl (JabRef#5008) abb92fb Create institut-francais-darcheologie-orientale-en.csl (JabRef#4870) f931c78 Update institut-francais-darcheologie-orientale.csl (JabRef#4869) 9d604ca Update journal-of-foraminiferal-research.csl 1191d07 add Journal of Foraminiferal Research (JabRef#5007) 0903e9d Update molecular-therapy.csl (JabRef#5009) 316d6c7 Update journal-of-alzheimers-disease.csl (JabRef#5006) 868a7ed Create journal-of-soil-science-and-plant-nutrition (JabRef#5005) 875ef81 Create universitat-bern-institut-fur-sozialanthropologie.csl (JabRef#4998) 1194b81 Create journal-de-la-societe-des-americanistes.csl (JabRef#4995) 1d2a472 Update international-energy-agency-organisation-for-economic-co-operation-and-development.csl (JabRef#4999) 02a26ef Update iso690-author-date-cs.csl (JabRef#5003) 165592c Create european-journal-of-entomology.csl (JabRef#5001) 4d587ca Create european-journal-of-anaesthesiology.csl (JabRef#5002) git-subtree-dir: src/main/resources/csl-styles git-subtree-split: 26265bf
26265bf Create pacific-science.csl (JabRef#5020) e6ff62e Update pravnik.csl & iso690-full-note-cs.csl (JabRef#5019) 8ab9362 Create turabian-9-author-date (JabRef#4796) 28c7021 Update west-european-politics.csl (JabRef#4900) 6d06e5e Create american-physical-society-et-al (JabRef#4974) 7472744 Create farmeconomia.csl (JabRef#5017) bd916df Create amerindia.csl (JabRef#5011) 28d176d Create law-technology-and-humans-journal-style.csl (JabRef#5015) a998aa5 Create kerala-journal-of-ophthalmology.csl (JabRef#5014) 8662257 Update journal-of-australian-strength-and-conditioning.csl (JabRef#5010) e28f06f Create clinical-management-issues.csl (JabRef#5008) abb92fb Create institut-francais-darcheologie-orientale-en.csl (JabRef#4870) f931c78 Update institut-francais-darcheologie-orientale.csl (JabRef#4869) 9d604ca Update journal-of-foraminiferal-research.csl 1191d07 add Journal of Foraminiferal Research (JabRef#5007) 0903e9d Update molecular-therapy.csl (JabRef#5009) 316d6c7 Update journal-of-alzheimers-disease.csl (JabRef#5006) 868a7ed Create journal-of-soil-science-and-plant-nutrition (JabRef#5005) 875ef81 Create universitat-bern-institut-fur-sozialanthropologie.csl (JabRef#4998) 1194b81 Create journal-de-la-societe-des-americanistes.csl (JabRef#4995) 1d2a472 Update international-energy-agency-organisation-for-economic-co-operation-and-development.csl (JabRef#4999) 02a26ef Update iso690-author-date-cs.csl (JabRef#5003) 165592c Create european-journal-of-entomology.csl (JabRef#5001) 4d587ca Create european-journal-of-anaesthesiology.csl (JabRef#5002) git-subtree-dir: src/main/resources/csl-styles git-subtree-split: 26265bf
Fixes #4958
In my opinion this is an ugly hack but still the only option without violating our architecture.
Problem is that the autocompleter has an input binding which is triggered whenever setField in BibEntry is called, in this case part of the apply save actions.
On autosave we have a Background thread in the BackupoManager which executes the saveDatabaseAction which itself executes the save actions.
Exectuted in a background thread:
jabref/src/main/java/org/jabref/logic/autosaveandbackup/BackupManager.java
Lines 120 to 124 in e83680f
jabref/src/main/java/org/jabref/logic/exporter/BibDatabaseWriter.java
Lines 170 to 177 in e83680f