Skip to content

Commit c490464

Browse files
Merge branch 'code-differently:main' into lesson_12
2 parents 40c30d1 + abb394d commit c490464

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+7853
-5
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: Check Lesson 13 Java Pull Request
2+
3+
on:
4+
pull_request:
5+
branches: [ "main" ]
6+
paths:
7+
- "lesson_13/maps_java/**"
8+
9+
jobs:
10+
build:
11+
12+
runs-on: ubuntu-latest
13+
permissions:
14+
contents: read
15+
16+
steps:
17+
- uses: actions/checkout@v4
18+
19+
- name: Set up JDK
20+
uses: actions/setup-java@v4
21+
with:
22+
java-version: '21'
23+
distribution: 'temurin'
24+
25+
- name: Build Lesson 13 with Java
26+
working-directory: ./lesson_13/maps_java
27+
run: ./gradlew check
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Check Lesson 13 TS Pull Request
2+
3+
on:
4+
pull_request:
5+
branches: [ "main" ]
6+
paths:
7+
- "lesson_13/maps_ts/**"
8+
9+
jobs:
10+
build:
11+
12+
runs-on: ubuntu-latest
13+
permissions:
14+
contents: read
15+
16+
steps:
17+
- uses: actions/checkout@v4
18+
19+
- name: Use Node.js
20+
uses: actions/setup-node@v4
21+
with:
22+
node-version: '20.x'
23+
24+
- name: Build Lesson 13 with Node.js
25+
working-directory: ./lesson_13/maps_ts
26+
run: |
27+
npm ci
28+
npm run check

