Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Sharelatex Integration #445

Draft
wants to merge 67 commits into
base: main
Choose a base branch
from
Draft
Changes from 1 commit
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
1b545e4
Sharelatex Integration
Siedlerchr Aug 12, 2017
db29578
For debug purposes, add system out println
Siedlerchr Aug 25, 2017
446d914
Merge branch 'master' into sharelatex
koppor Oct 19, 2017
867679d
Merge remote-tracking branch 'origin/master' into sharelatex
koppor Oct 20, 2017
418aaad
Merge remote-tracking branch 'upstream/master' into sharelatex
Siedlerchr Oct 22, 2017
74ce5b9
Added classes for prefs
Siedlerchr Oct 22, 2017
0222168
Merge remote-tracking branch 'upstream/master' into sharelatex
Siedlerchr Oct 24, 2017
6e64369
set buttn txt to logging in
Siedlerchr Oct 24, 2017
0af05f0
Improve setting of enabled/diabled actions
Siedlerchr Oct 24, 2017
67f08a9
Fix checkstyle
Siedlerchr Oct 24, 2017
48dc385
Merge remote-tracking branch 'origin/master' into sharelatex
koppor Oct 26, 2017
c360278
Improve preferences handling
Siedlerchr Oct 27, 2017
e45e206
Merge remote-tracking branch 'upstream/master' into sharelatex
Siedlerchr Oct 27, 2017
a9d1632
Merge remote-tracking branch 'upstream/master' into sharelatex
Siedlerchr Nov 3, 2017
fac2c3d
Merge remote-tracking branch 'upstream/master' into sharelatex
Siedlerchr Nov 10, 2017
74151de
Merge remote-tracking branch 'upstream/master' into sharelatex
Siedlerchr Dec 13, 2017
c91fe49
Merge remote-tracking branch 'upstream/master' into sharelatex
Siedlerchr Dec 28, 2017
06685dd
Merge remote-tracking branch 'upstream/master' into sharelatex
Siedlerchr Feb 6, 2018
23bf919
fix build
Siedlerchr Feb 6, 2018
dfe262d
commit
Siedlerchr Feb 6, 2018
ada867a
Merge remote-tracking branch 'upstream/master' into sharelatex
Siedlerchr Feb 7, 2018
a8855fa
Add method for getting entry from position
lenhard Feb 7, 2018
093140a
Merge branch 'sharelatex' of github.com:JabRef/jabref into sharelatex
Siedlerchr Feb 7, 2018
855cd54
get position from json update message
Siedlerchr Feb 7, 2018
49b2c41
only parse if > 0
Siedlerchr Feb 7, 2018
65f7bb2
Merge remote-tracking branch 'upstream/master' into sharelatex
Siedlerchr Feb 7, 2018
b6d2984
Refactor ShareLatexPreferences
lenhard Feb 7, 2018
4920b9f
Merge branch 'sharelatex' of github.com:JabRef/jabref into sharelatex
lenhard Feb 7, 2018
10f1bad
improve parsing
Siedlerchr Feb 7, 2018
3eadbfb
Merge branch 'sharelatex' of github.com:JabRef/jabref into sharelatex
Siedlerchr Feb 7, 2018
0ae5f11
unncessary import
Siedlerchr Feb 7, 2018
172a03e
Merge remote-tracking branch 'upstream/master' into sharelatex
Siedlerchr Feb 24, 2018
61177b2
Implement first version of entries merging
Siedlerchr Feb 24, 2018
99aaa1f
fix checkstyle
Siedlerchr Feb 24, 2018
954f3ab
Merge remote-tracking branch 'origin/master' into sharelatex
koppor Aug 25, 2019
4223da5
add missing dependencies
Siedlerchr Aug 25, 2019
61a97a0
Merge remote-tracking branch 'upstream/master' into sharelatex
Siedlerchr Aug 25, 2019
23a49da
add missing diff match patch
Siedlerchr Aug 25, 2019
d473102
remove controller
Siedlerchr Aug 25, 2019
961a97d
fix action
Siedlerchr Aug 25, 2019
9e5e176
fix some more stuff
Siedlerchr Aug 25, 2019
cd82f04
fix compile errors
Siedlerchr Aug 25, 2019
8f214f1
Merge remote-tracking branch 'origin/master' into sharelatex
koppor Aug 25, 2019
017f40e
Merge remote-tracking branch 'origin/master' into sharelatex
koppor Aug 25, 2019
6a4d206
Merge remote-tracking branch 'origin/master' into sharelatex
koppor Apr 6, 2020
5d1fd79
Update code
koppor Apr 6, 2020
aa9f58d
Merge remote-tracking branch 'origin/master' into sharelatex
koppor Sep 5, 2020
ecb2690
Compilefix and working to show the dialog
koppor Sep 5, 2020
e320d9b
Refactor FXML and other gui elements to current architecture
Siedlerchr Sep 5, 2020
45d7fd1
Merge remote-tracking branch 'upstream/master' into sharelatex
Siedlerchr Sep 6, 2020
807efee
add logger
Siedlerchr Sep 6, 2020
c72c6cc
add missing tyrus grizzly container
Siedlerchr Sep 6, 2020
d08943d
fix import in test and checkstyle
Siedlerchr Sep 7, 2020
ba10c02
Merge remote-tracking branch 'upstream/master' into sharelatex
Siedlerchr Nov 11, 2020
be8b374
Merge remote-tracking branch 'upstream/master' into sharelatex
Siedlerchr Jan 26, 2021
850044e
fix build error
Siedlerchr Jan 26, 2021
46fa009
add menu item for sending wholecontent
Siedlerchr Jan 26, 2021
a1e5b9e
try with cookies
Siedlerchr Jan 26, 2021
43a802d
Fix minor issues
k3KAW8Pnf7mkmdSMPHz27 Jan 28, 2021
16bb727
Merge remote-tracking branch 'origin/main' into sharelatex
koppor Aug 4, 2021
93c3752
Fix class name (and checkstyle)
koppor Aug 4, 2021
677a9ee
Merge remote-tracking branch 'origin/sharelatex' into sharelatex
koppor Aug 4, 2021
76ecebc
Add some notes on overleaf testing
koppor Aug 4, 2021
f654e2d
Merge remote-tracking branch 'origin/main' into sharelatex
koppor Mar 17, 2023
a8c32d5
Merge remote-tracking branch 'origin/main' into sharelatex
koppor Mar 22, 2023
6e4cf32
Fix checkstyle - and switch from ACL to slf4j
koppor Mar 22, 2023
d1cea1c
Compile fix
koppor Mar 22, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Refactor ShareLatexPreferences
lenhard committed Feb 7, 2018
commit b6d29840a3b702ca7f3a0ec9210c2c2efea46394
Original file line number Diff line number Diff line change
@@ -8,14 +8,15 @@
import javafx.scene.control.PasswordField;
import javafx.scene.control.TextField;

import org.jabref.Globals;
import org.jabref.JabRefGUI;
import org.jabref.gui.AbstractController;
import org.jabref.gui.DialogService;
import org.jabref.gui.FXDialog;
import org.jabref.gui.FXDialogService;
import org.jabref.logic.sharelatex.ShareLatexManager;
import org.jabref.logic.sharelatex.SharelatexConnectionProperties;
import org.jabref.logic.sharelatex.SharelatexPreferences;
import org.jabref.logic.sharelatex.ShareLatexPreferences;

public class ShareLatexLoginDialogController extends AbstractController<ShareLatexLoginDialogViewModel> {

@@ -49,7 +50,7 @@ private void signIn() {
} else {
//TODO: Wait until pdf + injection stuff gets merged

props = new SharelatexConnectionProperties(new SharelatexPreferences("default"));
props = new SharelatexConnectionProperties(Globals.prefs.getShareLatexPreferences());
props.setUrl(tbAddress.getText());
props.setUser(tbUsername.getText());
props.setPassword(tbPassword.getText());
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
package org.jabref.logic.sharelatex;

import java.util.Optional;
import java.util.prefs.BackingStoreException;

public class ShareLatexPreferences {

private String defaultNode;
private String parentNode;
private String sharelatexUser;
private String shareLatexUrl;
private String shareLatexPassword;
private boolean shareLatexRememberPassword;
private String shareLatexProject;

public ShareLatexPreferences(String defaultNode, String parentNode, String getSharelatexUser, String shareLatexUrl, String shareLatexPassword, boolean shareLatexRememberPassword, String shareLatexProject) {
this.defaultNode = defaultNode;
this.parentNode = parentNode;
this.sharelatexUser = getSharelatexUser;
this.shareLatexUrl = shareLatexUrl;
this.shareLatexPassword = shareLatexPassword;
this.shareLatexRememberPassword = shareLatexRememberPassword;
this.shareLatexProject = shareLatexProject;
}

public String getSharelatexUrl() {
return getOptionalValue(shareLatexUrl).orElse("https://www.sharelatex.com");
}

public Optional<String> getUser() {
return getOptionalValue(sharelatexUser);
}

public Optional<String> getPassword() {
return getOptionalValue(shareLatexPassword);
}

public Optional<String> getDefaultProject() {
return getOptionalValue(shareLatexProject);
}


public String getDefaultNode() {
return defaultNode;
}

public String getParentNode() {
return parentNode;
}

public boolean getShareLatexRememberPassword() {
return shareLatexRememberPassword;
}


public void setSharelatexUrl(String url) {
this.shareLatexUrl = url;
}

public void setSharelatexUser(String user) {
this.sharelatexUser = user;
}

public void setSharelatexPassword(String pwd) {
this.shareLatexPassword = pwd;
}

public void setSharelatexProject(String project) {
this.shareLatexProject = project;
}

public void setRememberPassword(boolean rememberPassword) {
this.shareLatexRememberPassword = rememberPassword;
}


public void clear() throws BackingStoreException {
}

private Optional<String> getOptionalValue(String key) {
return Optional.ofNullable(key);
}

}
Original file line number Diff line number Diff line change
@@ -21,7 +21,7 @@ public SharelatexConnectionProperties() {
// no data
}

public SharelatexConnectionProperties(SharelatexPreferences prefs) {
public SharelatexConnectionProperties(ShareLatexPreferences prefs) {
setFromPreferences(prefs);
}

@@ -71,7 +71,7 @@ public boolean isValid() {
&& Objects.nonNull(project);
}

private void setFromPreferences(SharelatexPreferences prefs) {
private void setFromPreferences(ShareLatexPreferences prefs) {

this.url = prefs.getSharelatexUrl();
prefs.getDefaultProject().ifPresent(proj -> this.project = proj);

This file was deleted.

30 changes: 30 additions & 0 deletions src/main/java/org/jabref/preferences/JabRefPreferences.java
Original file line number Diff line number Diff line change
@@ -64,6 +64,7 @@
import org.jabref.logic.protectedterms.ProtectedTermsLoader;
import org.jabref.logic.protectedterms.ProtectedTermsPreferences;
import org.jabref.logic.remote.RemotePreferences;
import org.jabref.logic.sharelatex.ShareLatexPreferences;
import org.jabref.logic.util.OS;
import org.jabref.logic.util.UpdateFieldPreferences;
import org.jabref.logic.util.Version;
@@ -243,6 +244,15 @@ public class JabRefPreferences implements PreferencesService {
public static final String TIME_STAMP_FORMAT = "timeStampFormat";
public static final String OVERWRITE_TIME_STAMP = "overwriteTimeStamp";

// Sharelatex preferences
public static final String DEFAULT_NODE = "default";
public static final String PARENT_NODE = "jabref-sharelatex";
public static final String SHARELATEX_URL = "sharelatexUrl";
public static final String SHARELATEX_USER = "sharelatexUser";
public static final String SHARELATEX_PASSWORD = "sharelatexPassword";
public static final String SHARELATEX_REMEMBER_PASSWORD = "sharelatexRememberPassword";
public static final String SHARELATEX_PROJECT = "sharelatexProject";

public static final String WARN_ABOUT_DUPLICATES_IN_INSPECTION = "warnAboutDuplicatesInInspection";
public static final String UNMARK_ALL_ENTRIES_BEFORE_IMPORTING = "unmarkAllEntriesBeforeImporting";
public static final String MARK_IMPORTED_ENTRIES = "markImportedEntries";
@@ -1423,6 +1433,26 @@ public TimestampPreferences getTimestampPreferences() {
return new TimestampPreferences(getBoolean(USE_TIME_STAMP), getBoolean(UPDATE_TIMESTAMP), get(TIME_STAMP_FIELD), get(TIME_STAMP_FORMAT), getBoolean(OVERWRITE_TIME_STAMP));
}

public ShareLatexPreferences getShareLatexPreferences() {
return new ShareLatexPreferences(get(DEFAULT_NODE), get(PARENT_NODE), get(SHARELATEX_USER), get(SHARELATEX_URL), get(SHARELATEX_PASSWORD), getBoolean(SHARELATEX_REMEMBER_PASSWORD), get(SHARELATEX_PROJECT));
}

public void storeShareLatexPreferences(ShareLatexPreferences sharelatexPreferences) {
put(JabRefPreferences.DEFAULT_NODE, sharelatexPreferences.getDefaultNode());
put(JabRefPreferences.PARENT_NODE, sharelatexPreferences.getParentNode());
sharelatexPreferences.getUser().ifPresent(
user -> put(JabRefPreferences.SHARELATEX_USER, user)
);
put(JabRefPreferences.SHARELATEX_URL, sharelatexPreferences.getSharelatexUrl());
sharelatexPreferences.getPassword().ifPresent(
password -> put(JabRefPreferences.SHARELATEX_PASSWORD, password)
);
putBoolean(JabRefPreferences.SHARELATEX_REMEMBER_PASSWORD, sharelatexPreferences.getShareLatexRememberPassword());
sharelatexPreferences.getDefaultProject().ifPresent(
project -> put(JabRefPreferences.SHARELATEX_PROJECT, project)
);
}

public LayoutFormatterPreferences getLayoutFormatterPreferences(
JournalAbbreviationLoader journalAbbreviationLoader) {
Objects.requireNonNull(journalAbbreviationLoader);