diff --git a/src/main/java/org/jabref/gui/sharelatex/ShareLatexLoginDialogController.java b/src/main/java/org/jabref/gui/sharelatex/ShareLatexLoginDialogController.java index b9fa0cb6779..174ba168b3e 100644 --- a/src/main/java/org/jabref/gui/sharelatex/ShareLatexLoginDialogController.java +++ b/src/main/java/org/jabref/gui/sharelatex/ShareLatexLoginDialogController.java @@ -3,10 +3,12 @@ import javax.inject.Inject; import javafx.fxml.FXML; +import javafx.scene.control.Alert.AlertType; import javafx.scene.control.PasswordField; import javafx.scene.control.TextField; import org.jabref.gui.AbstractController; +import org.jabref.gui.FXDialog; import org.jabref.logic.sharelatex.ShareLatexManager; public class ShareLatexLoginDialogController extends AbstractController { @@ -14,7 +16,7 @@ public class ShareLatexLoginDialogController extends AbstractController { - @FXML TableColumn colTitle; - @FXML TableColumn colOwner; - @FXML TableColumn colLastModified; - @FXML TableView tblProjects; - @Inject ShareLatexManager manager; + @FXML private TableColumn colTitle; + @FXML private TableColumn colOwner; + @FXML private TableColumn colLastModified; + @FXML private TableView tblProjects; + @Inject private ShareLatexManager manager; @FXML private void initialize() { - - viewModel = new ShareLatexProjectDialogViewModel(manager.getProjects()); + viewModel = new ShareLatexProjectDialogViewModel(); + viewModel.addProjects(manager.getProjects()); colTitle.setCellValueFactory(cellData -> cellData.getValue().getProjectTitle()); colOwner.setCellValueFactory(cellData -> cellData.getValue().getOwner()); diff --git a/src/main/java/org/jabref/gui/sharelatex/ShareLatexProjectDialogViewModel.java b/src/main/java/org/jabref/gui/sharelatex/ShareLatexProjectDialogViewModel.java index a07c2594c56..8ee1223325d 100644 --- a/src/main/java/org/jabref/gui/sharelatex/ShareLatexProjectDialogViewModel.java +++ b/src/main/java/org/jabref/gui/sharelatex/ShareLatexProjectDialogViewModel.java @@ -1,27 +1,25 @@ package org.jabref.gui.sharelatex; import java.util.List; +import java.util.stream.Collectors; import javafx.beans.property.SimpleListProperty; import javafx.collections.FXCollections; import org.jabref.gui.AbstractViewModel; +import org.jabref.model.sharelatex.ShareLatexProject; public class ShareLatexProjectDialogViewModel extends AbstractViewModel { private final SimpleListProperty projects = new SimpleListProperty<>( FXCollections.observableArrayList()); - public ShareLatexProjectDialogViewModel(List projects) { - this.projects.addAll(projects); + public void addProjects(List projectsToAdd) { + this.projects.addAll(projectsToAdd.stream().map(ShareLatexProjectViewModel::new).collect(Collectors.toList())); } public SimpleListProperty projectsProperty() { return this.projects; } - public ShareLatexProjectDialogViewModel() { - // TODO Auto-generated constructor stub - } - } diff --git a/src/main/java/org/jabref/gui/sharelatex/ShareLatexProjectViewModel.java b/src/main/java/org/jabref/gui/sharelatex/ShareLatexProjectViewModel.java index 10cab343256..484cbc516ca 100644 --- a/src/main/java/org/jabref/gui/sharelatex/ShareLatexProjectViewModel.java +++ b/src/main/java/org/jabref/gui/sharelatex/ShareLatexProjectViewModel.java @@ -3,6 +3,8 @@ import javafx.beans.property.SimpleStringProperty; import javafx.beans.property.StringProperty; +import org.jabref.model.sharelatex.ShareLatexProject; + /** * Data class * @author CS @@ -15,12 +17,12 @@ public class ShareLatexProjectViewModel { private final StringProperty owner; private final StringProperty lastUpdated; - public ShareLatexProjectViewModel(String projectId, String projectTitle, String owner, String lastUpdated) { + public ShareLatexProjectViewModel(ShareLatexProject project) { - this.projectId = projectId; - this.projectTitle = new SimpleStringProperty(projectTitle); - this.owner = new SimpleStringProperty(owner); - this.lastUpdated = new SimpleStringProperty(lastUpdated); + this.projectId = project.getProjectId(); + this.projectTitle = new SimpleStringProperty(project.getProjectTitle()); + this.owner = new SimpleStringProperty(project.getOwner()); + this.lastUpdated = new SimpleStringProperty(project.getLastUpdated()); } diff --git a/src/main/java/org/jabref/logic/sharelatex/ShareLatexManager.java b/src/main/java/org/jabref/logic/sharelatex/ShareLatexManager.java index 8018aaea28a..2769f86ab80 100644 --- a/src/main/java/org/jabref/logic/sharelatex/ShareLatexManager.java +++ b/src/main/java/org/jabref/logic/sharelatex/ShareLatexManager.java @@ -4,7 +4,7 @@ import java.util.ArrayList; import java.util.List; -import org.jabref.gui.sharelatex.ShareLatexProjectViewModel; +import org.jabref.model.sharelatex.ShareLatexProject; import com.google.gson.JsonArray; import com.google.gson.JsonElement; @@ -12,13 +12,13 @@ public class ShareLatexManager { private final SharelatexConnector connector = new SharelatexConnector(); - private final List projects = new ArrayList<>(); + private final List projects = new ArrayList<>(); public String login(String server, String username, String password) { return connector.connectToServer(server, username, password); } - public List getProjects() { + public List getProjects() { try { connector.getProjects().ifPresent(jsonResponse -> { if (jsonResponse.has("projects")) { @@ -38,8 +38,8 @@ public List getProjects() { System.out.println("LastUpdated " + lastUpdated); System.out.println("Owner" + owner); - ShareLatexProjectViewModel model = new ShareLatexProjectViewModel(id, name, owner, lastUpdated); - projects.add(model); + ShareLatexProject project = new ShareLatexProject(id, name, owner, lastUpdated); + projects.add(project); //TODO: How do I pass this projectLIst to the other view? } diff --git a/src/main/java/org/jabref/model/sharelatex/ShareLatexProject.java b/src/main/java/org/jabref/model/sharelatex/ShareLatexProject.java new file mode 100644 index 00000000000..4b1c0fadf3a --- /dev/null +++ b/src/main/java/org/jabref/model/sharelatex/ShareLatexProject.java @@ -0,0 +1,32 @@ +package org.jabref.model.sharelatex; + +public class ShareLatexProject { + + private final String projectId; + private final String projectTitle; + private final String owner; + private final String lastUpdated; + + public ShareLatexProject(String projectId, String projectTitle, String owner, String lastUpdated) { + this.projectId = projectId; + this.projectTitle = projectTitle; + this.lastUpdated = lastUpdated; + this.owner = owner; + } + + public String getLastUpdated() { + return lastUpdated; + } + + public String getProjectId() { + return projectId; + } + + public String getProjectTitle() { + return projectTitle; + } + + public String getOwner() { + return owner; + } +} diff --git a/src/test/java/org/jabref/logic/sharelatex/ShareLatexManagerTest.java b/src/test/java/org/jabref/logic/sharelatex/ShareLatexManagerTest.java index 9b283629842..2aa9cc4a0cf 100644 --- a/src/test/java/org/jabref/logic/sharelatex/ShareLatexManagerTest.java +++ b/src/test/java/org/jabref/logic/sharelatex/ShareLatexManagerTest.java @@ -2,7 +2,7 @@ import java.util.List; -import org.jabref.gui.sharelatex.ShareLatexProjectViewModel; +import org.jabref.model.sharelatex.ShareLatexProject; import org.junit.Test; @@ -15,7 +15,7 @@ public void test() { ShareLatexManager manager = new ShareLatexManager(); manager.login("http://192.168.1.248", "joe@example.com", "test"); - List projects = manager.getProjects(); + List projects = manager.getProjects(); assertFalse(projects.isEmpty()); } } diff --git a/src/test/java/org/jabref/logic/sharelatex/ShareLatexProject.java b/src/test/java/org/jabref/logic/sharelatex/ShareLatexProject.java deleted file mode 100644 index 0addd65bef3..00000000000 --- a/src/test/java/org/jabref/logic/sharelatex/ShareLatexProject.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.jabref.logic.sharelatex; - - -public class ShareLatexProject { - - -} diff --git a/src/test/java/org/jabref/logic/sharelatex/SharelatexConnectorTest.java b/src/test/java/org/jabref/logic/sharelatex/SharelatexConnectorTest.java index 9d9c3a34f45..50e8557dfc7 100644 --- a/src/test/java/org/jabref/logic/sharelatex/SharelatexConnectorTest.java +++ b/src/test/java/org/jabref/logic/sharelatex/SharelatexConnectorTest.java @@ -2,15 +2,12 @@ import org.junit.Test; - public class SharelatexConnectorTest { @Test public void test() { - SharelatexConnector connector = new SharelatexConnector(); connector.connectToServer("http://192.168.1.248", "joe@example.com", "test"); - } }