From 26ef9ba727a44ced249184ddc1137a44ae47dd1f Mon Sep 17 00:00:00 2001 From: Dean Mosley Date: Sat, 10 Sep 2022 23:54:26 -0500 Subject: [PATCH 01/10] implemented print jobs --- build.gradle | 3 ++- src/main/java/JobData.java | 2 +- src/main/java/TechJobs.java | 53 ++++++++++++++++++++++++++++++++++--- 3 files changed, 53 insertions(+), 5 deletions(-) diff --git a/build.gradle b/build.gradle index f0ddbb6..2353d8e 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ plugins { group 'org.launchcode' version '1.0-SNAPSHOT' -sourceCompatibility = 1.8 +sourceCompatibility = 11 repositories { mavenCentral() @@ -15,3 +15,4 @@ dependencies { testCompile group: 'junit', name: 'junit', version: '4.12' implementation('org.apache.commons:commons-csv:1.4') } +targetCompatibility = JavaVersion.VERSION_11 diff --git a/src/main/java/JobData.java b/src/main/java/JobData.java index 4f835d3..3876e96 100644 --- a/src/main/java/JobData.java +++ b/src/main/java/JobData.java @@ -94,7 +94,7 @@ public static ArrayList> findByColumnAndValue(String col * @return List of all jobs with at least one field containing the value */ public static ArrayList> findByValue(String value) { - + // load data, if not already loaded loadData(); diff --git a/src/main/java/TechJobs.java b/src/main/java/TechJobs.java index 099f4ef..0d4a9b5 100644 --- a/src/main/java/TechJobs.java +++ b/src/main/java/TechJobs.java @@ -1,3 +1,6 @@ +import java.io.BufferedReader; +import java.io.FileReader; +import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; @@ -9,8 +12,9 @@ public class TechJobs { static Scanner in = new Scanner(System.in); + private static ArrayList> someJobs; - public static void main (String[] args) { + public static void main(String[] args) { // Initialize our field map with key/name pairs HashMap columnChoices = new HashMap<>(); @@ -60,6 +64,7 @@ public static void main (String[] args) { // What is their search term? System.out.println("\nSearch term:"); String searchTerm = in.nextLine(); +// System.out.println(searchTerm); if (searchField.equals("all")) { printJobs(JobData.findByValue(searchTerm)); @@ -112,14 +117,56 @@ private static String getUserSelection(String menuHeader, HashMap> someJobs) { +// HashMap columnChoices = new HashMap<>(); +// String path = "src//main//resources//job_data.csv"; +// System.out.println(path); +// BufferedReader reader = null; +// String line = ""; + + if (someJobs.isEmpty()) { + System.out.println("Invalid entry"); + } else { + for (HashMap sJobs : someJobs) { + System.out.println("***** \n"); + for (Map.Entry sJob : sJobs.entrySet()) { + System.out.println(sJob.getKey() + " : " + sJob.getValue()); + } + } - System.out.println("printJobs is not implemented yet"); +// try { +// reader = new BufferedReader(new FileReader(path)); +// while ((line = reader.readLine()) != null) { +// String[] row = line.split(","); +//// String [] column = line.split("\n"); +// System.out.println("*****" + "\n" + "position type: " + row[3] + "\n" + "name: " + row[0] + "\n" + "employer: " + row[1] + "\n" + "location: " + row[2] + "\n" + "core competency: " + row[4] + "\n" + "*****" + "\n"); +//// for (String index : row ){ +////// System.out.printf("%-10s", "\n" + index); +////// for (String indexes : row) { +//// System.out.printf(index[0] + "\n" + ": "); +//// } +// } +// System.out.println(); +// } catch (Exception e) { +// e.printStackTrace(); +// } finally { +// try { +// reader.close(); +// } catch (IOException e) { +// e.printStackTrace(); +// } +// } +//return someJobs; + } } } +// public static void setSomeJobs(Object someJobs) { +// TechJobs.someJobs = (ArrayList>) someJobs; +// } +//} From ca650f71bc5f01789aaf07fae7be7539eb162983 Mon Sep 17 00:00:00 2001 From: Dean Mosley Date: Sun, 11 Sep 2022 00:27:27 -0500 Subject: [PATCH 02/10] created findByValue --- src/main/java/JobData.java | 67 +++++++++++++++++++++++++++++--------- 1 file changed, 51 insertions(+), 16 deletions(-) diff --git a/src/main/java/JobData.java b/src/main/java/JobData.java index 3876e96..df62458 100644 --- a/src/main/java/JobData.java +++ b/src/main/java/JobData.java @@ -5,10 +5,7 @@ import java.io.FileReader; import java.io.IOException; import java.io.Reader; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; +import java.util.*; /** * Created by LaunchCode @@ -48,6 +45,12 @@ public static ArrayList findAll(String field) { return values; } +// private static void loadData() { +// if (isDataLoaded) { +// return; +// } +// } + public static ArrayList> findAll() { // load data, if not already loaded @@ -91,16 +94,28 @@ public static ArrayList> findByColumnAndValue(String col * Search all columns for the given term * * @param value The search term to look for - * @return List of all jobs with at least one field containing the value + * @return List of all jobs with at least one field containing the value */ - public static ArrayList> findByValue(String value) { - - // load data, if not already loaded - loadData(); - - // TODO - implement this method - return null; - } +// public static ArrayList> findByValue(String value) { +// +// // load data, if not already loaded +// loadData(); +// for (HashMap job : allJobs) { +// +// for (Map.Entry values : job.entrySet()) { +// +// String aValue = values.getValue().toLowerCase(); +// +// HashSet> jobs = new HashSet<>(); +// if (aValue.contains(value)) { +// jobs.add(job); +// break; +// +// } +// +// // TODO - implement this method +// return jobs; +// } /** * Read in data from a CSV file and store it in a list @@ -140,7 +155,27 @@ private static void loadData() { } catch (IOException e) { System.out.println("Failed to load job data"); e.printStackTrace(); - } - } + }} + public static ArrayList> findByValue(String value) { -} + // load data, if not already loaded + loadData(); + for (HashMap job : allJobs) { + + for (Map.Entry values : job.entrySet()) { + + String aValue = values.getValue().toLowerCase(); + + HashSet> jobs = new HashSet<>(); + if (aValue.contains(value)) { + jobs.add(job); + break; + + } + + // TODO - implement this method +// return jobs; + } + } + return null; + }} From 51ffde07554631d44500a871a4393ee1822391bb Mon Sep 17 00:00:00 2001 From: Dean Mosley Date: Sun, 11 Sep 2022 22:29:59 -0500 Subject: [PATCH 03/10] fixed findbyvalue --- src/main/java/JobData.java | 24 ++++++++++-------------- src/main/java/TechJobs.java | 8 +++----- 2 files changed, 13 insertions(+), 19 deletions(-) diff --git a/src/main/java/JobData.java b/src/main/java/JobData.java index df62458..603aed3 100644 --- a/src/main/java/JobData.java +++ b/src/main/java/JobData.java @@ -160,22 +160,18 @@ public static ArrayList> findByValue(String value) { // load data, if not already loaded loadData(); - for (HashMap job : allJobs) { - - for (Map.Entry values : job.entrySet()) { - - String aValue = values.getValue().toLowerCase(); - - HashSet> jobs = new HashSet<>(); - if (aValue.contains(value)) { - jobs.add(job); - break; + ArrayList> jobs = new ArrayList<>(); + for (HashMap row : allJobs) { + String aValue = row.toString(); + if ((aValue.toLowerCase()).contains(value.toLowerCase())){ + jobs.add(row); - } + } // TODO - implement this method // return jobs; } - } - return null; - }} + return jobs; + } +// break; +} diff --git a/src/main/java/TechJobs.java b/src/main/java/TechJobs.java index 0d4a9b5..97a8f04 100644 --- a/src/main/java/TechJobs.java +++ b/src/main/java/TechJobs.java @@ -1,10 +1,7 @@ import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Map; -import java.util.Scanner; +import java.util.*; /** * Created by LaunchCode @@ -67,7 +64,7 @@ public static void main(String[] args) { // System.out.println(searchTerm); if (searchField.equals("all")) { - printJobs(JobData.findByValue(searchTerm)); + printJobs(Objects.requireNonNull(JobData.findByValue(searchTerm))); } else { printJobs(JobData.findByColumnAndValue(searchField, searchTerm)); } @@ -138,6 +135,7 @@ private static void printJobs(ArrayList> someJobs) { for (Map.Entry sJob : sJobs.entrySet()) { System.out.println(sJob.getKey() + " : " + sJob.getValue()); } + break; } // try { From 4563152d91dc313d60470ca437eefb4d0543ba2f Mon Sep 17 00:00:00 2001 From: Dean Mosley Date: Sun, 11 Sep 2022 23:05:06 -0500 Subject: [PATCH 04/10] why cant i get these tests to passgit status --- src/main/java/JobData.java | 4 ++-- src/main/java/TechJobs.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/JobData.java b/src/main/java/JobData.java index 603aed3..5007524 100644 --- a/src/main/java/JobData.java +++ b/src/main/java/JobData.java @@ -80,9 +80,9 @@ public static ArrayList> findByColumnAndValue(String col for (HashMap row : allJobs) { - String aValue = row.get(column); + String aValue = row.get(column).toLowerCase(); - if (aValue.contains(value)) { + if (aValue.contains(value.toLowerCase())) { jobs.add(row); } } diff --git a/src/main/java/TechJobs.java b/src/main/java/TechJobs.java index 97a8f04..5adfcc5 100644 --- a/src/main/java/TechJobs.java +++ b/src/main/java/TechJobs.java @@ -9,7 +9,7 @@ public class TechJobs { static Scanner in = new Scanner(System.in); - private static ArrayList> someJobs; +// private static ArrayList> someJobs; public static void main(String[] args) { From 58ebaeecab305083fda89e8b4e9210646bcfd8ed Mon Sep 17 00:00:00 2001 From: "Dean W. Mosley" Date: Mon, 12 Sep 2022 14:45:43 -0500 Subject: [PATCH 05/10] Create gradle.yml --- .github/workflows/gradle.yml | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 .github/workflows/gradle.yml diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml new file mode 100644 index 0000000..170ef7b --- /dev/null +++ b/.github/workflows/gradle.yml @@ -0,0 +1,34 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. +# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time +# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle + +name: Java CI with Gradle + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +permissions: + contents: read + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Set up JDK 11 + uses: actions/setup-java@v3 + with: + java-version: '11' + distribution: 'temurin' + - name: Build with Gradle + uses: gradle/gradle-build-action@67421db6bd0bf253fb4bd25b31ebb98943c375e1 + with: + arguments: build From 62780a2b6824de7dab6f67eb65910040e0c45834 Mon Sep 17 00:00:00 2001 From: Dean Mosley Date: Tue, 13 Sep 2022 19:53:49 -0500 Subject: [PATCH 06/10] fixed tech jobs --- src/main/java/TechJobs.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/java/TechJobs.java b/src/main/java/TechJobs.java index 5adfcc5..86405aa 100644 --- a/src/main/java/TechJobs.java +++ b/src/main/java/TechJobs.java @@ -126,15 +126,18 @@ private static void printJobs(ArrayList> someJobs) { // System.out.println(path); // BufferedReader reader = null; // String line = ""; + System.out.printf("\n"); if (someJobs.isEmpty()) { - System.out.println("Invalid entry"); + System.out.printf("Invalid entry"); } else { for (HashMap sJobs : someJobs) { - System.out.println("***** \n"); + System.out.printf("*****\n"); for (Map.Entry sJob : sJobs.entrySet()) { - System.out.println(sJob.getKey() + " : " + sJob.getValue()); + System.out.println(sJob.getKey() + ": " + sJob.getValue()); } + System.out.printf("*****\n"); + break; } From 763347e63b313f1015219c88848da1085ac694bf Mon Sep 17 00:00:00 2001 From: Dean Mosley Date: Tue, 13 Sep 2022 20:04:14 -0500 Subject: [PATCH 07/10] fixed errors --- src/main/java/TechJobs.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/TechJobs.java b/src/main/java/TechJobs.java index 86405aa..1ca6fdd 100644 --- a/src/main/java/TechJobs.java +++ b/src/main/java/TechJobs.java @@ -126,17 +126,20 @@ private static void printJobs(ArrayList> someJobs) { // System.out.println(path); // BufferedReader reader = null; // String line = ""; - System.out.printf("\n"); + System.out.print("\n"); if (someJobs.isEmpty()) { - System.out.printf("Invalid entry"); + System.out.print("Invalid entry"); } else { for (HashMap sJobs : someJobs) { - System.out.printf("*****\n"); + System.out.print("*****"); + System.out.print("\n"); for (Map.Entry sJob : sJobs.entrySet()) { System.out.println(sJob.getKey() + ": " + sJob.getValue()); } - System.out.printf("*****\n"); + System.out.print("*****"); + System.out.print("\n"); + break; } From 205deb32930ff8e6b4afa5a128e2bac94d6dad65 Mon Sep 17 00:00:00 2001 From: deanw Date: Thu, 22 Sep 2022 19:22:48 -0500 Subject: [PATCH 08/10] "fixed tech jobs" --- src/main/java/JobData.java | 9 ++++----- src/main/java/TechJobs.java | 8 ++++---- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/main/java/JobData.java b/src/main/java/JobData.java index 5007524..ae033f7 100644 --- a/src/main/java/JobData.java +++ b/src/main/java/JobData.java @@ -162,12 +162,11 @@ public static ArrayList> findByValue(String value) { loadData(); ArrayList> jobs = new ArrayList<>(); for (HashMap row : allJobs) { - String aValue = row.toString(); - if ((aValue.toLowerCase()).contains(value.toLowerCase())){ + for (String key : row.keySet()) { + String aValue = row.get(key); + if (aValue.toLowerCase().contains(value.toLowerCase())){ jobs.add(row); - - } - + }} // TODO - implement this method // return jobs; } diff --git a/src/main/java/TechJobs.java b/src/main/java/TechJobs.java index 1ca6fdd..1719793 100644 --- a/src/main/java/TechJobs.java +++ b/src/main/java/TechJobs.java @@ -79,7 +79,7 @@ private static String getUserSelection(String menuHeader, HashMap> someJobs) { // System.out.println(path); // BufferedReader reader = null; // String line = ""; - System.out.print("\n"); +// System.out.print("\n"); if (someJobs.isEmpty()) { - System.out.print("Invalid entry"); + System.out.print("No Results"); } else { for (HashMap sJobs : someJobs) { - System.out.print("*****"); + System.out.print("\n*****"); System.out.print("\n"); for (Map.Entry sJob : sJobs.entrySet()) { System.out.println(sJob.getKey() + ": " + sJob.getValue()); From 2633d41d2a545862431a5cc834de689784f83fed Mon Sep 17 00:00:00 2001 From: deanw Date: Thu, 22 Sep 2022 19:35:11 -0500 Subject: [PATCH 09/10] "fixed tech jobs" --- src/main/java/JobData.java | 64 ++++++++++++++++++-------------------- 1 file changed, 30 insertions(+), 34 deletions(-) diff --git a/src/main/java/JobData.java b/src/main/java/JobData.java index ae033f7..d187689 100644 --- a/src/main/java/JobData.java +++ b/src/main/java/JobData.java @@ -96,26 +96,21 @@ public static ArrayList> findByColumnAndValue(String col * @param value The search term to look for * @return List of all jobs with at least one field containing the value */ -// public static ArrayList> findByValue(String value) { -// -// // load data, if not already loaded -// loadData(); -// for (HashMap job : allJobs) { -// -// for (Map.Entry values : job.entrySet()) { -// -// String aValue = values.getValue().toLowerCase(); -// -// HashSet> jobs = new HashSet<>(); -// if (aValue.contains(value)) { -// jobs.add(job); -// break; -// -// } + public static ArrayList> findByValue(String value) { // -// // TODO - implement this method + loadData(); + ArrayList> jobs = new ArrayList<>(); + for (HashMap row : allJobs) { + for (String key : row.keySet()) { + String aValue = row.get(key); + if (aValue.toLowerCase().contains(value.toLowerCase())){ + jobs.add(row); + break; + }} + // TODO - implement this method // return jobs; -// } + } + return jobs;} /** * Read in data from a CSV file and store it in a list @@ -156,21 +151,22 @@ private static void loadData() { System.out.println("Failed to load job data"); e.printStackTrace(); }} - public static ArrayList> findByValue(String value) { - - // load data, if not already loaded - loadData(); - ArrayList> jobs = new ArrayList<>(); - for (HashMap row : allJobs) { - for (String key : row.keySet()) { - String aValue = row.get(key); - if (aValue.toLowerCase().contains(value.toLowerCase())){ - jobs.add(row); - }} - // TODO - implement this method -// return jobs; - } - return jobs; - } +// public static ArrayList> findByValue(String value) { +// +// // load data, if not already loaded +// loadData(); +// ArrayList> jobs = new ArrayList<>(); +// for (HashMap row : allJobs) { +// for (String key : row.keySet()) { +// String aValue = row.get(key); +// if (aValue.toLowerCase().contains(value.toLowerCase())){ +// jobs.add(row); +// break; +// }} +// // TODO - implement this method +//// return jobs; +// } +// return jobs; +// } // break; } From 17dceb0f526cf3ce08dd0d5f26af1c76b877f874 Mon Sep 17 00:00:00 2001 From: deanw Date: Sun, 25 Sep 2022 20:29:26 -0500 Subject: [PATCH 10/10] "fixed tech jobs" --- src/main/java/TechJobs.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/main/java/TechJobs.java b/src/main/java/TechJobs.java index 1719793..79b1f2b 100644 --- a/src/main/java/TechJobs.java +++ b/src/main/java/TechJobs.java @@ -139,9 +139,6 @@ private static void printJobs(ArrayList> someJobs) { } System.out.print("*****"); System.out.print("\n"); - - - break; } // try {