Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Some cleanups to initialize empty MetaData at fewer positions #1696

Merged
merged 1 commit into from
Aug 8, 2016

Conversation

oscargus
Copy link
Contributor

@oscargus oscargus commented Aug 8, 2016

Fewer initialization of empty MetaData to simplify when moving to model.

@oscargus oscargus added status: ready-for-review Pull Requests that are ready to be reviewed by the maintainers dev: code-quality Issues related to code or architecture decisions architecture labels Aug 8, 2016
@tobiasdiez tobiasdiez merged commit 5faf17c into JabRef:master Aug 8, 2016
@oscargus oscargus deleted the lessmetadata branch August 8, 2016 18:43
@Siedlerchr
Copy link
Member

@oscargus I get an NPE when starting JabRef:

Exception in thread "AWT-EventQueue-0" java.lang.ExceptionInInitializerError
    at net.sf.jabref.JabRefMain.start(JabRefMain.java:70)
    at net.sf.jabref.JabRefMain.lambda$0(JabRefMain.java:52)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$500(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.NullPointerException
    at net.sf.jabref.preferences.JabRefPreferences.getBooleanDefault(JabRefPreferences.java:986)
    at net.sf.jabref.preferences.JabRefPreferences.getBoolean(JabRefPreferences.java:978)
    at net.sf.jabref.model.entry.InternalBibtexFields.<clinit>(InternalBibtexFields.java:72)
    ... 16 more

@Siedlerchr
Copy link
Member

Interesting. Now after a second run it seems to work correct...

@oscargus
Copy link
Contributor Author

oscargus commented Aug 8, 2016

Strange. I do not have any problems starting. Looking at this PR, I strongly doubt that it affects anything since the new MetaData() is simply moved in two places, none which should be active during startup...

@oscargus
Copy link
Contributor Author

oscargus commented Aug 8, 2016

Your error seems to relate to defaults in JabRefPreferences not being initialized when trying to access SpecialFieldsUtils.PREF_SERIALIZESPECIALFIELDS. I guess that is the risk of the static initializer in InternalBibtexFields, that other things may not have initialized yet. We should fix it so that it does not have a static initializer and gets the required preferences injected on startup from JabRefMain. Relates to JabRef#150

Siedlerchr added a commit to Siedlerchr/jabref that referenced this pull request Aug 9, 2016
* master: (22 commits)
  Do not cite entries without a key in OpenOffice/LibreOffice (JabRef#1682) (JabRef#1683)
  Got rid of unused preferences (JabRef#1672)
  Move labelpattern (JabRef#1626)
  Implementation of shared database support (full system). (JabRef#1451)
  Removed bst from architecture tests JabRef#1699
  Update PULL_REQUEST_TEMPLATE.md
  French localization: Menu: Translation of an empty string
  French localization: Jabref_fr: empty strings translated
  Updated string similarity version (JabRef#1698)
  Minify description of release process
  Announce switch from GPL to MIT in CONTRIBUTING.md and README.md
  Some cleanups to initialize empty MetaData at fewer positions (JabRef#1696)
  Automatic group names are converted from LaTeX to Unicode (JabRef#1684)
  Update ISSUE_TEMPLATE.md (JabRef#1686)
  Removed (false) NPE issue reported by FindBugs
  More Swedish translations (JabRef#1691)
  Updated wiremock version (JabRef#1690)
  Some minor code cleanups (JabRef#1689)
  Removed dependencies of Globals.prefs in some tests (JabRef#1688)
  Lookup BibEntry from ISBN and merge information (JabRef#1621)
  ...

# Conflicts:
#	src/main/java/net/sf/jabref/gui/BasePanel.java
#	src/main/java/net/sf/jabref/importer/ImportMenuItem.java
#	src/main/resources/l10n/JabRef_da.properties
#	src/main/resources/l10n/JabRef_de.properties
#	src/main/resources/l10n/JabRef_en.properties
#	src/main/resources/l10n/JabRef_es.properties
#	src/main/resources/l10n/JabRef_fa.properties
#	src/main/resources/l10n/JabRef_fr.properties
#	src/main/resources/l10n/JabRef_in.properties
#	src/main/resources/l10n/JabRef_it.properties
#	src/main/resources/l10n/JabRef_ja.properties
#	src/main/resources/l10n/JabRef_nl.properties
#	src/main/resources/l10n/JabRef_no.properties
#	src/main/resources/l10n/JabRef_pt_BR.properties
#	src/main/resources/l10n/JabRef_ru.properties
#	src/main/resources/l10n/JabRef_sv.properties
#	src/main/resources/l10n/JabRef_tr.properties
#	src/main/resources/l10n/JabRef_vi.properties
#	src/main/resources/l10n/JabRef_zh.properties
ayanai1 pushed a commit to ayanai1/jabref that referenced this pull request Sep 5, 2016
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
dev: code-quality Issues related to code or architecture decisions status: ready-for-review Pull Requests that are ready to be reviewed by the maintainers
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants