Error While Importing the project into eclipse


(Aman Kapoor) #1

Hi Jabref Team ,

I am new to JabRef development , I am trying to build jabref from the source , but I am getting errors for imports due to which I am not able o build the project. Kindly Help to take this forward. .

I am getting issues in the below files

File :org.jabref.logic.importer.fileformat
Import : org.jabref.logic.importer.fileformat.medline
File :org.jabref.logic.importer.fileformat
import org.jabref.logic.importer.fileformat.mods.AbstractDefinition(and all the other mods Import)
File:org.jabref.logic.importer.fileformat.mods.AbstractDefinition
Issue is at Line 86 :List entries = file.getEntry();

File :org.jabref.logic.exporter
org.jabref.logic.importer.fileformat.bibtexml
File : org.jabref.logic.exporter
import org.jabref.logic.importer.fileformat.mods.AbstractDefinition(and all the other mods Import)

I followed the steps t build jabref from sources from “https://github.com/JabRef/jabref/wiki”.
I have cloned the project from GIThub and followed the instructions to build the same. I checked , if there was some problem with the cloning , but these files are not present in master branch as well.

Kindly Help for the same.

Thanks and regards


(Christoph) #2

Hi,

first of all, thanks for your interest in JabRef Development!
It should be sufficient if you once run
gradlew run in the project folder, which builds and copies some additionall xml resources which only need to be build once.

Afterwards it is sufficient to run gradlew eclipse , it will configure the project and you can start developing.

If you enconter further problems or encounter other issues, please report them here or at github.

Regards
Christoph


(Aman Kapoor) #3

Hi Christof ,

After running the gradlew run , following lines are diplayed

And the process does not end. Kindly suggest if this is the expected
functionality for the build process and I have to kill the process manually.

Thanks and regards
Aman Kapoor


(Christoph) #4

Hi,

at this point JabRef should normally start and display. It might be that the window is in the background somewhere.

If you now want to develop in Eclipse it’s only necessary to run gradlew eclipse
Then you can start the JabRef Main in Eclipse


(Aman Kapoor) #5

Hi Chritstof .

First of all, thanks for proactive replies.

Yes Christof , it started after that and I could import the project in
eclipse , after which there were no build-path or import errors errors.

Moving forward , Christof. I have a basic knowledge of , what is the domain
that jabref covers and how to use it.
For development purposes ,please assign me some issues witch can be taken
up at beginner level.That will really be helpful.

Thanks and regards
Aman Kapoor


(Christoph) #6

That’s good news! :sunglasses:

I can’t assign you to any github issue. You can chose one yourself. Have a look at the ones marked with “good first issue”. Good first issues
Just look and see which one sounds good to you. If you then have further questions to a specific issue, just ask there.

To get a general idea where which kind of code is located (e.g. model/logic/gui), have a look at our high level code documentation:
High Level Documentation

Happy coding! :computer:


(Aman Kapoor) #7

Hi Christof ,

Thank you Christof for the motivating mail ad direction for witch issues
can be picked.

I would like to work on the below issue

As it is marked as an enhancement to the existing product , and since I am
new to the development , this seems to be an okay requirement to handle.

This is what I have understood for the requirement:

Currently in Jabref , if jabref is closed(or any other crash happens)
without saving the current bib file , it creates a backup of the file with
.bak or .sav file before closing it. Every time it loads a file from the
bib database at startup or open action , It checks for the .bak or .sav
files and displays the message as mentioned in the issue. I was able to
simulate the functionality and to handle the same, I figured which part of
code is checking for the backups , I found the below code in

Files:
JabRefGUi
OpenDatabaseAction

Code:

  • if (BackupManager.checkForBackupFile(fileToLoad)) {
    BackupUIManager.showRestoreBackupDialog(frame, fileToLoad); }*

We have to plugin the code here for the same for the requirement.

Kindly correct me if I am wrong somewhere in understanding the requirement .

I also did some searching, for which libraries can be used to to compute
the difference in the text files ,
I found the below library

https://github.com/dnaumenko/java-diff-utils.

This seems to be an opensource library , which can be used for the
difference of the files. (Please do suggest if there is any suh part of
code which is already present in Jabref or any other library that can
beused.)

Kindly suggest if I am on the right track and if I could continue working
on the same Moving forward I will be working on this library and try to
integrate with jabref and see what more is required.

Thanks and regards
Aman Kapoor


(Tobias Diez) #8

Yes you are right, BackupUIManager is the right place to for the changes. While going in the right direction, implementing a full diff display is probably a overkill for this issue. We normally mark issues with “good first issue” if they are relatively easy to fix and only require a few lines of code (so that newcomers can get familiar with the code base and still provide valuable enhancements). In this case at hand, I think, simply giving a bit more details about the file and its backup (like date of change, size) are more then enough. Something along the lines of the Windows “do you really want to replace the file” dialog is more then sufficient. Fortunately, the ControlsFX library already contains a template for such dialogs.

Ps: the easiest way to provoke the display of this dialog is to open the file in two instance of JabRef (you need to disable the single instance mode under preferences > advanced for this to work) or create the .bak / .sav file by hand.
windows dialog