JabRef version on 3.8.2
Steps to reproduce:
java -jar '/home/ph0boss/portablesoftlinux/Jabref/JabRef-3.8.2.jar'
13:43:22.015 [AWT-EventQueue-0] INFO net.sf.jabref.logic.importer.OpenDatabase - Opening: /home/ph0boss/Downloads/temp/arst.bib
13:43:22.104 [AWT-EventQueue-0] ERROR net.sf.jabref.FallbackExceptionHandler - Uncaught exception Occurred in Thread[AWT-EventQueue-0,6,main]
java.util.NoSuchElementException: No value present
at java.util.Optional.get(Optional.java:135) ~[?:1.8.0_121]
at net.sf.jabref.logic.importer.util.GroupsParser.importGroups(GroupsParser.java:51) ~[JabRef-3.8.2.jar:?]
at net.sf.jabref.logic.importer.util.MetaDataParser.parse(MetaDataParser.java:63) ~[JabRef-3.8.2.jar:?]
at net.sf.jabref.logic.importer.util.MetaDataParser.parse(MetaDataParser.java:33) ~[JabRef-3.8.2.jar:?]
at net.sf.jabref.logic.importer.fileformat.BibtexParser.parseFileContent(BibtexParser.java:218) ~[JabRef-3.8.2.jar:?]
at net.sf.jabref.logic.importer.fileformat.BibtexParser.parse(BibtexParser.java:150) ~[JabRef-3.8.2.jar:?]
at net.sf.jabref.logic.importer.fileformat.BibtexImporter.importDatabase(BibtexImporter.java:70) ~[JabRef-3.8.2.jar:?]
at net.sf.jabref.logic.importer.Importer.importDatabase(Importer.java:65) ~[JabRef-3.8.2.jar:?]
at net.sf.jabref.logic.importer.fileformat.BibtexImporter.importDatabase(BibtexImporter.java:62) ~[JabRef-3.8.2.jar:?]
at net.sf.jabref.logic.importer.OpenDatabase.loadDatabase(OpenDatabase.java:64) ~[JabRef-3.8.2.jar:?]
at net.sf.jabref.logic.importer.OpenDatabase.loadDatabase(OpenDatabase.java:43) ~[JabRef-3.8.2.jar:?]
at net.sf.jabref.JabRefGUI.openLastEditedDatabases(JabRefGUI.java:210) ~[JabRef-3.8.2.jar:?]
at net.sf.jabref.JabRefGUI.openWindow(JabRefGUI.java:94) ~[JabRef-3.8.2.jar:?]
at net.sf.jabref.JabRefGUI.
at net.sf.jabref.JabRefMain.lambda$start$1(JabRefMain.java:128) ~[JabRef-3.8.2.jar:?]
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) ~[?:1.8.0_121]
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756) ~[?:1.8.0_121]
at java.awt.EventQueue.access$500(EventQueue.java:97) ~[?:1.8.0_121]
at java.awt.EventQueue$3.run(EventQueue.java:709) ~[?:1.8.0_121]
at java.awt.EventQueue$3.run(EventQueue.java:703) ~[?:1.8.0_121]
at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_121]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) ~[?:1.8.0_121]
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726) ~[?:1.8.0_121]
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) [?:1.8.0_121]
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) [?:1.8.0_121]
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) [?:1.8.0_121]
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) [?:1.8.0_121]
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) [?:1.8.0_121]
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) [?:1.8.0_121]
Example of a broken database
% Encoding: UTF-8
@Comment{jabref-meta: databaseType:bibtex;}
@Comment{jabref-meta: groupstree:
0 AllEntriesGroup:;
1 ExplicitGroup:12\;0\;;
2 ExplicitGroup:1\;0\;;
2 ExplicitGroup:2\;0\;;
2 ExplicitGroup:3\;0\;;
2 ExplicitGroup:4\;0\;;
2 ExplicitGroup:5\;0\;;
2 ExplicitGroup:6\;0\;;
2 ExplicitGroup:7\;0\;;
2 ExplicitGroup:8\;0\;;
2 ExplicitGroup:9\;0\;;
2 ExplicitGroup:10\;0\;;
2 ExplicitGroup:11\;0\;;
2 ExplicitGroup:12\;0\;;
2 ExplicitGroup:13\;0\;;
2 ExplicitGroup:14\;0\;;
2 ExplicitGroup:15\;0\;;
0 ExplicitGroup:16\;0\;;
2 ExplicitGroup:17\;0\;;
}
Hi, yes I can reproduce your problem. I will try to look into that
I fixed the import/opening, but your database has to be fixed as well: You are apparently using the old? groups format without the slashes.
So I took your group code and manually converted it to new structure:
The hierarchy is the same.
@Comment{jabref-meta: groupstree:
0 AllEntriesGroup:;
1 ExplicitGroup:12\;0\;;
2 ExplicitGroup:1\;0\;;
2 ExplicitGroup:2\;0\;;
2 ExplicitGroup:3\;0\;;
2 ExplicitGroup:4\;0\;;
2 ExplicitGroup:5\;0\;;
2 ExplicitGroup:6\;0\;;
2 ExplicitGroup:7\;0\;;
2 ExplicitGroup:8\;0\;;
2 ExplicitGroup:9\;0\;;
2 ExplicitGroup:10\;0\;;
2 ExplicitGroup:11\;0\;;
2 ExplicitGroup:12\;0\;;
2 ExplicitGroup:13\;0\;;
2 ExplicitGroup:14\;0\;;
2 ExplicitGroup:15\;0\;;
0 ExplicitGroup:16\;0\;;
2 ExplicitGroup:17\;0\;;
}
You can try this out in a couple of minutes with the dev version from here:
https://builds.jabref.org/subGroups/
As we are currently switching to a new groups interface, the fully functionality it not yet implemented.
Thanks for your help! The database published here was just for example. My actual database was too big to be sent here and it is using slashes. I solved the problem by simply deleting the subgroup that was causing the problem and added it in GUI as a subgroup in another group.
As for the dev version, it didn't start. Console output:
Error: Could not find or load main class org.jabref.JabRefMain
I'm using fedora 25, openjdk version "1.8.0_121" if it helps
Okay, glad that it worked out now for you!.
As the dev version is using the new GUI technology JavaFX, you may need to install openjfx which provides the additional gui libraries.
Alternative you could (we recommend it) install the oracle java 8 jdk/jre.
That worked well as far as I tried. At least adding and removing the 16th entry went smoothly. Thanks for fixing!
Fixed with #2611