From 6eaf83a785a3435949684e70d19f7a18b4f5a940 Mon Sep 17 00:00:00 2001 From: pkmsoftpro Date: Fri, 14 Sep 2018 22:29:11 -0400 Subject: [PATCH 1/4] ui for prestage upload in seagrid-rich-client --- .../ui/home/controller/HomeController.java | 13 +++- .../prestageupload/PrestageUploadWindow.java | 66 +++++++++++++++++++ .../controller/PrestageUploadController.java | 57 ++++++++++++++++ src/main/resources/views/home/home.fxml | 5 ++ .../views/prestageupload/upload-files.fxml | 43 ++++++++++++ 5 files changed, 183 insertions(+), 1 deletion(-) create mode 100644 src/main/java/org/seagrid/desktop/ui/prestageupload/PrestageUploadWindow.java create mode 100644 src/main/java/org/seagrid/desktop/ui/prestageupload/controller/PrestageUploadController.java create mode 100644 src/main/resources/views/prestageupload/upload-files.fxml diff --git a/src/main/java/org/seagrid/desktop/ui/home/controller/HomeController.java b/src/main/java/org/seagrid/desktop/ui/home/controller/HomeController.java index ca58869..0e324bb 100644 --- a/src/main/java/org/seagrid/desktop/ui/home/controller/HomeController.java +++ b/src/main/java/org/seagrid/desktop/ui/home/controller/HomeController.java @@ -68,6 +68,7 @@ import org.seagrid.desktop.ui.home.model.ExperimentListModel; import org.seagrid.desktop.ui.home.model.ProjectTreeModel; import org.seagrid.desktop.ui.home.model.TreeModel; +import org.seagrid.desktop.ui.prestageupload.PrestageUploadWindow; import org.seagrid.desktop.ui.project.ProjectWindow; import org.seagrid.desktop.ui.storage.MassStorageBrowserWindow; import org.seagrid.desktop.util.SEAGridConfig; @@ -112,6 +113,9 @@ public class HomeController { @FXML private Button createExperimentButton; + @FXML + private Button uploadInputFilesButton; + @FXML private TreeView projectsTreeView; @@ -218,7 +222,7 @@ public void initialize() { notificationLabel.setStyle("-fx-border-color: white;"); notificationLabel.setMaxWidth(Double.MAX_VALUE); try{ - java.util.List messages = AiravataManager.getInstance().getNotifications(); + List messages = AiravataManager.getInstance().getNotifications(); final Index index = new Index(); index.index = 0; if (messages != null && messages.size() > 0) { @@ -295,6 +299,13 @@ public void initMenuBar() { "Failed to open Storage Browser"); } }); + uploadInputFilesButton.setOnMouseClicked(event -> { + try { + PrestageUploadWindow.displayUploadFiles(); + } catch (IOException e) { + e.printStackTrace(); + } + }); nanocadBtn.setOnAction(event -> SwingUtilities.invokeLater(new Runnable() { @Override diff --git a/src/main/java/org/seagrid/desktop/ui/prestageupload/PrestageUploadWindow.java b/src/main/java/org/seagrid/desktop/ui/prestageupload/PrestageUploadWindow.java new file mode 100644 index 0000000..54e543a --- /dev/null +++ b/src/main/java/org/seagrid/desktop/ui/prestageupload/PrestageUploadWindow.java @@ -0,0 +1,66 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + */ +package org.seagrid.desktop.ui.prestageupload; + +import javafx.application.Application; +import javafx.fxml.FXMLLoader; +import javafx.scene.Parent; +import javafx.scene.Scene; +import javafx.stage.Modality; +import javafx.stage.Stage; +import org.seagrid.desktop.ui.experiment.create.ExperimentCreateWindow; +import org.seagrid.desktop.ui.prestageupload.controller.PrestageUploadController; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; + +public class PrestageUploadWindow extends Application{ + private final static Logger logger = LoggerFactory.getLogger(PrestageUploadWindow.class); + + private static Stage createPrimaryStage; + + @Override + public void start(Stage primaryStage) throws Exception { + Parent root = FXMLLoader.load(getClass().getResource("/views/prestageupload/upload-files.fxml")); + primaryStage.setTitle("SEAGrid Desktop Client - Prestage Upload"); + primaryStage.setScene(new Scene(root, 400, 150)); + primaryStage.show(); + } + + public static void displayUploadFiles() throws IOException { + if(createPrimaryStage == null || !createPrimaryStage.isShowing()) { + createPrimaryStage = new Stage(); + FXMLLoader loader = new FXMLLoader(ExperimentCreateWindow.class.getResource( + "/views/prestageupload/upload-files.fxml")); + Parent root = loader.load(); + createPrimaryStage.setTitle("SEAGrid Desktop Client - Prestage Upload"); + createPrimaryStage.setScene(new Scene(root, 400, 150)); + createPrimaryStage.initModality(Modality.WINDOW_MODAL); + createPrimaryStage.show(); + } + createPrimaryStage.requestFocus(); + } + + public static void main(String[] args) { + launch(args); + } +} \ No newline at end of file diff --git a/src/main/java/org/seagrid/desktop/ui/prestageupload/controller/PrestageUploadController.java b/src/main/java/org/seagrid/desktop/ui/prestageupload/controller/PrestageUploadController.java new file mode 100644 index 0000000..09a0a5c --- /dev/null +++ b/src/main/java/org/seagrid/desktop/ui/prestageupload/controller/PrestageUploadController.java @@ -0,0 +1,57 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + */ +package org.seagrid.desktop.ui.prestageupload.controller; + +import javafx.fxml.FXML; +import javafx.scene.control.Button; +import javafx.scene.layout.GridPane; +import javafx.stage.FileChooser; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.File; + +public class PrestageUploadController { + private final static Logger logger = LoggerFactory.getLogger(PrestageUploadController.class); + + @FXML + private Button pickFile; + + @FXML + private Button saveButton; + + private FileChooser fileChooser; + + @FXML + public GridPane preuploadGridPane; + + @FXML + public void initialize() { + + pickFile.setOnAction(event -> { + fileChooser = new FileChooser(); + fileChooser.setTitle("Open Resource File"); + File selectedFiles = fileChooser.showOpenDialog(null); + }); + } + + +} \ No newline at end of file diff --git a/src/main/resources/views/home/home.fxml b/src/main/resources/views/home/home.fxml index 6814c36..a2c88ed 100644 --- a/src/main/resources/views/home/home.fxml +++ b/src/main/resources/views/home/home.fxml @@ -156,6 +156,11 @@ + + + + + + + + + + + + + From 3dfa6b1876ba148d709b0f645310b435f60d0040 Mon Sep 17 00:00:00 2001 From: karankotz Date: Tue, 18 Sep 2018 01:16:52 -0400 Subject: [PATCH 4/4] Updated test screenshot jenkins --- screenshots/Jenkins_Test_Develop_Branch.PNG | Bin 0 -> 45463 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 screenshots/Jenkins_Test_Develop_Branch.PNG diff --git a/screenshots/Jenkins_Test_Develop_Branch.PNG b/screenshots/Jenkins_Test_Develop_Branch.PNG new file mode 100644 index 0000000000000000000000000000000000000000..8e16f636e578b00a0c6fadab60e0286c51158f9f GIT binary patch literal 45463 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