Merge tag 'upstream/2.11_beta3+ds'
authorgregor herrmann <gregoa@debian.org>
Thu, 9 Jul 2015 16:53:52 +0000 (18:53 +0200)
committergregor herrmann <gregoa@debian.org>
Thu, 9 Jul 2015 16:53:52 +0000 (18:53 +0200)
Upstream version 2.11~beta3+ds

27 files changed:
debian/README.Debian [new file with mode: 0644]
debian/changelog [new file with mode: 0644]
debian/clean [new file with mode: 0644]
debian/compat [new file with mode: 0644]
debian/control [new file with mode: 0644]
debian/copyright [new file with mode: 0644]
debian/jabref-wrapper [new file with mode: 0644]
debian/jabref.1 [new file with mode: 0644]
debian/jabref.bug-presubj [new file with mode: 0644]
debian/jabref.desktop [new file with mode: 0644]
debian/jabref.dirs [new file with mode: 0644]
debian/jabref.docs [new file with mode: 0644]
debian/jabref.install [new file with mode: 0644]
debian/jabref.links [new file with mode: 0644]
debian/jabref.manpages [new file with mode: 0644]
debian/jabref.menu [new file with mode: 0644]
debian/jabref.mime [new file with mode: 0644]
debian/jabref.sharedmimeinfo [new file with mode: 0644]
debian/patches/debian_libs.patch [new file with mode: 0644]
debian/patches/generated_JabRefPlugin.java.patch [new file with mode: 0644]
debian/patches/mrDlib_jayatana.patch [new file with mode: 0644]
debian/patches/series [new file with mode: 0644]
debian/repack.local [new file with mode: 0644]
debian/repack.stub [new file with mode: 0755]
debian/rules [new file with mode: 0755]
debian/source/format [new file with mode: 0644]
debian/watch [new file with mode: 0644]

