diff --git a/src/main/java/com/application/Credentials.java b/src/main/java/com/application/Credentials.java new file mode 100644 index 0000000000000000000000000000000000000000..7f1a1f68b7582cf0ac55fe6facac6fbf8016737b --- /dev/null +++ b/src/main/java/com/application/Credentials.java @@ -0,0 +1,5 @@ +package com.application; + +public class Credentials { + String projectId = "MY_PROJECT_ID"; +} diff --git a/src/main/java/com/application/DataBase/Authentication.java b/src/main/java/com/application/DataBase/Authentication.java new file mode 100644 index 0000000000000000000000000000000000000000..76edde36c20616357ea681d0adcdfb25b98f73bf --- /dev/null +++ b/src/main/java/com/application/DataBase/Authentication.java @@ -0,0 +1,44 @@ +package com.application.DataBase; + +import com.application.Credentials; +import com.google.auth.oauth2.GoogleCredentials; +import com.google.auth.oauth2.ServiceAccountCredentials; +import com.google.cloud.bigquery.BigQuery; +import com.google.cloud.bigquery.BigQueryOptions; +import com.google.cloud.bigquery.Dataset; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; + +public class Authentication{ + + public static void explicit() throws IOException { + // TODO(developer): Replace these variables before running the sample. + String projectId = String.valueOf(new Credentials()); + File credentialsPath = new File(".\\src\\main\\resources\\com.application\\sf-drying-optimization-1e234ad2b0f4.json"); + + // Load credentials from JSON key file. If you can't set the GOOGLE_APPLICATION_CREDENTIALS + // environment variable, you can explicitly load the credentials file to construct the + // credentials. + GoogleCredentials credentials; + try (FileInputStream serviceAccountStream = new FileInputStream(credentialsPath)) { + credentials = ServiceAccountCredentials.fromStream(serviceAccountStream); + } + + // Instantiate a client. + BigQuery bigquery = + BigQueryOptions.newBuilder() + .setCredentials(credentials) + .setProjectId(projectId) + .build() + .getService(); + + // Use the client. + System.out.println("Datasets:"); + for (Dataset dataset : bigquery.listDatasets().iterateAll()) { + System.out.printf("%s%n", dataset.getDatasetId().getDataset()); + } + } + +} diff --git a/src/main/java/com/application/Main.java b/src/main/java/com/application/Main.java index b0e9ece06540bd8f1ea184e556fe3cffd11f048f..c23bf1101443579ff4e44251fcf8992c57cfaf41 100644 --- a/src/main/java/com/application/Main.java +++ b/src/main/java/com/application/Main.java @@ -1,17 +1,24 @@ package com.application; +import com.application.DataBase.Authentication; import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.stage.Stage; + +import java.io.IOException; +import java.nio.file.Paths; import java.util.Objects; +import static com.application.DataBase.Authentication.explicit; + public class Main extends Application { Button button; - public static void main(String[] args) { + public static void main(String[] args) throws IOException { //System.out.println("Hello world!"); + //Authentication test = explicit(); launch(args); } diff --git a/target/classes/com.application/sf-drying-optimization-1e234ad2b0f4.json b/target/classes/com.application/sf-drying-optimization-1e234ad2b0f4.json new file mode 100644 index 0000000000000000000000000000000000000000..944459294ab7f3712fa6454b5ad78b677bf2b191 --- /dev/null +++ b/target/classes/com.application/sf-drying-optimization-1e234ad2b0f4.json @@ -0,0 +1,12 @@ +{ + "type": "service_account", + "project_id": "sf-drying-optimization", + "private_key_id": "1e234ad2b0f42caff46c54993f72e6ed7a6e47f5", + "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC9uUivxQCvsUYW\nM2GCJaioM4/KdHIhkgbtGFKtYacQcvJaE1z9RsgTBThWAYXblkigptJ9pCOPIpFR\naqDGujua7+bEm37eQ8pEAPiiSHqNWaevzSjS9OZ8vLD+0AdDy17HuL1KjnR6vJi6\nBRfVfvu3DtzxJbsUutxTwjDTUIZqg6QLeRja0sfa5r1lbqJ6o/uK99fYi3cuW9XW\nbK5czMROw+lNeVU9S2B/5EfezeD+Qtt0hPL6IVdz5oCtbQY9Sj/C+N+tyjPYYXKG\neEZhfvVZOmilIyTupXH+5CJfezxYP6Weg0nD8a6Zt71FSces82PufCU/swiEgh9/\n9zv+anPrAgMBAAECggEAJxcI6eY+OPTeiu51NbqKoHVXOBB7/3y13p33Uu/e2x3D\n31lD/I9b48dcjyPrL44sUqVskySBixlFNbAxhiCS7V5mfrXHEwaGozJMCCvEzGDf\nkvJDagu5fZPnJ+k2xfoeAiqHHdhyGWPIV/N6sKtkM5hlX241uJSzlrJZGwDpYQJ5\na2s5YIw+wLZ90Ybj/V7mvZ0UFLDJV6JztIg1pxSC0CTA7Fz6oZdwIKytBGcYSved\n8tkVPufkL7LtYoNZFrzkgPrTBpm0Teq+XUpCazIySEcOBySbdlhdhMf66nawY1Tx\nRsRUxTtWuFrtDl3XIFOv8C1iAtDiPA4b4Yb8sTR2eQKBgQDuz7xvxYeZdzyFWZlI\nQRVvJAYWT2p2bhImSA9I097B8mWtQ/TY5qankwFcuP+nu3u2MKYRszPrIt5eoH73\nMFi2cqMHOVmsx8JALG4vWlkNNKier06JnuJjH6hh5nQBU+cFuhkHIVfbjBnCiSz8\nizIZxeFG88JfqZFVBR6OIpYyzQKBgQDLYRLQGseonf8Rdv5oRLAL49Q+NnimC2Mo\n7io+DqlhbTFWxE0M6DUZO9C+MesHHSCmw3ZgqT6ykQPxCKZ6ZLQzQzDRqNi+4vy7\n2+BFwKqvUIJtMP0cLNMBRpsjmYMXQqhHGFAHuDsRyyKu0YTUayEB4/MBBnoqnC48\nygBudP5xlwKBgQDQTBu1dhqHTkxYl8UuE66paUdx8EURFYL5JwNF5581lcL/9PU8\ntzoHkh6vDKHZYJtQV3CSobcYUiqZaO41l1LZmHYAmBJStU4GgXp+DRT9gr/M4WXk\nfdRC11scQVFP0yn/gcnQwVGLqtDRMKsvgA3sEwAizfztSc781GFJYnuVxQKBgQCC\npQoDuqA1FcFLA8hrTGxWRvUJPc6Ew13gZhWmpZ5y4kTGevUP7H5nhkASXVifyjs2\nROtfLnkDFhqVFDx09Qm4wFm05KTPAlrdhmHsDNbYJXyTDdwZ5EVrVWLFHJDUOVKF\n0P1f6B2x0W6nJBoSpfqfD0IDj5iclJUzIYPjcK4eYwKBgFfUiZhVj4cWPb1k2MJf\nXC0LBmFgqiW9w4rXfyEXtRSRbO4661TvVHw66SF09hwzz/+MW2R7HLi1IWZNyRF3\nXw39WtI8bmUsLTJbH6gshanmu8cSPLBt82WlRd6gS+SMxyZ65wY/kt9adfIolefm\nICsfIETnkHRpwF3RurchKfjk\n-----END PRIVATE KEY-----\n", + "client_email": "svc-students-sf-drying-opt@sf-drying-optimization.iam.gserviceaccount.com", + "client_id": "106308201919438112497", + "auth_uri": "https://accounts.google.com/o/oauth2/auth", + "token_uri": "https://oauth2.googleapis.com/token", + "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", + "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/svc-students-sf-drying-opt%40sf-drying-optimization.iam.gserviceaccount.com" +} diff --git a/target/classes/com/application/DataBase/Authentication.class b/target/classes/com/application/DataBase/Authentication.class new file mode 100644 index 0000000000000000000000000000000000000000..1c24a29d0486c9f6a5e96e7aab2e56836ed64a19 Binary files /dev/null and b/target/classes/com/application/DataBase/Authentication.class differ diff --git a/target/classes/com/application/Main.class b/target/classes/com/application/Main.class index eb18a797bdc462372cca23ffe5d5f8827b0f3610..7d55c32207fc5bd82f4e0c84a73f2cd7f65254af 100644 Binary files a/target/classes/com/application/Main.class and b/target/classes/com/application/Main.class differ