Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
94 commits
Select commit Hold shift + click to select a range
09b8a47
Implemented websocket error handler.
kellerfisch Apr 23, 2021
fb50e1b
Merge pull request #42 from Vaultionizer/feature/error_websocket
kellerfisch Apr 23, 2021
5b1a42b
Implemented update file.
kellerfisch Apr 23, 2021
ccf03bd
Merge pull request #43 from Vaultionizer/feature/update_file
kellerfisch Apr 23, 2021
e27df26
Implemented some unit tests for services.
kellerfisch May 2, 2021
ab46db7
Merge pull request #44 from Vaultionizer/testing/service_unit_test
kellerfisch May 2, 2021
fa9ada0
Changed permission aspects for spaces.
kellerfisch May 2, 2021
a29922c
Update pom.xml
jatsqi May 3, 2021
2ff2873
Create sonarcloud.yml
jatsqi May 3, 2021
55bc2c7
Update sonarcloud.yml
jatsqi May 3, 2021
0bcb0d0
Update sonarcloud.yml
jatsqi May 3, 2021
1aee381
Merge pull request #45 from Vaultionizer/feature/sonarcloud
kellerfisch May 3, 2021
5f9a386
Merge pull request #46 from Vaultionizer/master
kellerfisch May 3, 2021
f244bd8
Update README.md
kellerfisch May 3, 2021
0369822
Merge pull request #47 from Vaultionizer/Changed-api-link
jatsqi May 3, 2021
7e98a99
Update README.md
kellerfisch May 3, 2021
495b3a7
Merge pull request #48 from Vaultionizer/Badges
kellerfisch May 3, 2021
8e2b9ae
Fixed tests and included cucumba.
kellerfisch May 4, 2021
cb37c6b
Trying to make CICD tests run.
kellerfisch May 4, 2021
1cb12b6
Added space management functionality.
kellerfisch May 9, 2021
6139865
Get Cucumber tests to work #1
kellerfisch May 9, 2021
24af7c0
Update test.sh
kellerfisch May 9, 2021
c19c88e
Changed workflow.
kellerfisch May 9, 2021
4d6c415
Merge branch 'develop' of https://github.com/Vaultionizer/vault-serve…
kellerfisch May 9, 2021
02c6b99
Cucumber tests in sonarcloud.
kellerfisch May 9, 2021
2a8f9d2
Update build-test-dev-master.yml
kellerfisch May 9, 2021
68c53a4
Implemented some tests to make sonarcloud shut up...
kellerfisch May 10, 2021
27c507e
Merge branch 'feature/space_permissions' of https://github.com/Vaulti…
kellerfisch May 10, 2021
eb7c0a1
Update CucumberIntegrationTest.java
kellerfisch May 10, 2021
483a12a
Implemented more tests and get config.
kellerfisch May 10, 2021
2b482f6
Implemented cucumber tests and some additional functionality.
kellerfisch May 10, 2021
681849e
Implemented more tests and some additional functionality.
kellerfisch May 10, 2021
075ddb6
Merge pull request #49 from Vaultionizer/feature/space_permissions
kellerfisch May 10, 2021
68e717a
Moved auth to header.
kellerfisch May 14, 2021
8225e6b
Continued refactoring.
kellerfisch May 16, 2021
c897446
Fixed all tests.
kellerfisch May 16, 2021
b54a651
Adjusted REST API.
kellerfisch May 16, 2021
c2468f3
Adjusted code so that Sonarcloud is silent.
kellerfisch May 16, 2021
749c3e5
Added jacoco.
kellerfisch May 16, 2021
04fe22b
Removed code smell and changed header to xAuth
kellerfisch May 16, 2021
79a78b2
Fixed request header converter.
kellerfisch May 17, 2021
5e68eed
Merge pull request #50 from Vaultionizer/refactoring
kellerfisch May 17, 2021
1d2136c
Update SecurityConfig.java
kellerfisch May 17, 2021
aac4871
Merge pull request #51 from Vaultionizer/revert_to_normal
kellerfisch May 17, 2021
3441242
Added default constructors.
kellerfisch May 17, 2021
7ddaa42
Merge pull request #52 from Vaultionizer/fix/default_constructors
kellerfisch May 17, 2021
dac61dd
Bump jquery from 3.1.1-1 to 3.6.0
dependabot-preview[bot] Jun 10, 2021
c96296a
Bump cucumber-junit from 6.8.0 to 6.10.4
dependabot-preview[bot] Jun 10, 2021
9cc78b8
Bump junit-vintage-engine from 5.7.1 to 5.7.2
dependabot-preview[bot] Jun 10, 2021
2caaacb
Bump bootstrap from 3.3.7 to 5.0.1
dependabot-preview[bot] Jun 10, 2021
24de37a
Bump stomp-websocket from 2.3.3 to 2.3.4
dependabot-preview[bot] Jun 10, 2021
1bce6fa
Merge pull request #55 from Vaultionizer/dependabot/maven/io.cucumber…
jatsqi Jun 10, 2021
f4a1263
Merge pull request #56 from Vaultionizer/dependabot/maven/org.junit.v…
jatsqi Jun 10, 2021
da6a7b8
Merge pull request #54 from Vaultionizer/dependabot/maven/org.webjars…
jatsqi Jun 10, 2021
0422a24
Merge pull request #57 from Vaultionizer/dependabot/maven/org.webjars…
jatsqi Jun 10, 2021
f6c15c8
Merge pull request #58 from Vaultionizer/dependabot/maven/org.webjars…
jatsqi Jun 10, 2021
b002526
Bump springfox-core from 2.9.2 to 3.0.0
dependabot-preview[bot] Jun 10, 2021
cc2f50b
Bump json from 20171018 to 20210307
dependabot-preview[bot] Jun 10, 2021
1fff303
Bump sockjs-client from 1.0.2 to 1.5.1
dependabot-preview[bot] Jun 10, 2021
161dc25
Bump springfox-swagger-ui from 2.9.2 to 3.0.0
dependabot-preview[bot] Jun 10, 2021
d431ebf
Merge pull request #59 from Vaultionizer/dependabot/maven/io.springfo…
jatsqi Jun 10, 2021
ba35a96
Bump cucumber-spring from 6.8.0 to 6.10.4
dependabot-preview[bot] Jun 10, 2021
ec2f594
Merge pull request #60 from Vaultionizer/dependabot/maven/org.json-js…
jatsqi Jun 10, 2021
fad72d8
Merge pull request #61 from Vaultionizer/dependabot/maven/org.webjars…
jatsqi Jun 10, 2021
b80a249
Merge pull request #62 from Vaultionizer/dependabot/maven/io.springfo…
jatsqi Jun 10, 2021
58bb0ca
Merge pull request #63 from Vaultionizer/dependabot/maven/io.cucumber…
jatsqi Jun 10, 2021
bf4e4d8
Bump cucumber-java from 6.8.0 to 6.10.4
dependabot-preview[bot] Jun 10, 2021
3cb11fc
Bump spring-boot-starter-parent from 2.4.0-M3 to 2.5.0
dependabot-preview[bot] Jun 10, 2021
781631d
Bump springfox-swagger2 from 2.9.2 to 3.0.0
dependabot-preview[bot] Jun 10, 2021
2bd9771
Merge pull request #64 from Vaultionizer/dependabot/maven/io.cucumber…
jatsqi Jun 10, 2021
92f163a
Merge pull request #65 from Vaultionizer/dependabot/maven/org.springf…
jatsqi Jun 10, 2021
6adb923
Merge pull request #66 from Vaultionizer/dependabot/maven/io.springfo…
jatsqi Jun 10, 2021
fbf35b8
Add missing dependency.
jatsqi Jun 10, 2021
91effb1
Merge pull request #67 from Vaultionizer/fix/dependency
jatsqi Jun 10, 2021
9a8b5b3
Bump spring-boot-starter-parent from 2.5.0 to 2.5.1
dependabot-preview[bot] Jun 11, 2021
345aa67
Merge pull request #68 from Vaultionizer/dependabot/maven/org.springf…
jatsqi Jun 11, 2021
66489ee
Fixed reffile bug
kellerfisch Jun 13, 2021
f02088b
Merge pull request #69 from Vaultionizer/fix-reffile-bug
kellerfisch Jun 13, 2021
9bd8073
Bump spring-boot-starter-parent from 2.5.1 to 2.5.2
dependabot-preview[bot] Jun 25, 2021
bb1c17e
Fix SwaggerUI.
jatsqi Jun 26, 2021
2b1957d
Merge pull request #70 from Vaultionizer/dependabot/maven/org.springf…
jatsqi Jun 26, 2021
8a1e0e8
Merge pull request #71 from Vaultionizer/fix/swagger-ui
jatsqi Jun 26, 2021
f63e61a
Bump spring-tx from 5.3.8 to 5.3.9
dependabot-preview[bot] Jul 15, 2021
b2cfee2
Bump bootstrap from 5.0.1 to 5.0.2
dependabot-preview[bot] Jul 20, 2021
0ee34f0
Bump spring-boot-starter-parent from 2.5.2 to 2.5.3
dependabot-preview[bot] Jul 23, 2021
fe38a66
Bump springdoc-openapi-ui from 1.5.2 to 1.5.10
dependabot-preview[bot] Jul 28, 2021
73d0c99
Bump json from 20210307 to 20230227
dependabot[bot] Apr 14, 2023
849e8ff
Merge pull request #77 from Vaultionizer/dependabot/maven/org.json-js…
kellerfisch Apr 15, 2023
6dfa46f
Merge pull request #76 from Vaultionizer/dependabot/maven/org.springd…
kellerfisch Oct 24, 2023
2993d93
Bump org.json:json from 20230227 to 20231013
dependabot[bot] Oct 24, 2023
a0a1b26
Merge pull request #75 from Vaultionizer/dependabot/maven/org.springf…
kellerfisch Oct 24, 2023
191260f
Merge pull request #78 from Vaultionizer/dependabot/maven/org.json-js…
kellerfisch Oct 24, 2023
1540a6b
Merge pull request #74 from Vaultionizer/dependabot/maven/org.webjars…
kellerfisch Oct 24, 2023
b73a255
Merge pull request #73 from Vaultionizer/dependabot/maven/org.springf…
kellerfisch Oct 24, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions .github/workflows/build-test-dev-master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,13 @@ jobs:
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Run docker
run: docker-compose build
- name: Set up JDK 15
uses: actions/setup-java@v2
with:
java-version: '15'
distribution: 'adopt'
- name: Test code
run: |
cd scripts
ls
bash test.sh
5 changes: 5 additions & 0 deletions .github/workflows/docker-publish-develop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,11 @@ jobs:
env:
CR_PAT: ${{ secrets.CR_PAT }}