diff --git a/debian/README.Debian b/debian/README.Debian
new file mode 100644 (file)
index 0000000..4d979d5
--- /dev/null
@@ -0,0 +1,15 @@
+JabRef for Debian
+-----------------
+
+Please note that JabRef needs OpenJDK (or Sun Java 6).
+
+Starting with version 2.2-01-4 /usr/bin/jabref should find and use your
+installed OpenJDK or Sun Java virtual machine.
+
+In case it doesn't find any of them it falls back to using another JVM it
+finds on your system.
+
+If you want to override this selection mechanism start JabRef with
+       JAVA_HOME=/path/to/your/JVM jabref
+
+ -- gregor herrmann <gregoa@debian.org>  Fri, 21 Nov 2008 21:27:10 +0100
diff --git a/debian/changelog b/debian/changelog
new file mode 100644 (file)
index 0000000..d686791
--- /dev/null
@@ -0,0 +1,755 @@
+jabref (2.11~beta2+ds-1) UNRELEASED; urgency=medium
+
+  * New upstream release candidates 2.11b, 2.11b2.
+  * debian/rules: drop override_dh_installchangelogs.
+    CHANGELOG is now in the top-level directory.
+  * Update years of packaging copyright.
+  * Update upstream copyright notices.
+    Some files were (re)moved.
+  * Drop fix-headless-bibtex-output.diff, refresh other patches.
+  * First new (build) dependencies added: antlr3-runtime, jna.
+  * Adjust some paths and filenames in debian/.
+
+ -- gregor herrmann <gregoa@debian.org>  Wed, 20 May 2015 17:32:49 +0200
+
+jabref (2.10+ds-3) unstable; urgency=medium
+
+  [ tony mancill ]
+  * add StartupWMClass to jabref.desktop
+    This should prevent JabRef as showing up as 2 icons on Elementary (and
+    otherwise have no adverse effect).
+    LP: #1380318
+  * depend on default-jre (at least Java 6)
+    This doesn't really address #711842, but it will prevent the installation
+    of openjdk-7 when openjdk-8 becomes the default.
+  * get java-wrapper search for "java6"
+    This expands the list of runtimes matched to include the oracle runtimes
+    and openjdk8.
+
+  [ gregor herrmann ]
+  * debian/copyright: adjust paths and drop information about
+    removed files.
+  * Declare compliance with Debian Policy 3.9.6.
+
+ -- gregor herrmann <gregoa@debian.org>  Wed, 15 Oct 2014 18:13:52 +0200
+
+jabref (2.10+ds-2) unstable; urgency=medium
+
+  * Add patch to fix headless BibTeX output.
+    Thanks to Vincent Fourmond for the bug report and the patch.
+    (Closes: #723100)
+
+ -- gregor herrmann <gregoa@debian.org>  Wed, 07 May 2014 22:05:40 +0200
+
+jabref (2.10+ds-1) unstable; urgency=medium
+
+  * New upstream release.
+  * debian/copyright: update years of upstream copyright.
+  * Refresh mrDlib_jayatana.patch.
+  * Drop options_preferences_file.patch, fixed upstream.
+  * debian/copyright: add info about another third-party file.
+  * Update name of .jar in debian/jabref.{install,links}.
+
+ -- gregor herrmann <gregoa@debian.org>  Wed, 12 Mar 2014 19:01:42 +0100
+
+jabref (2.10~beta3+ds-1) unstable; urgency=medium
+
+  * New upstream release.
+  * Update years of packaging copyright.
+
+ -- gregor herrmann <gregoa@debian.org>  Thu, 13 Feb 2014 17:21:36 +0100
+
+jabref (2.10~beta2+ds-3) unstable; urgency=medium
+
+  * Update jabref(1) manpage which was out of sync with the -h output.
+    Thanks to Martin Weis for the bug report and the patch. (LP: #1271951)
+  * Declare compliance with Debian Policy 3.9.5.
+
+ -- gregor herrmann <gregoa@debian.org>  Thu, 23 Jan 2014 22:03:16 +0100
+
+jabref (2.10~beta2+ds-2) unstable; urgency=low
+
+  * Add patch to swap labels for checkboxes in Options → Preferences →
+    File. Thanks to Vincent Fourmond for the bug report. (Closes: #722427)
+
+ -- gregor herrmann <gregoa@debian.org>  Wed, 11 Sep 2013 20:12:39 +0200
+
+jabref (2.10~beta2+ds-1) unstable; urgency=low
+
+  * New upstream release.
+  * Drop jcombobox-parameter.patch, merged upstream.
+  * Refresh debian_libs.patch (offset).
+  * Update filenames in debian/jabref.{install,links}.
+  * debian/copyright: add information about third-party file.
+  * Extend debian/jabref.bug-presubj a bit.
+
+ -- gregor herrmann <gregoa@debian.org>  Fri, 21 Jun 2013 18:52:15 +0200
+
+jabref (2.10~beta1+ds-2) unstable; urgency=low
+
+  * Upload to unstable.
+  * Improve .desktop file. Thanks to lintian and desktop-file-validate.
+
+ -- gregor herrmann <gregoa@debian.org>  Sun, 05 May 2013 21:20:50 +0200
+
+jabref (2.10~beta1+ds-1) experimental; urgency=low
+
+  * New upstream release.
+  * Refresh existing patches.
+  * Add a new patch to add back a removed file.
+  * Add a new patch to fix JComboBox errors.
+  * Update filenames in debian/jabref.{install,links}.
+  * Repacking framework: also remove the buildlib, gradle, osx directories.
+  * debian/{rules,control}: activate unit tests.
+  * Update debian/repack.stub.
+  * debian/copyright:
+    - add info about debian/repack.stub
+    - update years, add info about new files
+    - update years of packaging copyright
+  * Install original JabRef icon file, and use it in the .desktop file.
+    (LP: #1155559)
+
+ -- gregor herrmann <gregoa@debian.org>  Sat, 30 Mar 2013 18:14:19 +0100
+
+jabref (2.9+r+ds-1) experimental; urgency=low
+
+  * New upstream release:
+    In fact, this is now the 2.9 release, the version from last week was a
+    pre-release that SourceForge shouldn't have shown. The only changes are in
+    documentation and internationalization.
+  * debian/copyright: add information about mrDlib_jayatana.patch.
+
+ -- gregor herrmann <gregoa@debian.org>  Mon, 17 Dec 2012 20:25:13 +0100
+
+jabref (2.9+ds-1) experimental; urgency=low
+
+  * New upstream release.
+  * Update filenames in debian/jabref.{install,links}.
+
+ -- gregor herrmann <gregoa@debian.org>  Fri, 14 Dec 2012 21:06:39 +0100
+
+jabref (2.9~beta2+ds-1) experimental; urgency=low
+
+  * New upstream release.
+    (Closes: #644530) (LP: #884016)
+  * Update filenames in debian/jabref.{install,links}.
+  * debian/control:
+    - Update dependency on JVM to "openjdk-7-jre | java6-runtime". Using
+      default-jre is probably no good idea, since this installs gcj-jre on
+      several architectures. Update wrapper script as well.
+      Thanks to Torquil Macdonald Sørensen for the bug report.
+      (Closes: #689253)
+    - Add new build dependencies / versions.
+      Update wrapper script accordingly.
+    - Remove versions from (build) dependencies that are already satisfied in
+      stable.
+    - Bump Standards-Version to 3.9.4 (no changes).
+    - Create a jabref-plugin-oo transitional dummy package.
+      The former LibreOffice plugin is now part of JabRef proper.
+  * debian/patches:
+    - Refresh and rename patch debian_libs.patch.
+    - New patch: disable mrDlib and ayatana features until we have all
+      dependencies in Debian. Thanks to Oliver Kopp (upstream) for providing a
+      Debian branch.
+    - Remove other patches, applied upstream or obsolete.
+    - Remove debian/README.source which referred to a removed patch.
+  * debian/copyright:
+    - Use Copyright Format 1.0.
+    - Update years of upstream and packaging copyright.
+    - Add new third-party copyright holders.
+
+ -- gregor herrmann <gregoa@debian.org>  Mon, 26 Nov 2012 21:06:14 +0100
+
+jabref (2.7~beta1+ds-6) unstable; urgency=low
+
+  * Update Vcs-* headers.
+  * Add patch 09_looks2.5.patch to build against libjgoodies-looks-java >=
+    2.5.0.
+  * Drop patch 01_free_javac.patch, not needed anymore. Make (build)
+    dependency on libjgoodies-looks-java versioned.
+  * Switch to "3.0 (quilt)" source format. Remove quilt framework, update
+    debian/README.source.
+  * Drop get-orig-source target, uscan and git-import-orig work fine.
+
+ -- gregor herrmann <gregoa@debian.org>  Fri, 10 Feb 2012 21:37:59 +0100
+
+jabref (2.7~beta1+ds-5) unstable; urgency=low
+
+  * New patch 08_doubleextensions.patch, kindly backported and provided by
+    upstream: improve handling of linked files with double extensions: file
+    types with a double extension are new recognized automatically when a new
+    link is added manually, or when a link is added automatically and
+    clicked-upon once, after defining the file type in the options
+    (closes: #626582).
+  * Bump debhelper compatibility level to 8.
+  * Set Standards-Version to 3.9.2 (no changes).
+  * Change order of arguments for dh in debian/rules.
+
+ -- gregor herrmann <gregoa@debian.org>  Fri, 01 Jul 2011 03:08:59 +0200
+
+jabref (2.7~beta1+ds-4) unstable; urgency=low
+
+  [ tony mancill ]
+  * Add patch to build against libpdfbox-1.5.0+dfsg.
+
+  [ gregor herrmann ]
+  * Remove version from java-wrappers dependency, already satisfied in
+    oldstable.
+  * debian/copyright: update years of packaging copyright.
+
+ -- gregor herrmann <gregoa@debian.org>  Thu, 31 Mar 2011 17:15:22 +0200
+
+jabref (2.7~beta1+ds-3) unstable; urgency=low
+
+  * Edit jabref wrapper script to resolve libjgoodies-common-java jar.
+    Add libjgoodies-common-java to Depends.  (Closes: #614506)
+  * Change "looks" in wrapper script to "jgoodies-looks" 
+
+ -- tony mancill <tmancill@debian.org>  Mon, 21 Feb 2011 20:04:55 -0800
+
+jabref (2.7~beta1+ds-2) unstable; urgency=low
+
+  * Upload to unstable.
+
+ -- gregor herrmann <gregoa@debian.org>  Mon, 07 Feb 2011 18:45:19 +0100
+
+jabref (2.7~beta1+ds-1) experimental; urgency=low
+
+  * New upstream release.
+  * debian/control: uniform spelling of BibTex; thanks to Erik Esterer for the
+    bug report and patch (closes: #596946).
+  * Refresh patches.
+  * Update name of jar file in debian/jabref.{install,links}.
+  * Update debian/copyright (year of upstream copyright, formatting).
+
+ -- gregor herrmann <gregoa@debian.org>  Tue, 18 Jan 2011 18:42:33 +0100
+
+jabref (2.6+ds-4) unstable; urgency=low
+
+  [ gregor herrmann ]
+  * 02_libs.patch: add antlr3-runtime.jar to classpath.
+  * Make build and runtime dependency on antlr3 versioned.
+  * Set Standards-Version to 3.9.1 (no changes).
+
+  [ tony mancill ]
+  * delete 05_antlr.patch 
+  * add 05_antlrv32.patch: include new BstParser/Lexer classes generated
+    by antlr 3.2.  (Closes: #591124)
+  * Update README.source with information regarding regeneration of 
+    BstParser and BstLexer classes.
+
+ -- tony mancill <tmancill@debian.org>  Tue, 03 Aug 2010 19:41:44 -0700
+
+jabref (2.6+ds-3) unstable; urgency=low
+
+  * Improve wrapper script to avoid unnecessary warnings; thanks to Martin
+    Lutz for the bug report and to Onkar Shinde for the instructions
+    (closes: #586781).
+
+ -- gregor herrmann <gregoa@debian.org>  Tue, 22 Jun 2010 20:27:14 +0200
+
+jabref (2.6+ds-2) unstable; urgency=low
+
+  * debian/control: add "Recommends: xdg-utils"; thanks to Vincent Fourmond
+    for the bug report (closes: #579346). Change xpdf to xpdf-reader in
+    Suggests.
+
+ -- gregor herrmann <gregoa@debian.org>  Tue, 27 Apr 2010 16:49:34 +0200
+
+jabref (2.6+ds-1) unstable; urgency=low
+
+  * New upstream release.
+  * Adapt name of jar file in debian/jabref.{install,links}.
+  * Remove patch 03_external_apps.patch, refresh patches 02_libs.patch and
+    06_BibtexEntry.patch.
+  * Add a debian/source/format file.
+
+ -- gregor herrmann <gregoa@debian.org>  Thu, 15 Apr 2010 20:03:46 +0200
+
+jabref (2.6~beta3+ds-1) unstable; urgency=low
+
+  * New upstream release:
+    - debian/repack.local: don't remove the three "offending" files,
+      two were removed upstream, the third was re-licensed
+    - adjust debian/copyright accordingly
+    - change version suffix to +ds since we are not repackaging for license
+      issues anymore
+    - remove patches 07_PreviewPanel.patch and 08_HighlightFilter.patch,
+      applied upstream
+    - refresh patches 03_external_apps.patch and 06_BibtexEntry.patch
+    - adapt name of jar file in debian/jabref.{install,links}
+  * Add jabref-plugin-oo to Suggests:.
+
+ -- gregor herrmann <gregoa@debian.org>  Mon, 15 Mar 2010 21:42:25 +0100
+
+jabref (2.6~beta2+dfsg-2) unstable; urgency=low
+
+  * Add back sun-java6-jre as an alternative runtime dependency.
+  * debian/control: change build dependency from default-jdk-builddep to
+    default-jdk.
+  * Set Standards-Version to 3.8.4 (no changes).
+
+ -- gregor herrmann <gregoa@debian.org>  Mon, 08 Feb 2010 21:37:58 +0100
+
+jabref (2.6~beta2+dfsg-1) unstable; urgency=low
+
+  [ gregor herrmann ]
+  * Move from contrib to main since all build and runtime dependencies are in
+    main now (closes: #548180).
+  * Remove sun-java6-jre from Depends.
+  * Repack upstream tarball to remove the sourceless pre-compiled libraries
+    and some files without (free) licenses.
+  * Add HighlightFilter patch to work without HighlightFilter.java.
+  * debian/rules: override dh_auto_clean, `ant clean' fails with an unpatched
+    build.xml after removing lib/. Move ant from B-D to B-D-I since it's not
+    used in the clean target anymore.
+  * debian/clean: remove build.number and src/resource/build.properties, they
+    get re-generated on each build.
+  * Install reportbug presubj file via dh_bugfiles.
+  * debian/copyright: update formatting and list of third-party copyright
+    holders. 
+
+  [ tony mancill ]
+  * Add PreviewPanel patch to remove dependency on DocumentPrinter class.
+
+ -- gregor herrmann <gregoa@debian.org>  Mon, 18 Jan 2010 18:35:50 +0100
+
+jabref (2.6~beta2-1) unstable; urgency=low
+
+  * Remove alternative dependency on sun-java5-jre which was removed from the
+    archive. Also adjust README.Debian and /usr/bin/jabref.
+  * New upstream beta release:
+    - fixes "allow to disable (re)storing of current tab for entries"
+      (closes: #447767)
+    - thanks again to Philip Rinn for his help with the upgrade
+  * debian/copyright: add new developer.
+  * Refresh patches 01_free_javac.patch and 06_BibtexEntry.patch.
+  * Adjust debian/jabref.links and debian/jabref.install to new jar file.
+  * Simplify debian/jabref.dirs.
+  * Add a presubj fragment for reportbug.
+
+ -- gregor herrmann <gregoa@debian.org>  Tue, 01 Dec 2009 18:52:51 +0100
+
+jabref (2.5-1) unstable; urgency=low
+
+  * New upstream release (closes: #497897, LP: #301327). This version also
+    fixes the following Debian bugs:
+    - "field data lost when switching tabs without leaving field first"
+      (closes: #498926)
+    - "jumps back to previously edited entry when clicking title field"
+      (closes: #447772)
+    - "File type detection of downloaded files should use MIME type"
+      (closes: #448028)
+    - "autocompletion for crossref fields"
+      (closes: #481503)
+    - "text selection visual bug" (closes: #527323)
+    - "auto-completion in author field wrong" (closes: #442476)
+  * Add new build and runtime dependencies: libmysql-java,
+    libcommons-logging-java, libjpf-java, libjpfcodegen-java, velocity.
+  * Switch to debhelper 7; adjust debian/{compat,control,rules}.
+  * Rename a couple of files in debian/ to debian/jabref.foo for consistency.
+  * Adjust debian/jabref.links and debian/jabref.install to new jar file.
+  * Update /usr/bin/jabref to use the new libs.
+  * Update manpage.
+  * Update package/program description in debian/control and in jabref.1
+    according to the upstream README.
+  * Update debian/copyright.
+  * Patches:
+    - update 01_free_javac.patch, 02_libs.patch, 03_external_apps.patch,
+      05_antlr.patch
+    - remove 04_HONOR_DISPLAY_PROPERTIES.patch, not needed any more
+    - remove 06_forms_groups.patch, applied upstream
+    - add new 06_BibtexEntry.patch
+  * Set Standards-Version to 3.8.3.
+  * Thanks a lot to Philip Rinn for his great help in preparing this release,
+    especially with the patches, dependencies, and the wrapper script!
+
+ -- gregor herrmann <gregoa@debian.org>  Sun, 13 Sep 2009 22:01:22 +0200
+
+jabref (2.3.1-6) unstable; urgency=low
+
+  * debian/watch: back to the redirector at qa.debian.org.
+  * Use java-wrappers instead of the hand-crafted wrapper script; thanks to
+    Vincent Fourmond for the patch (closes: #506219).
+  * Update README.Debian: mention supported Java virtual machines and
+    JAVA_HOME (cf. LP: #258198).
+  * debian/rules: set JAVA_HOME=/usr/lib/jvm/default-java.
+
+ -- gregor herrmann <gregoa@debian.org>  Fri, 21 Nov 2008 21:46:28 +0100
+
+jabref (2.3.1-5) unstable; urgency=low
+
+  * Change runtime dependency from "sun-java6-jre | sun-java5-jre" to
+    "openjdk-6-jre | sun-java6-jre | sun-java5-jre" (closes: #383006).
+    [Jabref stays in contrib because it (build) depends on libspin-java and
+    libpdfbox-java which are in contrib because they build depend on packages
+    in contrib/non-free.]
+  * debian/copyright: wrap long line.
+
+ -- gregor herrmann <gregoa@debian.org>  Wed, 16 Jul 2008 22:24:25 +0200
+
+jabref (2.3.1-4) unstable; urgency=low
+
+  * Replace /usr/lib/jvm/java-7-icedtea with /usr/lib/jvm/java-6-openjdk in
+    wrapper script. Doesn't work on Debian yet but helps Ubuntu users (cf.
+    LP: #225450 and LP: #203636).
+  * debian/watch: use sourceforge URL directly instead of the redirector
+    at qa.debian.org.
+  * Switch patch system from dpatch to quilt.
+  * debian/rules: remove configure{,-stamp} targets.
+  * Set Standards-Version to 3.8.0; add debian/README.source to document the
+    patch system.
+  * Add patch 06_forms_groups.patch to fix an exception in the groups
+    interface; thanks to Monkey D. Luffy for the bug report and to Philipp
+    Spitzer for helping me to produce a patch (closes: #487481).
+
+ -- gregor herrmann <gregoa@debian.org>  Wed, 02 Jul 2008 20:07:03 +0200
+
+jabref (2.3.1-3) unstable; urgency=low
+
+  * Build against Debian libraries instead of pre-packaged ones
+    (closes: #389068):
+    - adapt and reactivate patch 02_libs.dpatch: use libraries in
+      /usr/share/java for building and don't include them in jabref.jar
+    - add needed jars to Classpath in the wrapper script
+    - add patch 05_antlr.dpatch: antlr3 in Debian is newer than the
+      pre-packaged jar
+    - add necessary packages to Build-Depends-Indep and Depends
+    These changes are either taken directly from Gerardo Curiel's patch or
+    based on them -- thanks a lot!
+  * debian/watch: add uversionmangle to cope with upstream b(eta) releases.
+  * Move wrapper script in source package to debian/jabref-wrapper and
+    install it from debian/rules.
+  * Remove debian docs and install upstream README directly from
+    debian/rules.
+  * debian/control:
+    - change my email address
+    - replace java-gcj-compat-dev with default-jdk-builddep in
+      Build-Depends-Indep
+
+ -- gregor herrmann <gregoa@debian.org>  Tue, 22 Apr 2008 21:33:33 +0200
+
+jabref (2.3.1-2) unstable; urgency=low
+
+  * Change pdfviewer to pdf-viewer in Suggests:.
+  * Set Standards-Version to 3.7.3 (no changes required).
+  * debian/rules: explicitly set JAVA_HOME.
+  * Only set JAVA to $JAVA_HOME/jre/bin/java if JAVA_HOME is not empty;
+    thanks to Michael Piefel for the hint.
+  * Set debhelper compatibility level to 6.
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Mon, 11 Feb 2008 17:00:15 +0100
+
+jabref (2.3.1-1) unstable; urgency=low
+
+  * New upstream release.
+  * Adapt referenced filename in debian/links and debian/install.
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Fri, 30 Nov 2007 14:28:00 +0100
+
+jabref (2.3-2) unstable; urgency=low
+
+  * Add /usr/lib/jvm/java-7-icedtea to wrapper script. Doesn't work on
+    Debian yet but helps Ubuntu users (TODO: add dependency on
+    icedtea-java7-jre (not yet in Debian)).
+  * Reformat wrapper script.
+  * debian/rules: re-arrange targets and their dependencies.
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Fri, 16 Nov 2007 18:38:18 +0100
+
+jabref (2.3-1) unstable; urgency=low
+
+  * New upstream release, closes a bunch of bugs reported in the Debian BTS:
+    - "bibtexkey auto-generation cannot deal with quotes" (closes: #448917).
+    - "File download via CGI adds QUERY_STRING to suggested filename"
+      (closes: #448027).
+    - "File download aborted on click of OK" (closes: #448060).
+    - "Improve directory/filename handling on downloading" (closes: #442475).
+    - "ctrl-g should cause record to be saved" (closes: #443078).
+    - "version 2.3 released" (closes: #450789).
+  * Change XS-Vcs-* fields to Vcs-*.
+  * Adapt referenced filename in debian/links and debian/install.
+  * Sync debian/copyright with output of Help/About and reference
+    /usr/share/common-licenses/GPL-2.
+  * Install changelog_highlights.txt as upstream changelog.
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Sun, 11 Nov 2007 01:58:27 +0100
+
+jabref (2.3~beta3-1) unstable; urgency=low
+
+  * New upstream release.
+  * Remove debian/manpages.
+  * Clean up debian/rules.
+  * Move upstream URL from the description to the new Homepage field.
+  * Use ant clean instead of manually removing the build directory in
+    debian/rules. Move ant from Build-Depends-Indep to Build-Depends.
+  * Update patch 03_external_apps.
+  * Remove patch 04_logger, not needed anymore.
+  * Create new patch 04_HONOR_DISPLAY_PROPERTIES.dpatch.
+  * Adapt referenced filename in debian/links and debian/install.
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Tue, 09 Oct 2007 19:12:09 +0200
+
+jabref (2.3~beta2-1) unstable; urgency=low
+
+  * New upstream release.
+  * Add liblog4j1.2-java to build dependencies (and a new patch 04_logger to
+    be able to use it).
+  * Fix Categories entry in desktop file and remove Encoding.
+  * Sync debian/copyright with output of Help/About.
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Wed, 29 Aug 2007 23:38:22 +0200
+
+jabref (2.3~beta1-2) unstable; urgency=low
+
+  * Change section in menu file to "Applications/Data Management" due to
+    the new Menu Policy starting with the upload of menu 2.1.35.
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Wed, 04 Jul 2007 19:10:47 +0200
+
+jabref (2.3~beta1-1) unstable; urgency=low
+
+  * New upstream release.
+  * Adapt patch 03_external_apps.
+  * Add suggests to ps- and pdfviewers.
+  * Adapt manpage to output of jabref --help.
+  * Sync debian/copyright with output of Help/About.
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Sat, 30 Jun 2007 16:45:44 +0200
+
+jabref (2.2-01-6) unstable; urgency=low
+
+  * Add patch 03_external_apps to change the default settings for some
+    external applications; thanks to Cédric Augonnet (closes: #421227).
+  * Convert debian/changelog to UTF-8 (again).
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Fri, 27 Apr 2007 15:07:18 +0200
+
+jabref (2.2-01-5) unstable; urgency=low
+
+  * Exec the Java interpreter in /usr/bin/jabref; thanks to Tobias Richter
+    (closes: #415019).
+  * Adapt README.Debian to the new wrapper script.
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Fri, 16 Mar 2007 02:45:21 +0100
+
+jabref (2.2-01-4) unstable; urgency=low
+
+  * Change wrapper script /usr/bin/jabref to explicitly use the Sun Java
+    5 or 6 virtual machine (closes: #383019).
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Mon, 12 Mar 2007 20:01:27 +0100
+
+jabref (2.2-01-3) unstable; urgency=low
+
+  * Add call to dh_desktop to debian/rules.
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Sun, 25 Feb 2007 15:56:32 +0100
+
+jabref (2.2-01-2) unstable; urgency=low
+
+  * Add mime support.
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Mon,  5 Feb 2007 16:39:03 +0100
+
+jabref (2.2-01-1) unstable; urgency=low
+
+  * New upstream release.
+  * Change wrapper script, as "-v" acts as expcted; cf. #378189 for details
+    (also closes: #408081).
+  * Remove debian/source.lintian-overrides from source package, there are no longer
+    cvs remnants in the upstream tarball.
+  * Add .desktop file for easier integration into desktop environments.
+  * Add symlink /usr/share/java/JabRef-2.2.jar -> /usr/share/java/jabref.jar.
+  * Update debian/copright to reflect the changes as shown in the About Box.
+  * Add sun-java6-jre to Depends:, thanks to Gerhard Riener for the hint.
+  * Remove obsolete j2re1.5 | sun-j2sdk1.5 from Depends:.
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Sat,  3 Feb 2007 15:48:11 +0100
+
+jabref (2.2~b2-1) unstable; urgency=low
+
+  * New upstream release:
+    - undistributable fonts no longer included (closes: #393676);
+    - remove j2re1.4 from Depends, JabRef now needs Java 1.5;
+    - includes the patch to make Enter work in dialogs, therefore remove
+      patch 02_button;
+    - update patch 01_free_javac;
+    - update debian/copyright (new contributors);
+    - update debian/rules (icon file name changed).
+  * Fix typo in long description.
+  * Shorten call to ant and remove "-k" from dh_clean in debian/rules.
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Sun, 26 Nov 2006 22:28:46 +0100
+
+jabref (2.1-4) unstable; urgency=low
+
+  * Apply patch from Matthias Klose to enable building with a free java compiler -
+    thanks! (Cf. #383006)
+  * Change build dependencies accordingly.
+  * Apply patch from Morten Omholt Alver (upstream author) to enable 'enter' in
+    dialogs - thanks! (Closes: #387235)
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Mon, 25 Sep 2006 00:32:40 +0200
+
+jabref (2.1-3) unstable; urgency=low
+
+  * Change menu section to "Apps/Databases" and remove lintian override.
+    "Apps/Data Management" was premature, thanks to Frank Küster and 
+    Bill Allombert for pointing this out (cf. #386320).
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Mon, 11 Sep 2006 21:12:37 +0200
+
+jabref (2.1-2) unstable; urgency=low
+
+  * Change menu section to "Apps/Data Management", thanks to Frank Küster
+    (closes: #386320).
+  * Add lintian override for this new section.
+  * Convert changelog to UTF-8.
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Thu,  7 Sep 2006 16:42:27 +0200
+
+jabref (2.1-1) unstable; urgency=low
+
+  * New upstream release (closes: #382310, #379704).
+  * Change back wrapper script, as the behaviour of "-v" changed in the
+    new release (cf. #378189 for details).
+  * Menu icons now created from PNGs in upstream tarball, therefore add build
+    dependency on imagemagick.
+  * Clean up README.Debian.
+  * Update debian/copright to reflect the changes as shown in the About Box.
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Fri, 11 Aug 2006 12:09:45 +0200
+
+jabref (2.0.1+2.1b2-6) unstable; urgency=low
+
+  * Update menu icons, the new ones are kindly provided by Morten Omholt Alver
+    (upstream author) - thanks!
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Tue,  1 Aug 2006 22:31:16 +0200
+
+jabref (2.0.1+2.1b2-5) unstable; urgency=low
+
+  * Now really change debian/copyright.
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Mon, 31 Jul 2006 21:40:47 +0200
+
+jabref (2.0.1+2.1b2-4) unstable; urgency=low
+
+  * Add icon to menu entry, thanks to LI Daobing for the idea
+    (closes: #380604).
+  * Remove references to the libraries Commons Logging and Commons HTTP Client
+    from debian/copyright, as they are not included in the upstream tarball 
+    any more.
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Mon, 31 Jul 2006 16:37:47 +0200
+
+jabref (2.0.1+2.1b2-3) unstable; urgency=low
+
+  * Convert debian/copyright to UTF-8.
+  * Mention startup options in manpage, thanks to LI Daobing (closes: #378190).
+  * Change wrapper script to always pass "-n" if called with "-v" in order
+    to make jabref only print the version number and quit afterwards with
+    "-v". Thanks to LI Daobing (closes: #378189).
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Fri, 14 Jul 2006 13:23:58 +0200
+
+jabref (2.0.1+2.1b2-2) unstable; urgency=low
+
+  * Pass command line parameters to /usr/bin/jabref and add hint about Sun
+    Java and update-alternatives to README.Debian (closes: #377316).
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Sat,  8 Jul 2006 12:51:40 +0200
+
+jabref (2.0.1+2.1b2-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Tue,  4 Jul 2006 16:42:35 +0200
+
+jabref (2.0.1+2.1b-3) unstable; urgency=low
+
+  * Changed order of Build-Depend-Indep.
+  * Cleaned up debian/rules.
+  * Moved dh_ calls in debian/rules to binary-indep target.
+  * Add lintian override (upstream tarball has .cvsignore stuff).
+  * Added Tony Mancill to Uploaders (thanks for sponsoring!).
+  * Clarified debian/copyright and fixed typo (thanks to Tony Mancill).
+  * Updated debhelper compatibility level to 5.
+  * Cleaned up debian/watch.
+  * Added menu entry.
+  * Intial upload to the Debian archive (closes: #205392).
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Wed, 14 Jun 2006 17:51:38 +0200
+
+jabref (2.0.1+2.1b-2) unstable; urgency=low
+
+  * Change dependencies to include several versions of the Sun JRE/JDK.
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Tue, 30 May 2006 17:12:05 +0200
+
+jabref (2.0.1+2.1b-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Sat, 20 May 2006 17:06:49 +0200
+
+jabref (2.0.1-3) unstable; urgency=low
+
+  * Update to Standards-Version: 3.7.2 (no changes required).
+  * Change dependencies to new sun-java5-jre/jdk.
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Wed, 17 May 2006 17:48:52 +0200
+
+jabref (2.0.1-2) unstable; urgency=low
+
+  * Update to Standards-Version: 3.7.0 (no changes required).
+  * Moved debhelper from Build-Depends-Indep to Build-Depends 
+    in debian/control.
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Mon,  1 May 2006 14:44:02 +0200
+
+jabref (2.0.1-1) unstable; urgency=low
+
+  * New upstream release
+  * Set debhelper compatibility level to 5.
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Fri,  3 Feb 2006 21:18:29 +0100
+
+jabref (1.8.1-2) unstable; urgency=low
+
+  * Added homepage to debian/control.
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Sun, 25 Dec 2005 14:30:28 +0100
+
+jabref (1.8.1-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Fri,  7 Oct 2005 22:30:10 +0200
+
+jabref (1.8-4) unstable; urgency=low
+
+  * Fixed error in /usr/bin/jabref.
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Tue, 13 Sep 2005 18:44:57 +0200
+
+jabref (1.8-3) unstable; urgency=low
+
+  * Trimmed Depends: to j2re1.4.
+  * Added j2sdk1 to Build-Depends-Indep.
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Sun, 11 Sep 2005 01:24:05 +0200
+
+jabref (1.8-2) unstable; urgency=low
+
+  * Moved jabref.jar from /usr/share/java/jabref to ../
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Sat,  3 Sep 2005 02:45:23 +0200
+
+jabref (1.8-1) unstable; urgency=low
+
+  * Initial release Closes: #205392
+
+ -- gregor herrmann <gregor+debian@comodo.priv.at>  Thu,  1 Sep 2005 23:18:00 +0200
+
diff --git a/debian/clean b/debian/clean
new file mode 100644 (file)
index 0000000..14290d5
--- /dev/null
@@ -0,0 +1,2 @@
+build.number
+src/resource/build.properties
diff --git a/debian/compat b/debian/compat
new file mode 100644 (file)
index 0000000..45a4fb7
--- /dev/null
@@ -0,0 +1 @@
+8
diff --git a/debian/control b/debian/control
new file mode 100644 (file)
index 0000000..1367234
--- /dev/null
@@ -0,0 +1,86 @@
+Source: jabref
+Maintainer: gregor herrmann <gregoa@debian.org>
+Uploaders: tony mancill <tmancill@debian.org>
+Section: tex
+Priority: optional
+Build-Depends: debhelper (>= 8)
+Build-Depends-Indep: ant,
+                     antlr,
+                     antlr3,
+                     default-jdk,
+                     imagemagick,
+                     libcommons-logging-java,
+                     libglazedlists-java,
+                     libjempbox-java (>= 1:1.5.0),
+                     libjgoodies-common-java (>= 1.4.0),
+                     libjgoodies-forms-java (>= 1.6.0),
+                     libjgoodies-looks-java (>= 2.4.0),
+                     libjna-java,
+                     libjpf-java,
+                     libjpfcodegen-java,
+                     liblog4j1.2-java,
+                     libmicroba-java,
+                     libmysql-java,
+                     libpdfbox-java (>= 1:1.5.0),
+                     libpostgresql-jdbc-java,
+                     libreoffice-java-common (>= 1:3.5),
+                     libspin-java,
+                     junit,
+                     ure,
+                     velocity
+Standards-Version: 3.9.6
+Vcs-Browser: http://git.toastfreeware.priv.at/debian/jabref.git/
+Vcs-Git: git://git.toastfreeware.priv.at/debian/jabref.git
+Homepage: http://jabref.sourceforge.net/
+
+Package: jabref
+Architecture: all
+Depends: ${misc:Depends},
+         antlr,
+         antlr3,
+         default-jre (>= 2:1.6) | java6-runtime,
+         java-wrappers,
+         libcommons-logging-java,
+         libglazedlists-java,
+         libjempbox-java (>= 1:1.5.0),
+         libjgoodies-common-java (>= 1.4.0),
+         libjgoodies-forms-java (>= 1.6.0),
+         libjgoodies-looks-java (>= 2.4.0),
+         libjna-java,
+         libjpf-java,
+         libjpfcodegen-java,
+         libmicroba-java,
+         libmysql-java,
+         libpdfbox-java (>= 1:1.5.0),
+         libpostgresql-jdbc-java,
+         libspin-java,
+         velocity
+Recommends: xdg-utils,
+            libreoffice-java-common,
+            libreoffice-writer
+Suggests: gv | postscript-viewer,
+          xpdf-reader | pdf-viewer
+Breaks: jabref-plugin-oo (<< 2.9~beta1-1~)
+Description: graphical frontend to manage BibTeX databases
+ JabRef is a graphical Java application for editing BibTeX (.bib) databases.
+ JabRef lets you organize your entries into overlapping logical groups, and
+ with a single click limit your view to a single group or an intersection or
+ union of several groups. You can customize the entry information shown in the
+ main window, and sort by any of the standard BibTeX fields. JabRef can
+ autogenerate BibTeX keys for your entries. JabRef also lets you easily link
+ to PDF or web sources for your reference entries.
+ .
+ JabRef can import from and export to several formats, and you can customize
+ export filters. JabRef can be run as a command line application to convert
+ from any import format to any export format.
+
+Package: jabref-plugin-oo
+Architecture: all
+Section: oldlibs
+Depends: ${misc:Depends},
+         jabref (>= 2.9~beta1)
+Description: LibreOffice plugin for JabRef (transitional dummy package)
+ This is a transitional dummy package to upgrade to a newer jabref package,
+ which now includes the LibreOffice plugin.
+ .
+ It can safely be removed after upgrading jabref to at least 2.9~beta1.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644 (file)
index 0000000..ae4ba3b
--- /dev/null
@@ -0,0 +1,995 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: JabRef
+Upstream-Contact: Morten Alver, Nizar Batada, Oliver Kopp
+Source: http://jabref.sourceforge.net/
+Comment: The +ds version is created by removing lib/, buildlib/, gradle/, osx/:
+ contain sourceless pre-compiled libraries which are not used anyway
+
+Files: *
+Copyright: 2003-2015, Morten Alver <mortenalver@users.sourceforge.net>
+ 2003-2015, Nizar Batada <nbatada@users.sourceforge.net>
+ 2003-2015, Oliver Kopp <oliver.kopp@gmail.com>
+License: GPL-2+
+
+Files: htdocs-helper/generate-htdocs-help-from-jabref-src-help.pl
+Copyright: 2012, Kolja Brix
+ 2012, Oliver Kopp
+License: GPL-2
+
+Files: jabref.ebuild
+Copyright: 1999-2012 Gentoo Foundation
+License: GPL-2
+
+Files: src/main/resources/images/*
+Copyright: 2006-2007, Everaldo Coelho <everaldo@everaldo.com>
+License: LGPL-2.1
+Comment: The majority of icons are from the Crystal Clear icon set
+
+Files: src/main/tex/manuals/de/JabRef-UserManual_de.tex
+Copyright: 2005-2010, Dominik Waßenhoven
+License: CC-BY-SA-3.0
+
+Files: src/test/resources/net/sf/jabref/bst/abbrv.bst
+Copyright: 1985, unknown
+License: other
+ % BibTeX standard bibliography style `abbrv'
+         % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+         % Copyright (C) 1985, all rights reserved.
+         % Copying of this file is authorized only if either
+         % (1) you make absolutely no changes to your copy, including name, or
+         % (2) if you do make changes, you name it something other than
+         % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+         % This restriction helps ensure that all standard styles are identical.
+         % The file btxbst.doc has the documentation for this style.
+Comment: This is the standard abbrv.bst file as also included in
+ texlive-base.
+
+Files: src/resource/layout/tablerefsabsbib/tablerefsabsbib.begin.layout
+ src/resource/layout/tablerefs/tablerefs.begin.layout
+Files: src/main/resources/resource/layout/tablerefsabsbib/tablerefsabsbib.begin.layout
+ src/main/resources/resource/layout/tablerefs/tablerefs.begin.layout
+ src/main/resources/resource/layout/listrefs/listrefs.begin.layout
+Copyright: 2006-2011, Mark Schenk
+License: CC-BY-3.0
+
+Files: src/main/java/net/sf/jabref/export/layout/StringInt.java
+ src/main/java/net/sf/jabref/export/layout/WSITools.java
+ src/main/java/net/sf/jabref/export/layout/format/AuthorFirstFirst.java
+ src/main/java/net/sf/jabref/export/layout/format/CreateBibORDFAuthors.java
+ src/main/java/net/sf/jabref/export/layout/format/CreateDocBookAuthors.java
+ src/main/java/net/sf/jabref/export/layout/format/CreateDocBookEditors.java
+ src/main/java/net/sf/jabref/export/layout/format/GetOpenOfficeType.java
+ src/main/java/net/sf/jabref/export/layout/format/JournalAbbreviator.java
+ src/main/java/net/sf/jabref/export/layout/format/RemoveBrackets.java
+ src/main/java/net/sf/jabref/export/layout/format/RemoveBracketsAddComma.java
+ src/main/java/net/sf/jabref/export/layout/format/RemoveTilde.java
+ src/main/java/net/sf/jabref/export/layout/format/RemoveWhitespace.java
+ src/main/java/net/sf/jabref/export/layout/format/XMLChars.java
+Copyright: Dept. Computer Architecture, University of Tuebingen, Germany
+License: GPL-2
+
+Files: src/main/java/net/sf/jabref/KeyCollisionException.java
+Copyright: 2003, David Weitzman
+License: GPL-2+
+
+Files: src/main/java/net/sf/jabref/BibtexEntryType.java
+ src/main/java/net/sf/jabref/BibtexDatabase.java
+ src/main/java/net/sf/jabref/BibtexEntry.java
+Copyright: 2003, David Weitzman
+ 2003, Morten O. Alver
+License: GPL-2+
+
+Files: src/main/java/net/sf/jabref/imports/BibtexParser.java
+Copyright: 2003-2006, David Weitzman
+ 2003-2006, Nizar N. Batada
+ 2003-2006, Morten O. Alver
+ 2003-2006, Christopher Oezbek
+License: GPL-2+
+
+Files: src/main/java/net/sf/jabref/FieldTextMenu.java
+ src/main/java/net/sf/jabref/wizard/text/TagToMarkedTextStore.java
+ src/main/java/net/sf/jabref/wizard/text/gui/TextInputDialog.java
+ src/main/java/net/sf/jabref/wizard/text/gui/OverlayPanel.java
+ src/main/java/net/sf/jabref/wizard/auximport/AuxCommandLine.java
+ src/main/java/net/sf/jabref/wizard/auximport/gui/FromAuxDialog.java
+ src/main/java/net/sf/jabref/wizard/auximport/AuxSubGenerator.java
+ src/main/java/net/sf/jabref/wizard/integrity/IntegrityMessage.java
+ src/main/java/net/sf/jabref/wizard/integrity/IntegrityCheck.java
+ src/main/java/net/sf/jabref/wizard/integrity/gui/IntegrityWizard.java
+ src/main/java/net/sf/jabref/wizard/integrity/gui/IntegrityMessagePanel.java
+Copyright: 2004, R. Nagel
+License: GPL-2+
+
+Files: src/main/java/net/sf/jabref/about/AnimationListener.java
+ src/main/java/net/sf/jabref/about/AboutPanel.java
+ src/main/java/net/sf/jabref/about/AboutTextLine.java
+ src/main/java/net/sf/jabref/about/TextBlock.java
+ src/main/java/net/sf/jabref/about/ExtendedInfoPanel.java
+ src/main/java/net/sf/jabref/about/About2.java
+ src/main/java/net/sf/jabref/util/TBuildInfo.java
+Copyright: 2005, Raik Nagel <kiar@users.sourceforge.net>
+License: BSD-3
+
+Files: src/main/java/net/sf/jabref/util/TXMLReader.java
+ src/main/java/net/sf/jabref/BibtexFields.java
+ src/main/java/net/sf/jabref/gui/date/DatePickerButton.java
+Copyright: 2006, Raik Nagel <kiar@users.sourceforge.net>
+License: BSD-3
+
+Files: src/main/java/net/sf/jabref/SimpleUrlDragDrop.java
+ src/main/java/net/sf/jabref/UrlDragDrop.java
+Copyright: 2004, E. Putrycz
+License: GPL-2+
+
+Files: src/main/java/net/sf/jabref/SearchRuleSet.java
+ src/main/java/net/sf/jabref/SearchRule.java
+Copyright: 2003, Nathan Dunn
+License: GPL-2+
+
+Files: src/main/java/net/sf/jabref/SimpleSearchRule.java
+ src/main/java/net/sf/jabref/DatabaseSearch.java
+Copyright: 2003, Nathan Dunn
+ 2003, Morten O. Alver
+License: GPL-2+
+
+Files: src/main/java/net/sf/jabref/label/BookLabelRule.java
+ src/main/java/net/sf/jabref/label/InproceedingsLabelRule.java
+Copyright: 2003, Nathan Dunn
+ 2003, Morten O. Alver
+ 2003, Nizar N. Batada
+License: GPL-2+
+
+Files: src/main/java/net/sf/jabref/export/layout/format/ToLowerCase.java
+Copyright: Egon Willighagen
+License: GPL-2
+
+Files: src/main/java/net/sf/jabref/export/layout/format/CurrentDate.java
+Copyright: 2005, Andreas Rudert
+License: GPL-2+
+
+Files: src/main/java/net/sf/jabref/util/CaseChangeMenu.java
+ src/main/java/net/sf/jabref/util/CaseChanger.java
+Copyright: 2003, Moritz Ringler
+License: GPL-2+
+
+Files: src/main/java/net/sf/jabref/imports/DBLPHelper.java
+ src/main/java/net/sf/jabref/imports/DBLPParseException.java
+Copyright: 2011, Sascha Hunold
+License: GPL-2+
+
+Files: src/main/java/net/sf/jabref/imports/BooleanAssign.java
+Copyright: 2003-2011, M. Spiegel
+License: GPL-2+
+
+Files: src/main/java/net/sf/jabref/imports/ACMPortalFetcher.java
+Copyright: 2003-2011, Aaron Chen
+License: GPL-2+
+
+Files: src/main/java/net/sf/jabref/FontSelectorDialog.java
+Copyright: 1999-2002, Sylvain Reynal
+ 2000, 2001, Slava Pestov
+ 1999, Jason Ginchereau
+License: GPL-2+
+
+Files: src/main/java/net/sf/jabref/imports/ImportCustomizationDialog.java
+ src/main/java/net/sf/jabref/imports/ZipFileChooser.java
+ src/main/java/net/sf/jabref/imports/CustomImportList.java
+ src/main/java/net/sf/jabref/imports/RepecNepImporter.java
+Copyright: 2005, Andreas Rudert
+License: GPL-2+
+
+Files: src/main/java/net/sf/jabref/PdfPreviewPanel.java
+Copyright: 2012, Meltem Meltem Demirköprü
+ 2012, Ahmad Hammoud
+ 2012, Oliver Kopp
+License: GPL-3+
+
+Files: src/main/java/org/xnap/commons/gui/shortcut/EmacsKeyBindings.java
+Copyright: 2005, Steffen Pingel
+ 2005, Felix Berger
+License: LGPL-2.1+
+
+Files: src/main/java/net/sf/jabref/export/layout/format/Iso690FormatDate.java
+ src/main/java/net/sf/jabref/export/layout/format/Iso690NamesAuthors.java
+Copyright: 2009, Laura Hernández Gómez
+License: GPL-3+
+
+Files: src/main/resources/osx/osxadapter/OSXAdapter.java
+Copyright: 2003-2007, Apple Computer, Inc
+License: other
+    Disclaimer:  IMPORTANT:  This Apple software is supplied to you by Apple Computer, Inc.
+    ("Apple") in consideration of your agreement to the following terms, and your
+    use, installation, modification or redistribution of this Apple software
+    constitutes acceptance of these terms.  If you do not agree with these terms,
+    please do not use, install, modify or redistribute this Apple software.
+ .
+    In consideration of your agreement to abide by the following terms, and subject
+    to these terms, Apple grants you a personal, non-exclusive license, under Apple's
+    copyrights in this original Apple software (the "Apple Software"), to use,
+    reproduce, modify and redistribute the Apple Software, with or without
+    modifications, in source and/or binary forms; provided that if you redistribute
+    the Apple Software in its entirety and without modifications, you must retain
+    this notice and the following text and disclaimers in all such redistributions of
+    the Apple Software.  Neither the name, trademarks, service marks or logos of
+    Apple Computer, Inc. may be used to endorse or promote products derived from the
+    Apple Software without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or implied,
+    are granted by Apple herein, including but not limited to any patent rights that
+    may be infringed by your derivative works or by other works in which the Apple
+    Software may be incorporated.
+ .
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE MAKES NO
+    WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED
+    WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+    PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN
+    COMBINATION WITH YOUR PRODUCTS.
+ .
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR
+    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+    GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+    ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION
+    OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT
+    (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN
+    ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Files: src/main/resources/windows/nsis/setup.nsi
+Copyright: Uwe Stöhr and others
+License: GPL-3
+Comment: The upstream distribution does not contain an explicit statement of
+ copyright ownership. Pursuant to the Berne Convention for the Protection of
+ Literary and Artistic Works, it is assumed that all content is copyright by
+ its respective authors unless otherwise stated.
+
+Files: debian/*
+Copyright: 2005-2015, gregor herrmann <gregoa@debian.org>
+ 2005-2015, tony mancill <tmancill@debian.org>
+License: GPL-2
+
+Files: debian/patches/mrDlib_jayatana.patch
+Copyright: 2012, Oliver Kopp <oliver.kopp@gmail.com>
+License: GPL-2
+
+Files: debian/repack.stub
+Copyright: 2009, Ryan Niebur <ryan@debian.org>
+License: Artistic or GPL-1+
+
+License: BSD-3
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions are met:
+ .
+    * Redistributions of source code must retain the above copyright notice,
+      this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice,
+      this list of conditions and the following disclaimer in the documentation
+      and/or other materials provided with the distribution.
+    * Neither the name of the author nor the names of its contributors may be
+      used to endorse or promote products derived from this software without
+      specific prior written permission.
+
+License: CC-BY-3.0
+    Creative Commons Legal Code
+ .
+    Attribution 3.0 Unported
+ .
+    THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE
+    COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY
+    COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS
+    AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
+ .
+    BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE
+    TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY
+    BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS
+    CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND
+    CONDITIONS.
+ .
+    *1. Definitions*
+ .
+       1. *"Adaptation"* means a work based upon the Work, or upon the Work
+          and other pre-existing works, such as a translation, adaptation,
+          derivative work, arrangement of music or other alterations of a
+          literary or artistic work, or phonogram or performance and
+          includes cinematographic adaptations or any other form in which
+          the Work may be recast, transformed, or adapted including in any
+          form recognizably derived from the original, except that a work
+          that constitutes a Collection will not be considered an Adaptation
+          for the purpose of this License. For the avoidance of doubt, where
+          the Work is a musical work, performance or phonogram, the
+          synchronization of the Work in timed-relation with a moving image
+          ("synching") will be considered an Adaptation for the purpose of
+          this License.
+       2. *"Collection"* means a collection of literary or artistic works,
+          such as encyclopedias and anthologies, or performances, phonograms
+          or broadcasts, or other works or subject matter other than works
+          listed in Section 1(f) below, which, by reason of the selection
+          and arrangement of their contents, constitute intellectual
+          creations, in which the Work is included in its entirety in
+          unmodified form along with one or more other contributions, each
+          constituting separate and independent works in themselves, which
+          together are assembled into a collective whole. A work that
+          constitutes a Collection will not be considered an Adaptation (as
+          defined above) for the purposes of this License.
+       3. *"Distribute"* means to make available to the public the original
+          and copies of the Work or Adaptation, as appropriate, through sale
+          or other transfer of ownership.
+       4. *"Licensor"* means the individual, individuals, entity or entities
+          that offer(s) the Work under the terms of this License.
+       5. *"Original Author"* means, in the case of a literary or artistic
+          work, the individual, individuals, entity or entities who created
+          the Work or if no individual or entity can be identified, the
+          publisher; and in addition (i) in the case of a performance the
+          actors, singers, musicians, dancers, and other persons who act,
+          sing, deliver, declaim, play in, interpret or otherwise perform
+          literary or artistic works or expressions of folklore; (ii) in the
+          case of a phonogram the producer being the person or legal entity
+          who first fixes the sounds of a performance or other sounds; and,
+          (iii) in the case of broadcasts, the organization that transmits
+          the broadcast.
+       6. *"Work"* means the literary and/or artistic work offered under the
+          terms of this License including without limitation any production
+          in the literary, scientific and artistic domain, whatever may be
+          the mode or form of its expression including digital form, such as
+          a book, pamphlet and other writing; a lecture, address, sermon or
+          other work of the same nature; a dramatic or dramatico-musical
+          work; a choreographic work or entertainment in dumb show; a
+          musical composition with or without words; a cinematographic work
+          to which are assimilated works expressed by a process analogous to
+          cinematography; a work of drawing, painting, architecture,
+          sculpture, engraving or lithography; a photographic work to which
+          are assimilated works expressed by a process analogous to
+          photography; a work of applied art; an illustration, map, plan,
+          sketch or three-dimensional work relative to geography,
+          topography, architecture or science; a performance; a broadcast; a
+          phonogram; a compilation of data to the extent it is protected as
+          a copyrightable work; or a work performed by a variety or circus
+          performer to the extent it is not otherwise considered a literary
+          or artistic work.
+       7. *"You"* means an individual or entity exercising rights under this
+          License who has not previously violated the terms of this License
+          with respect to the Work, or who has received express permission
+          from the Licensor to exercise rights under this License despite a
+          previous violation.
+       8. *"Publicly Perform"* means to perform public recitations of the
+          Work and to communicate to the public those public recitations, by
+          any means or process, including by wire or wireless means or
+          public digital performances; to make available to the public Works
+          in such a way that members of the public may access these Works
+          from a place and at a place individually chosen by them; to
+          perform the Work to the public by any means or process and the
+          communication to the public of the performances of the Work,
+          including by public digital performance; to broadcast and
+          rebroadcast the Work by any means including signs, sounds or images.
+       9. *"Reproduce"* means to make copies of the Work by any means
+          including without limitation by sound or visual recordings and the
+          right of fixation and reproducing fixations of the Work, including
+          storage of a protected performance or phonogram in digital form or
+          other electronic medium.
+ .
+    *2. Fair Dealing Rights.* Nothing in this License is intended to reduce,
+    limit, or restrict any uses free from copyright or rights arising from
+    limitations or exceptions that are provided for in connection with the
+    copyright protection under copyright law or other applicable laws.
+ .
+    *3. License Grant.* Subject to the terms and conditions of this License,
+    Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
+    perpetual (for the duration of the applicable copyright) license to
+    exercise the rights in the Work as stated below:
+ .
+       1. to Reproduce the Work, to incorporate the Work into one or more
+          Collections, and to Reproduce the Work as incorporated in the
+          Collections;
+       2. to create and Reproduce Adaptations provided that any such
+          Adaptation, including any translation in any medium, takes
+          reasonable steps to clearly label, demarcate or otherwise identify
+          that changes were made to the original Work. For example, a
+          translation could be marked "The original work was translated from
+          English to Spanish," or a modification could indicate "The
+          original work has been modified.";
+       3. to Distribute and Publicly Perform the Work including as
+          incorporated in Collections; and,
+       4. to Distribute and Publicly Perform Adaptations.
+       5.
+ .
+          For the avoidance of doubt:
+ .
+             1. *Non-waivable Compulsory License Schemes*. In those
+                jurisdictions in which the right to collect royalties
+                through any statutory or compulsory licensing scheme cannot
+                be waived, the Licensor reserves the exclusive right to
+                collect such royalties for any exercise by You of the rights
+                granted under this License;
+             2. *Waivable Compulsory License Schemes*. In those
+                jurisdictions in which the right to collect royalties
+                through any statutory or compulsory licensing scheme can be
+                waived, the Licensor waives the exclusive right to collect
+                such royalties for any exercise by You of the rights granted
+                under this License; and,
+             3. *Voluntary License Schemes*. The Licensor waives the right
+                to collect royalties, whether individually or, in the event
+                that the Licensor is a member of a collecting society that
+                administers voluntary licensing schemes, via that society,
+                from any exercise by You of the rights granted under this
+                License.
+ .
+    The above rights may be exercised in all media and formats whether now
+    known or hereafter devised. The above rights include the right to make
+    such modifications as are technically necessary to exercise the rights
+    in other media and formats. Subject to Section 8(f), all rights not
+    expressly granted by Licensor are hereby reserved.
+ .
+    *4. Restrictions.* The license granted in Section 3 above is expressly
+    made subject to and limited by the following restrictions:
+ .
+       1. You may Distribute or Publicly Perform the Work only under the
+          terms of this License. You must include a copy of, or the Uniform
+          Resource Identifier (URI) for, this License with every copy of the
+          Work You Distribute or Publicly Perform. You may not offer or
+          impose any terms on the Work that restrict the terms of this
+          License or the ability of the recipient of the Work to exercise
+          the rights granted to that recipient under the terms of the
+          License. You may not sublicense the Work. You must keep intact all
+          notices that refer to this License and to the disclaimer of
+          warranties with every copy of the Work You Distribute or Publicly
+          Perform. When You Distribute or Publicly Perform the Work, You may
+          not impose any effective technological measures on the Work that
+          restrict the ability of a recipient of the Work from You to
+          exercise the rights granted to that recipient under the terms of
+          the License. This Section 4(a) applies to the Work as incorporated
+          in a Collection, but this does not require the Collection apart
+          from the Work itself to be made subject to the terms of this
+          License. If You create a Collection, upon notice from any Licensor
+          You must, to the extent practicable, remove from the Collection
+          any credit as required by Section 4(b), as requested. If You
+          create an Adaptation, upon notice from any Licensor You must, to
+          the extent practicable, remove from the Adaptation any credit as
+          required by Section 4(b), as requested.
+       2. If You Distribute, or Publicly Perform the Work or any Adaptations
+          or Collections, You must, unless a request has been made pursuant
+          to Section 4(a), keep intact all copyright notices for the Work
+          and provide, reasonable to the medium or means You are utilizing:
+          (i) the name of the Original Author (or pseudonym, if applicable)
+          if supplied, and/or if the Original Author and/or Licensor
+          designate another party or parties (e.g., a sponsor institute,
+          publishing entity, journal) for attribution ("Attribution
+          Parties") in Licensor's copyright notice, terms of service or by
+          other reasonable means, the name of such party or parties; (ii)
+          the title of the Work if supplied; (iii) to the extent reasonably
+          practicable, the URI, if any, that Licensor specifies to be
+          associated with the Work, unless such URI does not refer to the
+          copyright notice or licensing information for the Work; and (iv) ,
+          consistent with Section 3(b), in the case of an Adaptation, a
+          credit identifying the use of the Work in the Adaptation (e.g.,
+          "French translation of the Work by Original Author," or
+          "Screenplay based on original Work by Original Author"). The
+          credit required by this Section 4 (b) may be implemented in any
+          reasonable manner; provided, however, that in the case of a
+          Adaptation or Collection, at a minimum such credit will appear, if
+          a credit for all contributing authors of the Adaptation or
+          Collection appears, then as part of these credits and in a manner
+          at least as prominent as the credits for the other contributing
+          authors. For the avoidance of doubt, You may only use the credit
+          required by this Section for the purpose of attribution in the
+          manner set out above and, by exercising Your rights under this
+          License, You may not implicitly or explicitly assert or imply any
+          connection with, sponsorship or endorsement by the Original
+          Author, Licensor and/or Attribution Parties, as appropriate, of
+          You or Your use of the Work, without the separate, express prior
+          written permission of the Original Author, Licensor and/or
+          Attribution Parties.
+       3. Except as otherwise agreed in writing by the Licensor or as may be
+          otherwise permitted by applicable law, if You Reproduce,
+          Distribute or Publicly Perform the Work either by itself or as
+          part of any Adaptations or Collections, You must not distort,
+          mutilate, modify or take other derogatory action in relation to
+          the Work which would be prejudicial to the Original Author's honor
+          or reputation. Licensor agrees that in those jurisdictions (e.g.
+          Japan), in which any exercise of the right granted in Section 3(b)
+          of this License (the right to make Adaptations) would be deemed to
+          be a distortion, mutilation, modification or other derogatory
+          action prejudicial to the Original Author's honor and reputation,
+          the Licensor will waive or not assert, as appropriate, this
+          Section, to the fullest extent permitted by the applicable
+          national law, to enable You to reasonably exercise Your right
+          under Section 3(b) of this License (right to make Adaptations) but
+          not otherwise.
+ .
+    *5. Representations, Warranties and Disclaimer*
+ .
+    UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR
+    OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY
+    KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE,
+    INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY,
+    FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF
+    LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS,
+    WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE
+    EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
+ .
+    *6. Limitation on Liability.* EXCEPT TO THE EXTENT REQUIRED BY
+    APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL
+    THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY
+    DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF
+    LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+ .
+    *7. Termination*
+ .
+       1. This License and the rights granted hereunder will terminate
+          automatically upon any breach by You of the terms of this License.
+          Individuals or entities who have received Adaptations or
+          Collections from You under this License, however, will not have
+          their licenses terminated provided such individuals or entities
+          remain in full compliance with those licenses. Sections 1, 2, 5,
+          6, 7, and 8 will survive any termination of this License.
+       2. Subject to the above terms and conditions, the license granted
+          here is perpetual (for the duration of the applicable copyright in
+          the Work). Notwithstanding the above, Licensor reserves the right
+          to release the Work under different license terms or to stop
+          distributing the Work at any time; provided, however that any such
+          election will not serve to withdraw this License (or any other
+          license that has been, or is required to be, granted under the
+          terms of this License), and this License will continue in full
+          force and effect unless terminated as stated above.
+ .
+    *8. Miscellaneous*
+ .
+       1. Each time You Distribute or Publicly Perform the Work or a
+          Collection, the Licensor offers to the recipient a license to the
+          Work on the same terms and conditions as the license granted to
+          You under this License.
+       2. Each time You Distribute or Publicly Perform an Adaptation,
+          Licensor offers to the recipient a license to the original Work on
+          the same terms and conditions as the license granted to You under
+          this License.
+       3. If any provision of this License is invalid or unenforceable under
+          applicable law, it shall not affect the validity or enforceability
+          of the remainder of the terms of this License, and without further
+          action by the parties to this agreement, such provision shall be
+          reformed to the minimum extent necessary to make such provision
+          valid and enforceable.
+       4. No term or provision of this License shall be deemed waived and no
+          breach consented to unless such waiver or consent shall be in
+          writing and signed by the party to be charged with such waiver or
+          consent.
+       5. This License constitutes the entire agreement between the parties
+          with respect to the Work licensed here. There are no
+          understandings, agreements or representations with respect to the
+          Work not specified here. Licensor shall not be bound by any
+          additional provisions that may appear in any communication from
+          You. This License may not be modified without the mutual written
+          agreement of the Licensor and You.
+       6. The rights granted under, and the subject matter referenced, in
+          this License were drafted utilizing the terminology of the Berne
+          Convention for the Protection of Literary and Artistic Works (as
+          amended on September 28, 1979), the Rome Convention of 1961, the
+          WIPO Copyright Treaty of 1996, the WIPO Performances and
+          Phonograms Treaty of 1996 and the Universal Copyright Convention
+          (as revised on July 24, 1971). These rights and subject matter
+          take effect in the relevant jurisdiction in which the License
+          terms are sought to be enforced according to the corresponding
+          provisions of the implementation of those treaty provisions in the
+          applicable national law. If the standard suite of rights granted
+          under applicable copyright law includes additional rights not
+          granted under this License, such additional rights are deemed to
+          be included in the License; this License is not intended to
+          restrict the license of any rights under applicable law.
+
+License: CC-BY-SA-3.0
+    Creative Commons Legal Code
+ .
+    Attribution-ShareAlike 3.0 Unported
+ .
+    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
+    LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN
+    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
+    INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO
+    WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS
+    LIABILITY FOR DAMAGES RESULTING FROM ITS USE. 
+ .
+      /License/
+ .
+    THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE
+    COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY
+    COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS
+    AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
+ .
+    BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE
+    TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY
+    BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS
+    CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND
+    CONDITIONS.
+ .
+    *1. Definitions*
+ .
+    1. *"Adaptation"* means a work based upon the Work, or upon the Work
+       and other pre-existing works, such as a translation, adaptation,
+       derivative work, arrangement of music or other alterations of a
+       literary or artistic work, or phonogram or performance and
+       includes cinematographic adaptations or any other form in which
+       the Work may be recast, transformed, or adapted including in any
+       form recognizably derived from the original, except that a work
+       that constitutes a Collection will not be considered an Adaptation
+       for the purpose of this License. For the avoidance of doubt, where
+       the Work is a musical work, performance or phonogram, the
+       synchronization of the Work in timed-relation with a moving image
+       ("synching") will be considered an Adaptation for the purpose of
+       this License.
+    2. *"Collection"* means a collection of literary or artistic works,
+       such as encyclopedias and anthologies, or performances, phonograms
+       or broadcasts, or other works or subject matter other than works
+       listed in Section 1(f) below, which, by reason of the selection
+       and arrangement of their contents, constitute intellectual
+       creations, in which the Work is included in its entirety in
+       unmodified form along with one or more other contributions, each
+       constituting separate and independent works in themselves, which
+       together are assembled into a collective whole. A work that
+       constitutes a Collection will not be considered an Adaptation (as
+       defined below) for the purposes of this License.
+   3. *"Creative Commons Compatible License"* means a license that is
+       listed at http://creativecommons.org/compatiblelicenses that has
+       been approved by Creative Commons as being essentially equivalent
+       to this License, including, at a minimum, because that license:
+       (i) contains terms that have the same purpose, meaning and effect
+       as the License Elements of this License; and, (ii) explicitly
+       permits the relicensing of adaptations of works made available
+       under that license under this License or a Creative Commons
+       jurisdiction license with the same License Elements as this License.
+   4. *"Distribute"* means to make available to the public the original
+       and copies of the Work or Adaptation, as appropriate, through sale
+       or other transfer of ownership.
+   5. *"License Elements"* means the following high-level license
+       attributes as selected by Licensor and indicated in the title of
+       this License: Attribution, ShareAlike.
+   6. *"Licensor"* means the individual, individuals, entity or entities
+       that offer(s) the Work under the terms of this License.
+   7. *"Original Author"* means, in the case of a literary or artistic
+       work, the individual, individuals, entity or entities who created
+       the Work or if no individual or entity can be identified, the
+       publisher; and in addition (i) in the case of a performance the
+       actors, singers, musicians, dancers, and other persons who act,
+       sing, deliver, declaim, play in, interpret or otherwise perform
+       literary or artistic works or expressions of folklore; (ii) in the
+       case of a phonogram the producer being the person or legal entity
+       who first fixes the sounds of a performance or other sounds; and,
+       (iii) in the case of broadcasts, the organization that transmits
+       the broadcast.
+    8. *"Work"* means the literary and/or artistic work offered under the
+       terms of this License including without limitation any production
+       in the literary, scientific and artistic domain, whatever may be
+       the mode or form of its expression including digital form, such as
+       a book, pamphlet and other writing; a lecture, address, sermon or
+       other work of the same nature; a dramatic or dramatico-musical
+       work; a choreographic work or entertainment in dumb show; a
+       musical composition with or without words; a cinematographic work
+       to which are assimilated works expressed by a process analogous to
+       cinematography; a work of drawing, painting, architecture,
+       sculpture, engraving or lithography; a photographic work to which
+       are assimilated works expressed by a process analogous to
+       photography; a work of applied art; an illustration, map, plan,
+       sketch or three-dimensional work relative to geography,
+       topography, architecture or science; a performance; a broadcast; a
+       phonogram; a compilation of data to the extent it is protected as
+       a copyrightable work; or a work performed by a variety or circus
+       performer to the extent it is not otherwise considered a literary
+       or artistic work.
+    9. *"You"* means an individual or entity exercising rights under this
+       License who has not previously violated the terms of this License
+       with respect to the Work, or who has received express permission
+       from the Licensor to exercise rights under this License despite a
+       previous violation.
+   10. *"Publicly Perform"* means to perform public recitations of the
+       Work and to communicate to the public those public recitations, by
+       any means or process, including by wire or wireless means or
+       public digital performances; to make available to the public Works
+       in such a way that members of the public may access these Works
+       from a place and at a place individually chosen by them; to
+       perform the Work to the public by any means or process and the
+       communication to the public of the performances of the Work,
+       including by public digital performance; to broadcast and
+       rebroadcast the Work by any means including signs, sounds or images.
+   11. *"Reproduce"* means to make copies of the Work by any means
+       including without limitation by sound or visual recordings and the
+       right of fixation and reproducing fixations of the Work, including
+       storage of a protected performance or phonogram in digital form or
+       other electronic medium.
+ .
+    *2. Fair Dealing Rights.* Nothing in this License is intended to reduce,
+    limit, or restrict any uses free from copyright or rights arising from
+    limitations or exceptions that are provided for in connection with the
+    copyright protection under copyright law or other applicable laws.
+ .
+    *3. License Grant.* Subject to the terms and conditions of this License,
+    Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
+    perpetual (for the duration of the applicable copyright) license to
+    exercise the rights in the Work as stated below:
+ .
+    1. to Reproduce the Work, to incorporate the Work into one or more
+       Collections, and to Reproduce the Work as incorporated in the
+       Collections;
+    2. to create and Reproduce Adaptations provided that any such
+       Adaptation, including any translation in any medium, takes
+       reasonable steps to clearly label, demarcate or otherwise identify
+       that changes were made to the original Work. For example, a
+       translation could be marked "The original work was translated from
+       English to Spanish," or a modification could indicate "The
+       original work has been modified.";
+    3. to Distribute and Publicly Perform the Work including as
+       incorporated in Collections; and,
+    4. to Distribute and Publicly Perform Adaptations.
+    5.
+ .
+      For the avoidance of doubt:
+ .
+         1. *Non-waivable Compulsory License Schemes*. In those
+            jurisdictions in which the right to collect royalties
+            through any statutory or compulsory licensing scheme cannot
+            be waived, the Licensor reserves the exclusive right to
+            collect such royalties for any exercise by You of the rights
+            granted under this License;
+         2. *Waivable Compulsory License Schemes*. In those
+            jurisdictions in which the right to collect royalties
+            through any statutory or compulsory licensing scheme can be
+            waived, the Licensor waives the exclusive right to collect
+            such royalties for any exercise by You of the rights granted
+            under this License; and,
+         3. *Voluntary License Schemes*. The Licensor waives the right
+            to collect royalties, whether individually or, in the event
+            that the Licensor is a member of a collecting society that
+            administers voluntary licensing schemes, via that society,
+            from any exercise by You of the rights granted under this
+            License.
+ .
+    The above rights may be exercised in all media and formats whether now
+    known or hereafter devised. The above rights include the right to make
+    such modifications as are technically necessary to exercise the rights
+    in other media and formats. Subject to Section 8(f), all rights not
+    expressly granted by Licensor are hereby reserved.
+ .
+    *4. Restrictions.* The license granted in Section 3 above is expressly
+    made subject to and limited by the following restrictions:
+ .
+    1. You may Distribute or Publicly Perform the Work only under the
+       terms of this License. You must include a copy of, or the Uniform
+       Resource Identifier (URI) for, this License with every copy of the
+       Work You Distribute or Publicly Perform. You may not offer or
+       impose any terms on the Work that restrict the terms of this
+       License or the ability of the recipient of the Work to exercise
+       the rights granted to that recipient under the terms of the
+       License. You may not sublicense the Work. You must keep intact all
+       notices that refer to this License and to the disclaimer of
+       warranties with every copy of the Work You Distribute or Publicly
+       Perform. When You Distribute or Publicly Perform the Work, You may
+       not impose any effective technological measures on the Work that
+       restrict the ability of a recipient of the Work from You to
+       exercise the rights granted to that recipient under the terms of
+       the License. This Section 4(a) applies to the Work as incorporated
+       in a Collection, but this does not require the Collection apart
+       from the Work itself to be made subject to the terms of this
+       License. If You create a Collection, upon notice from any Licensor
+       You must, to the extent practicable, remove from the Collection
+       any credit as required by Section 4(c), as requested. If You
+       create an Adaptation, upon notice from any Licensor You must, to
+       the extent practicable, remove from the Adaptation any credit as
+       required by Section 4(c), as requested.
+    2. You may Distribute or Publicly Perform an Adaptation only under
+       the terms of: (i) this License; (ii) a later version of this
+       License with the same License Elements as this License; (iii) a
+       Creative Commons jurisdiction license (either this or a later
+       license version) that contains the same License Elements as this
+       License (e.g., Attribution-ShareAlike 3.0 US)); (iv) a Creative
+       Commons Compatible License. If you license the Adaptation under
+       one of the licenses mentioned in (iv), you must comply with the
+       terms of that license. If you license the Adaptation under the
+       terms of any of the licenses mentioned in (i), (ii) or (iii) (the
+       "Applicable License"), you must comply with the terms of the
+       Applicable License generally and the following provisions: (I) You
+       must include a copy of, or the URI for, the Applicable License
+       with every copy of each Adaptation You Distribute or Publicly
+       Perform; (II) You may not offer or impose any terms on the
+       Adaptation that restrict the terms of the Applicable License or
+       the ability of the recipient of the Adaptation to exercise the
+       rights granted to that recipient under the terms of the Applicable
+       License; (III) You must keep intact all notices that refer to the
+       Applicable License and to the disclaimer of warranties with every
+       copy of the Work as included in the Adaptation You Distribute or
+       Publicly Perform; (IV) when You Distribute or Publicly Perform the
+       Adaptation, You may not impose any effective technological
+       measures on the Adaptation that restrict the ability of a
+       recipient of the Adaptation from You to exercise the rights
+       granted to that recipient under the terms of the Applicable
+       License. This Section 4(b) applies to the Adaptation as
+       incorporated in a Collection, but this does not require the
+       Collection apart from the Adaptation itself to be made subject to
+       the terms of the Applicable License.
+    3. If You Distribute, or Publicly Perform the Work or any Adaptations
+       or Collections, You must, unless a request has been made pursuant
+       to Section 4(a), keep intact all copyright notices for the Work
+       and provide, reasonable to the medium or means You are utilizing:
+       (i) the name of the Original Author (or pseudonym, if applicable)
+       if supplied, and/or if the Original Author and/or Licensor
+       designate another party or parties (e.g., a sponsor institute,
+       publishing entity, journal) for attribution ("Attribution
+       Parties") in Licensor's copyright notice, terms of service or by
+       other reasonable means, the name of such party or parties; (ii)
+       the title of the Work if supplied; (iii) to the extent reasonably
+       practicable, the URI, if any, that Licensor specifies to be
+       associated with the Work, unless such URI does not refer to the
+       copyright notice or licensing information for the Work; and (iv) ,
+       consistent with Ssection 3(b), in the case of an Adaptation, a
+       credit identifying the use of the Work in the Adaptation (e.g.,
+       "French translation of the Work by Original Author," or
+       "Screenplay based on original Work by Original Author"). The
+       credit required by this Section 4(c) may be implemented in any
+       reasonable manner; provided, however, that in the case of a
+       Adaptation or Collection, at a minimum such credit will appear, if
+       a credit for all contributing authors of the Adaptation or
+       Collection appears, then as part of these credits and in a manner
+       at least as prominent as the credits for the other contributing
+       authors. For the avoidance of doubt, You may only use the credit
+       required by this Section for the purpose of attribution in the
+       manner set out above and, by exercising Your rights under this
+       License, You may not implicitly or explicitly assert or imply any
+       connection with, sponsorship or endorsement by the Original
+       Author, Licensor and/or Attribution Parties, as appropriate, of
+       You or Your use of the Work, without the separate, express prior
+       written permission of the Original Author, Licensor and/or
+       Attribution Parties.
+    4. Except as otherwise agreed in writing by the Licensor or as may be
+       otherwise permitted by applicable law, if You Reproduce,
+       Distribute or Publicly Perform the Work either by itself or as
+       part of any Adaptations or Collections, You must not distort,
+       mutilate, modify or take other derogatory action in relation to
+       the Work which would be prejudicial to the Original Author's honor
+       or reputation. Licensor agrees that in those jurisdictions (e.g.
+       Japan), in which any exercise of the right granted in Section 3(b)
+       of this License (the right to make Adaptations) would be deemed to
+       be a distortion, mutilation, modification or other derogatory
+       action prejudicial to the Original Author's honor and reputation,
+       the Licensor will waive or not assert, as appropriate, this
+       Section, to the fullest extent permitted by the applicable
+       national law, to enable You to reasonably exercise Your right
+       under Section 3(b) of this License (right to make Adaptations) but
+       not otherwise.
+ .
+    *5. Representations, Warranties and Disclaimer*
+ .
+    UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR
+    OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY
+    KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE,
+    INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY,
+    FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF
+    LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS,
+    WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE
+    EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
+ .
+    *6. Limitation on Liability.* EXCEPT TO THE EXTENT REQUIRED BY
+    APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL
+    THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY
+    DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF
+    LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+ .
+    *7. Termination*
+ .
+    1. This License and the rights granted hereunder will terminate
+       automatically upon any breach by You of the terms of this License.
+       Individuals or entities who have received Adaptations or
+       Collections from You under this License, however, will not have
+       their licenses terminated provided such individuals or entities
+       remain in full compliance with those licenses. Sections 1, 2, 5,
+       6, 7, and 8 will survive any termination of this License.
+    2. Subject to the above terms and conditions, the license granted
+       here is perpetual (for the duration of the applicable copyright in
+       the Work). Notwithstanding the above, Licensor reserves the right
+       to release the Work under different license terms or to stop
+       distributing the Work at any time; provided, however that any such
+       election will not serve to withdraw this License (or any other
+       license that has been, or is required to be, granted under the
+       terms of this License), and this License will continue in full
+       force and effect unless terminated as stated above.
+ .
+    *8. Miscellaneous*
+ .
+    1. Each time You Distribute or Publicly Perform the Work or a
+       Collection, the Licensor offers to the recipient a license to the
+       Work on the same terms and conditions as the license granted to
+       You under this License.
+    2. Each time You Distribute or Publicly Perform an Adaptation,
+       Licensor offers to the recipient a license to the original Work on
+       the same terms and conditions as the license granted to You under
+       this License.
+    3. If any provision of this License is invalid or unenforceable under
+       applicable law, it shall not affect the validity or enforceability
+       of the remainder of the terms of this License, and without further
+       action by the parties to this agreement, such provision shall be
+       reformed to the minimum extent necessary to make such provision
+       valid and enforceable.
+    4. No term or provision of this License shall be deemed waived and no
+       breach consented to unless such waiver or consent shall be in
+       writing and signed by the party to be charged with such waiver or
+       consent.
+    5. This License constitutes the entire agreement between the parties
+       with respect to the Work licensed here. There are no
+       understandings, agreements or representations with respect to the
+       Work not specified here. Licensor shall not be bound by any
+       additional provisions that may appear in any communication from
+       You. This License may not be modified without the mutual written
+       agreement of the Licensor and You.
+    6. The rights granted under, and the subject matter referenced, in
+       this License were drafted utilizing the terminology of the Berne
+       Convention for the Protection of Literary and Artistic Works (as
+       amended on September 28, 1979), the Rome Convention of 1961, the
+       WIPO Copyright Treaty of 1996, the WIPO Performances and
+       Phonograms Treaty of 1996 and the Universal Copyright Convention
+       (as revised on July 24, 1971). These rights and subject matter
+       take effect in the relevant jurisdiction in which the License
+       terms are sought to be enforced according to the corresponding
+       provisions of the implementation of those treaty provisions in the
+       applicable national law. If the standard suite of rights granted
+       under applicable copyright law includes additional rights not
+       granted under this License, such additional rights are deemed to
+       be included in the License; this License is not intended to
+       restrict the license of any rights under applicable law.
+
+License: GPL-2
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; version 2.
+    .
+    On Debian systems, the complete text of version 2 of the GNU General
+    Public License can be found in `/usr/share/common-licenses/GPL-2'.
+
+License: GPL-2+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2, or (at your option)
+    any later version.
+    .
+    On Debian systems, the complete text of version 2 of the GNU General
+    Public License can be found in `/usr/share/common-licenses/GPL-2'
+
+License: GPL-3
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; version 3.
+    .
+    On Debian systems, the complete text of version 3 of the GNU General
+    Public License can be found in `/usr/share/common-licenses/GPL-3'.
+
+License: GPL-3+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 3, or (at your option)
+    any later version.
+    .
+    On Debian systems, the complete text of version 3 of the GNU General
+    Public License can be found in `/usr/share/common-licenses/GPL-3'.
+
+License: LGPL-2.1
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU Lesser General Public License as published by
+    the Free Software Foundation; version 2.1.
+    .
+    On Debian systems, the complete text of version 2.1 of the GNU Lesser
+    General Public License can be found in `/usr/share/common-licenses/LGPL-2.1'.
+
+License: LGPL-2.1+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU Lesser General Public License as published by
+    the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+    .
+    On Debian systems, the complete text of version 2.1 of the GNU Lesser
+    General Public License can be found in `/usr/share/common-licenses/LGPL-2.1'.
+
+License: Artistic
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the Artistic License, which comes with Perl.
+    .
+    On Debian systems, the complete text of the Artistic License can be
+    found in `/usr/share/common-licenses/Artistic'.
+
+License: GPL-1+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 1, or (at your option)
+    any later version.
+    .
+    On Debian systems, the complete text of version 1 of the GNU General
+    Public License can be found in `/usr/share/common-licenses/GPL-1'.
diff --git a/debian/jabref-wrapper b/debian/jabref-wrapper
new file mode 100644 (file)
index 0000000..4a1f9ab
--- /dev/null
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+# Include the wrappers utility script
+. /usr/lib/java-wrappers/java-wrappers.sh
+
+# We need a java6 runtime (openjdk[876], oracle[87], sun6).
+find_java_runtime java6
+
+find_jars \
+       jabref \
+       JPFCodeGenerator-rt \
+       antlr \
+       antlr3 \
+       antlr3-runtime \
+       commons-logging \
+       glazedlists \
+       jempbox \
+       jgoodies-common \
+       jgoodies-forms \
+       jgoodies-looks \
+       jna \
+       jpf \
+       jpf-boot \
+       microba \
+       mysql-connector-java \
+       pdfbox \
+       postgresql \
+       spin
+
+run_java net.sf.jabref.JabRefMain "$@"
diff --git a/debian/jabref.1 b/debian/jabref.1
new file mode 100644 (file)
index 0000000..2265e24
--- /dev/null
@@ -0,0 +1,112 @@
+.\"                                      Hey, EMACS: -*- nroff -*-
+.\" First parameter, NAME, should be all caps
+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
+.\" other parameters are allowed: see man(7), man(1)
+.TH JABREF 1 "January 23, 2014"
+.\" Please adjust this date whenever revising the manpage.
+.\"
+.\" Some roff macros, for reference:
+.\" .nh        disable hyphenation
+.\" .hy        enable hyphenation
+.\" .ad l      left justify
+.\" .ad b      justify to both left and right margins
+.\" .nf        disable filling
+.\" .fi        enable filling
+.\" .br        insert line break
+.\" .sp <n>    insert n+1 empty lines
+.\" for manpage-specific macros, see man(7)
+.SH NAME
+jabref \- graphical frontend to manage BibTeX databases
+.SH SYNOPSIS
+.B jabref [options] [bibtex\-file]
+.SH DESCRIPTION
+.\" TeX users may be more comfortable with the \fB<whatever>\fP and
+.\" \fI<whatever>\fP escape sequences to invode bold face and italics, 
+.\" respectively.
+\fBJabRef\fP is a graphical Java application for editing bibtex (.bib)
+databases. JabRef lets you organize your entries into overlapping
+logical groups, and with a single click limit your view to a single
+group or an intersection or union of several groups. You can customize
+the entry information shown in the main window, and sort by any of the
+standard Bibtex fields. JabRef can autogenerate bibtex keys for your
+entries. JabRef also lets you easily link to PDF or web sources for your
+reference entries.
+.br
+JabRef can import from and export to several formats, and you can
+customize export filters. JabRef can be run as a command line application
+to convert from any import format to any export format.
+.SH OPTIONS
+.TP
+\fB\-a\fR, \fB\-\-aux\fR=<STRING>
+Subdatabase from aux: file[.aux],new[.bib]
+.TP
+\fB\-b\fR, \fB\-\-blank\fR=<BOOLEAN>
+Do not open any files at startup
+.TP
+\fB\-d\fR, \fB\-\-prdef\fR=<STRING>
+Reset preferences (key1,key2,... or 'all')
+.TP
+\fB\-f\fR, \fB\-\-fetch\fR=<STRING>
+Run Fetcher, e.g. "\-\-fetch=Medline:cancer"
+.TP
+\fB\-h\fR, \fB\-\-help\fR=<BOOLEAN>
+Display help on command line options and a list of available import/export formats
+.TP
+\fB\-i\fR, \fB\-\-import\fR=<STRING>
+Import file: filename[,import format]
+.TP
+\fB\-\-importToOpen\fR=<STRING>
+Import to open tab
+.TP
+\fB\-l\fR, \fB\-\-loads\fR=<BOOLEAN>
+Load session
+.TP
+\fB\-m\fR, \fB\-\-exportMatches\fR=<STRING>
+[field=]searchTerm,outputfile[,exportFormat]
+.TP
+\fB\-n\fR, \fB\-\-nogui\fR=<BOOLEAN>
+No GUI. Only process command line options.
+.TP
+\fB\-o\fR, \fB\-\-output\fR=<STRING>
+Output or export file: filename[,export format]
+.TP
+\fB\-p\fR, \fB\-\-primp\fR=<STRING>
+Import preferences from file
+.TP
+\fB\-s\fR, \fB\-\-nosplash\fR=<BOOLEAN>
+Do not show splash window at startup
+.TP
+\fB\-v\fR, \fB\-\-version\fR=<BOOLEAN>
+Display version
+.TP
+\fB\-x\fR, \fB\-\-prexp\fR=<STRING>
+Export preferences to file
+.SH EXAMPLES
+Export a selection of references:
+.TP
+\fBjabref \-m '(author=bock or title|keywords="computer methods") and not
+(author=sager)',output.html,html \-n true inputfile.bib\fB
+.TP
+For information referring to the search function see the documentation for 'advanced search'.
+Custom export formats can be added within the program
+(options - manage custom exports). Available export formats are listed by
+the help (jabref \-h).
+.SH JAVA-WRAPPERS NOTE
+This program is a shell script wrapper based on
+.BR java-wrappers (7).
+You therefore benefit from several features; please see the
+.BR java-wrappers (7)
+manual page for more information about them.
+.SH SEE ALSO
+the included help and commandline help: jabref \-h
+.br
+http://jabref.sourceforge.net/
+.br
+.BR java-wrappers (7)
+.SH AUTHOR
+jabref was written by Morten O. Alver and Nizar Batada.
+.PP
+This manual page was written by gregor herrmann <gregoa@debian.org>,
+for the Debian project (but may be used by others).
+.SH CONTRIBUTORS
+Thanks to Martin Weis <martin.weis.newsadress@gmx.de> for his updates to this manual page.
diff --git a/debian/jabref.bug-presubj b/debian/jabref.bug-presubj
new file mode 100644 (file)
index 0000000..3c38e10
--- /dev/null
@@ -0,0 +1,20 @@
+Quite some bugs reported against JabRef are actually problems with the used
+Java Virtual machine.
+
+Before filing a bug against JabRef, please make sure to test with all
+installed JVMs, and provide the output of the jabref wrapper called with the
+debug parameter in the bug report, e.g.:
+
+       $ DEBUG_WRAPPER=1 JAVA_HOME=/usr/lib/jvm/java-6-openjdk/ jabref
+       $ DEBUG_WRAPPER=1 JAVA_HOME=/usr/lib/jvm/java-6-sun jabref
+
+Please also include the output of
+       $ dpkg -l "openjdk*"
+if you are using OpenJDK.
+
+Note that openjdk-*-jre package is needed, openjdk-*-jre-headless is
+not enough.
+
+Please also go through the bug reports against the JVM you're using at
+http://bugs.debian.org/ and check if similar problems are already reported
+there.
diff --git a/debian/jabref.desktop b/debian/jabref.desktop
new file mode 100644 (file)
index 0000000..a1488c8
--- /dev/null
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Name=JabRef
+Comment=Graphical editor for BibTex bibliographies
+Comment[de]=Grafischer Editor für BibTex-Bibliographien
+Exec=jabref %f
+Icon=JabRef-icon-48
+Terminal=false
+Type=Application
+Categories=Office;Database;
+MimeType=text/x-bibtex;
+Keywords=BibTex;
+StartupWMClass=net-sf-jabref-JabRefMain
diff --git a/debian/jabref.dirs b/debian/jabref.dirs
new file mode 100644 (file)
index 0000000..e772481
--- /dev/null
@@ -0,0 +1 @@
+usr/bin
diff --git a/debian/jabref.docs b/debian/jabref.docs
new file mode 100644 (file)
index 0000000..7cb81a3
--- /dev/null
@@ -0,0 +1,4 @@
+CLI
+CONTIRBUTING.md
+README.md
+TODO
diff --git a/debian/jabref.install b/debian/jabref.install
new file mode 100644 (file)
index 0000000..fbdad4d
--- /dev/null
@@ -0,0 +1,4 @@
+buildant/lib/JabRef-2.11b2.jar usr/share/jabref
+build/*.xpm usr/share/pixmaps
+debian/jabref.desktop usr/share/applications
+src/images/JabRef-icon-48.png usr/share/pixmaps
diff --git a/debian/jabref.links b/debian/jabref.links
new file mode 100644 (file)
index 0000000..7e3a343
--- /dev/null
@@ -0,0 +1 @@
+usr/share/jabref/JabRef-2.11b2.jar usr/share/java/jabref.jar
diff --git a/debian/jabref.manpages b/debian/jabref.manpages
new file mode 100644 (file)
index 0000000..484e7ba
--- /dev/null
@@ -0,0 +1 @@
+debian/jabref.1
diff --git a/debian/jabref.menu b/debian/jabref.menu
new file mode 100644 (file)
index 0000000..35681a9
--- /dev/null
@@ -0,0 +1,7 @@
+?package(jabref):needs="x11"  \
+section="Applications/Data Management" \
+title="JabRef" \
+command="jabref" \
+icon="/usr/share/pixmaps/jabref32.xpm" \
+icon32x32="/usr/share/pixmaps/jabref32.xpm" \
+icon16x16="/usr/share/pixmaps/jabref16.xpm"
diff --git a/debian/jabref.mime b/debian/jabref.mime
new file mode 100644 (file)
index 0000000..05b6665
--- /dev/null
@@ -0,0 +1 @@
+text/x-bibtex; /usr/bin/jabref %s; edit=/usr/bin/jabref %s; description="BibTex document"; nametemplate=%s.bib; test=test -n "$DISPLAY"
diff --git a/debian/jabref.sharedmimeinfo b/debian/jabref.sharedmimeinfo
new file mode 100644 (file)
index 0000000..e051583
--- /dev/null
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info" >
+  <mime-type type="text/x-bibtex">
+    <sub-class-of type="text/plain"/>
+    <comment xml:lang="en">BibTeX document</comment>
+    <comment xml:lang="bg">Документ, формат BibTeX</comment>
+    <comment xml:lang="cs">Dokument BibTeX</comment>
+    <comment xml:lang="de">BibTeX-Dokument</comment>
+    <comment xml:lang="es">Documento BibTeX</comment>
+    <comment xml:lang="eu">BibTeX dokumentua</comment>
+    <comment xml:lang="hu">BibTeX dokumentum</comment>
+    <comment xml:lang="it">Documento BibTeX</comment>
+    <comment xml:lang="ko">BibTeX 문서</comment>
+    <comment xml:lang="nb">BibTeX-dokument</comment>
+    <comment xml:lang="nl">BibTeX-document</comment>
+    <comment xml:lang="nn">BibTeX-dokument</comment>
+    <comment xml:lang="sv">BibTeX-dokument</comment>
+    <comment xml:lang="uk">Документ BibTeX</comment>
+    <comment xml:lang="vi">Tài liệu BibTeX</comment>
+    <glob pattern="*.bib"/>
+  </mime-type>
+</mime-info>
diff --git a/debian/patches/debian_libs.patch b/debian/patches/debian_libs.patch
new file mode 100644 (file)
index 0000000..8246968
--- /dev/null
@@ -0,0 +1,108 @@
+Description: Use debian libraries and disable unnecesary unjarlib target,
+Forwarded: not needed
+Author: Gerardo Curiel <gerardo@sophie.gerardo.com.ve>,
+ Philip Rinn <rinni@gmx.net>
+Reviewed-by: gregor herrmann <gregoa@debian.org>
+Last-Update: 2015-05-19
+
+--- a/build.xml
++++ b/build.xml
+@@ -71,8 +71,10 @@
+       <property name="help.dir" value="${resources.dir}/help" />
+       <property name="extensions.dir" value="${resources.dir}/extensions" />
+       <property name="layout.dir" value="${resources.dir}/resource/layout" />
+-      <property name="lib.dir" value="lib" />
+-      <property name="buildlib.dir" value="buildlib" />
++      <property name="lib.dir" value="/usr/share/java" />
++      <property name="oo.dir" value="/usr/lib/libreoffice/program/classes" />
++      <property name="ure.dir" value="/usr/lib/ure/share/java" />
++      <property name="buildlib.dir" value="/usr/share/java" />
+       <property name="osxbin.dir" value="osx" />
+@@ -96,36 +98,38 @@
+       <fileset id="jarsFileset" dir="${lib.dir}">
+               <include name="antlr.jar" />
+-              <include name="antlr-3.4-complete.jar" />
+-        <include name="jgoodies-common-1.4.0.jar" />
+-              <include name="jgoodies-looks-2.5.2.jar" />
+-              <include name="jgoodies-forms-1.6.0.jar" />
++              <include name="antlr3.jar" />
++              <include name="antlr3-runtime.jar" />
++        <include name="jgoodies-common.jar" />
++              <include name="jgoodies-looks.jar" />
++              <include name="jgoodies-forms.jar" />
+         <include name="jgoodies/jgoodies-uif-lite.jar" />
+-        <include name="jna-4.1.0.jar" />
++        <include name="jna.jar" />
+         <include name="ritopt/ritopt-0.2.1-bin.jar" />
+-              <include name="jayatana-1.2.4.jar" />
+               <include name="spin.jar" />
+-              <include name="glazedlists-1.8.0_java15.jar" />
++              <include name="glazedlists.jar" />
+               <include name="microba.jar" />
+-              <include name="pdfbox-1.7.1.jar" />
+-              <include name="jempbox-1.7.1.jar" />
+-              <include name="fontbox-1.7.1.jar" />
++              <include name="pdfbox.jar" />
++              <include name="jempbox.jar" />
++              <include name="fontbox.jar" />
+               <include name="zoom-java.jar" />
+-      <include name="mysql-connector-java-5.0.7-bin.jar" />
+-              <include name="postgresql-9.2-1002.jdbc4.jar" />
++      <include name="mysql-connector-java.jar" />
++              <include name="postgresql.jar" />
+         <!-- Plugin runtime dependencies -->
+-              <include name="plugin/JPFCodeGenerator-rt.jar" />
+-              <include name="plugin/jpf.jar" />
+-              <include name="plugin/jpf-boot.jar" />
+-              <include name="plugin/commons-logging.jar" />
++              <include name="JPFCodeGenerator-rt.jar" />
++              <include name="jpf.jar" />
++              <include name="jpf-boot.jar" />
++              <include name="commons-logging.jar" />
+       </fileset>
+     <!-- Openoffice connection dependencies. Compile-time only -->
+-    <fileset id="ooFileset" dir="${lib.dir}">
+-        <include name="oo/unoil.jar" />
+-        <include name="oo/ridl.jar" />
+-        <include name="oo/juh.jar" />
+-        <include name="oo/jurt.jar" />
++    <fileset id="ureFileset" dir="${ure.dir}">
++        <include name="ridl.jar" />
++        <include name="juh.jar" />
++        <include name="jurt.jar" />
++    </fileset>
++    <fileset id="ooFileset" dir="${oo.dir}">
++        <include name="unoil.jar" />
+     </fileset>
+     <!-- Done by MrDlib -->
+@@ -146,6 +150,7 @@
+         <!-- Done by MrDlib -->
+               <fileset refid="jarsFileset" />
+         <fileset refid="ooFileset" />
++        <fileset refid="ureFileset" />
+       </path>
+       <target name="run" depends="build">
+@@ -188,7 +193,7 @@
+       </target>
+       <!-- Jars up project -->
+-      <target name="jars" depends="build, unjarlib">
++      <target name="jars" depends="build">
+               <mkdir dir="${build.lib}" />
+               <mkdir dir="${build.tmp}" />
+@@ -510,8 +515,6 @@
+          Auxiliary targets
+         +++++++++++++++++++++++++++++++++++++++++++++++++-->
+-      <taskdef name="jarbundler" classpath="${buildlib.dir}/jarbundler-2.2.0.jar" classname="net.sourceforge.jarbundler.JarBundler" />
+-
+       <macrodef name="compresssrc">
+         <attribute name="git-core-autocrlf" />
+         <attribute name="temp-dir" />
diff --git a/debian/patches/generated_JabRefPlugin.java.patch b/debian/patches/generated_JabRefPlugin.java.patch
new file mode 100644 (file)
index 0000000..831c854
--- /dev/null
@@ -0,0 +1,369 @@
+Description: file was removed in 2.9.1 but doesn't get generated either ...
+Origin: vendor
+Forwarded: info via mail
+Author: gregor herrmann <gregoa@debian.org>
+Last-Update: 2015-05-19
+
+--- /dev/null
++++ b/src/main/java/net/sf/jabref/plugin/core/generated/_JabRefPlugin.java
+@@ -0,0 +1,360 @@
++package net.sf.jabref.plugin.core.generated;\r
++\r
++import java.net.URL;\r
++import java.util.ArrayList;\r
++import java.util.List;\r
++import net.sf.jabref.plugin.util.RuntimeExtension;\r
++import org.java.plugin.Plugin;\r
++import org.java.plugin.PluginLifecycleException;\r
++import org.java.plugin.registry.Extension;\r
++import org.java.plugin.registry.ExtensionPoint;\r
++\r
++import org.apache.commons.logging.Log;\r
++import org.apache.commons.logging.LogFactory;\r
++\r
++/**\r
++ * Do not modify this file, as it was auto generated and will be overwritten!\r
++ * User modifications should go in net.sf.jabref.plugin.core.JabRefPlugin.\r
++ */\r
++public abstract class _JabRefPlugin extends Plugin {\r
++\r
++    public static String getId(){\r
++        return "net.sf.jabref.core";\r
++    }\r
++\r
++      static Log log = LogFactory.getLog(_JabRefPlugin.class);\r
++\r
++      public List<ExportFormatTemplateExtension> getExportFormatTemplateExtensions(){\r
++        ExtensionPoint extPoint = getManager().getRegistry().getExtensionPoint(getId(), "ExportFormatTemplate");\r
++        List<ExportFormatTemplateExtension> result = new ArrayList<ExportFormatTemplateExtension>();\r
++        for (Extension ext : extPoint.getConnectedExtensions()) {\r
++                      try {\r
++                              result.add(new ExportFormatTemplateExtension(getManager().getPlugin(\r
++                                              ext.getDeclaringPluginDescriptor().getId()), ext));\r
++                      } catch (PluginLifecycleException e) {\r
++                              log.error("Failed to activate plug-in " + ext.getDeclaringPluginDescriptor().getId(), e);\r
++                      }\r
++              }\r
++        return result;\r
++    }\r
++\r
++    public static class ExportFormatTemplateExtension extends RuntimeExtension {\r
++        public ExportFormatTemplateExtension(Plugin declaringPlugin, Extension wrapped){\r
++            super(declaringPlugin, wrapped);\r
++        }\r
++                \r
++           \r
++              public String getDisplayName(){\r
++            return getStringParameter("displayName");\r
++        }\r
++  \r
++           \r
++              public String getConsoleName(){\r
++            return getStringParameter("consoleName");\r
++        }\r
++  \r
++           \r
++              public String getLayoutFilename(){\r
++            return getStringParameter("layoutFilename");\r
++        }\r
++  \r
++           \r
++                      public URL getDirAsUrl(){\r
++                  return getResourceParameter("dir");\r
++              }\r
++              \r
++              public URL getDirAsUrl(String relativePath){\r
++                  return getResourceParameter("dir", relativePath);\r
++              }\r
++  \r
++           \r
++              public String getExtension(){\r
++            return getStringParameter("extension");\r
++        }\r
++  \r
++           \r
++              public String getEncoding(){\r
++            return getStringParameter("encoding");\r
++        }\r
++  \r
++      }\r
++\r
++      public List<ExportFormatExtension> getExportFormatExtensions(){\r
++        ExtensionPoint extPoint = getManager().getRegistry().getExtensionPoint(getId(), "ExportFormat");\r
++        List<ExportFormatExtension> result = new ArrayList<ExportFormatExtension>();\r
++        for (Extension ext : extPoint.getConnectedExtensions()) {\r
++                      try {\r
++                              result.add(new ExportFormatExtension(getManager().getPlugin(\r
++                                              ext.getDeclaringPluginDescriptor().getId()), ext));\r
++                      } catch (PluginLifecycleException e) {\r
++                              log.error("Failed to activate plug-in " + ext.getDeclaringPluginDescriptor().getId(), e);\r
++                      }\r
++              }\r
++        return result;\r
++    }\r
++\r
++    public static class ExportFormatExtension extends RuntimeExtension {\r
++        public ExportFormatExtension(Plugin declaringPlugin, Extension wrapped){\r
++            super(declaringPlugin, wrapped);\r
++        }\r
++                \r
++           \r
++              /**\r
++         * @return A singleton instance of the class parameter or null if the class could not be found!\r
++         */\r
++        public net.sf.jabref.export.IExportFormat getExportFormat(){\r
++          return (net.sf.jabref.export.IExportFormat)getClassParameter("exportFormat");\r
++        }\r
++  \r
++           \r
++              public String getDisplayName(){\r
++            return getStringParameter("displayName");\r
++        }\r
++  \r
++           \r
++              public String getConsoleName(){\r
++            return getStringParameter("consoleName");\r
++        }\r
++  \r
++           \r
++              public String getExtension(){\r
++            return getStringParameter("extension");\r
++        }\r
++  \r
++      }\r
++\r
++      public List<SidePanePluginExtension> getSidePanePluginExtensions(){\r
++        ExtensionPoint extPoint = getManager().getRegistry().getExtensionPoint(getId(), "SidePanePlugin");\r
++        List<SidePanePluginExtension> result = new ArrayList<SidePanePluginExtension>();\r
++        for (Extension ext : extPoint.getConnectedExtensions()) {\r
++                      try {\r
++                              result.add(new SidePanePluginExtension(getManager().getPlugin(\r
++                                              ext.getDeclaringPluginDescriptor().getId()), ext));\r
++                      } catch (PluginLifecycleException e) {\r
++                              log.error("Failed to activate plug-in " + ext.getDeclaringPluginDescriptor().getId(), e);\r
++                      }\r
++              }\r
++        return result;\r
++    }\r
++\r
++    public static class SidePanePluginExtension extends RuntimeExtension {\r
++        public SidePanePluginExtension(Plugin declaringPlugin, Extension wrapped){\r
++            super(declaringPlugin, wrapped);\r
++        }\r
++                \r
++           \r
++              /**\r
++         * @return A singleton instance of the class parameter or null if the class could not be found!\r
++         */\r
++        public net.sf.jabref.plugin.SidePanePlugin getSidePanePlugin(){\r
++          return (net.sf.jabref.plugin.SidePanePlugin)getClassParameter("sidePanePlugin");\r
++        }\r
++  \r
++           \r
++              public String getName(){\r
++            return getStringParameter("name");\r
++        }\r
++  \r
++           \r
++              public String getDescription(){\r
++            return getStringParameter("description");\r
++        }\r
++  \r
++      }\r
++\r
++      public List<EntryFetcherExtension> getEntryFetcherExtensions(){\r
++        ExtensionPoint extPoint = getManager().getRegistry().getExtensionPoint(getId(), "EntryFetcher");\r
++        List<EntryFetcherExtension> result = new ArrayList<EntryFetcherExtension>();\r
++        for (Extension ext : extPoint.getConnectedExtensions()) {\r
++                      try {\r
++                              result.add(new EntryFetcherExtension(getManager().getPlugin(\r
++                                              ext.getDeclaringPluginDescriptor().getId()), ext));\r
++                      } catch (PluginLifecycleException e) {\r
++                              log.error("Failed to activate plug-in " + ext.getDeclaringPluginDescriptor().getId(), e);\r
++                      }\r
++              }\r
++        return result;\r
++    }\r
++\r
++    public static class EntryFetcherExtension extends RuntimeExtension {\r
++        public EntryFetcherExtension(Plugin declaringPlugin, Extension wrapped){\r
++            super(declaringPlugin, wrapped);\r
++        }\r
++                \r
++           \r
++              /**\r
++         * @return A singleton instance of the class parameter or null if the class could not be found!\r
++         */\r
++        public net.sf.jabref.imports.EntryFetcher getEntryFetcher(){\r
++          return (net.sf.jabref.imports.EntryFetcher)getClassParameter("entryFetcher");\r
++        }\r
++  \r
++           \r
++              public String getName(){\r
++            return getStringParameter("name");\r
++        }\r
++  \r
++           \r
++              public String getDescription(){\r
++            return getStringParameter("description");\r
++        }\r
++  \r
++      }\r
++\r
++      public List<ExportFormatProviderExtension> getExportFormatProviderExtensions(){\r
++        ExtensionPoint extPoint = getManager().getRegistry().getExtensionPoint(getId(), "ExportFormatProvider");\r
++        List<ExportFormatProviderExtension> result = new ArrayList<ExportFormatProviderExtension>();\r
++        for (Extension ext : extPoint.getConnectedExtensions()) {\r
++                      try {\r
++                              result.add(new ExportFormatProviderExtension(getManager().getPlugin(\r
++                                              ext.getDeclaringPluginDescriptor().getId()), ext));\r
++                      } catch (PluginLifecycleException e) {\r
++                              log.error("Failed to activate plug-in " + ext.getDeclaringPluginDescriptor().getId(), e);\r
++                      }\r
++              }\r
++        return result;\r
++    }\r
++\r
++    public static class ExportFormatProviderExtension extends RuntimeExtension {\r
++        public ExportFormatProviderExtension(Plugin declaringPlugin, Extension wrapped){\r
++            super(declaringPlugin, wrapped);\r
++        }\r
++                \r
++           \r
++              /**\r
++         * @return A singleton instance of the class parameter or null if the class could not be found!\r
++         */\r
++        public net.sf.jabref.export.IExportFormatProvider getFormatProvider(){\r
++          return (net.sf.jabref.export.IExportFormatProvider)getClassParameter("formatProvider");\r
++        }\r
++  \r
++           \r
++              public String getName(){\r
++            return getStringParameter("name");\r
++        }\r
++  \r
++           \r
++              public String getDescription(){\r
++            return getStringParameter("description");\r
++        }\r
++  \r
++      }\r
++\r
++      public List<PushToApplicationExtension> getPushToApplicationExtensions(){\r
++        ExtensionPoint extPoint = getManager().getRegistry().getExtensionPoint(getId(), "PushToApplication");\r
++        List<PushToApplicationExtension> result = new ArrayList<PushToApplicationExtension>();\r
++        for (Extension ext : extPoint.getConnectedExtensions()) {\r
++                      try {\r
++                              result.add(new PushToApplicationExtension(getManager().getPlugin(\r
++                                              ext.getDeclaringPluginDescriptor().getId()), ext));\r
++                      } catch (PluginLifecycleException e) {\r
++                              log.error("Failed to activate plug-in " + ext.getDeclaringPluginDescriptor().getId(), e);\r
++                      }\r
++              }\r
++        return result;\r
++    }\r
++\r
++    public static class PushToApplicationExtension extends RuntimeExtension {\r
++        public PushToApplicationExtension(Plugin declaringPlugin, Extension wrapped){\r
++            super(declaringPlugin, wrapped);\r
++        }\r
++                \r
++           \r
++              /**\r
++         * @return A singleton instance of the class parameter or null if the class could not be found!\r
++         */\r
++        public net.sf.jabref.external.PushToApplication getPushToApp(){\r
++          return (net.sf.jabref.external.PushToApplication)getClassParameter("pushToApp");\r
++        }\r
++  \r
++           \r
++              public String getName(){\r
++            return getStringParameter("name");\r
++        }\r
++  \r
++           \r
++              public String getDescription(){\r
++            return getStringParameter("description");\r
++        }\r
++  \r
++      }\r
++\r
++      public List<LayoutFormatterExtension> getLayoutFormatterExtensions(){\r
++        ExtensionPoint extPoint = getManager().getRegistry().getExtensionPoint(getId(), "LayoutFormatter");\r
++        List<LayoutFormatterExtension> result = new ArrayList<LayoutFormatterExtension>();\r
++        for (Extension ext : extPoint.getConnectedExtensions()) {\r
++                      try {\r
++                              result.add(new LayoutFormatterExtension(getManager().getPlugin(\r
++                                              ext.getDeclaringPluginDescriptor().getId()), ext));\r
++                      } catch (PluginLifecycleException e) {\r
++                              log.error("Failed to activate plug-in " + ext.getDeclaringPluginDescriptor().getId(), e);\r
++                      }\r
++              }\r
++        return result;\r
++    }\r
++\r
++    public static class LayoutFormatterExtension extends RuntimeExtension {\r
++        public LayoutFormatterExtension(Plugin declaringPlugin, Extension wrapped){\r
++            super(declaringPlugin, wrapped);\r
++        }\r
++                \r
++           \r
++              /**\r
++         * @return A singleton instance of the class parameter or null if the class could not be found!\r
++         */\r
++        public net.sf.jabref.export.layout.LayoutFormatter getLayoutFormatter(){\r
++          return (net.sf.jabref.export.layout.LayoutFormatter)getClassParameter("layoutFormatter");\r
++        }\r
++  \r
++           \r
++              public String getDescription(){\r
++            return getStringParameter("description");\r
++        }\r
++  \r
++           \r
++              public String getName(){\r
++            return getStringParameter("name");\r
++        }\r
++  \r
++      }\r
++\r
++      public List<ImportFormatExtension> getImportFormatExtensions(){\r
++        ExtensionPoint extPoint = getManager().getRegistry().getExtensionPoint(getId(), "ImportFormat");\r
++        List<ImportFormatExtension> result = new ArrayList<ImportFormatExtension>();\r
++        for (Extension ext : extPoint.getConnectedExtensions()) {\r
++                      try {\r
++                              result.add(new ImportFormatExtension(getManager().getPlugin(\r
++                                              ext.getDeclaringPluginDescriptor().getId()), ext));\r
++                      } catch (PluginLifecycleException e) {\r
++                              log.error("Failed to activate plug-in " + ext.getDeclaringPluginDescriptor().getId(), e);\r
++                      }\r
++              }\r
++        return result;\r
++    }\r
++\r
++    public static class ImportFormatExtension extends RuntimeExtension {\r
++        public ImportFormatExtension(Plugin declaringPlugin, Extension wrapped){\r
++            super(declaringPlugin, wrapped);\r
++        }\r
++                \r
++           \r
++              /**\r
++         * @return A singleton instance of the class parameter or null if the class could not be found!\r
++         */\r
++        public net.sf.jabref.imports.ImportFormat getImportFormat(){\r
++          return (net.sf.jabref.imports.ImportFormat)getClassParameter("importFormat");\r
++        }\r
++  \r
++           \r
++              public String getName(){\r
++            return getStringParameter("name");\r
++        }\r
++  \r
++           \r
++              public String getDescription(){\r
++            return getStringParameter("description");\r
++        }\r
++  \r
++      }\r
++\r
++}\r
diff --git a/debian/patches/mrDlib_jayatana.patch b/debian/patches/mrDlib_jayatana.patch
new file mode 100644 (file)
index 0000000..ead3d19
--- /dev/null
@@ -0,0 +1,1279 @@
+Description: This is the diff between the debian branch and the v_2.10 tag
+ in upstream git; the debian branch was created for us with the purpose to
+ disable the mrDlib functionality which needs libraries not packaged in
+ Debian yet.
+Origin: upstream git
+Forwarded: not-needed
+Author: Oliver Kopp <oliver.kopp@gmail.com>
+Reviewed-by: gregor herrmann <gregoa@debian.org>
+Last-Update: 2015-05-20
+
+--- a/src/main/java/net/sf/jabref/ImportSettingsTab.java
++++ b/src/main/java/net/sf/jabref/ImportSettingsTab.java
+@@ -44,10 +44,8 @@
+       
+     private JRadioButton radioButtonXmp;
+       private JRadioButton radioButtonPDFcontent;
+-    private JRadioButton radioButtonMrDlib;
+     private JRadioButton radioButtonNoMeta;
+       private JRadioButton radioButtononlyAttachPDF;
+-      private JRadioButton radioButtonUpdateEmptyFields;
+       private JCheckBox useDefaultPDFImportStyle;
+       
+       private JTextField fileNamePattern;
+@@ -59,17 +57,12 @@
+         radioButtonNoMeta = new JRadioButton(Globals.lang("Create_blank_entry_linking_the_PDF"));
+         radioButtonXmp = new JRadioButton(Globals.lang("Create_entry_based_on_XMP_data"));
+         radioButtonPDFcontent = new JRadioButton(Globals.lang("Create_entry_based_on_content"));
+-        radioButtonMrDlib = new JRadioButton(Globals.lang("Create_entry_based_on_data_fetched_from")+" Mr.DLib");
+         radioButtononlyAttachPDF = new JRadioButton(Globals.lang("Only_attach_PDF"));
+-        radioButtonUpdateEmptyFields = new JRadioButton(Globals.lang("Update_empty_fields_with_data_fetched_from")
+-            +" Mr.DLib");
+         ButtonGroup bg = new ButtonGroup();
+         bg.add(radioButtonNoMeta);
+         bg.add(radioButtonXmp);
+         bg.add(radioButtonPDFcontent);
+-        bg.add(radioButtonMrDlib);
+         bg.add(radioButtononlyAttachPDF);
+-        bg.add(radioButtonUpdateEmptyFields);
+         useDefaultPDFImportStyle = new JCheckBox(Globals.lang("Always use this PDF import style (and do not ask for each import)"));
+               
+@@ -96,15 +89,9 @@
+               builder.append(radioButtonPDFcontent);
+         builder.nextLine();
+         builder.append(pan);
+-              builder.append(radioButtonMrDlib);
+-        builder.nextLine();
+-        builder.append(pan);
+               builder.append(radioButtononlyAttachPDF);
+         builder.nextLine();
+         builder.append(pan);
+-              builder.append(radioButtonUpdateEmptyFields);
+-        builder.nextLine();
+-        builder.append(pan);
+               builder.append(useDefaultPDFImportStyle);
+         builder.nextLine();
+               
+@@ -136,15 +123,9 @@
+               case ImportDialog.CONTENT:
+                       radioButtonPDFcontent.setSelected(true);
+                       break;
+-              case ImportDialog.MRDLIB:
+-                      radioButtonMrDlib.setSelected(true);
+-                      break;
+               case ImportDialog.ONLYATTACH:
+                       radioButtononlyAttachPDF.setSelected(true);
+                       break;
+-              case ImportDialog.UPDATEEMPTYFIELDS:
+-                      radioButtonUpdateEmptyFields.setSelected(true);
+-                      break;
+               default:
+                       // fallback
+                       radioButtonPDFcontent.setSelected(true);
+@@ -162,12 +143,9 @@
+                       style = ImportDialog.XMP;
+               else if (radioButtonPDFcontent.isSelected())
+                       style = ImportDialog.CONTENT;
+-              else if (radioButtonMrDlib.isSelected())
+-                      style = ImportDialog.MRDLIB;
+               else if (radioButtononlyAttachPDF.isSelected())
+                       style = ImportDialog.ONLYATTACH;
+-              else if (radioButtonUpdateEmptyFields.isSelected())
+-                      style = ImportDialog.UPDATEEMPTYFIELDS;
++              else throw new IllegalStateException();
+               Globals.prefs.putInt(PREF_IMPORT_DEFAULT_PDF_IMPORT_STYLE, style);
+               Globals.prefs.put(PREF_IMPORT_FILENAMEPATTERN, fileNamePattern.getText());
+       }
+--- a/src/main/java/net/sf/jabref/JabRefFrame.java
++++ b/src/main/java/net/sf/jabref/JabRefFrame.java
+@@ -1,4 +1,4 @@
+-/*  Copyright (C) 2003-2012 JabRef contributors.
++/*  Copyright (C) 2003-2011 JabRef contributors.
+     This program is free software; you can redistribute it and/or modify
+     it under the terms of the GNU General Public License as published by
+     the Free Software Foundation; either version 2 of the License, or
+@@ -39,8 +39,6 @@
+ import javax.swing.event.ChangeEvent;
+ import javax.swing.event.ChangeListener;
+-import org.java.ayatana.ApplicationMenu;
+-
+ import net.sf.jabref.export.*;
+ import net.sf.jabref.external.ExternalFileTypeEditor;
+ import net.sf.jabref.external.PushToApplicationButton;
+@@ -578,13 +576,6 @@
+                 }
+             }
+         });
+-
+-        // The following sets up integration with Unity's global menu, but currently (Nov 18, 2012)
+-        // this doesn't work with OpenJDK 6 (leads to crash), only with 7.
+-        String javaVersion = System.getProperty("java.version", null);
+-        if (javaVersion.compareTo("1.7") >= 0)
+-            ApplicationMenu.tryInstall(this);
+-
+     }
+     public void setWindowTitle() {
+--- a/src/main/java/spl/PdfImporter.java
++++ b/src/main/java/spl/PdfImporter.java
+@@ -19,12 +19,8 @@
+ import net.sf.jabref.undo.UndoableInsertEntry;
+ import net.sf.jabref.util.XMPUtil;
+-import org.sciplore.beans.Document;
+-
+ import spl.filter.PdfFileFilter;
+ import spl.gui.ImportDialog;
+-import spl.gui.MetaDataListDialog;
+-
+ /**
+  * Created by IntelliJ IDEA.
+@@ -129,7 +125,6 @@
+               BibtexEntryType type;
+                 InputStream in = null;
+                 List<BibtexEntry> localRes = null;
+-              MetaDataListDialog metaDataListDialog;
+                 switch (choice) {
+                       case ImportDialog.XMP:
+                     //SplDatabaseChangeListener dataListener = new SplDatabaseChangeListener(frame, panel, entryTable, fileName);
+@@ -222,88 +217,10 @@
+                     }
+                     res.add(entry);
+                     break;
+-                      case ImportDialog.MRDLIB:
+-                    metaDataListDialog = new MetaDataListDialog(fileName, true);
+-                    Tools.centerRelativeToWindow(metaDataListDialog, frame);
+-                    metaDataListDialog.showDialog();
+-                    Document document = metaDataListDialog.getXmlDocuments();
+-                    entry = null; // to satisfy the Java compiler
+-                    if(document != null /*&& documents.getDocuments() != null && documents.getDocuments().size() > 0*/ && metaDataListDialog.getResult() == JOptionPane.OK_OPTION){
+-                        int selected = metaDataListDialog.getTableMetadata().getSelectedRow();
+-                        if(selected > -1 /*&& selected < documents.getDocuments().size()*/){
+-                            //Document document = documents/*.getDocuments().get(selected)*/;
+-                            String id = Util.createNeutralId();
+-                            entry = new BibtexEntry(id);
+-                            if(fieldExists(document.getType())){
+-                                type = BibtexEntryType.getStandardType(document.getType());
+-                                if(type == null){
+-                                    type = BibtexEntryType.ARTICLE;
+-                                }
+-                                entry.setType(type);
+-                            }
+-                            else{
+-                                entry.setType(BibtexEntryType.ARTICLE);
+-                            }
+-                            ArrayList<BibtexEntry> list = new ArrayList<BibtexEntry>();
+-                            list.add(entry);
+-                            Util.setAutomaticFields(list, true, true, false);
+-                            //insertFields(entry.getRequiredFields(), entry, document);
+-                            insertFields(BibtexFields.getAllFieldNames(), entry, document);
+-                            //insertFields(entry.getOptionalFields(), entry, document);
+-                            panel.database().insertEntry(entry);
+-                            dfh = new DroppedFileHandler(frame, panel);
+-                            dfh.linkPdfToEntry(fileName, entryTable, entry);
+-                            LabelPatternUtil.makeLabel(panel.metaData(), panel.database(), entry);
+-                        }
+-                        else{
+-                            entry = createNewBlankEntry(fileName);
+-                        }
+-                    }
+-                    else if(metaDataListDialog.getResult() == JOptionPane.CANCEL_OPTION ){
+-                        continue;
+-                    }
+-                    else if(metaDataListDialog.getResult() == JOptionPane.NO_OPTION ){
+-                        entry = createNewBlankEntry(fileName);
+-                    }
+-                    else if(document == null /*|| document.getDocuments() == null || document.getDocuments().size() <= 0*/ && metaDataListDialog.getResult() == JOptionPane.OK_OPTION){
+-                        entry = createNewBlankEntry(fileName);
+-                    }
+-                    assert(entry != null);
+-                    res.add(entry);
+-                    break;
+                       case ImportDialog.NOMETA:
+                     entry = createNewBlankEntry(fileName);
+                     res.add(entry);
+                     break;
+-                      case ImportDialog.UPDATEEMPTYFIELDS:
+-                    metaDataListDialog = new MetaDataListDialog(fileName, false);                   
+-                    Tools.centerRelativeToWindow(metaDataListDialog, frame);
+-                    metaDataListDialog.showDialog();
+-                    document = metaDataListDialog.getXmlDocuments();
+-                    if(document != null /*&& document.getDocuments() != null && document.getDocuments().size() > 0*/ && metaDataListDialog.getResult() == JOptionPane.OK_OPTION){
+-                        int selected = metaDataListDialog.getTableMetadata().getSelectedRow();
+-                        if(selected > -1 /*&& selected < document.getDocuments().size()*/){
+-                            //XmlDocument document = documents.getDocuments().get(selected);
+-                            entry = entryTable.getEntryAt(dropRow);
+-                            if(fieldExists(document.getType())){
+-                                type = BibtexEntryType.getStandardType(document.getType());
+-                                if(type != null){
+-                                    entry.setType(type);
+-                                }
+-                            }
+-                            //insertFields(entry.getRequiredFields(), entry, document);
+-                            insertFields(BibtexFields.getAllFieldNames(), entry, document);
+-                            //insertFields(entry.getOptionalFields(), entry, document);
+-
+-                            dfh = new DroppedFileHandler(frame, panel);
+-                            dfh.linkPdfToEntry(fileName, entryTable, dropRow);
+-                        }
+-                    }
+-                    break;
+-                      case ImportDialog.ONLYATTACH:
+-                    dfh = new DroppedFileHandler(frame, panel);
+-                    dfh.linkPdfToEntry(fileName, entryTable, dropRow);
+-                    break;
+                 }
+             }
+@@ -322,58 +239,6 @@
+         return newEntry;
+     }
+-    private void insertFields(String[] fields, BibtexEntry entry, Document xmlDocument) {
+-        DocumentWrapper document = new DocumentWrapper(xmlDocument);
+-        for(String field : fields){
+-            if(entry.getField(field) != null){
+-                continue;
+-            }
+-            if(field.equalsIgnoreCase("author")){
+-                entry.setField(field, document.getAuthors("and"));
+-            }
+-            if(field.equalsIgnoreCase("title")){
+-                entry.setField(field, document.getTitle());
+-            }
+-            if(field.equalsIgnoreCase("abstract")){
+-                entry.setField(field, document.getAbstract());
+-            }
+-            /*if(field.equalsIgnoreCase("keywords")){
+-                entry.setField(field, document.getKeyWords());
+-            }*/
+-            if(field.equalsIgnoreCase("doi")){
+-                entry.setField(field, document.getDoi());
+-            }
+-            /*if(field.equalsIgnoreCase("pages")){
+-                entry.setField(field, document.getPages());
+-            }
+-            if(field.equalsIgnoreCase("volume")){
+-                entry.setField(field, document.getVolume());
+-            }
+-            if(field.equalsIgnoreCase("number")){
+-                entry.setField(field, document.getNumber());
+-            }*/
+-            if(field.equalsIgnoreCase("year")){
+-                entry.setField(field, document.getYear());
+-            }
+-            /*if(field.equalsIgnoreCase("month")){
+-                entry.setField(field, document.getMonth());
+-            }
+-            if(field.equalsIgnoreCase("day")){
+-                entry.setField(field, document.getDay());
+-            }
+-            if(field.equalsIgnoreCase("booktitle")){
+-                entry.setField(field, document.getVenue());
+-            }
+-            if(field.equalsIgnoreCase("journal")){
+-                entry.setField(field, document.getVenue());
+-            }*/
+-        }
+-    }
+-
+-    private boolean fieldExists(String string) {
+-        return string != null && !string.isEmpty();
+-    }
+-
+     private BibtexEntry createNewEntry() {
+         // Find out what type is wanted.
+--- a/src/main/java/spl/gui/ImportDialog.java
++++ b/src/main/java/spl/gui/ImportDialog.java
+@@ -17,19 +17,15 @@
+       public final static int NOMETA = 0;
+       public final static int XMP = 1;
+       public final static int CONTENT = 2;
+-      public final static int MRDLIB = 3;
+       public final static int ONLYATTACH = 4;
+-      public final static int UPDATEEMPTYFIELDS = 5;
+       
+     private JPanel contentPane;
+     private JCheckBox checkBoxDoNotShowAgain;
+       private JCheckBox useDefaultPDFImportStyle;
+     private JRadioButton radioButtonXmp;
+       private JRadioButton radioButtonPDFcontent;
+-    private JRadioButton radioButtonMrDlib;
+     private JRadioButton radioButtonNoMeta;
+     private JRadioButton radioButtononlyAttachPDF;
+-    private JRadioButton radioButtonUpdateEmptyFields;
+     private int result;
+     public ImportDialog(boolean targetIsARow, String fileName) {
+@@ -59,15 +55,7 @@
+         radioButtonNoMeta = new JRadioButton(Globals.lang("Create_blank_entry_linking_the_PDF"));
+         radioButtonXmp = new JRadioButton(Globals.lang("Create_entry_based_on_XMP_data"));
+         radioButtonPDFcontent = new JRadioButton(Globals.lang("Create_entry_based_on_content"));
+-        radioButtonMrDlib = new JRadioButton(Globals.lang("Create_entry_based_on_data_fetched_from"));
+         radioButtononlyAttachPDF = new JRadioButton(Globals.lang("Only_attach_PDF"));
+-        radioButtonUpdateEmptyFields = new JRadioButton(Globals.lang("Update_empty_fields_with_data_fetched_from"));
+-        JLabel labelMrDlib1 = new JLabel("Mr._dLib");
+-        labelMrDlib1.setFont(new Font(labelMrDlib1.getFont().getName(), Font.BOLD, 13));
+-        labelMrDlib1.setForeground(new Color(-16776961));
+-        JLabel labelMrDlib2 = new JLabel("Mr._dLib");
+-        labelMrDlib2.setFont(new Font(labelMrDlib1.getFont().getName(), Font.BOLD, 13));
+-        labelMrDlib2.setForeground(new Color(-16776961));
+         JButton buttonOK = new JButton(Globals.lang("Ok"));
+         JButton buttonCancel = new JButton(Globals.lang("Cancel"));
+         checkBoxDoNotShowAgain = new JCheckBox(Globals.lang("Do not show this box again for this import"));
+@@ -77,12 +65,8 @@
+         b.append(radioButtonNoMeta, 3);
+         b.append(radioButtonXmp, 3);
+         b.append(radioButtonPDFcontent, 3);
+-        b.append(radioButtonMrDlib);
+-        b.append(labelMrDlib1);
+         b.appendSeparator(Globals.lang("Update_Existing_Entry"));
+         b.append(radioButtononlyAttachPDF, 3);
+-        b.append(radioButtonUpdateEmptyFields);
+-        b.append(labelMrDlib2);
+         b.nextLine();
+         b.append(checkBoxDoNotShowAgain);
+         b.append(useDefaultPDFImportStyle);
+@@ -100,8 +84,6 @@
+         if (!targetIsARow1) {
+             this.radioButtononlyAttachPDF.setEnabled(false);
+-            this.radioButtonUpdateEmptyFields.setEnabled(false);
+-            labelMrDlib2.setEnabled(false);
+         }
+         String fileName1 = fileName;
+         String name = new File(fileName1).getName();
+@@ -110,8 +92,6 @@
+         } else {
+             labelFileName.setText(new File(fileName1).getName().substring(0, 33) + "...");
+         }
+-        labelMrDlib1.addMouseListener(new LabelLinkListener(labelMrDlib1, "www.mr-dlib.org/docs/pdf_metadata_extraction.php"));
+-        labelMrDlib2.addMouseListener(new LabelLinkListener(labelMrDlib2, "www.mr-dlib.org/docs/pdf_metadata_extraction.php"));
+         this.setTitle(LocalizationSupport.message("Import_Metadata_From_PDF"));
+         setModal(true);
+@@ -122,9 +102,7 @@
+         bg.add(radioButtonNoMeta);
+         bg.add(radioButtonXmp);
+         bg.add(radioButtonPDFcontent);
+-        bg.add(radioButtonMrDlib);
+         bg.add(radioButtononlyAttachPDF);
+-        bg.add(radioButtonUpdateEmptyFields);
+         buttonOK.addActionListener(new ActionListener() {
+             public void actionPerformed(ActionEvent e) {
+@@ -161,15 +139,9 @@
+               case CONTENT:
+                       radioButtonPDFcontent.setSelected(true);
+                       break;
+-              case MRDLIB:
+-                      radioButtonMrDlib.setSelected(true);
+-                      break;
+               case ONLYATTACH:
+                       radioButtononlyAttachPDF.setSelected(true);
+                       break;
+-              case UPDATEEMPTYFIELDS:
+-                      radioButtonUpdateEmptyFields.setSelected(true);
+-                      break;
+               default:
+                       // fallback
+                       radioButtonPDFcontent.setSelected(true);
+@@ -204,14 +176,10 @@
+               return XMP;
+       else if (radioButtonPDFcontent.isSelected())
+               return CONTENT;
+-      else if (radioButtonMrDlib.isSelected())
+-              return MRDLIB;
+       else if (radioButtonNoMeta.isSelected())
+               return NOMETA;
+       else if (radioButtononlyAttachPDF.isSelected())
+               return ONLYATTACH;
+-      else if (radioButtonUpdateEmptyFields.isSelected())
+-              return UPDATEEMPTYFIELDS;
+       else throw new IllegalStateException();
+     }
+--- a/src/main/java/spl/DocumentWrapper.java
++++ b/src/main/java/spl/DocumentWrapper.java
+@@ -1,244 +0,0 @@
+-package spl;
+-
+-import java.util.List;
+-
+-import org.sciplore.beans.Abstract;
+-import org.sciplore.beans.Author;
+-import org.sciplore.beans.Document;
+-import org.sciplore.formatter.Bean;
+-import org.sciplore.formatter.SimpleTypeElementBean;
+-
+-/**
+- * Created by IntelliJ IDEA.
+- * User: Christoph Arbeit
+- * Date: 10.09.2010
+- * Time: 20:02:51
+- * To change this template use File | Settings | File Templates.
+- */
+-public class DocumentWrapper {
+-
+-    Document xmlDocument;
+-
+-    public DocumentWrapper(Document xmlDocument) {
+-        this.xmlDocument = xmlDocument;
+-    }
+-
+-    public Document getXmlDocument() {
+-        return xmlDocument;
+-    }
+-
+-    public void setXmlDocument(Document xmlDocument) {
+-        this.xmlDocument = xmlDocument;
+-    }
+-
+-    public String getTitle(){
+-        if(this.hasTitle()){
+-            return xmlDocument.getTitle().getValue();
+-        }
+-        else{
+-            return "";
+-        }
+-    }
+-
+-    public boolean hasTitle(){
+-        return (xmlDocument.getTitle() != null && xmlDocument.getTitle().getValue() != null && !xmlDocument.getTitle().getValue().isEmpty());
+-    }
+-
+-    public String getAbstract(){
+-        if(this.hasAbstract()){
+-            return ((Abstract)xmlDocument.getAbstract()).getValue();
+-        }
+-        else{
+-            return "";
+-        }
+-    }
+-
+-    public boolean hasAbstract(){
+-        return (xmlDocument.getAbstract() != null && ((Abstract)xmlDocument.getAbstract()).getValue() != null && !((Abstract)xmlDocument.getAbstract()).getValue().isEmpty());
+-    }
+-
+-   public String getAuthors(String seperator){
+-        if(this.hasAuthors()){
+-              List<Bean> authors = xmlDocument.getAuthors().getCollection();
+-            authors = DocumentsWrapper.sortAuthors(authors);
+-            String value = "";
+-            int i = 1;
+-            for(Bean author : authors){
+-                if(i < authors.size()){
+-                    value = value + getNameComplete((Author)author);
+-                    value = value + " " + seperator + " ";
+-                }
+-                else{
+-                    value = value + getNameComplete((Author)author);
+-                }
+-                i++;
+-            }
+-            return value;
+-        }
+-        else{
+-            return "";
+-        }
+-    }
+-
+-    public boolean hasAuthors(){
+-        return (xmlDocument.getAuthors() != null && xmlDocument.getAuthors().getCollection() != null && !xmlDocument.getAuthors().getCollection().isEmpty());
+-    }
+-
+-    /* public String getKeyWords(){
+-        if(this.hasKeyWords()){
+-            List<XmlKeyword> keywords = xmlDocument.getKeywords().getKeywords();
+-            String value = "";
+-            int i = 1;
+-            for(XmlKeyword keyword : keywords){
+-                if(i < keywords.size()){
+-                    value = value + keyword.getValue();
+-                    value = value + ", ";
+-                }
+-                else{
+-                    value = value + keyword.getValue();
+-                }
+-                i++;
+-            }
+-            return value;
+-        }
+-        else{
+-            return "";
+-        }
+-    }
+-
+-    public boolean hasKeyWords(){
+-        return (xmlDocument.getKeywords() != null && xmlDocument.getKeywords().getKeywords() != null && !xmlDocument.getKeywords().getKeywords().isEmpty());
+-    }
+-*/
+-
+-    public String getDoi(){
+-        if(this.hasDoi()){
+-            return this.getSimpleTypeValue(xmlDocument.getDoi());
+-        }
+-        else{
+-            return "";
+-        }
+-    }
+-
+-    public boolean hasDoi(){
+-        return (xmlDocument.getDoi() != null && this.getSimpleTypeValue(xmlDocument.getDoi()) != null && !this.getSimpleTypeValue(xmlDocument.getDoi()).isEmpty());
+-    }
+-/*
+-    public String getPages(){
+-        if(this.hasPages()){
+-            return xmlDocument.getPages().getValue();
+-        }
+-        else{
+-            return "";
+-        }
+-    }
+-
+-    public boolean hasPages(){
+-        return (xmlDocument.getPages() != null && xmlDocument.getPages().getValue() != null && !xmlDocument.getPages().getValue().isEmpty());
+-    }
+-
+-    public String getVolume(){
+-        if(this.hasVolume()){
+-            return xmlDocument.getVolume().getValue();
+-        }
+-        else{
+-            return "";
+-        }
+-    }
+-
+-    public boolean hasVolume(){
+-        return (xmlDocument.getVolume() != null && xmlDocument.getVolume().getValue() != null && !xmlDocument.getVolume().getValue().isEmpty());
+-    }
+-
+-    public String getNumber(){
+-        if(this.hasNumber()){
+-            return xmlDocument.getNumber().getValue();
+-        }
+-        else{
+-            return "";
+-        }
+-    }
+-
+-    public boolean hasNumber(){
+-        return (xmlDocument.getNumber() != null && xmlDocument.getNumber().getValue() != null && !xmlDocument.getNumber().getValue().isEmpty());
+-    }
+-*/
+-    
+-    public String getYear(){
+-        if(this.hasYear()){
+-            return this.getSimpleTypeValue(xmlDocument.getYear());
+-        }
+-        else{
+-            return "";
+-        }
+-    }
+-
+-    public boolean hasYear(){
+-        return (this.getSimpleTypeValue(xmlDocument.getYear()) != null && !this.getSimpleTypeValue(xmlDocument.getYear()).isEmpty() && !this.getSimpleTypeValue(xmlDocument.getYear()).equalsIgnoreCase("null"));
+-    }
+-    
+-/*
+-     public String getMonth(){
+-        if(this.hasMonth()){
+-            return xmlDocument.getPublishdate().getMonth();
+-        }
+-        else{
+-            return "";
+-        }
+-    }
+-
+-    public boolean hasMonth(){
+-        return (xmlDocument.getPublishdate() != null && xmlDocument.getPublishdate().getMonth() != null && !xmlDocument.getPublishdate().getMonth().isEmpty());
+-    }
+-
+-    public String getDay(){
+-        if(this.hasDay()){
+-            return xmlDocument.getPublishdate().getDay();
+-        }
+-        else{
+-            return "";
+-        }
+-    }
+-
+-    public boolean hasDay(){
+-        return (xmlDocument.getPublishdate() != null && xmlDocument.getPublishdate().getDay() != null && !xmlDocument.getPublishdate().getDay().isEmpty());
+-    }
+-    
+-      /*
+-    public String getVenue() {
+-        if(this.hasVenue()){
+-            return xmlDocument.getVenue().getValue();
+-        }
+-        else{
+-            return "";
+-        }
+-    }
+-
+-    public boolean hasVenue(){
+-        return (xmlDocument.getVenue() != null && xmlDocument.getVenue().getValue() != null && !xmlDocument.getVenue().getValue().isEmpty());
+-    }*/
+-    
+-    private String getNameComplete(Author author){
+-      if(author == null) return "";
+-      String result = "";
+-      if(getSimpleTypeValue(author.getName_First()) != null)
+-              result = result + getSimpleTypeValue(author.getName_First()).trim() + " ";
+-      if(getSimpleTypeValue(author.getName_Middle()) != null)
+-              result = result + getSimpleTypeValue(author.getName_Middle()).trim() + " ";
+-      if(getSimpleTypeValue(author.getName_Last_Prefix()) != null)
+-              result = result + getSimpleTypeValue(author.getName_Last_Prefix()).trim() + " ";
+-      if(getSimpleTypeValue(author.getName_Last()) != null)
+-              result = result + getSimpleTypeValue(author.getName_Last()).trim() + " ";
+-      if(getSimpleTypeValue(author.getName_Last_Suffix()) != null)
+-              result = result + getSimpleTypeValue(author.getName_Last_Suffix()).trim() + " ";
+-      return result.trim();
+-    }
+-    
+-    private String getSimpleTypeValue(Bean bean){
+-      if(bean == null || !(bean instanceof SimpleTypeElementBean)) return null;
+-      SimpleTypeElementBean simpleTypeElementBean = (SimpleTypeElementBean)bean;
+-      if(simpleTypeElementBean.getValue() == null || simpleTypeElementBean.getValue().equalsIgnoreCase("null") || simpleTypeElementBean.getValue().length() <= 0) return null;
+-      return simpleTypeElementBean.getValue();
+-    }
+-
+-}
+--- a/src/main/java/spl/DocumentsWrapper.java
++++ b/src/main/java/spl/DocumentsWrapper.java
+@@ -1,132 +0,0 @@
+-package spl;
+-
+-import java.util.ArrayList;
+-import java.util.List;
+-import java.util.Vector;
+-
+-import org.sciplore.beans.Author;
+-import org.sciplore.beans.Document;
+-import org.sciplore.beans.Year;
+-import org.sciplore.formatter.Bean;
+-import org.sciplore.formatter.SimpleTypeElementBean;
+-
+-/**
+- * Created by IntelliJ IDEA.
+- * User: Christoph Arbeit
+- * Date: 09.09.2010
+- * Time: 10:56:50
+- * To change this template use File | Settings | File Templates.
+- */
+-public class DocumentsWrapper {
+-
+-    Document xmlDocuments;
+-
+-    public DocumentsWrapper(Document documents) {
+-        this.xmlDocuments = documents;
+-    }
+-
+-    public Document getXmlDocuments() {
+-        return xmlDocuments;
+-    }
+-
+-    public void setXmlDocuments(Document xmlDocuments) {
+-        this.xmlDocuments = xmlDocuments;
+-    }
+-
+-    public List<Vector<String>> getDocuments(){
+-        List<Vector<String>> documents = new ArrayList<Vector<String>>();
+-        //List<XmlDocument> xmlDocuments = this.xmlDocuments.getDocuments();
+-        //for(XmlDocument xmlDocument : xmlDocuments){
+-              Document xmlDocument = xmlDocuments;
+-            Vector<String> vector = new Vector<String>();
+-            if(xmlDocument.getTitle() != null){
+-                vector.add(xmlDocument.getTitle().getValue());
+-            }
+-            else{
+-                vector.add("");
+-            }
+-            if(xmlDocument.getAuthors() != null){
+-                List<Bean> authors = xmlDocument.getAuthors().getCollection();
+-                authors = sortAuthors(authors);
+-                String value = "";
+-                int i = 1;
+-                for(Bean author : authors){
+-                    if(i < authors.size()){
+-                        value = value + getNameComplete(((Author)author));
+-                        value = value + ", ";
+-                    }
+-                    else{
+-                        value = value + getNameComplete(((Author)author));
+-                    }
+-                    i++;
+-                }
+-                vector.add(value);
+-            }
+-            else{
+-                vector.add("");
+-            }
+-            if(xmlDocument.getYear() != null && ((Year)xmlDocument.getYear()).getValue() != null && !((Year)xmlDocument.getYear()).getValue().equalsIgnoreCase("null")){
+-                vector.add(((Year)xmlDocument.getYear()).getValue());
+-            }
+-            /*if(xmlDocument.getPublishdate() != null && xmlDocument.getPublishdate().getYear() != null && !xmlDocument.getPublishdate().getYear().equalsIgnoreCase("null")){
+-                vector.add(xmlDocument.getPublishdate().getYear());
+-            }*/
+-            else{
+-                vector.add("");
+-            }
+-            documents.add(vector);
+-        //}
+-        return documents;
+-    }
+-    
+-    private String getNameComplete(Author author){
+-      if(author == null) return "";
+-      String result = "";
+-      if(getSimpleTypeValue(author.getName_First()) != null)
+-              result = result + getSimpleTypeValue(author.getName_First()).trim() + " ";
+-      if(getSimpleTypeValue(author.getName_Middle()) != null)
+-              result = result + getSimpleTypeValue(author.getName_Middle()).trim() + " ";
+-      if(getSimpleTypeValue(author.getName_Last_Prefix()) != null)
+-              result = result + getSimpleTypeValue(author.getName_Last_Prefix()).trim() + " ";
+-      if(getSimpleTypeValue(author.getName_Last()) != null)
+-              result = result + getSimpleTypeValue(author.getName_Last()).trim() + " ";
+-      if(getSimpleTypeValue(author.getName_Last_Suffix()) != null)
+-              result = result + getSimpleTypeValue(author.getName_Last_Suffix()).trim() + " ";
+-      return result.trim();
+-    }
+-    
+-    private String getSimpleTypeValue(Bean bean){
+-      if(bean == null || !(bean instanceof SimpleTypeElementBean)) return null;
+-      SimpleTypeElementBean simpleTypeElementBean = (SimpleTypeElementBean)bean;
+-      if(simpleTypeElementBean.getValue() == null || simpleTypeElementBean.getValue().equalsIgnoreCase("null") || simpleTypeElementBean.getValue().length() <= 0) return null;
+-      return simpleTypeElementBean.getValue();
+-    }
+-    
+-    protected static List<Bean> sortAuthors(List<Bean> authors){
+-       boolean unsorted = true;
+-         Bean temp;
+-         
+-         while (unsorted){
+-               unsorted = false;
+-               for (int i = 0; i < authors.size() - 1; i++){
+-                       int rank = 99;
+-                       int otherRank = 99;
+-                       if(((Author)authors.get(i)).getRank() != null && !((Author)authors.get(i)).getRank().equalsIgnoreCase("null")){
+-                               rank = Integer.parseInt(((Author)authors.get(i)).getRank());
+-                       }                       
+-                       if(((Author)authors.get(i + 1)).getRank() != null && !((Author)authors.get(i + 1)).getRank().equalsIgnoreCase("null")){
+-                               otherRank = Integer.parseInt(((Author)authors.get(i + 1)).getRank());
+-                       }                       
+-                       
+-                       if (rank > otherRank) {                      
+-                  temp       = authors.get(i);
+-                  authors.set(i, authors.get(i + 1));
+-                  authors.set(i + 1, temp);                 
+-                  unsorted = true;
+-               }          
+-              }        
+-        } 
+-      
+-      return authors;
+-    }
+-}
+--- a/src/main/java/spl/SplWebClient.java
++++ b/src/main/java/spl/SplWebClient.java
+@@ -1,195 +0,0 @@
+-package spl;
+-
+-import java.io.ByteArrayInputStream;
+-import java.io.File;
+-import java.io.FileInputStream;
+-import java.io.InputStream;
+-import java.io.UnsupportedEncodingException;
+-
+-import javax.ws.rs.core.MediaType;
+-
+-import org.sciplore.beans.Author;
+-import org.sciplore.beans.Document;
+-import org.sciplore.deserialize.creator.AuthorBeanCreator;
+-import org.sciplore.deserialize.creator.AuthorsBeanCreator;
+-import org.sciplore.deserialize.creator.DefaultStringCreator;
+-import org.sciplore.deserialize.creator.DocumentBeanCreator;
+-import org.sciplore.deserialize.creator.DocumentsBeanCreator;
+-import org.sciplore.deserialize.creator.ObjectCreator;
+-import org.sciplore.deserialize.creator.TitleBeanCreator;
+-import org.sciplore.deserialize.creator.YearBeanCreator;
+-import org.sciplore.deserialize.reader.ObjectCreatorMapper;
+-import org.sciplore.deserialize.reader.XmlResourceReader;
+-import org.sciplore.formatter.Bean;
+-import org.sciplore.formatter.SimpleTypeElementBean;
+-
+-import com.sun.jersey.api.client.Client;
+-import com.sun.jersey.api.client.ClientResponse;
+-import com.sun.jersey.api.client.WebResource;
+-import com.sun.jersey.multipart.FormDataMultiPart;
+-
+-/**
+- * Created by IntelliJ IDEA.
+- * User: Christoph Arbeit
+- * Date: 09.09.2010
+- * Time: 10:35:20
+- * To change this template use File | Settings | File Templates.
+- */
+-public class SplWebClient {
+-
+-    private static Client CLIENT = Client.create();
+-    static{
+-        CLIENT.setConnectTimeout(1000);
+-        CLIENT.setReadTimeout(70000);
+-    }
+-    private static WebResource WEBRESOURCE = CLIENT.resource( "http://api.mr-dlib.org/" );
+-    private static WebResource INTERNETRESOURCE = CLIENT.resource( "http://www.google.com" );
+-    //private static WebResource WEBRESOURCE = CLIENT.resource( "http://localhost:8080/rest/" );
+-
+-    public static Document metadata;
+-
+-    public static WebServiceStatus getMetaData(File file){
+-        try{
+-            if(!isWebServiceAvailable()){
+-                if(isInternetAvailable()){
+-                    return  WebServiceStatus.WEBSERVICE_DOWN;
+-                }
+-                else{
+-                    return  WebServiceStatus.NO_INTERNET;
+-                }
+-            }
+-            if(isWebServiceOutDated()){
+-                return  WebServiceStatus.OUTDATED;
+-            }
+-            if(!isMetaDataServiceAvailable()){
+-                return  WebServiceStatus.UNAVAILABLE;
+-            }
+-            FileInputStream fin = new FileInputStream(file);      
+-            byte[] data = new byte[(int)file.length()];          
+-            fin.read(data);           
+-            
+-            FormDataMultiPart formDataMultiPart = new FormDataMultiPart();            
+-            formDataMultiPart.field("file", data,  MediaType.APPLICATION_OCTET_STREAM_TYPE);            
+-            formDataMultiPart.field("source", "jabref",  MediaType.TEXT_PLAIN_TYPE);
+-            formDataMultiPart.field("filename", file.getName(), MediaType.TEXT_PLAIN_TYPE);
+-           
+-           
+-            ClientResponse response = WEBRESOURCE.path("documents").type(MediaType.MULTIPART_FORM_DATA_TYPE).post(ClientResponse.class, formDataMultiPart);
+-            //System.out.println(response.getEntity(String.class));
+-            if(response.getClientResponseStatus() == ClientResponse.Status.OK && response.hasEntity()){
+-                String entity = response.getEntity(String.class);
+-                byte[] bytes = new byte[0];
+-                try {
+-                    bytes = entity.getBytes("UTF-8");
+-                } catch (UnsupportedEncodingException e) {
+-                    return null;
+-                }
+-                InputStream is = new ByteArrayInputStream(bytes);
+-                if(is != null){
+-                      ObjectCreatorMapper resourceMapper = new ObjectCreatorMapper();
+-                      ObjectCreator stringCreator = new DefaultStringCreator();
+-                      // initialize Mapper    
+-                        resourceMapper.addCreator("documents", new DocumentsBeanCreator());
+-                        resourceMapper.addCreator("authors", new AuthorsBeanCreator());
+-                        resourceMapper.addCreator("document", new DocumentBeanCreator());
+-                        resourceMapper.addCreator("title", new TitleBeanCreator());
+-                        resourceMapper.addCreator("year", new YearBeanCreator());
+-                        resourceMapper.addCreator("author", new AuthorBeanCreator());
+-                        
+-                        resourceMapper.addCreator("name_first", stringCreator);
+-                        resourceMapper.addCreator("name_middle", stringCreator);
+-                        resourceMapper.addCreator("name_last", stringCreator);
+-                        resourceMapper.addCreator("name_last_prefix", stringCreator);
+-                        resourceMapper.addCreator("name_last_suffix", stringCreator);
+-                        
+-                        // initialize xml reader
+-                        XmlResourceReader<?> reader = new XmlResourceReader(resourceMapper);
+-                        
+-                        // parse given file -> create object tree
+-                        Document docs =  (Document)reader.parse(is);
+-                        for(Bean author : docs.getAuthors().getCollection()){
+-                                Author temp = (Author)author;
+-                                System.out.println(((SimpleTypeElementBean)temp.getName_Last()).getValue() + " " + temp.getRank());
+-                        }
+-                   // XmlDocuments documents = JAXB.unmarshal(is, XmlDocuments.class);
+-                    SplWebClient.metadata = docs;
+-                    return WebServiceStatus.OK;
+-                }
+-                else{
+-                    return WebServiceStatus.NO_METADATA;
+-                }
+-            }
+-            if(response.getClientResponseStatus() == ClientResponse.Status.SERVICE_UNAVAILABLE){
+-                return  WebServiceStatus.UNAVAILABLE;
+-            }
+-        }catch(Exception e){
+-            System.out.println(Tools.getStackTraceAsString(e));
+-            //Todo logging
+-        }
+-        return WebServiceStatus.NO_METADATA;
+-    }
+-
+-    public static boolean isWebServiceOutDated(){
+-        try{
+-            ClientResponse response =  WEBRESOURCE.path("service/versioncheck/" + Tools.WEBSERVICE_APP_ID + "/current").get(ClientResponse.class);
+-            if(response.getClientResponseStatus() == ClientResponse.Status.OK && response.hasEntity()){
+-                String entity = response.getEntity(String.class);
+-                byte[] bytes = entity.getBytes();
+-                InputStream is = new ByteArrayInputStream(bytes);
+-                if(is != null){
+-                    /*XmlApplication app = JAXB.unmarshal(is, XmlApplication.class);
+-                    if(app != null){
+-                        if(app.getVersion() != null && !app.getVersion().equalsIgnoreCase(Tools.WEBSERVICE_VERSION_SHORT)){
+-                            return true;
+-                        }
+-                    }*/
+-                }
+-            }
+-        }catch(Exception e){
+-            //Todo logging
+-        }
+-        return false;
+-    }
+-
+-    public static boolean isMetaDataServiceAvailable(){
+-        try{
+-            ClientResponse response =  WEBRESOURCE.path("service/metadata/available").get(ClientResponse.class);
+-            if(response.getClientResponseStatus() == ClientResponse.Status.OK && response.hasEntity()){
+-                String entity = response.getEntity(String.class);
+-                if(entity != null && entity.equalsIgnoreCase("false")){
+-                    return false;
+-                }
+-            }
+-        }catch(Exception e){
+-            //Todo logging
+-        }
+-        return true;
+-    }
+-
+-    public static boolean isWebServiceAvailable(){
+-        try{
+-            ClientResponse response =  WEBRESOURCE.path("service/metadata/available").get(ClientResponse.class);
+-        }catch(Exception e){
+-            return false;
+-        }
+-        return true;
+-    }
+-
+-    public static boolean isInternetAvailable(){
+-        try{
+-            ClientResponse response =  INTERNETRESOURCE.get(ClientResponse.class);
+-        }catch(Exception e){
+-            return false;
+-        }
+-        return true;
+-    }
+-
+-    public enum WebServiceStatus {
+-        OK,
+-        NO_METADATA,
+-        UNAVAILABLE,
+-        OUTDATED,
+-        WEBSERVICE_DOWN,
+-        NO_INTERNET
+-    }
+-}
+--- a/src/main/java/spl/gui/MetaDataListDialog.java
++++ b/src/main/java/spl/gui/MetaDataListDialog.java
+@@ -1,297 +0,0 @@
+-package spl.gui;
+-
+-
+-import java.awt.BorderLayout;
+-import java.awt.CardLayout;
+-import java.awt.Color;
+-import java.awt.Component;
+-import java.awt.Dimension;
+-import java.awt.Font;
+-import java.awt.event.ActionEvent;
+-import java.awt.event.ActionListener;
+-import java.awt.event.KeyEvent;
+-import java.awt.event.WindowAdapter;
+-import java.awt.event.WindowEvent;
+-import java.io.File;
+-import java.io.IOException;
+-import java.util.List;
+-import java.util.Vector;
+-
+-import javax.swing.*;
+-import javax.swing.table.DefaultTableModel;
+-
+-import net.sf.jabref.Globals;
+-import net.sf.jabref.MetaData;
+-import net.sf.jabref.Util;
+-
+-import org.sciplore.beans.Document;
+-
+-import spl.DocumentsWrapper;
+-import spl.SplWebClient;
+-import spl.listener.LabelLinkListener;
+-import spl.localization.LocalizationSupport;
+-
+-import com.jgoodies.forms.builder.ButtonBarBuilder;
+-
+-public class MetaDataListDialog extends JDialog {
+-    private JPanel contentPane;
+-    private JTable tableMetadata;
+-    private JButton buttonOK;
+-    private JButton buttonCancel;
+-    private JLabel labelFetch;
+-    private JLabel iconLabel;
+-    private JButton blankButton;
+-    private JLabel labelLogo;
+-    private JButton moreInformationButton;
+-    private JPanel panelMetadata;
+-    private DefaultTableModel tableModel;
+-    private int result;
+-    private Document xmlDocuments;
+-    private String fileName;
+-    private SplWebClient.WebServiceStatus webserviceStatus;
+-    private Component thisDialog;
+-    private boolean showBlankButton;
+-    private CardLayout cardLayou = new CardLayout();
+-
+-    public MetaDataListDialog(String fileName, boolean showBlankButton) {
+-        $$$setupUI$$$();
+-        this.showBlankButton = showBlankButton;
+-        this.thisDialog = this;
+-        this.fileName = fileName;
+-        this.labelLogo.addMouseListener(new LabelLinkListener(this.labelLogo, "www.mr-dlib.org"));
+-        this.setTitle(LocalizationSupport.message("Mr._dLib_Metadata_Entries_Associated_With_PDF_File"));
+-        this.tableMetadata.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+-        setContentPane(contentPane);
+-        pack();
+-        setModal(true);
+-        getRootPane().setDefaultButton(buttonOK);
+-
+-        buttonOK.addActionListener(new ActionListener() {
+-            public void actionPerformed(ActionEvent e) {
+-                onOK();
+-            }
+-        });
+-
+-        buttonCancel.addActionListener(new ActionListener() {
+-            public void actionPerformed(ActionEvent e) {
+-                onCancel();
+-            }
+-        });
+-
+-        blankButton.addActionListener(new ActionListener() {
+-            public void actionPerformed(ActionEvent e) {
+-                onBlank();
+-            }
+-        });
+-
+-        moreInformationButton.addActionListener(new ActionListener() {
+-            public void actionPerformed(ActionEvent e) {
+-                onInfo();
+-            }
+-        });
+-
+-        setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
+-        addWindowListener(new WindowAdapter() {
+-            public void windowClosing(WindowEvent e) {
+-                onCancel();
+-            }
+-        });
+-
+-        contentPane.registerKeyboardAction(new ActionListener() {
+-            public void actionPerformed(ActionEvent e) {
+-                onCancel();
+-            }
+-        }, KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
+-
+-        cardLayou.show(panelMetadata, "panelWait");
+-        //this.scrollPane.setVisible(false);
+-        //this.blankButton.setVisible(false);
+-        this.moreInformationButton.setVisible(true);
+-        this.setSize(616, 366);
+-    }
+-
+-    private void onInfo() {
+-        try {
+-            Util.openExternalViewer(new MetaData(), "http://www.mr-dlib.org/docs/jabref_metadata_extraction_alpha.php", "url");
+-        } catch (IOException exc) {
+-            exc.printStackTrace();
+-        }
+-    }
+-
+-    private void onBlank() {
+-        this.result = JOptionPane.NO_OPTION;
+-        dispose();
+-    }
+-
+-    private void onOK() {
+-        this.result = JOptionPane.OK_OPTION;
+-        dispose();
+-    }
+-
+-    private void onCancel() {
+-        this.result = JOptionPane.CANCEL_OPTION;
+-        dispose();
+-    }
+-
+-    public void showDialog() {
+-        SwingWorker<Void, Void> worker = new SwingWorker<Void, Void>() {
+-            @Override
+-            public Void doInBackground() {
+-                System.out.println("Starting Webclient...");
+-                webserviceStatus = SplWebClient.getMetaData(new File(fileName));
+-                return null;
+-            }
+-
+-            @Override
+-            public void done() {
+-                if (webserviceStatus == SplWebClient.WebServiceStatus.OK) {
+-                    xmlDocuments = SplWebClient.metadata;
+-                    if (xmlDocuments != null /*&& xmlDocuments.getDocuments() != null && xmlDocuments.getDocuments().size() > 0*/) {
+-                        DocumentsWrapper documents = new DocumentsWrapper(xmlDocuments);
+-                        List<Vector<String>> vectorList = documents.getDocuments();
+-                        for (Vector<String> vector : vectorList) {
+-                            tableModel.addRow(vector);
+-                        }
+-
+-                        tableMetadata.getSelectionModel().setSelectionInterval(0, 0);
+-                        cardLayou.show(panelMetadata, "scrollPane");
+-                        //panelWait.setVisible(false);
+-                        //scrollPane.setVisible(true);
+-                        moreInformationButton.setVisible(true);
+-                    } else {
+-                        iconLabel.setVisible(false);
+-                        labelFetch.setText(LocalizationSupport.message("No_metadata_found."));
+-                        blankButton.setVisible(showBlankButton);
+-                    }
+-                }
+-                if (webserviceStatus == SplWebClient.WebServiceStatus.NO_METADATA) {
+-                    iconLabel.setVisible(false);
+-                    labelFetch.setText(LocalizationSupport.message("No_metadata_found."));
+-                    blankButton.setVisible(showBlankButton);
+-                }
+-                if (webserviceStatus == SplWebClient.WebServiceStatus.UNAVAILABLE) {
+-                    iconLabel.setVisible(false);
+-                    labelFetch.setText(LocalizationSupport.message("Mr._dLib_web_service_is_temporarily_unavailable."));
+-                    blankButton.setVisible(showBlankButton);
+-                }
+-                if (webserviceStatus == SplWebClient.WebServiceStatus.OUTDATED) {
+-                    iconLabel.setVisible(false);
+-                    labelFetch.setText(LocalizationSupport.message("The_Mr._dLib_web_service_version_you_trying_to_access_is_outdated."));
+-                    blankButton.setVisible(showBlankButton);
+-                    JOptionPane.showMessageDialog(thisDialog, LocalizationSupport.message("This_JabRef_version_is_trying_to_access_an_old_version_of_Mr._dLib's_webservice_that_is_not_working_any_more.\nPlease_visit_http://jabref.sourceforge.net_or_http://www.mr-dlib.org_for_more_information_and_updates."), LocalizationSupport.message("Web_Service_Version_Outdated"), JOptionPane.INFORMATION_MESSAGE);
+-                }
+-                if (webserviceStatus == SplWebClient.WebServiceStatus.WEBSERVICE_DOWN) {
+-                    iconLabel.setVisible(false);
+-                    labelFetch.setText(LocalizationSupport.message("Mr._dLib_web_service_is_temporarily_down._Please_try_again_later."));
+-                    blankButton.setVisible(showBlankButton);
+-                }
+-                if (webserviceStatus == SplWebClient.WebServiceStatus.NO_INTERNET) {
+-                    iconLabel.setVisible(false);
+-                    labelFetch.setText(LocalizationSupport.message("No_Internet_Connection."));
+-                    blankButton.setVisible(showBlankButton);
+-                    JOptionPane.showMessageDialog(thisDialog, LocalizationSupport.message("You_are_not_connected_to_the_Internet._To_access_Mr._dLib_web_service_an_internet_connection_is_needed."), LocalizationSupport.message("No_Internet_Connection."), JOptionPane.INFORMATION_MESSAGE);
+-                }
+-            }
+-        };
+-        worker.execute();
+-        this.pack();
+-        this.setVisible(true);
+-    }
+-
+-    public Document getXmlDocuments() {
+-        return xmlDocuments;
+-    }
+-
+-    private void createUIComponents() {
+-        this.tableModel = new MyTableModel();
+-        this.tableModel.addColumn(LocalizationSupport.message("Title"));
+-        this.tableModel.addColumn(LocalizationSupport.message("Author(s)"));
+-        this.tableModel.addColumn(LocalizationSupport.message("Published_Year"));
+-        this.tableMetadata = new JTable(this.tableModel);
+-    }
+-
+-    public JTable getTableMetadata() {
+-        return tableMetadata;
+-    }
+-
+-    public int getResult() {
+-        return result;
+-    }
+-
+-    public JButton getBlankButton() {
+-        return blankButton;
+-    }
+-
+-    private void $$$setupUI$$$() {
+-        createUIComponents();
+-        contentPane = new JPanel();
+-        contentPane.setLayout(new BorderLayout());
+-        labelLogo = new JLabel();
+-        labelLogo.setIcon(new ImageIcon(getClass().getResource("/spl/gui/mrdlib header.png")));
+-        labelLogo.setText("");
+-        contentPane.add(labelLogo, BorderLayout.NORTH);
+-        panelMetadata = new JPanel();
+-        panelMetadata.setLayout(cardLayou);
+-
+-
+-        panelMetadata.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), null));
+-        JScrollPane scrollPane = new JScrollPane();
+-        scrollPane.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLoweredBevelBorder(), null));
+-        tableMetadata.setAutoCreateRowSorter(false);
+-        tableMetadata.setEnabled(true);
+-        tableMetadata.setFillsViewportHeight(true);
+-        tableMetadata.setShowVerticalLines(true);
+-        scrollPane.setViewportView(tableMetadata);
+-        panelMetadata.add(scrollPane, "scrollPane");
+-        JPanel panelWait = new JPanel();
+-        panelWait.setLayout(new BorderLayout());
+-        panelWait.setBackground(new Color(-1));
+-        panelMetadata.add(panelWait, "panelWait");
+-        panelWait.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLoweredBevelBorder(), null));
+-        iconLabel = new JLabel();
+-        iconLabel.setBackground(new Color(-1));
+-        iconLabel.setHorizontalAlignment(SwingConstants.CENTER);
+-        iconLabel.setHorizontalTextPosition(SwingConstants.TRAILING);
+-        iconLabel.setIcon(new ImageIcon(getClass().getResource("/spl/gui/ajax-loader.gif")));
+-        iconLabel.setText("");
+-        panelWait.add(iconLabel, BorderLayout.CENTER);
+-        labelFetch = new JLabel();
+-        labelFetch.setHorizontalAlignment(JLabel.CENTER);
+-        labelFetch.setFont(new Font(labelFetch.getFont().getName(), labelFetch.getFont().getStyle(), 13));
+-        labelFetch.setText(Globals.lang("Fetching Metadata..."));
+-        panelWait.add(labelFetch, BorderLayout.SOUTH);
+-
+-        cardLayou.show(panelMetadata, "panelWait");
+-        panelMetadata.setPreferredSize(new Dimension(400, 200));
+-        contentPane.add(panelMetadata, BorderLayout.CENTER);
+-
+-        buttonOK = new JButton(Globals.lang("Ok"));
+-        buttonCancel = new JButton(Globals.lang("Cancel"));
+-        moreInformationButton = new JButton(Globals.lang("More information"));
+-        ButtonBarBuilder bb = new ButtonBarBuilder();
+-        bb.addGlue();
+-        bb.addButton(moreInformationButton);
+-        bb.addButton(buttonOK);
+-        bb.addButton(buttonCancel);
+-        bb.addGlue();
+-        blankButton = new JButton();
+-        blankButton.setText("");
+-        contentPane.add(bb.getPanel(), BorderLayout.SOUTH);
+-        iconLabel.setLabelFor(scrollPane);
+-
+-
+-    }
+-
+-    public JComponent $$$getRootComponent$$$() {
+-        return contentPane;
+-    }
+-
+-    public static class MyTableModel extends DefaultTableModel {
+-
+-        @Override
+-        public boolean isCellEditable(int row, int column) {
+-            return false;
+-        }
+-    }
+-
+-}
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644 (file)
index 0000000..9ed273d
--- /dev/null
@@ -0,0 +1,3 @@
+debian_libs.patch
+mrDlib_jayatana.patch
+generated_JabRefPlugin.java.patch
diff --git a/debian/repack.local b/debian/repack.local
new file mode 100644 (file)
index 0000000..1fad0a6
--- /dev/null
@@ -0,0 +1,6 @@
+requires_version 2
+SUFFIX=+ds
+rm lib
+rm buildlib
+rm gradle
+rm osx
diff --git a/debian/repack.stub b/debian/repack.stub
new file mode 100755 (executable)
index 0000000..4d68667
--- /dev/null
@@ -0,0 +1,88 @@
+#!/bin/sh
+
+: <<=cut
+=pod
+
+=head1 NAME
+
+repack.stub - script to repack upstream tarballs from uscan
+
+=head1 INSTRUCTIONS
+
+put this in debian/repack.stub and add "debian sh debian/repack.stub" to
+the end of the line in debian/watch. you will also need to add a version
+mangle to debian/watch.
+
+then create a debian/repack.local. this is a shell script that is
+sourced under "set -e", so be careful to check returns codes.
+
+=head1 FUNCTIONS
+
+=over 4
+
+=item rm
+
+rm is replaced by a function that does some magic ("rm -rv" by default), but also changes MANIFEST if $MANIFEST is 1
+
+=item mv
+
+mv is replaced by a function that just does mv (by default), but also changes MANIFEST if $MANIFEST is 1
+
+=item requires_version
+
+requires_version is there for future usage for requiring certain versions of the script
+
+=back
+
+=head1 VARIABLES
+
+=over 4
+
+=item SUFFIX
+
+defaults to +dfsg
+
+what to append to the upstream version
+
+=item RM_OPTS
+
+defaults to -vrf
+
+options to pass to rm
+
+=item MANIFEST
+
+defaults to 0, set to 1 to turn on.
+
+this will manipulate MANIFEST files in CPAN tarballs.
+
+=item UP_BASE
+
+this is the directory where the upstream source is.
+
+=back
+
+=head1 COPYRIGHT AND LICENSE
+
+Copyright 2009, Ryan Niebur <ryan@debian.org>
+
+License: Artistic or GPL-1+
+
+=cut
+
+if [ -z "$REPACK_SH" ]; then
+    if [ -f ../../scripts/repack.sh ]; then
+        REPACK_SH=../../scripts/repack.sh
+    fi
+    if [ -z "$REPACK_SH" ] && which repack.sh > /dev/null; then
+        REPACK_SH=$(which repack.sh)
+    fi
+fi
+
+if [ ! -f "$REPACK_SH" ]; then
+    echo "Couldn't find a repack.sh. please put it in your PATH, put it at ../../scripts/repack.sh, or put it somewhere else and set the REPACK_SH variable"
+    echo "You can get it from http://anonscm.debian.org/gitweb/?p=pkg-perl/scripts.git;a=blob_plain;f=repack.sh;hb=HEAD"
+    exit 1
+fi
+
+exec "$REPACK_SH" "$@"
diff --git a/debian/rules b/debian/rules
new file mode 100755 (executable)
index 0000000..51afbdf
--- /dev/null
@@ -0,0 +1,21 @@
+#!/usr/bin/make -f
+
+%:
+       dh $@
+
+override_dh_auto_clean:
+       # ant clean fails if build.xml is not patched
+       $(RM) -r $(CURDIR)/build
+
+override_dh_auto_build:
+       JAVA_HOME=/usr/lib/jvm/default-java ANT_OPTS=-D"file.encoding=UTF-8" \
+               dh_auto_build
+       convert -geometry 32x32 src/main/resources/images/JabRef-icon-48.png build/jabref32.xpm
+       convert -geometry 16x16 src/main/resources/images/JabRef-icon-48.png build/jabref16.xpm
+
+override_dh_auto_test:
+       ANT_OPTS=-Dfile.encoding=iso-8859-1 ant compiletest
+
+override_dh_auto_install:
+       dh_auto_install
+       install -m 755 debian/jabref-wrapper $(CURDIR)/debian/jabref/usr/bin/jabref
diff --git a/debian/source/format b/debian/source/format
new file mode 100644 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/watch b/debian/watch
new file mode 100644 (file)
index 0000000..33a69ce
--- /dev/null
@@ -0,0 +1,4 @@
+version=3
+opts="dversionmangle=s/\+(dfsg|ds)$//;,uversionmangle=s/(\D)$/${1}1/;s/b(?:eta)?(\d)?$/~beta${1}/" \
+       http://sf.net/jabref/JabRef-(.+)-src\.tar\.bz2 \
+       debian sh debian/repack.stub