diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 000000000..3a112848d
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,37 @@
+name: SonarCloud
+on:
+ push:
+ branches:
+ - master
+ pull_request:
+ types: [opened, synchronize, reopened]
+jobs:
+ build:
+ name: Build and analyze
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ with:
+ fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
+ - name: Set up JDK 11
+ uses: actions/setup-java@v3
+ with:
+ java-version: 11
+ distribution: 'zulu' # Alternative distribution options are available.
+ - name: Cache SonarCloud packages
+ uses: actions/cache@v3
+ with:
+ path: ~/.sonar/cache
+ key: ${{ runner.os }}-sonar
+ restore-keys: ${{ runner.os }}-sonar
+ - name: Cache Maven packages
+ uses: actions/cache@v3
+ 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: mvn -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Dsonar.projectKey=dh-anna_base
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
new file mode 100644
index 000000000..f7367e0d4
--- /dev/null
+++ b/.github/workflows/maven.yml
@@ -0,0 +1,35 @@
+# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
+# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven
+
+# 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.
+
+name: Java CI with Maven
+
+on:
+ push:
+ branches: [ "master" ]
+ pull_request:
+ branches: [ "master" ]
+
+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'
+ cache: maven
+ - name: Build with Maven
+ run: mvn -B package --file pom.xml
+
+ # Optional: Uploads the full dependency graph to GitHub to improve the quality of Dependabot alerts this repository can receive
+ - name: Update dependency graph
+ uses: advanced-security/maven-dependency-submission-action@571e99aab1055c2e71a1e2309b9691de18d6b7d6
diff --git a/README.md b/README.md
index e26e034fc..d1e183633 100644
--- a/README.md
+++ b/README.md
@@ -2,8 +2,15 @@
This is a sample application for the verification laboratory.
+Changes D
## Getting started
+Changes C
+
+# Rete
+'''lab
+**1**
+
* The application is implemented in Java.
* The project can be built using [Gradle](https://gradle.org/) or [Maven](https://maven.apache.org/) (currently **Maven** is preferred).
* [JUnit](https://junit.org/junit5/) is used for tests.
diff --git a/pom.xml b/pom.xml
index 2be9fb5f5..6e426b8cd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,6 +7,8 @@
UTF-8
+ dh-anna
+ https://sonarcloud.io
pom
@@ -39,7 +41,9 @@
0.8.7
test
+
+
@@ -51,6 +55,28 @@
11
+
+
+ org.jacoco
+ jacoco-maven-plugin
+ 0.8.7
+
+
+ default-prepare-agent
+
+ prepare-agent
+
+
+
+ default-report
+ prepare-package
+
+ report
+
+
+
+
+
-
\ No newline at end of file
+
diff --git a/train-controller/src/main/java/hu/bme/mit/train/controller/TrainControllerImpl.java b/train-controller/src/main/java/hu/bme/mit/train/controller/TrainControllerImpl.java
index 06649d278..787165fe5 100644
--- a/train-controller/src/main/java/hu/bme/mit/train/controller/TrainControllerImpl.java
+++ b/train-controller/src/main/java/hu/bme/mit/train/controller/TrainControllerImpl.java
@@ -43,7 +43,7 @@ private void enforceSpeedLimit() {
@Override
public void setJoystickPosition(int joystickPosition) {
- this.step = joystickPosition;
+ this.step = joystickPosition;
}
}
diff --git a/train-system/src/main/java/hu/bme/mit/train/system/TrainSystem.java b/train-system/src/main/java/hu/bme/mit/train/system/TrainSystem.java
index 4ef42638b..f74c0d3f8 100644
--- a/train-system/src/main/java/hu/bme/mit/train/system/TrainSystem.java
+++ b/train-system/src/main/java/hu/bme/mit/train/system/TrainSystem.java
@@ -6,15 +6,23 @@
import hu.bme.mit.train.interfaces.TrainUser;
import hu.bme.mit.train.sensor.TrainSensorImpl;
import hu.bme.mit.train.user.TrainUserImpl;
+import java.util.Timer;
public class TrainSystem {
private TrainController controller = new TrainControllerImpl();
private TrainUser user = new TrainUserImpl(controller);
private TrainSensor sensor = new TrainSensorImpl(controller, user);
+ private Timer timer = new Timer();
public TrainController getController() {
return controller;
+ timer.scheduleAtFixedRate(new TimerTask() {
+ @Override
+ public void run() {
+ followSpeed();
+ }
+ }, 2*60*1000, 2*60*1000);
}
public TrainSensor getSensor() {
diff --git a/train-user/src/main/java/hu/bme/mit/train/user/TrainUserImpl.java b/train-user/src/main/java/hu/bme/mit/train/user/TrainUserImpl.java
index 93d3b2e59..98a77ad62 100644
--- a/train-user/src/main/java/hu/bme/mit/train/user/TrainUserImpl.java
+++ b/train-user/src/main/java/hu/bme/mit/train/user/TrainUserImpl.java
@@ -28,4 +28,8 @@ public void overrideJoystickPosition(int joystickPosition) {
controller.setJoystickPosition(joystickPosition);
}
+ public void setSpeedLimit(int speedLimit){
+ controller.setSpeedLimit(speedLimit);
+ }
+
}