- name: Run tests
run: |
cd scripts
bash test.sh

- name: Build image
run: docker build . --file Dockerfile --tag $IMAGE_NAME

Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/docker-publish-master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,11 @@ jobs:
steps:
- uses: actions/checkout@v2

- name: Run tests
run: |
cd scripts
bash test.sh

- name: Build image
run: docker build . --file Dockerfile --tag $IMAGE_NAME

Expand Down
38 changes: 38 additions & 0 deletions .github/workflows/sonarcloud.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: SonarCloud
on:
push:
branches: [ master, develop ]
pull_request:
types: [opened, synchronize, reopened]
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Set up JDK 14
uses: actions/setup-java@v1
with:
java-version: 14
- name: Cache SonarCloud packages
uses: actions/cache@v1
with:
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar
- name: Cache Maven packages
uses: actions/cache@v1
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- name: Build and analyze
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
run: |
cd scripts
bash sonarcloud.sh

7 changes: 4 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
FROM maven:3.6.3-openjdk-14 as build_step
FROM maven:3.8.1-openjdk-15 as build_step

ADD ./pom.xml ./pom.xml
RUN mvn dependency:go-offline -B

ADD . /home/vaultionizer/project
ADD scripts/test.sh test.sh
ADD scripts/build_project_docker.sh build_project.sh
RUN bash build_project.sh

