Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Marci #361

Open
wants to merge 15 commits into
base: master
Choose a base branch
from
37 changes: 37 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -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 17
uses: actions/setup-java@v3
with:
java-version: 17
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=tothmd_base
35 changes: 35 additions & 0 deletions .github/workflows/maven.yml
Original file line number Diff line number Diff line change
@@ -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
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,3 +62,13 @@ The figure below illustrates this behavior using an example.
1. As the joystick remains at a positive value, the reference speed is incremented again.
1. However, it reaches the speed limit so in the next step it is not incremented even though the joystick still has a positive value.
1. Later, the joystick is set to a negative position for one time unit, making the reference speed to decrease as well.

# 3. feladat

1. Ez az elso megjegyzes

`Ez a masodik megjegyzes`

## Ez a harmadik megjegyzes

# 5. feladat branch-A
2 changes: 2 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<sonar.organization>tothmd</sonar.organization>
<sonar.host.url>https://sonarcloud.io</sonar.host.url>
</properties>

<packaging>pom</packaging>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,4 +46,19 @@ public void setJoystickPosition(int joystickPosition) {
this.step = joystickPosition;
}

public void emergencyBreak(){
referenceSpeed = 0;
}

public void followJoystick(){
if(step < 0){
referenceSpeed -= 10;
}
else if(step > 0){
referenceSpeed += 10;
}
enforceSpeedLimit();
}


}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
hu/bme/mit/train/controller/TrainControllerImpl.class
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/home/cloud/base/train-controller/src/main/java/hu/bme/mit/train/controller/TrainControllerImpl.java
8 changes: 8 additions & 0 deletions train-interfaces/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,12 @@
<groupId>hu.bme.mit.train</groupId>
<version>0.5.0-SNAPSHOT</version>
</parent>

<dependencies>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>10.0.1</version>
</dependency>
</dependencies>
</project>
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,7 @@ public interface TrainController {

void setJoystickPosition(int joystickPosition);

void emergencyBreak();


}
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
package hu.bme.mit.train.interfaces;
import com.google.common.collect.Table;
import java.time.*;

