Skip to content

Commit

Permalink
Initial Quarkus Setup (#114)
Browse files Browse the repository at this point in the history
* Initial Quarkus Setup

Begun with initial quarkus setup, which includes uploading and downloading files, some application properties and more

* Analyzers now work

* Added minMax

Only getTimespans and toggleLiveData left

* Added live (not fully working)

* Added metadata service as opposed to overloading storage

* added timestamp backend metadata service functions

* combined timestamp functions

* replaced deperecated reversedlinesfilereader decleration

* Cleaned up repo a tad

* Updating upload file

* Updated functions for connecting to front end

* Potentially added Bytes to csv parser

* Update lib.rs

* Potentially added Bytes to csv parser

* Updated package path

* Updated DLL

* Updating calling of bytesToCSV

* Removed consumption of inputStream

* Removed deleting file

* Added CORS configuration

* added timespan endpoint

* Working bin parser + front end

* Linting Storage and Resources

* Linting other files

* Finished linting

* Fixed most of the things

* Analysis yea dawg

* Updated analyzer identifier

* Linting

* Removed console log

* equalized path returns on folder endpoints

* fixed get file endpoint pathing

* Cleanup + TODO Writing

* Improved deletion

Added a few more options for deleting, namely deleting all files and folders, deleting directories completely and deleting single files. Still some issues with errors and whatnot

* /Analyze return relative path

The "/analyze" method now returns the filepath relative to the csv folder, rather than just the name

* AnalyzerParams Javadoc and CSV relativizing

Now automatically assumes files will be in the CSV folder and relativizes them with the updateInputFiles. Also added javadoc

* Changes

* FileInformation and FileTimespan Constructor

* Updated HTTP Methods

* Removed HEAD Methods

HEAD cannot have a body, perhaps one day we can look into using them since they are for metadata, but alas

* Error Propagation + Logging

Added extensible error propagation throughout storageService as well as fixed logging level. Included custom errors

* Size working

The error handling on this needs some work, will look into it. Might use the diffplug durian library to throw errors in a nice manner

* Thrown error

* Updated to RuntimeExceptions

Altered the custom exception to extend the RuntimeException, which can be unchecked adn cleabs up the code

* Fixed size and Storage logging / errors

* Cleanup

* Migrate to Quarkus Rest

Changed packages from resteasy to Quarkus Rest, an updated implementation of the package

* Updated return messages

Quarkus automatically builds responses for you, so no need to wrap all these, only the ones we want custom

* Improved error handling

Added exception mappers, which now customize the return variable to contain more in-depth information on your errors

* Refactored and linted

* Linting

* Refactored folder name

* Last lint

* Removed console log

* Ok this is the real last lint

* Updated readme and start.ps1

* Update README.md

* Updated formatter

* Removed .quarkus folder

* updated timestamp column finding

* Added support for different OS

* Added error handling for upload file

* Built new binary_to_csv for windows

* Changed map interpolation analyzer name for new backend

* Fix Start Script

* Updated CI script

* Fixed auto-deletion error

* AddTypeFolder uses Paths and getFile simplified

* Analyzer type organized alphabetically

* Clarified Json NON_NULL

* Lombok toString for FileInformation

* Lombok toString for timespan + removed imports

* Updated test

* Fixed console logs

* Fixed Serial.java location

* Linting

* Updated version of Java on workflow

* Fixed minMax endpoint, an exception and others

* Fixed XYColour parsing

* Linting

* replaced Object list with Map

* Removed old API folder

---------

Co-authored-by: Cameron Dunn <dunnc11@mcmaster.ca>
Co-authored-by: GC <anonymus1@gmail.com>
Co-authored-by: Jack Walmsley <jackawalmsley@gmail.com>
  • Loading branch information
4 people committed May 13, 2024
1 parent 59f69bb commit 4bdbed2
Show file tree
Hide file tree
Showing 96 changed files with 2,602 additions and 2,043 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/lint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,15 @@ jobs:
- name: Print diffs
run: git --no-pager diff --exit-code

- name: Set up JDK 17
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '17'
java-version: '21'
distribution: 'temurin'
cache: maven

- name: Build with Maven
run: cd ./API && mvn -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn package --file pom.xml
run: cd ./backend && mvn -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn package --file pom.xml

Build_Node_js:
runs-on: ubuntu-latest
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@

upload-dir/
.vscode/
.quarkus/
36 changes: 0 additions & 36 deletions API/.gitignore

This file was deleted.

Binary file removed API/.mvn/wrapper/maven-wrapper.jar
Binary file not shown.
2 changes: 0 additions & 2 deletions API/.mvn/wrapper/maven-wrapper.properties

This file was deleted.

70 changes: 0 additions & 70 deletions API/pom.xml

This file was deleted.

0 comments on commit 4bdbed2

Please sign in to comment.