FROM openjdk:14-alpine
FROM openjdk:15-alpine
COPY --from=build_step /home/vaultionizer/vaultionizer_server.jar /home/vaultionizer/vaultionizer_server.jar
EXPOSE 443
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "/home/vaultionizer/vaultionizer_server.jar"]
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

Hey, welcome to the Github repository for the backend for the [Vaultionizer Android application](https://github.com/Vaultionizer/vault-android-app).

[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=Vaultionizer_vault-server&metric=ncloc)](https://sonarcloud.io/dashboard?id=Vaultionizer_vault-server)[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=Vaultionizer_vault-server&metric=alert_status)](https://sonarcloud.io/dashboard?id=Vaultionizer_vault-server)
[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=Vaultionizer_vault-server&metric=coverage)](https://sonarcloud.io/dashboard?id=Vaultionizer_vault-server)[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=Vaultionizer_vault-server&metric=vulnerabilities)](https://sonarcloud.io/dashboard?id=Vaultionizer_vault-server)

The application aims at enabling a user to securely store data online without having to fear the data being analyzed, breached or anything similar. Our goal is to put zero trust into server instances and instead rely solely on the user knowing what to do.

Before reading any further, note that this application is explorative and should not be used in practice (since for debugging purposes, the data is not encrypted yet)!
Expand All @@ -16,4 +19,4 @@ All semantic data (like filenames, contents etc.) is stored in a custom (JSON-ba
The backend can easily be deployed using Docker and then used by the Android application.

## Swagger-API
For the current API, see [here](https://v2202006123966120989.bestsrv.de/swagger-ui.html#/).
For the current API, see [here](https://api.vault.jatsqi/swagger-ui.html#/).
2 changes: 1 addition & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ services:
image: vaultionizer_app
build: ./
ports:
- "443:443"
- "8080:8080"
depends_on:
- postgres_vault
environment:
Expand Down
63 changes: 51 additions & 12 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.0-M3</version>
<version>2.5.3</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.vaultionizer</groupId>
Expand All @@ -16,6 +16,9 @@

<properties>
<java.version>14</java.version>
<sonar.projectKey>Vaultionizer_vault-server</sonar.projectKey>
<sonar.organization>vaultionizer</sonar.organization>
<sonar.host.url>https://sonarcloud.io</sonar.host.url>
</properties>

<dependencies>
Expand Down Expand Up @@ -50,18 +53,23 @@
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.5.10</version>
</dependency>

<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-core</artifactId>
<version>2.9.2</version>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
Expand All @@ -86,7 +94,12 @@
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20171018</version>
<version>20231013</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>5.3.9</version>
</dependency>


Expand All @@ -97,40 +110,46 @@
<dependency>
<groupId>org.webjars</groupId>
<artifactId>sockjs-client</artifactId>
<version>1.0.2</version>
<version>1.5.1</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>stomp-websocket</artifactId>
<version>2.3.3</version>
<version>2.3.4</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>bootstrap</artifactId>
<version>3.3.7</version>
<version>5.0.2</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery</artifactId>
<version>3.1.1-1</version>
<version>3.6.0</version>
</dependency>

<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-java</artifactId>
<version>6.8.0</version>
<version>6.10.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>6.8.0</version>
<version>6.10.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-spring</artifactId>
<version>6.8.0</version>
<version>6.10.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
<version>5.7.2</version>
<scope>test</scope>
</dependency>
</dependencies>
Expand All @@ -141,6 +160,26 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>

<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.7</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

Expand Down
6 changes: 1 addition & 5 deletions scripts/build_project_docker.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,8 @@ cd /home/vaultionizer/project
rm target/vaultserver*
export MAVEN_OPTS="-Xmx1024m"

echo "installing dependencies..."
mvn clean install -o > /home/vaultionizer/log_install.txt
echo "Finished installing dependencies."

echo "Packaging project"
mvn package
mvn package -Dmaven.test.skip=true

mv target/*jar ../vaultionizer_server.jar
cd ..
Expand Down
10 changes: 10 additions & 0 deletions scripts/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
version: '3.1'
services:
postgres_vault_test:
image: postgres
ports:
- "5432:5432"
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=password
- POSTGRES_DB=mydb
15 changes: 15 additions & 0 deletions scripts/sonarcloud.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# start test vaultionizer postgres

export VAULT_ENABLE_SSL=false
export VAULT_DB_USER=postgres
export VAULT_DB_PASSWORD=password
export VAULT_DB_DATABASE=mydb
export VAULT_DB_HOST=localhost:5432

docker-compose up --build -d

cd ..
mvn -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar
docker stop scripts_postgres_vault_test_1
docker rm scripts_postgres_vault_test_1

15 changes: 15 additions & 0 deletions scripts/test.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# start test vaultionizer postgres

export VAULT_ENABLE_SSL=false
export VAULT_DB_USER=postgres
export VAULT_DB_PASSWORD=password
export VAULT_DB_DATABASE=mydb
export VAULT_DB_HOST=localhost:5432

docker-compose up --build -d

cd ..
mvn test
docker stop scripts_postgres_vault_test_1
docker rm scripts_postgres_vault_test_1

Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@
import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration;
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;

@SpringBootApplication(exclude = {SecurityAutoConfiguration.class })
@SpringBootApplication(exclude = {SecurityAutoConfiguration.class})
@EnableJpaAuditing
public class VaultserverApplication {

public static void main(String[] args) {
SpringApplication app = new SpringApplication(VaultserverApplication.class);
app.setAdditionalProfiles("ssl");
app.run(args);
}
public static void main(String[] args) {
var app = new SpringApplication(VaultserverApplication.class);
app.setAdditionalProfiles("ssl");
app.run(args);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,15 @@ protected void configure(HttpSecurity http) throws Exception {

@Bean
public CorsConfigurationSource corsConfigurationSource() {
CorsConfiguration configuration = new CorsConfiguration();
configuration.setAllowedOrigins(Arrays.asList("https://www.vault.gottwuerfeltnicht.de"));
var configuration = new CorsConfiguration();
configuration.setAllowedOrigins(Arrays.asList("https://www.api.vault.jatsqi.com"));
// for testing:
// configuration.setAllowedOrigins(Arrays.asList("http://localhost:63342"));
configuration.setAllowedMethods(Arrays.asList("POST", "PUT", "GET", "OPTIONS", "DELETE"));
configuration.setAllowedHeaders(Arrays.asList("authorization", "content-type", "x-auth-token"));
configuration.setExposedHeaders(Arrays.asList("x-auth-token"));
configuration.setAllowCredentials(true);
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
var source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", configuration);
return source;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,14 +41,14 @@ public LinkDiscoverers discoverers() {
}

private static final ApiInfo apiInfo = new ApiInfo( // TODO: work on that
"Vaultionizer API",
"A safe space for everybody that seeks after privacy.",
"1.0.0",
"https://www.vault.gottwuerfeltnicht.de",
new Contact("Team Vaultionizer", "https://vaultionizer.com/", "contact@vaultionizer.com"),
"ODC DbCL v1.0 License",
"https://opendatacommons.org/licenses/dbcl/1.0/",
new ArrayList<>()
"Vaultionizer API",
"A safe space for everybody that seeks after privacy.",
"1.0.0",
"https://www.vault.gottwuerfeltnicht.de",
new Contact("Team Vaultionizer", "https://vaultionizer.com/", "contact@vaultionizer.com"),
"ODC DbCL v1.0 License",
"https://opendatacommons.org/licenses/dbcl/1.0/",
new ArrayList<>()
);

}
Loading