public interface TrainSensor {

int getSpeedLimit();

void overrideSpeedLimit(int speedLimit);

void recordData();

public Table<LocalTime, Integer, Integer> getTachograph();
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
hu/bme/mit/train/interfaces/TrainController.class
hu/bme/mit/train/interfaces/TrainSensor.class
hu/bme/mit/train/interfaces/TrainUser.class
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
/home/cloud/base/train-interfaces/src/main/java/hu/bme/mit/train/interfaces/TrainUser.java
/home/cloud/base/train-interfaces/src/main/java/hu/bme/mit/train/interfaces/TrainController.java
/home/cloud/base/train-interfaces/src/main/java/hu/bme/mit/train/interfaces/TrainSensor.java
5 changes: 5 additions & 0 deletions train-sensor/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -36,5 +36,10 @@
<version>0.8.7</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>10.0.1</version>
</dependency>
</dependencies>
</project>
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,15 @@
import hu.bme.mit.train.interfaces.TrainController;
import hu.bme.mit.train.interfaces.TrainSensor;
import hu.bme.mit.train.interfaces.TrainUser;
import com.google.common.collect.*;
import java.time.*;

public class TrainSensorImpl implements TrainSensor {

private TrainController controller;
private TrainUser user;
private int speedLimit = 5;
private Table<LocalTime, Integer, Integer> tachograph = HashBasedTable.create();

public TrainSensorImpl(TrainController controller, TrainUser user) {
this.controller = controller;
Expand All @@ -26,4 +29,14 @@ public void overrideSpeedLimit(int speedLimit) {
controller.setSpeedLimit(speedLimit);
}

@Override
public void recordData(){
tachograph.put(LocalTime.now(), user.getJoystickPosition() ,controller.getReferenceSpeed());
}

@Override
public Table<LocalTime, Integer, Integer> getTachograph(){
return tachograph;
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
hu/bme/mit/train/sensor/TrainSensorImpl.class
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/home/cloud/base/train-sensor/src/main/java/hu/bme/mit/train/sensor/TrainSensorImpl.java
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
hu/bme/mit/train/sensor/TrainSensorTest.class
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/home/cloud/base/train-sensor/src/test/java/hu/bme/mit/train/sensor/TrainSensorTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8" ?>
<testsuite tests="1" failures="0" name="hu.bme.mit.train.sensor.TrainSensorTest" time="0.004" errors="0" skipped="0">
<properties>
<property name="java.runtime.name" value="OpenJDK Runtime Environment"/>
<property name="java.vm.version" value="11.0.18+10-post-Ubuntu-0ubuntu118.04.1"/>
<property name="sun.boot.library.path" value="/usr/lib/jvm/java-11-openjdk-amd64/lib"/>
<property name="maven.multiModuleProjectDirectory" value="/home/cloud/base"/>
<property name="java.vm.vendor" value="Ubuntu"/>
<property name="java.vendor.url" value="https://ubuntu.com/"/>
<property name="guice.disable.misplaced.annotation.check" value="true"/>
<property name="path.separator" value=":"/>
<property name="java.vm.name" value="OpenJDK 64-Bit Server VM"/>
<property name="sun.os.patch.level" value="unknown"/>
<property name="user.country" value="US"/>
<property name="sun.java.launcher" value="SUN_STANDARD"/>
<property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
<property name="user.dir" value="/home/cloud/base"/>
<property name="java.vm.compressedOopsMode" value="32-bit"/>
<property name="java.runtime.version" value="11.0.18+10-post-Ubuntu-0ubuntu118.04.1"/>
<property name="java.awt.graphicsenv" value="sun.awt.X11GraphicsEnvironment"/>
<property name="os.arch" value="amd64"/>
<property name="java.io.tmpdir" value="/tmp"/>
<property name="line.separator" value="
"/>
<property name="java.vm.specification.vendor" value="Oracle Corporation"/>
<property name="os.name" value="Linux"/>
<property name="classworlds.conf" value="/usr/share/maven/bin/m2.conf"/>
<property name="sun.jnu.encoding" value="UTF-8"/>
<property name="java.library.path" value="/usr/java/packages/lib:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib"/>
<property name="maven.conf" value="/usr/share/maven/conf"/>
<property name="jdk.debug" value="release"/>
<property name="java.class.version" value="55.0"/>
<property name="java.specification.name" value="Java Platform API Specification"/>
<property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
<property name="os.version" value="4.15.0-206-generic"/>
<property name="library.jansi.path" value="/usr/share/maven/lib/jansi-native"/>
<property name="user.home" value="/home/cloud"/>
<property name="user.timezone" value="Europe/Budapest"/>
<property name="java.awt.printerjob" value="sun.print.PSPrinterJob"/>
<property name="file.encoding" value="UTF-8"/>
<property name="java.specification.version" value="11"/>
<property name="user.name" value="cloud"/>
<property name="java.class.path" value="/usr/share/maven/boot/plexus-classworlds-2.x.jar"/>
<property name="java.vm.specification.version" value="11"/>
<property name="sun.arch.data.model" value="64"/>
<property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher test"/>
<property name="java.home" value="/usr/lib/jvm/java-11-openjdk-amd64"/>
<property name="user.language" value="en"/>
<property name="java.specification.vendor" value="Oracle Corporation"/>
<property name="awt.toolkit" value="sun.awt.X11.XToolkit"/>
<property name="java.vm.info" value="mixed mode, sharing"/>
<property name="java.version" value="11.0.18"/>
<property name="securerandom.source" value="file:/dev/./urandom"/>
<property name="java.vendor" value="Ubuntu"/>
<property name="maven.home" value="/usr/share/maven"/>
<property name="file.separator" value="/"/>
<property name="java.version.date" value="2023-01-17"/>
<property name="java.vendor.url.bug" value="https://bugs.launchpad.net/ubuntu/+source/openjdk-lts"/>
<property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
<property name="sun.cpu.endian" value="little"/>
<property name="sun.cpu.isalist" value=""/>
</properties>
<testcase classname="hu.bme.mit.train.sensor.TrainSensorTest" name="ThisIsAnExampleTestStub" time="0.004"/>
</testsuite>
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
-------------------------------------------------------------------------------
Test set: hu.bme.mit.train.sensor.TrainSensorTest
-------------------------------------------------------------------------------
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.177 sec
6 changes: 6 additions & 0 deletions train-system/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,11 @@
<artifactId>hu.bme.mit.train.user</artifactId>
<version>0.5.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>10.0.1</version>
</dependency>

</dependencies>
</project>
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,6 @@ public TrainUser getUser() {
return user;
}



}
Original file line number Diff line number Diff line change
Expand Up @@ -50,5 +50,32 @@ public void OverridingJoystickPositionToNegative_SetsReferenceSpeedToZero() {
Assert.assertEquals(0, controller.getReferenceSpeed());
}

@Test
public void EmergencyBreak(){
sensor.overrideSpeedLimit(10);
user.overrideJoystickPosition(7);
controller.emergencyBreak();
Assert.assertEquals(0, controller.getReferenceSpeed());
}

@Test
public void StartAfterEmergencyBreak(){
sensor.overrideSpeedLimit(10);
user.overrideJoystickPosition(7);
controller.emergencyBreak();
user.overrideJoystickPosition(13);
controller.followSpeed();

Assert.assertEquals(10, controller.getReferenceSpeed());
}

@Test
public void Tachograph(){
int before = sensor.getTachograph().size();
sensor.recordData();
int after = sensor.getTachograph().size();
Assert.assertTrue(before < after);
}


}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
hu/bme/mit/train/system/TrainSystem.class
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/home/cloud/base/train-system/src/main/java/hu/bme/mit/train/system/TrainSystem.java
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
hu/bme/mit/train/system/TrainSystemTest.class
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/home/cloud/base/train-system/src/test/java/hu/bme/mit/train/system/TrainSystemTest.java
Loading