.github/workflows/check_push.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ on:
1515
- "lesson_10/libraries/**"
1616
- "lesson_11/arrays_java/**"
1717
- "lesson_11/arrays_ts/**"
18+
- "lesson_12/structs_java/**"
19+
- "lesson_12/structs_ts/**"
20+
- "lesson_13/maps_java/**"
21+
- "lesson_13/maps_ts/**"
1822
jobs:
1923
build:
2024
runs-on: ubuntu-latest
@@ -117,3 +121,23 @@ jobs:
117121
run: |
118122
npm ci
119123
npm run compile
124+
125+
- name: Build Lesson 12 with Java
126+
working-directory: ./lesson_12/structs_java
127+
run: ./gradlew assemble
128+
129+
- name: Build Lesson 12 with Node.js
130+
working-directory: ./lesson_12/structs_ts
131+
run: |
132+
npm ci
133+
npm run compile
134+
135+
- name: Build Lesson 13 with Java
136+
working-directory: ./lesson_13/maps_java
137+
run: ./gradlew assemble
138+
139+
- name: Build Lesson 13 with Node.js
140+
working-directory: ./lesson_13/maps_ts
141+
run: |
142+
npm ci
143+
npm run compile
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package com.codedifferently.lesson9.dataprovider;
2+
3+
import java.util.Map;
4+
import org.springframework.stereotype.Service;
5+
6+
@Service
7+
public class MontezBrProvider extends DataProvider {
8+
public String getProviderName() {
9+
return "montezb";
10+
}
11+
12+
public Map<String, Class> getColumnTypeByName() {
13+
return Map.of(
14+
"column1", Float.class,
15+
"column2", Short.class,
16+
"column3", Boolean.class,
17+
"column4", Integer.class,
18+
"column5", Long.class,
19+
"column6", Double.class,
20+
"column7", String.class);
21+
}
22+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package com.codedifferently.lesson9.dataprovider;
2+
3+
import java.util.Map;
4+
import org.springframework.stereotype.Service;
5+
6+
@Service
7+
public class OliviaJamesProvider extends DataProvider {
8+
9+
public String getProviderName() {
10+
11+
return "oliviajames";
12+
}
13+
14+
public Map<String, Class> getColumnTypeByName() {
15+
return Map.of(
16+
"column1", String.class,
17+
"column2", Double.class,
18+
"column3", Long.class,
19+
"column4", Short.class,
20+
"column5", Integer.class,
21+
"column6", Float.class,
22+
"column7", Boolean.class);
23+
}
24+
}
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
[
2+
{
3+
"column1": "1.863895E38",
4+
"column2": "6998",
5+
"column3": "true",
6+
"column4": "1269627853",
7+
"column5": "5820458545739166720",
8+
"column6": "1.436185005130375E308",
9+
"column7": "ye25g"
10+
},
11+
{
12+
"column1": "2.2073703E38",
13+
"column2": "31051",
14+
"column3": "false",
15+
"column4": "195099502",
16+
"column5": "7823978771683994624",
17+
"column6": "1.703004837906517E308",
18+
"column7": "yibn0"
19+
},
20+
{
21+
"column1": "3.3211768E38",
22+
"column2": "27056",
23+
"column3": "false",
24+
"column4": "557211270",
25+
"column5": "3555070442975083008",
26+
"column6": "1.6667231001500445E308",
27+
"column7": "z7flxj9ih"
28+
},
29+
{
30+
"column1": "1.6676249E38",
31+
"column2": "11188",
32+
"column3": "true",
33+
"column4": "1364839748",
34+
"column5": "5247280208224276480",
35+
"column6": "5.573864411176169E307",
36+
"column7": "703typ2qsxni"
37+
},
38+
{
39+
"column1": "2.3070655E38",
40+
"column2": "25660",
41+
"column3": "false",
42+
"column4": "991280458",
43+
"column5": "4047343583020718592",
44+
"column6": "9.819210694336025E306",
45+
"column7": "4z7wnu"
46+
},
47+
{
48+
"column1": "3.4997513E37",
49+
"column2": "7615",
50+
"column3": "true",
51+
"column4": "681995715",
52+
"column5": "2643907710975564800",
53+
"column6": "5.146227084316043E307",
54+
"column7": "cwe5vf8"
55+
},
56+
{
57+
"column1": "1.517785E38",
58+
"column2": "2489",
59+
"column3": "true",
60+
"column4": "2090041544",
61+
"column5": "3217921269451220480",
62+
"column6": "5.74053698522329E307",
63+
"column7": "2bt47x8dpyw"
64+
},
65+
{
66+
"column1": "8.259404E37",
67+
"column2": "2148",
68+
"column3": "false",
69+
"column4": "1134389096",
70+
"column5": "4917746663066431488",
71+
"column6": "1.5187138866355861E308",
72+
"column7": "t3ocnadzx1l5"
73+
},
74+
{
75+
"column1": "2.9935023E38",
76+
"column2": "2652",
77+
"column3": "true",
78+
"column4": "515853127",
79+
"column5": "1803397750918669056",
80+
"column6": "4.686361471260443E307",
81+
"column7": "lsi2w6z"
82+
},
83+
{
84+
"column1": "1.8579561E38",
85+
"column2": "31546",
86+
"column3": "false",
87+
"column4": "1894352427",
88+
"column5": "7812610742153510912",
89+
"column6": "1.4053257217166533E308",
90+
"column7": "xma7jpqg"
91+
}
92+
]
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
[
2+
{
3+
"column1": "nz5xtf",
4+
"column2": "1.197797482238104E308",
5+
"column3": "6776285359612816384",
6+
"column4": "12839",
7+
"column5": "716029217",
8+
"column6": "1.8966081E38",
9+
"column7": "false"
10+
},
11+
{
12+
"column1": "ev589",
13+
"column2": "5.750856912711028E307",
14+
"column3": "2375177690879723520",
15+
"column4": "30440",
16+
"column5": "610940561",
17+
"column6": "2.2582356E38",
18+
"column7": "false"
19+
},
20+
{
21+
"column1": "vtzc0e",
22+
"column2": "1.2119198189037794E308",
23+
"column3": "7310746682471859200",
24+
"column4": "25379",
25+
"column5": "772305514",
26+
"column6": "9.970872E37",
27+
"column7": "true"
28+
},
29+
{
30+
"column1": "2trpkdb9omz",
31+
"column2": "3.197488851050967E307",
32+
"column3": "3019966835606569984",
33+
"column4": "7849",
34+
"column5": "109652160",
35+
"column6": "1.7385883E38",
36+
"column7": "false"
37+
},
38+
{
39+
"column1": "wtzmnj6",
40+
"column2": "1.074399324465288E308",
41+
"column3": "3590360280136418816",
42+
"column4": "18251",
43+
"column5": "1765426537",
44+
"column6": "3.0557306E38",
45+
"column7": "true"
46+
},
47+
{
48+
"column1": "cuekgls0",
49+
"column2": "1.5138522039300354E308",
50+
"column3": "545666802789177088",
51+
"column4": "17302",
52+
"column5": "949239854",
53+
"column6": "2.8012E38",
54+
"column7": "false"
55+
},
56+
{
57+
"column1": "rlgt1xm6",
58+
"column2": "9.964833183058719E307",
59+
"column3": "7454111030525443072",
60+
"column4": "28345",
61+
"column5": "869600527",
62+
"column6": "1.1602527E38",
63+
"column7": "false"
64+
},
65+
{
66+
"column1": "015jogt",
67+
"column2": "3.3638913008676015E307",
68+
"column3": "5664502378656301056",
69+
"column4": "29248",
70+
"column5": "2058627750",
71+
"column6": "1.9735697E38",
72+
"column7": "true"
73+
},
74+
{
75+
"column1": "4opm1va257",
76+
"column2": "1.1788429234835814E308",
77+
"column3": "7599382845915704320",
78+
"column4": "4432",
79+
"column5": "1860215346",
80+
"column6": "1.7235586E38",
81+
"column7": "true"
82+
},
83+
{
84+
"column1": "ezwd31af",
85+
"column2": "1.0539346106176145E307",
86+
"column3": "6126291837102578688",
87+
"column4": "26201",
88+
"column5": "819184575",
89+
"column6": "2.8135185E38",
90+
"column7": "true"
91+
}
92+
]
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
import csv from 'csv-parser';
2+
import fs from 'fs';
3+
import { Credit, MediaItem } from '../models/index.js';
4+
import { Loader } from './loader.js';
5+
6+
export class JBeyLoader implements Loader {
7+
getLoaderName(): string {
8+
return 'JBey';
9+
}
10+
11+
async loadData(): Promise<MediaItem[]> {
12+
const credits = await this.loadCredits();
13+
const mediaItems = await this.loadMediaItems();
14+
15+
console.log(
16+
`Loaded ${credits.length} credits and ${mediaItems.length} media items`,
17+
);
18+
19+
return [...mediaItems.values()];
20+
}
21+
22+
async loadMediaItems(): Promise<MediaItem[]> {
23+
// TODO: Implement this method.
24+
const mediaItems = [];
25+
const readable = fs
26+
.createReadStream('data/media_items.csv', 'utf-8')
27+
.pipe(csv());
28+
for await (const row of readable) {
29+
const { id, title, type, year } = row;
30+
mediaItems.push(new MediaItem(id, title, type, year, []));
31+
}
32+
return mediaItems;
33+
}
34+
35+
async loadCredits(): Promise<Credit[]> {
36+
const credits = [];
37+
const readable = fs
38+
.createReadStream('data/credits.csv', 'utf-8')
39+
.pipe(csv());
40+
for await (const row of readable) {
41+
const { media_item_id, role, name } = row;
42+
credits.push(new Credit(media_item_id, name, role));
43+
}
44+
return credits;
45+
}
46+
}

0 commit comments

Comments
 (0)