Compare commits

...

9 Commits

Author SHA1 Message Date
Jan
3e2ff947c4 README.md aktualisiert
All checks were successful
Gradle CI with Full Reports / build (push) Successful in 38m9s
2025-12-18 20:10:56 +01:00
Jan
dbd91171ab README.md aktualisiert
Some checks are pending
Gradle CI with Full Reports / build (push) Has started running
2025-12-18 20:10:07 +01:00
Jan
09455f0074 README.md aktualisiert
Some checks are pending
Gradle CI with Full Reports / build (push) Has started running
2025-12-18 20:08:31 +01:00
Jan-Philipp Luithardt
efe52f0909 last update
All checks were successful
Gradle CI with Full Reports / build (push) Successful in 20m6s
2025-12-18 10:01:52 +01:00
Jan-Philipp Luithardt
c5350b3da2 fix actions
All checks were successful
Gradle CI with Full Reports / build (push) Successful in 20m11s
2025-12-18 09:41:02 +01:00
Jan-Philipp Luithardt
7f96f50fb7 mysql tests
Some checks failed
Gradle CI with Full Reports / build (push) Failing after 15m12s
2025-12-18 09:17:23 +01:00
Jan-Philipp Luithardt
facb0556a0 up
Some checks are pending
Gradle CI with Full Reports / build (push) Has started running
2025-12-18 08:08:09 +01:00
Jan-Philipp Luithardt
57ac7bbdab up
Some checks failed
Gradle CI with Full Reports / build (push) Has been cancelled
2025-12-18 08:07:18 +01:00
Jan-Philipp Luithardt
10a7583450 up 2025-12-18 08:05:02 +01:00
80 changed files with 1237 additions and 853 deletions

View File

@@ -39,8 +39,11 @@ jobs:
# ----------------------- # -----------------------
# 4. Build & Test mit Logging # 4. Build & Test mit Logging
# ----------------------- # -----------------------
- name: Ensure build/logs exists
run: mkdir -p build/logs
- name: Build & Test with Jacoco - name: Build & Test with Jacoco
run: ./gradlew --daemon test jacocoTestReport --stacktrace --warning-mode all run: ./gradlew --daemon test jacocoTestReport --stacktrace --warning-mode all | tee build/logs/build.log
# ----------------------- # -----------------------
# 5. Build Error HTML aus Log erzeugen # 5. Build Error HTML aus Log erzeugen

Binary file not shown.

8
.idea/.gitignore generated vendored
View File

@@ -1,8 +0,0 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

2
.idea/compiler.xml generated
View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="CompilerConfiguration"> <component name="CompilerConfiguration">
<bytecodeTargetLevel target="17" /> <bytecodeTargetLevel target="23" />
</component> </component>
</project> </project>

17
.idea/dataSources.xml generated
View File

@@ -1,17 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
<data-source source="LOCAL" name="hhn@localhost" uuid="8fe5d3a7-f78e-4566-93c0-8524dcbfd286">
<driver-ref>mariadb</driver-ref>
<synchronize>true</synchronize>
<jdbc-driver>org.mariadb.jdbc.Driver</jdbc-driver>
<jdbc-url>jdbc:mariadb://localhost:3306/hhn</jdbc-url>
<jdbc-additional-properties>
<property name="com.intellij.clouds.kubernetes.db.host.port" />
<property name="com.intellij.clouds.kubernetes.db.enabled" value="false" />
<property name="com.intellij.clouds.kubernetes.db.container.port" />
</jdbc-additional-properties>
<working-dir>$ProjectFileDir$</working-dir>
</data-source>
</component>
</project>

14
.idea/discord.xml generated
View File

@@ -1,14 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DiscordProjectSettings">
<option name="show" value="PROJECT_FILES" />
<option name="description" value="" />
<option name="applicationTheme" value="default" />
<option name="iconsTheme" value="default" />
<option name="button1Title" value="" />
<option name="button1Url" value="" />
<option name="button2Title" value="" />
<option name="button2Url" value="" />
<option name="customApplicationId" value="" />
</component>
</project>

1
.idea/gradle.xml generated
View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="GradleMigrationSettings" migrationVersion="1" />
<component name="GradleSettings"> <component name="GradleSettings">
<option name="linkedExternalProjectsSettings"> <option name="linkedExternalProjectsSettings">
<GradleProjectSettings> <GradleProjectSettings>

4
.idea/misc.xml generated
View File

@@ -4,7 +4,5 @@
<component name="FrameworkDetectionExcludesConfiguration"> <component name="FrameworkDetectionExcludesConfiguration">
<file type="web" url="file://$PROJECT_DIR$" /> <file type="web" url="file://$PROJECT_DIR$" />
</component> </component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="homebrew-17" project-jdk-type="JavaSDK"> <component name="ProjectRootManager" version="2" languageLevel="JDK_23" default="true" project-jdk-name="23" project-jdk-type="JavaSDK" />
<output url="file://$PROJECT_DIR$/out" />
</component>
</project> </project>

6
.idea/sqldialects.xml generated
View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="SqlDialectMappings">
<file url="file://$PROJECT_DIR$/src/main/java/hhn/temp/project/provider/MySql.java" dialect="GenericSQL" />
</component>
</project>

319
.idea/workspace.xml generated Normal file
View File

@@ -0,0 +1,319 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AutoImportSettings">
<option name="autoReloadType" value="SELECTIVE" />
</component>
<component name="ChangeListManager">
<list default="true" id="f4530d3f-84b2-422f-9e2a-4095d6e19e86" name="Changes" comment="">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/schema.sql" beforeDir="false" afterPath="$PROJECT_DIR$/sql/schema.sql" afterDir="false" />
<change beforePath="$PROJECT_DIR$/sql/localhost.sql" beforeDir="false" afterPath="$PROJECT_DIR$/sql/db-export.sql" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/project/BadCaseTaskTest.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/project/BadCaseTaskTest.java" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="ExportToHTMLSettings">
<option name="OUTPUT_DIRECTORY" value="$PROJECT_DIR$/htmlReport" />
</component>
<component name="ExternalProjectsData">
<projectState path="$PROJECT_DIR$">
<ProjectState />
</projectState>
</component>
<component name="ExternalProjectsManager">
<system id="GRADLE">
<state>
<task path="$PROJECT_DIR$">
<activation />
</task>
<projects_view>
<tree_state>
<expand>
<path>
<item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" />
<item name="GSE2TaskTracker" type="f1a62948:ProjectNode" />
</path>
</expand>
<select />
</tree_state>
</projects_view>
</state>
</system>
</component>
<component name="FileTemplateManagerImpl">
<option name="RECENT_TEMPLATES">
<list>
<option value="Class" />
</list>
</option>
</component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component>
<component name="KubernetesApiPersistence">{}</component>
<component name="KubernetesApiProvider">{
&quot;isMigrated&quot;: true
}</component>
<component name="ProblemsViewState">
<option name="selectedTabId" value="DEPENDENCY_CHECKER_PROBLEMS_TAB" />
</component>
<component name="ProjectColorInfo">{
&quot;associatedIndex&quot;: 1
}</component>
<component name="ProjectId" id="36HbV9IYCUIhGbSICP6dIoXGd5T" />
<component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent"><![CDATA[{
"keyToString": {
"Gradle.BadCaseTaskTest and 1 more (1).executor": "Run",
"Gradle.BadCaseTaskTest and 1 more.executor": "Run",
"Gradle.BadCaseTaskTest.assertCreateNewTaskManager.executor": "Run",
"Gradle.BadCaseTaskTest.assertSQLStatmentExceptionOnReset.executor": "Debug",
"Gradle.BadCaseTaskTest.assertSqlExceptionOnGetTaskList.executor": "Run",
"Gradle.BadCaseTaskTest.executor": "Run",
"Gradle.Build GSE2TaskTracker.executor": "Run",
"Gradle.GSE2TaskTracker [:hhn.temp.project.Main.main()].executor": "Run",
"Gradle.GSE2TaskTracker [clean].executor": "Run",
"Gradle.GSE2TaskTracker [init].executor": "Run",
"Gradle.GSE2TaskTracker.executor": "Coverage",
"Gradle.GoodCaseTaskTest.assertCreateNewTaskManager.executor": "Run",
"Gradle.GoodCaseTaskTest.assertStringInitialized.executor": "Run",
"Gradle.GoodCaseTaskTest.executor": "Run",
"Gradle.Tests in 'GSE2TaskTracker'.executor": "Run",
"Gradle.Tests in 'java'.executor": "Run",
"RunOnceActivity.ShowReadmeOnStart": "true",
"RunOnceActivity.TerminalTabsStorage.copyFrom.TerminalArrangementManager.252": "true",
"RunOnceActivity.git.unshallow": "true",
"extract.method.default.visibility": "private",
"git-widget-placeholder": "main",
"ignore.virus.scanning.warn.message": "true",
"kotlin-language-version-configured": "true",
"last_opened_file_path": "/Users/janluithardt/Documents/GSE2/GSE2TaskTracker",
"node.js.detected.package.eslint": "true",
"node.js.detected.package.tslint": "true",
"node.js.selected.package.eslint": "(autodetect)",
"node.js.selected.package.tslint": "(autodetect)",
"nodejs_package_manager_path": "npm",
"project.structure.last.edited": "Modules",
"project.structure.proportion": "0.0",
"project.structure.side.proportion": "0.2",
"settings.editor.selected.configurable": "preferences.pluginManager",
"vue.rearranger.settings.migration": "true"
},
"keyToStringList": {
"DatabaseDriversLRU": [
"mariadb",
"mysql"
]
}
}]]></component>
<component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS">
<recent name="$PROJECT_DIR$" />
</key>
<key name="MoveFile.RECENT_KEYS">
<recent name="C:\Users\Jan\HHN\GSE2TaskTracker\sql" />
</key>
<key name="CopyClassDialog.RECENTS_KEY">
<recent name="hhn.temp.project.expections" />
</key>
</component>
<component name="RunManager" selected="Gradle.BadCaseTaskTest and 1 more (1)">
<configuration name="BadCaseTaskTest and 1 more (1)" type="GradleRunConfiguration" factoryName="Gradle" temporary="true">
<ExternalSystemSettings>
<option name="executionName" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="externalSystemIdString" value="GRADLE" />
<option name="scriptParameters" value="" />
<option name="taskDescriptions">
<list />
</option>
<option name="taskNames">
<list>
<option value=":test" />
<option value="--tests &quot;BadCaseTaskTest&quot;" />
<option value="--tests &quot;GoodCaseTaskTest&quot;" />
</list>
</option>
<option name="vmOptions" />
</ExternalSystemSettings>
<ExternalSystemDebugServerProcess>false</ExternalSystemDebugServerProcess>
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
<DebugAllEnabled>false</DebugAllEnabled>
<RunAsTest>true</RunAsTest>
<method v="2" />
</configuration>
<configuration name="BadCaseTaskTest.assertSQLStatmentExceptionOnReset" type="GradleRunConfiguration" factoryName="Gradle" temporary="true">
<ExternalSystemSettings>
<option name="executionName" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="externalSystemIdString" value="GRADLE" />
<option name="scriptParameters" value="" />
<option name="taskDescriptions">
<list />
</option>
<option name="taskNames">
<list>
<option value=":test" />
<option value="--tests" />
<option value="&quot;project.BadCaseTaskTest.assertSQLStatmentExceptionOnReset&quot;" />
</list>
</option>
<option name="vmOptions" />
</ExternalSystemSettings>
<ExternalSystemDebugServerProcess>false</ExternalSystemDebugServerProcess>
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
<DebugAllEnabled>false</DebugAllEnabled>
<RunAsTest>true</RunAsTest>
<method v="2" />
</configuration>
<configuration name="BadCaseTaskTest.assertSqlExceptionOnGetTaskList" type="GradleRunConfiguration" factoryName="Gradle" temporary="true">
<ExternalSystemSettings>
<option name="executionName" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="externalSystemIdString" value="GRADLE" />
<option name="scriptParameters" value="" />
<option name="taskDescriptions">
<list />
</option>
<option name="taskNames">
<list>
<option value=":test" />
<option value="--tests" />
<option value="&quot;project.BadCaseTaskTest.assertSqlExceptionOnGetTaskList&quot;" />
</list>
</option>
<option name="vmOptions" />
</ExternalSystemSettings>
<ExternalSystemDebugServerProcess>false</ExternalSystemDebugServerProcess>
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
<DebugAllEnabled>false</DebugAllEnabled>
<RunAsTest>true</RunAsTest>
<method v="2" />
</configuration>
<configuration name="GoodCaseTaskTest" type="GradleRunConfiguration" factoryName="Gradle" temporary="true">
<ExternalSystemSettings>
<option name="executionName" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="externalSystemIdString" value="GRADLE" />
<option name="scriptParameters" value="" />
<option name="taskDescriptions">
<list />
</option>
<option name="taskNames">
<list>
<option value=":test" />
<option value="--tests" />
<option value="&quot;project.GoodCaseTaskTest&quot;" />
</list>
</option>
<option name="vmOptions" />
</ExternalSystemSettings>
<ExternalSystemDebugServerProcess>false</ExternalSystemDebugServerProcess>
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
<DebugAllEnabled>false</DebugAllEnabled>
<RunAsTest>true</RunAsTest>
<method v="2" />
</configuration>
<configuration name="GoodCaseTaskTest.assertCreateNewTaskManager" type="GradleRunConfiguration" factoryName="Gradle" temporary="true">
<ExternalSystemSettings>
<option name="executionName" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="externalSystemIdString" value="GRADLE" />
<option name="scriptParameters" value="" />
<option name="taskDescriptions">
<list />
</option>
<option name="taskNames">
<list>
<option value=":test" />
<option value="--tests" />
<option value="&quot;project.GoodCaseTaskTest.assertCreateNewTaskManager&quot;" />
</list>
</option>
<option name="vmOptions" />
</ExternalSystemSettings>
<ExternalSystemDebugServerProcess>false</ExternalSystemDebugServerProcess>
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
<DebugAllEnabled>false</DebugAllEnabled>
<RunAsTest>true</RunAsTest>
<method v="2" />
</configuration>
<configuration default="true" type="JetRunConfigurationType">
<module name="GSE2TaskTracker.main" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<recent_temporary>
<list>
<item itemvalue="Gradle.BadCaseTaskTest and 1 more (1)" />
<item itemvalue="Gradle.BadCaseTaskTest.assertSQLStatmentExceptionOnReset" />
<item itemvalue="Gradle.BadCaseTaskTest.assertSqlExceptionOnGetTaskList" />
<item itemvalue="Gradle.GoodCaseTaskTest" />
<item itemvalue="Gradle.GoodCaseTaskTest.assertCreateNewTaskManager" />
</list>
</recent_temporary>
</component>
<component name="SharedIndexes">
<attachedChunks>
<set>
<option value="bundled-jdk-9823dce3aa75-bf35d07a577b-intellij.indexing.shared.core-IU-252.28238.7" />
<option value="bundled-js-predefined-d6986cc7102b-a71380e98a7c-JavaScript-IU-252.28238.7" />
</set>
</attachedChunks>
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="f4530d3f-84b2-422f-9e2a-4095d6e19e86" name="Changes" comment="" />
<created>1764666464214</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1764666464214</updated>
<workItem from="1764666465418" duration="169000" />
<workItem from="1764666636636" duration="17000" />
<workItem from="1764666656102" duration="699000" />
<workItem from="1764667378080" duration="294000" />
<workItem from="1764667675703" duration="3469000" />
<workItem from="1764696869450" duration="50000" />
<workItem from="1764752472633" duration="21698000" />
<workItem from="1764781779232" duration="3007000" />
<workItem from="1764833084421" duration="2000" />
<workItem from="1764836824245" duration="1329000" />
<workItem from="1764841188328" duration="25000" />
<workItem from="1764852604787" duration="5634000" />
<workItem from="1764877378586" duration="5516000" />
<workItem from="1765043338974" duration="7014000" />
<workItem from="1765107973967" duration="1170000" />
<workItem from="1765114753191" duration="1865000" />
<workItem from="1766041830166" duration="6396000" />
</task>
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
<option name="version" value="3" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
<breakpoints>
<breakpoint enabled="true" type="java-exception">
<properties class="hhn.temp.project.expections.SQLStatmentException" package="hhn.temp.project.expections" />
<option name="timeStamp" value="1" />
</breakpoint>
</breakpoints>
</breakpoint-manager>
</component>
<component name="XSLT-Support.FileAssociations.UIState">
<expand />
<select />
</component>
<component name="com.intellij.coverage.CoverageDataManagerImpl">
<SUITE FILE_PATH="coverage/GSE2TaskTracker$GSE2TaskTracker.ic" NAME="GSE2TaskTracker Coverage Results" MODIFIED="1764669297356" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="true" />
<SUITE FILE_PATH="coverage/GSE2TaskTracker$GoodCaseTaskTest.ic" NAME="GoodCaseTaskTest Coverage Results" MODIFIED="1764668649595" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="true" />
</component>
</project>

View File

@@ -1,2 +1,11 @@
# GSE2TaskTracker # GSE2TaskTracker
Um BadCaseTaskTest und GoodCaseTaskTest auf Localen MySQL Server lauufen zu lassen muss der **host** und **port** geändert werden.
> Host -> localhost\
> Port -> 3306
Sollte ein anderer Benutzer genutzt werden, auch diesen ändern.
> user -> XY\
> password -> XY-PW

View File

@@ -44,6 +44,5 @@ jacocoTestReport {
xml.required = true xml.required = true
csv.required = true csv.required = true
html.outputLocation.set(layout.buildDirectory.dir('jacocoHtml')) html.outputLocation.set(layout.buildDirectory.dir('jacocoHtml'))
csv.destination file("${build}/reports/jacoco/jacoco.csv")
} }
} }

View File

@@ -1,11 +1,11 @@
GROUP,PACKAGE,CLASS,INSTRUCTION_MISSED,INSTRUCTION_COVERED,BRANCH_MISSED,BRANCH_COVERED,LINE_MISSED,LINE_COVERED,COMPLEXITY_MISSED,COMPLEXITY_COVERED,METHOD_MISSED,METHOD_COVERED GROUP,PACKAGE,CLASS,INSTRUCTION_MISSED,INSTRUCTION_COVERED,BRANCH_MISSED,BRANCH_COVERED,LINE_MISSED,LINE_COVERED,COMPLEXITY_MISSED,COMPLEXITY_COVERED,METHOD_MISSED,METHOD_COVERED
GSE2TaskTracker,hhn.temp.project,Task,0,138,0,16,0,41,0,18,0,10 GSE2TaskTracker,hhn.temp.project,Task,0,138,0,16,0,41,0,18,0,10
GSE2TaskTracker,hhn.temp.project,TaskManager,0,158,0,24,0,39,0,20,0,8 GSE2TaskTracker,hhn.temp.project,TaskManager,0,174,0,34,0,41,0,25,0,8
GSE2TaskTracker,hhn.temp.project,Main,0,3,0,0,0,1,0,1,0,1 GSE2TaskTracker,hhn.temp.project,Main,0,3,0,0,0,1,0,1,0,1
GSE2TaskTracker,hhn.temp.project,TaskStatus,0,21,0,0,0,2,0,1,0,1 GSE2TaskTracker,hhn.temp.project,TaskStatus,0,21,0,0,0,2,0,1,0,1
GSE2TaskTracker,hhn.temp.project.provider,MySql,89,266,3,5,27,73,3,15,0,14 GSE2TaskTracker,hhn.temp.project.provider,MySql,12,438,1,29,3,120,1,28,0,14
GSE2TaskTracker,hhn.temp.project.expections,TaskNotExistsException,4,0,0,0,2,0,1,0,1,0 GSE2TaskTracker,hhn.temp.project.expections,SQLNoConectionException,0,7,0,0,0,2,0,1,0,1
GSE2TaskTracker,hhn.temp.project.expections,SQLNoConectionException,0,4,0,0,0,2,0,1,0,1 GSE2TaskTracker,hhn.temp.project.expections,TaskNotExistsException,0,4,0,0,0,2,0,1,0,1
GSE2TaskTracker,hhn.temp.project.expections,SQLStatmentException,4,0,0,0,2,0,1,0,1,0 GSE2TaskTracker,hhn.temp.project.expections,SQLStatmentException,0,4,0,0,0,2,0,1,0,1
GSE2TaskTracker,hhn.temp.project.expections,TaskAlreadyExistsException,0,4,0,0,0,2,0,1,0,1 GSE2TaskTracker,hhn.temp.project.expections,TaskAlreadyExistsException,0,4,0,0,0,2,0,1,0,1
GSE2TaskTracker,hhn.temp.project.expections,TaskHasNoWorkerException,0,4,0,0,0,2,0,1,0,1 GSE2TaskTracker,hhn.temp.project.expections,TaskHasNoWorkerException,0,4,0,0,0,2,0,1,0,1
1 GROUP PACKAGE CLASS INSTRUCTION_MISSED INSTRUCTION_COVERED BRANCH_MISSED BRANCH_COVERED LINE_MISSED LINE_COVERED COMPLEXITY_MISSED COMPLEXITY_COVERED METHOD_MISSED METHOD_COVERED
2 GSE2TaskTracker hhn.temp.project Task 0 138 0 16 0 41 0 18 0 10
3 GSE2TaskTracker hhn.temp.project TaskManager 0 158 174 0 24 34 0 39 41 0 20 25 0 8
4 GSE2TaskTracker hhn.temp.project Main 0 3 0 0 0 1 0 1 0 1
5 GSE2TaskTracker hhn.temp.project TaskStatus 0 21 0 0 0 2 0 1 0 1
6 GSE2TaskTracker hhn.temp.project.provider MySql 89 12 266 438 3 1 5 29 27 3 73 120 3 1 15 28 0 14
7 GSE2TaskTracker hhn.temp.project.expections TaskNotExistsException SQLNoConectionException 4 0 0 7 0 0 2 0 0 2 1 0 0 1 1 0 0 1
8 GSE2TaskTracker hhn.temp.project.expections SQLNoConectionException TaskNotExistsException 0 4 0 0 0 2 0 1 0 1
9 GSE2TaskTracker hhn.temp.project.expections SQLStatmentException 4 0 0 4 0 0 2 0 0 2 1 0 0 1 1 0 0 1
10 GSE2TaskTracker hhn.temp.project.expections TaskAlreadyExistsException 0 4 0 0 0 2 0 1 0 1
11 GSE2TaskTracker hhn.temp.project.expections TaskHasNoWorkerException 0 4 0 0 0 2 0 1 0 1

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@@ -1 +1 @@
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="de"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SQLNoConectionException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">GSE2TaskTracker</a> &gt; <a href="index.html" class="el_package">hhn.temp.project.expections</a> &gt; <span class="el_class">SQLNoConectionException</span></div><h1>SQLNoConectionException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 4</td><td class="ctr2">100 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="SQLNoConectionException.java.html#L6" class="el_method">SQLNoConectionException(String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.13.202504020838</span></div></body></html> <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="de"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SQLNoConectionException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">GSE2TaskTracker</a> &gt; <a href="index.html" class="el_package">hhn.temp.project.expections</a> &gt; <span class="el_class">SQLNoConectionException</span></div><h1>SQLNoConectionException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 7</td><td class="ctr2">100 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="SQLNoConectionException.java.html#L6" class="el_method">SQLNoConectionException(String, Exception)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="7" alt="7"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.13.202504020838</span></div></body></html>

View File

@@ -2,8 +2,8 @@
public class SQLNoConectionException extends RuntimeException { public class SQLNoConectionException extends RuntimeException {
public SQLNoConectionException(String message) { public SQLNoConectionException(String message, Exception e) {
<span class="fc" id="L6"> super(message);</span> <span class="fc" id="L6"> super(message + &quot; (&quot;+ e.getMessage()+&quot;)&quot;);</span>
<span class="fc" id="L7"> }</span> <span class="fc" id="L7"> }</span>
} }

View File

@@ -1 +1 @@
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="de"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SQLStatmentException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">GSE2TaskTracker</a> &gt; <a href="index.html" class="el_package">hhn.temp.project.expections</a> &gt; <span class="el_class">SQLStatmentException</span></div><h1>SQLStatmentException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="SQLStatmentException.java.html#L6" class="el_method">SQLStatmentException(String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.13.202504020838</span></div></body></html> <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="de"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SQLStatmentException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">GSE2TaskTracker</a> &gt; <a href="index.html" class="el_package">hhn.temp.project.expections</a> &gt; <span class="el_class">SQLStatmentException</span></div><h1>SQLStatmentException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 4</td><td class="ctr2">100 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="SQLStatmentException.java.html#L6" class="el_method">SQLStatmentException(String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.13.202504020838</span></div></body></html>

View File

@@ -3,8 +3,8 @@
public class SQLStatmentException extends RuntimeException { public class SQLStatmentException extends RuntimeException {
public SQLStatmentException(String message) { public SQLStatmentException(String message) {
<span class="nc" id="L6"> super(message);</span> <span class="fc" id="L6"> super(message);</span>
<span class="nc" id="L7"> }</span> <span class="fc" id="L7"> }</span>
} }
</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.13.202504020838</span></div></body></html> </pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.13.202504020838</span></div></body></html>

View File

@@ -1 +1 @@
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="de"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>TaskNotExistsException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">GSE2TaskTracker</a> &gt; <a href="index.html" class="el_package">hhn.temp.project.expections</a> &gt; <span class="el_class">TaskNotExistsException</span></div><h1>TaskNotExistsException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="TaskNotExistsException.java.html#L6" class="el_method">TaskNotExistsException(String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.13.202504020838</span></div></body></html> <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="de"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>TaskNotExistsException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">GSE2TaskTracker</a> &gt; <a href="index.html" class="el_package">hhn.temp.project.expections</a> &gt; <span class="el_class">TaskNotExistsException</span></div><h1>TaskNotExistsException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 4</td><td class="ctr2">100 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="TaskNotExistsException.java.html#L6" class="el_method">TaskNotExistsException(String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.13.202504020838</span></div></body></html>

View File

@@ -3,8 +3,8 @@
public class TaskNotExistsException extends RuntimeException { public class TaskNotExistsException extends RuntimeException {
public TaskNotExistsException(String message) { public TaskNotExistsException(String message) {
<span class="nc" id="L6"> super(message);</span> <span class="fc" id="L6"> super(message);</span>
<span class="nc" id="L7"> }</span> <span class="fc" id="L7"> }</span>
} }
</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.13.202504020838</span></div></body></html> </pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.13.202504020838</span></div></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -16,212 +16,208 @@ public class MySql {
private String password; private String password;
private String db; private String db;
private String host; private String host;
private String port;
private Connection connection; private Connection connection;
<span class="fc" id="L21"> public MySql(String user, String password, String db, String host) {</span> <span class="fc" id="L22"> public MySql(String user, String password, String db, String host, String port) {</span>
<span class="fc" id="L22"> this.user = user;</span> <span class="fc" id="L23"> this.user = user;</span>
<span class="fc" id="L23"> this.password = password;</span> <span class="fc" id="L24"> this.password = password;</span>
<span class="fc" id="L24"> this.db = db;</span> <span class="fc" id="L25"> this.db = db;</span>
<span class="fc" id="L25"> this.host = host;</span> <span class="fc" id="L26"> this.host = host;</span>
<span class="fc" id="L26"> }</span> <span class="fc" id="L27"> this.port = port;</span>
<span class="fc" id="L28"> }</span>
public void connect() { public void connect() {
<span class="fc" id="L29"> String url = &quot;jdbc:mysql://&quot; + host + &quot;:3306/&quot; + db + &quot;?autoReconnect=true&amp;useSSL=false&quot;;</span> <span class="fc" id="L31"> String url = &quot;jdbc:mysql://&quot; + host + &quot;:&quot; + port + &quot;/&quot; + db + &quot;?autoReconnect=true&amp;useSSL=false&quot;;</span>
try { try {
<span class="fc" id="L32"> Class.forName(&quot;com.mysql.cj.jdbc.Driver&quot;);</span> <span class="fc" id="L34"> Class.forName(&quot;com.mysql.cj.jdbc.Driver&quot;);</span>
<span class="fc" id="L33"> connection = DriverManager.getConnection(url, user, password);</span> <span class="fc" id="L35"> connection = DriverManager.getConnection(url, user, password);</span>
<span class="fc" id="L34"> } catch (SQLException e) {</span> <span class="fc" id="L36"> } catch (SQLException e) {</span>
<span class="fc" id="L35"> throw new SQLNoConectionException(&quot;Cant connect to the database&quot;);</span> <span class="fc" id="L37"> throw new SQLNoConectionException(&quot;Cant connect to the database&quot;, e);</span>
<span class="nc" id="L36"> } catch (ClassNotFoundException e) {</span> <span class="nc" id="L38"> } catch (ClassNotFoundException e) {</span>
<span class="nc" id="L37"> throw new SQLNoConectionException(&quot;Cant connect to the database: Driver class not found!&quot;);</span> <span class="nc" id="L39"> throw new SQLNoConectionException(&quot;Cant connect to the database: Driver class not found!&quot;, e);</span>
<span class="fc" id="L38"> }</span> <span class="fc" id="L40"> }</span>
<span class="fc" id="L39"> }</span> <span class="fc" id="L41"> }</span>
public void reset() { public void reset() {
<span class="fc bfc" id="L44" title="All 2 branches covered."> if(connection == null) {</span>
<span class="fc" id="L45"> throw new NullPointerException(&quot;You must first connect to the Database.&quot;);</span>
}
try { try {
<span class="fc" id="L43"> PreparedStatement stmt = connection.prepareStatement(&quot;TRUNCATE task&quot;);</span> <span class="fc" id="L48"> PreparedStatement stmt = connection.prepareStatement(&quot;TRUNCATE task&quot;);</span>
<span class="fc" id="L44"> stmt.executeUpdate();</span> <span class="fc" id="L49"> stmt.executeUpdate();</span>
<span class="nc" id="L45"> } catch (SQLException e) {</span> <span class="fc" id="L50"> } catch (SQLException e) {</span>
<span class="nc" id="L46"> throw new SQLStatmentException(&quot;Cant insert data in database&quot;);</span> <span class="fc" id="L51"> throw new SQLStatmentException(&quot;Cant insert data in database&quot;);</span>
<span class="fc" id="L47"> }</span> <span class="fc" id="L52"> }</span>
<span class="fc" id="L48"> }</span> <span class="fc" id="L53"> }</span>
public int createTask(String name, String description) { public int createTask(String name, String description) {
<span class="fc bfc" id="L56" title="All 2 branches covered."> if(connection == null) {</span>
<span class="fc" id="L57"> throw new NullPointerException(&quot;You must first connect to the Database.&quot;);</span>
}
try { try {
<span class="fc" id="L52"> PreparedStatement stmt = connection.prepareStatement(&quot;INSERT INTO task ( taskName, taskDescription) VALUES ( ? , ? )&quot;, Statement.RETURN_GENERATED_KEYS);</span> <span class="fc" id="L60"> PreparedStatement stmt = connection.prepareStatement(&quot;INSERT INTO task ( taskName, taskDescription) VALUES ( ? , ? )&quot;, Statement.RETURN_GENERATED_KEYS);</span>
<span class="fc" id="L53"> stmt.setString(1, name);</span> <span class="fc" id="L61"> stmt.setString(1, name);</span>
<span class="fc" id="L54"> stmt.setString(2, description);</span> <span class="fc" id="L62"> stmt.setString(2, description);</span>
<span class="fc" id="L55"> stmt.executeUpdate();</span> <span class="fc" id="L63"> stmt.executeUpdate();</span>
<span class="fc" id="L56"> ResultSet rs = stmt.getGeneratedKeys();</span> <span class="fc" id="L64"> ResultSet rs = stmt.getGeneratedKeys();</span>
<span class="pc bpc" id="L57" title="1 of 2 branches missed."> if(rs.next()) {</span> <span class="pc bpc" id="L65" title="1 of 2 branches missed."> if(rs.next()) {</span>
<span class="fc" id="L58"> return rs.getInt(1);</span> <span class="fc" id="L66"> return rs.getInt(1);</span>
}else{ }else{
<span class="nc" id="L60"> throw new SQLStatmentException(&quot;Can insert data but not select&quot;);</span> <span class="nc" id="L68"> throw new SQLStatmentException(&quot;Can insert data but not select&quot;);</span>
} }
<span class="nc" id="L62"> } catch (SQLException e) {</span> <span class="fc" id="L70"> } catch (SQLException e) {</span>
<span class="nc" id="L63"> throw new SQLStatmentException(&quot;Cant insert data in database&quot;);</span> <span class="fc" id="L71"> throw new SQLStatmentException(&quot;Cant insert data in database&quot;);</span>
} }
} }
// public void deleteTask(int id) {
// try {
// PreparedStatement stmt = connection.prepareStatement(&quot;DELETE task WHERE taskID=?&quot;);
// stmt.setString(1, &quot;&quot;+id);
// stmt.executeUpdate();
// } catch (SQLException e) {
// throw new SQLStatmentException(&quot;Cant delete data in database&quot;);
// }
// }
public boolean existTask(String name) { public boolean existTask(String name) {
<span class="fc bfc" id="L77" title="All 2 branches covered."> if(connection == null) {</span>
<span class="fc" id="L78"> throw new NullPointerException(&quot;You must first connect to the Database.&quot;);</span>
}
try { try {
<span class="fc" id="L79"> PreparedStatement stmt = connection.prepareStatement(&quot;Select * FROM task WHERE taskName=?&quot;);</span> <span class="fc" id="L81"> PreparedStatement stmt = connection.prepareStatement(&quot;Select * FROM task WHERE taskName=?&quot;);</span>
<span class="fc" id="L80"> stmt.setString(1, name);</span> <span class="fc" id="L82"> stmt.setString(1, name);</span>
<span class="fc" id="L81"> ResultSet rs = stmt.executeQuery();</span> <span class="fc" id="L83"> ResultSet rs = stmt.executeQuery();</span>
<span class="fc" id="L82"> return rs.next();</span> <span class="fc" id="L84"> return rs.next();</span>
<span class="nc" id="L83"> } catch (SQLException e) {</span> <span class="fc" id="L85"> } catch (SQLException e) {</span>
<span class="nc" id="L84"> throw new SQLStatmentException(&quot;Cant select data from database&quot;);</span> <span class="fc" id="L86"> throw new SQLStatmentException(&quot;Cant select data from database&quot;);</span>
} }
} }
public boolean existTask(int id) { public boolean existTask(int id) {
<span class="fc bfc" id="L91" title="All 2 branches covered."> if(connection == null) {</span>
<span class="fc" id="L92"> throw new NullPointerException(&quot;You must first connect to the Database.&quot;);</span>
}
try { try {
<span class="fc" id="L90"> PreparedStatement stmt = connection.prepareStatement(&quot;Select * FROM task WHERE taskID=?&quot;);</span> <span class="fc" id="L95"> PreparedStatement stmt = connection.prepareStatement(&quot;Select * FROM task WHERE taskID=?&quot;);</span>
<span class="fc" id="L91"> stmt.setString(1, &quot;&quot;+id);</span> <span class="fc" id="L96"> stmt.setString(1, &quot;&quot;+id);</span>
<span class="fc" id="L92"> ResultSet rs = stmt.executeQuery();</span> <span class="fc" id="L97"> ResultSet rs = stmt.executeQuery();</span>
<span class="fc" id="L93"> return rs.next();</span> <span class="fc" id="L98"> return rs.next();</span>
<span class="nc" id="L94"> } catch (SQLException e) {</span> <span class="fc" id="L99"> } catch (SQLException e) {</span>
<span class="nc" id="L95"> throw new SQLStatmentException(&quot;Cant select data from database&quot;);</span> <span class="fc" id="L100"> throw new SQLStatmentException(&quot;Cant select data from database&quot;);</span>
} }
} }
public void deleteTask(String name) { public void deleteTask(String name) {
<span class="fc bfc" id="L105" title="All 2 branches covered."> if(connection == null) {</span>
<span class="fc" id="L106"> throw new NullPointerException(&quot;You must first connect to the Database.&quot;);</span>
}
try { try {
<span class="fc" id="L101"> PreparedStatement stmt = connection.prepareStatement(&quot;DELETE FROM task WHERE taskName=?&quot;);</span> <span class="fc" id="L109"> PreparedStatement stmt = connection.prepareStatement(&quot;DELETE FROM task WHERE taskName=?&quot;);</span>
<span class="fc" id="L102"> stmt.setString(1, name);</span> <span class="fc" id="L110"> stmt.setString(1, name);</span>
<span class="fc" id="L103"> stmt.executeUpdate();</span> <span class="fc" id="L111"> stmt.executeUpdate();</span>
<span class="nc" id="L104"> } catch (SQLException e) {</span> <span class="fc" id="L112"> } catch (SQLException e) {</span>
<span class="nc" id="L105"> throw new SQLStatmentException(&quot;Cant delete data in database&quot;);</span> <span class="fc" id="L113"> throw new SQLStatmentException(&quot;Cant delete data in database&quot;);</span>
<span class="fc" id="L106"> }</span> <span class="fc" id="L114"> }</span>
<span class="fc" id="L107"> }</span> <span class="fc" id="L115"> }</span>
public void updateDescription(int id, String description) { public void updateDescription(int id, String description) {
<span class="fc bfc" id="L118" title="All 2 branches covered."> if(connection == null) {</span>
<span class="fc" id="L119"> throw new NullPointerException(&quot;You must first connect to the Database.&quot;);</span>
}
try { try {
<span class="fc" id="L111"> PreparedStatement stmt = connection.prepareStatement(&quot;UPDATE task SET taskDescription=? WHERE taskID=?&quot;);</span> <span class="fc" id="L122"> PreparedStatement stmt = connection.prepareStatement(&quot;UPDATE task SET taskDescription=? WHERE taskID=?&quot;);</span>
<span class="fc" id="L112"> stmt.setString(1, description);</span> <span class="fc" id="L123"> stmt.setString(1, description);</span>
<span class="fc" id="L113"> stmt.setString(2, &quot;&quot;+id);</span> <span class="fc" id="L124"> stmt.setString(2, &quot;&quot;+id);</span>
<span class="fc" id="L114"> stmt.executeUpdate();</span> <span class="fc" id="L125"> stmt.executeUpdate();</span>
<span class="fc" id="L127"> } catch (SQLException e) {</span>
<span class="fc" id="L128"> throw new SQLStatmentException(&quot;Cant update data in database&quot;);</span>
<span class="fc" id="L129"> }</span>
<span class="fc" id="L130"> }</span>
<span class="nc" id="L116"> } catch (SQLException e) {</span>
<span class="nc" id="L117"> throw new SQLStatmentException(&quot;Cant update data in database&quot;);</span>
<span class="fc" id="L118"> }</span>
<span class="fc" id="L119"> }</span>
// public void updateDescription(String name, String description) {
// try {
// PreparedStatement stmt = connection.prepareStatement(&quot;UPDATE task SET taskDescription=? WHERE taskName=?&quot;);
// stmt.setString(1, description);
// stmt.setString(2, name);
// stmt.executeUpdate();
//
// } catch (SQLException e) {
// throw new SQLStatmentException(&quot;Cant update data in database&quot;);
// }
// }
public void updateStatus(int id, TaskStatus status) { public void updateStatus(int id, TaskStatus status) {
<span class="fc bfc" id="L133" title="All 2 branches covered."> if(connection == null) {</span>
<span class="fc" id="L134"> throw new NullPointerException(&quot;You must first connect to the Database.&quot;);</span>
}
try { try {
<span class="fc" id="L133"> PreparedStatement stmt = connection.prepareStatement(&quot;UPDATE task SET taskStatus=? WHERE taskID=?&quot;);</span> <span class="fc" id="L137"> PreparedStatement stmt = connection.prepareStatement(&quot;UPDATE task SET taskStatus=? WHERE taskID=?&quot;);</span>
<span class="fc" id="L134"> stmt.setString(1, status.name());</span> <span class="fc" id="L138"> stmt.setString(1, status.name());</span>
<span class="fc" id="L135"> stmt.setString(2, &quot;&quot;+id);</span> <span class="fc" id="L139"> stmt.setString(2, &quot;&quot;+id);</span>
<span class="fc" id="L136"> stmt.executeUpdate();</span> <span class="fc" id="L140"> stmt.executeUpdate();</span>
<span class="fc" id="L142"> } catch (SQLException e) {</span>
<span class="fc" id="L143"> throw new SQLStatmentException(&quot;Cant update data in database&quot;);</span>
<span class="fc" id="L144"> }</span>
<span class="fc" id="L145"> }</span>
<span class="nc" id="L138"> } catch (SQLException e) {</span>
<span class="nc" id="L139"> throw new SQLStatmentException(&quot;Cant update data in database&quot;);</span>
<span class="fc" id="L140"> }</span>
<span class="fc" id="L141"> }</span>
// public void updateStatus(String name, TaskStatus status) {
// try {
// PreparedStatement stmt = connection.prepareStatement(&quot;UPDATE task SET taskStatus=? WHERE taskName=?&quot;);
// stmt.setString(1, status.name());
// stmt.setString(2, name);
// stmt.executeUpdate();
//
// } catch (SQLException e) {
// throw new SQLStatmentException(&quot;Cant update data in database&quot;);
// }
// }
public void updateWorker(int id, String worker) { public void updateWorker(int id, String worker) {
<span class="fc bfc" id="L149" title="All 2 branches covered."> if(connection == null) {</span>
<span class="fc" id="L150"> throw new NullPointerException(&quot;You must first connect to the Database.&quot;);</span>
}
try { try {
<span class="fc" id="L156"> PreparedStatement stmt = connection.prepareStatement(&quot;UPDATE task SET taskWorker=? WHERE taskID=?&quot;);</span> <span class="fc" id="L153"> PreparedStatement stmt = connection.prepareStatement(&quot;UPDATE task SET taskWorker=? WHERE taskID=?&quot;);</span>
<span class="fc" id="L157"> stmt.setString(1, worker);</span> <span class="fc" id="L154"> stmt.setString(1, worker);</span>
<span class="fc" id="L158"> stmt.setString(2, &quot;&quot;+id);</span> <span class="fc" id="L155"> stmt.setString(2, &quot;&quot;+id);</span>
<span class="fc" id="L159"> stmt.executeUpdate();</span> <span class="fc" id="L156"> stmt.executeUpdate();</span>
<span class="fc" id="L158"> } catch (SQLException e) {</span>
<span class="fc" id="L159"> throw new SQLStatmentException(&quot;Cant update data in database&quot;);</span>
<span class="fc" id="L160"> }</span>
<span class="fc" id="L161"> }</span>
<span class="nc" id="L161"> } catch (SQLException e) {</span>
<span class="nc" id="L162"> throw new SQLStatmentException(&quot;Cant update data in database&quot;);</span>
<span class="fc" id="L163"> }</span>
<span class="fc" id="L164"> }</span>
// public void updateWorker(String name, String worker) {
// try {
// PreparedStatement stmt = connection.prepareStatement(&quot;UPDATE task SET taskWorker=? WHERE taskName=?&quot;);
// stmt.setString(1, worker);
// stmt.setString(2, name);
// stmt.executeUpdate();
//
// } catch (SQLException e) {
// throw new SQLStatmentException(&quot;Cant update data in database&quot;);
// }
// }
public Task getTask(int id) { public Task getTask(int id) {
<span class="fc bfc" id="L166" title="All 2 branches covered."> if(connection == null) {</span>
<span class="fc" id="L167"> throw new NullPointerException(&quot;You must first connect to the Database.&quot;);</span>
}
try { try {
<span class="fc" id="L180"> PreparedStatement stmt = connection.prepareStatement(&quot;SELECT * FROM task WHERE taskID=?&quot;);</span> <span class="fc" id="L170"> PreparedStatement stmt = connection.prepareStatement(&quot;SELECT * FROM task WHERE taskID=?&quot;);</span>
<span class="fc" id="L181"> stmt.setString(1, &quot;&quot;+id);</span> <span class="fc" id="L171"> stmt.setString(1, &quot;&quot;+id);</span>
<span class="fc" id="L182"> ResultSet rs = stmt.executeQuery();</span> <span class="fc" id="L172"> ResultSet rs = stmt.executeQuery();</span>
<span class="pc bpc" id="L183" title="1 of 2 branches missed."> if(rs.next()) {</span> <span class="fc bfc" id="L173" title="All 2 branches covered."> if(rs.next()) {</span>
<span class="fc" id="L184"> return getTaskFromDatabase(rs);</span> <span class="fc" id="L174"> return getTaskFromDatabase(rs);</span>
} else { } else {
<span class="nc" id="L186"> throw new TaskNotExistsException(&quot;No Task found in databse with id: &quot; + id);</span> <span class="fc" id="L176"> throw new TaskNotExistsException(&quot;No Task found in databse with id: &quot; + id);</span>
} }
<span class="nc" id="L188"> } catch (SQLException e) {</span> <span class="fc" id="L178"> } catch (SQLException e) {</span>
<span class="nc" id="L189"> throw new SQLStatmentException(&quot;Cant select data from database&quot;);</span> <span class="fc" id="L179"> throw new SQLStatmentException(&quot;Cant select data from database&quot;);</span>
} }
} }
public Task getTask(String name) { public Task getTask(String name) {
<span class="fc bfc" id="L183" title="All 2 branches covered."> if(connection == null) {</span>
<span class="fc" id="L184"> throw new NullPointerException(&quot;You must first connect to the Database.&quot;);</span>
}
try { try {
<span class="fc" id="L194"> PreparedStatement stmt = connection.prepareStatement(&quot;SELECT * FROM task WHERE taskName=?&quot;);</span> <span class="fc" id="L187"> PreparedStatement stmt = connection.prepareStatement(&quot;SELECT * FROM task WHERE taskName=?&quot;);</span>
<span class="fc" id="L195"> stmt.setString(1, name);</span> <span class="fc" id="L188"> stmt.setString(1, name);</span>
<span class="fc" id="L196"> ResultSet rs = stmt.executeQuery();</span> <span class="fc" id="L189"> ResultSet rs = stmt.executeQuery();</span>
<span class="pc bpc" id="L197" title="1 of 2 branches missed."> if(rs.next()) {</span> <span class="fc bfc" id="L190" title="All 2 branches covered."> if(rs.next()) {</span>
<span class="fc" id="L198"> return getTaskFromDatabase(rs);</span> <span class="fc" id="L191"> return getTaskFromDatabase(rs);</span>
}else{ }else{
<span class="nc" id="L200"> throw new TaskNotExistsException(&quot;No Task found in databse with name: &quot; + name);</span> <span class="fc" id="L193"> throw new TaskNotExistsException(&quot;No Task found in databse with name: &quot; + name);</span>
} }
<span class="nc" id="L203"> } catch (SQLException e) {</span> <span class="fc" id="L196"> } catch (SQLException e) {</span>
<span class="nc" id="L204"> throw new SQLStatmentException(&quot;Cant select data from database&quot;);</span> <span class="fc" id="L197"> throw new SQLStatmentException(&quot;Cant select data from database&quot;);</span>
} }
} }
public List&lt;Task&gt; getTaskList() { public List&lt;Task&gt; getTaskList() {
<span class="fc bfc" id="L202" title="All 2 branches covered."> if(connection == null) {</span>
<span class="fc" id="L203"> throw new NullPointerException(&quot;You must first connect to the Database.&quot;);</span>
}
try { try {
<span class="fc" id="L210"> PreparedStatement stmt = connection.prepareStatement(&quot;SELECT * FROM task&quot;);</span> <span class="fc" id="L206"> PreparedStatement stmt = connection.prepareStatement(&quot;SELECT * FROM task&quot;);</span>
<span class="fc" id="L211"> ResultSet rs = stmt.executeQuery();</span> <span class="fc" id="L207"> ResultSet rs = stmt.executeQuery();</span>
<span class="fc" id="L212"> List&lt;Task&gt; taskList = new ArrayList&lt;&gt;();</span> <span class="fc" id="L208"> List&lt;Task&gt; taskList = new ArrayList&lt;&gt;();</span>
<span class="fc bfc" id="L213" title="All 2 branches covered."> while(rs.next()) {</span> <span class="fc bfc" id="L209" title="All 2 branches covered."> while(rs.next()) {</span>
<span class="fc" id="L214"> taskList.add(getTaskFromDatabase(rs));</span> <span class="fc" id="L210"> taskList.add(getTaskFromDatabase(rs));</span>
} }
<span class="fc" id="L216"> return taskList;</span> <span class="fc" id="L212"> return taskList;</span>
<span class="nc" id="L217"> } catch (SQLException e) {</span> <span class="fc" id="L213"> } catch (SQLException e) {</span>
<span class="nc" id="L218"> throw new SQLStatmentException(&quot;Cant select data from database&quot;);</span> <span class="fc" id="L214"> throw new SQLStatmentException(&quot;Cant select data from database&quot;);</span>
} }
} }
private Task getTaskFromDatabase(ResultSet rs) throws SQLException { private Task getTaskFromDatabase(ResultSet rs) throws SQLException {
<span class="fc" id="L223"> Task task = new Task(rs.getInt(&quot;taskID&quot;), rs.getString(&quot;taskName&quot;), rs.getString(&quot;taskDescription&quot;), rs.getString(&quot;taskWorker&quot;),TaskStatus.valueOf(rs.getString(&quot;taskStatus&quot;)), this);</span> <span class="fc" id="L219"> Task task = new Task(rs.getInt(&quot;taskID&quot;), rs.getString(&quot;taskName&quot;), rs.getString(&quot;taskDescription&quot;), rs.getString(&quot;taskWorker&quot;),TaskStatus.valueOf(rs.getString(&quot;taskStatus&quot;)), this);</span>
<span class="fc" id="L224"> return task;</span> <span class="fc" id="L220"> return task;</span>
} }
} }
</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.13.202504020838</span></div></body></html> </pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.13.202504020838</span></div></body></html>

View File

@@ -1 +1 @@
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="de"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>hhn.temp.project.provider</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">GSE2TaskTracker</a> &gt; <span class="el_package">hhn.temp.project.provider</span></div><h1>hhn.temp.project.provider</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">89 of 355</td><td class="ctr2">74 %</td><td class="bar">3 of 8</td><td class="ctr2">62 %</td><td class="ctr1">3</td><td class="ctr2">18</td><td class="ctr1">27</td><td class="ctr2">100</td><td class="ctr1">0</td><td class="ctr2">14</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="MySql.html" class="el_class">MySql</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="89" alt="89"/><img src="../jacoco-resources/greenbar.gif" width="89" height="10" title="266" alt="266"/></td><td class="ctr2" id="c0">74 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="45" height="10" title="3" alt="3"/><img src="../jacoco-resources/greenbar.gif" width="75" height="10" title="5" alt="5"/></td><td class="ctr2" id="e0">62 %</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">18</td><td class="ctr1" id="h0">27</td><td class="ctr2" id="i0">100</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">14</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.13.202504020838</span></div></body></html> <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="de"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>hhn.temp.project.provider</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">GSE2TaskTracker</a> &gt; <span class="el_package">hhn.temp.project.provider</span></div><h1>hhn.temp.project.provider</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">12 of 450</td><td class="ctr2">97 %</td><td class="bar">1 of 30</td><td class="ctr2">96 %</td><td class="ctr1">1</td><td class="ctr2">29</td><td class="ctr1">3</td><td class="ctr2">123</td><td class="ctr1">0</td><td class="ctr2">14</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="MySql.html" class="el_class">MySql</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="3" height="10" title="12" alt="12"/><img src="../jacoco-resources/greenbar.gif" width="116" height="10" title="438" alt="438"/></td><td class="ctr2" id="c0">97 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="1" alt="1"/><img src="../jacoco-resources/greenbar.gif" width="116" height="10" title="29" alt="29"/></td><td class="ctr2" id="e0">96 %</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">29</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">123</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">14</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.13.202504020838</span></div></body></html>

View File

@@ -1 +1 @@
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="de"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>hhn.temp.project.provider</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">GSE2TaskTracker</a> &gt; <span class="el_package">hhn.temp.project.provider</span></div><h1>hhn.temp.project.provider</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">89 of 355</td><td class="ctr2">74 %</td><td class="bar">3 of 8</td><td class="ctr2">62 %</td><td class="ctr1">3</td><td class="ctr2">18</td><td class="ctr1">27</td><td class="ctr2">100</td><td class="ctr1">0</td><td class="ctr2">14</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="MySql.java.html" class="el_source">MySql.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="89" alt="89"/><img src="../jacoco-resources/greenbar.gif" width="89" height="10" title="266" alt="266"/></td><td class="ctr2" id="c0">74 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="45" height="10" title="3" alt="3"/><img src="../jacoco-resources/greenbar.gif" width="75" height="10" title="5" alt="5"/></td><td class="ctr2" id="e0">62 %</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">18</td><td class="ctr1" id="h0">27</td><td class="ctr2" id="i0">100</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">14</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.13.202504020838</span></div></body></html> <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="de"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>hhn.temp.project.provider</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">GSE2TaskTracker</a> &gt; <span class="el_package">hhn.temp.project.provider</span></div><h1>hhn.temp.project.provider</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">12 of 450</td><td class="ctr2">97 %</td><td class="bar">1 of 30</td><td class="ctr2">96 %</td><td class="ctr1">1</td><td class="ctr2">29</td><td class="ctr1">3</td><td class="ctr2">123</td><td class="ctr1">0</td><td class="ctr2">14</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="MySql.java.html" class="el_source">MySql.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="3" height="10" title="12" alt="12"/><img src="../jacoco-resources/greenbar.gif" width="116" height="10" title="438" alt="438"/></td><td class="ctr2" id="c0">97 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="1" alt="1"/><img src="../jacoco-resources/greenbar.gif" width="116" height="10" title="29" alt="29"/></td><td class="ctr2" id="e0">96 %</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">29</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">123</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">14</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.13.202504020838</span></div></body></html>

File diff suppressed because one or more lines are too long

View File

@@ -13,86 +13,91 @@ public class TaskManager {
private Map&lt;Integer, Task&gt; taskMap; private Map&lt;Integer, Task&gt; taskMap;
private MySql mysql; private MySql mysql;
<span class="fc" id="L16"> public TaskManager(String user, String password, String port, String host) {</span> <span class="fc" id="L16"> public TaskManager(String user, String password, String db, String host, String port) {</span>
<span class="fc" id="L17"> taskMap = new HashMap&lt;&gt;();</span>
<span class="fc" id="L18"> this.mysql = new MySql(user, password, port, host);</span> <span class="fc bfc" id="L18" title="All 10 branches covered."> if(user == null || password == null || db == null || host == null || port == null) {</span>
<span class="fc" id="L19"> this.mysql.connect();</span> <span class="fc" id="L19"> throw new NullPointerException(&quot;A argument is null&quot;);</span>
<span class="fc" id="L20"> }</span> }
<span class="fc" id="L22"> taskMap = new HashMap&lt;&gt;();</span>
<span class="fc" id="L23"> this.mysql = new MySql(user, password, db, host, port);</span>
<span class="fc" id="L24"> this.mysql.connect();</span>
<span class="fc" id="L25"> }</span>
/** /**
* only for Testing * only for Testing
*/ */
public void resetTest() { public void resetTest() {
<span class="fc" id="L25"> this.mysql.reset();</span> <span class="fc" id="L30"> this.mysql.reset();</span>
<span class="fc" id="L26"> }</span> <span class="fc" id="L31"> }</span>
public Task createTask(String name, String description) { public Task createTask(String name, String description) {
<span class="fc bfc" id="L29" title="All 4 branches covered."> if (name == null || description == null ) {</span> <span class="fc bfc" id="L34" title="All 4 branches covered."> if (name == null || description == null ) {</span>
<span class="fc" id="L31"> throw new IllegalArgumentException(&quot;Name/Description is null!&quot;);</span> <span class="fc" id="L36"> throw new IllegalArgumentException(&quot;Name/Description is null!&quot;);</span>
} }
<span class="fc bfc" id="L33" title="All 2 branches covered."> if(name.isEmpty()) {</span> <span class="fc bfc" id="L38" title="All 2 branches covered."> if(name.isEmpty()) {</span>
<span class="fc" id="L34"> throw new IllegalArgumentException(&quot;Name is empty!&quot;);</span> <span class="fc" id="L39"> throw new IllegalArgumentException(&quot;Name is empty!&quot;);</span>
} }
<span class="fc bfc" id="L37" title="All 2 branches covered."> if(!checkOnlyLetterOrDigit(name)) {</span> <span class="fc bfc" id="L42" title="All 2 branches covered."> if(!checkOnlyLetterOrDigit(name)) {</span>
<span class="fc" id="L38"> throw new IllegalArgumentException(&quot;Only Letters or Digit are allowed in the name: &quot; + name);</span> <span class="fc" id="L43"> throw new IllegalArgumentException(&quot;Only Letters or Digit are allowed in the name: &quot; + name);</span>
} }
<span class="fc" id="L41"> boolean taskExited = this.mysql.existTask(name);</span> <span class="fc" id="L46"> boolean taskExited = this.mysql.existTask(name);</span>
<span class="fc bfc" id="L42" title="All 2 branches covered."> if(taskExited) {</span> <span class="fc bfc" id="L47" title="All 2 branches covered."> if(taskExited) {</span>
<span class="fc" id="L43"> throw new TaskAlreadyExistsException(&quot;Task already exits, with the name: &quot; + name);</span> <span class="fc" id="L48"> throw new TaskAlreadyExistsException(&quot;Task already exits, with the name: &quot; + name);</span>
} }
<span class="fc" id="L46"> int taskId = this.mysql.createTask(name, description);</span> <span class="fc" id="L51"> int taskId = this.mysql.createTask(name, description);</span>
<span class="fc" id="L47"> Task task = this.mysql.getTask(taskId);</span> <span class="fc" id="L52"> Task task = this.mysql.getTask(taskId);</span>
//taskMap.put(task.getTaskID(), task); //taskMap.put(task.getTaskID(), task);
<span class="fc" id="L50"> return task;</span> <span class="fc" id="L55"> return task;</span>
} }
public List&lt;Task&gt; getTaskList() { public List&lt;Task&gt; getTaskList() {
<span class="fc" id="L55"> return this.mysql.getTaskList();</span> <span class="fc" id="L60"> return this.mysql.getTaskList();</span>
} }
public Task getTask(String name) { public Task getTask(String name) {
<span class="fc bfc" id="L59" title="All 2 branches covered."> if(!this.mysql.existTask(name)) {</span> <span class="fc bfc" id="L64" title="All 2 branches covered."> if(!this.mysql.existTask(name)) {</span>
<span class="fc" id="L60"> throw new IllegalArgumentException(&quot;Wrong name&quot;);</span> <span class="fc" id="L65"> throw new IllegalArgumentException(&quot;Wrong name&quot;);</span>
} }
<span class="fc" id="L63"> return this.mysql.getTask(name);</span> <span class="fc" id="L68"> return this.mysql.getTask(name);</span>
} }
public Task getTask(int taskID) { public Task getTask(int taskID) {
<span class="fc bfc" id="L66" title="All 2 branches covered."> if(!this.mysql.existTask(taskID)) {</span> <span class="fc bfc" id="L71" title="All 2 branches covered."> if(!this.mysql.existTask(taskID)) {</span>
<span class="fc" id="L67"> throw new IllegalArgumentException(&quot;Wrong id&quot;);</span> <span class="fc" id="L72"> throw new IllegalArgumentException(&quot;Wrong id&quot;);</span>
} }
<span class="fc" id="L69"> return this.mysql.getTask(taskID);</span> <span class="fc" id="L74"> return this.mysql.getTask(taskID);</span>
} }
public void deleteTask(String name) { public void deleteTask(String name) {
<span class="fc bfc" id="L73" title="All 2 branches covered."> if (name == null ) {</span> <span class="fc bfc" id="L78" title="All 2 branches covered."> if (name == null ) {</span>
<span class="fc" id="L75"> throw new IllegalArgumentException(&quot;Name is null!&quot;);</span> <span class="fc" id="L80"> throw new IllegalArgumentException(&quot;Name is null!&quot;);</span>
} }
<span class="fc bfc" id="L77" title="All 4 branches covered."> if(name.isEmpty() || !this.mysql.existTask(name)) {</span> <span class="fc bfc" id="L82" title="All 4 branches covered."> if(name.isEmpty() || !this.mysql.existTask(name)) {</span>
<span class="fc" id="L78"> throw new IllegalArgumentException(&quot;Wrong name!&quot;);</span> <span class="fc" id="L83"> throw new IllegalArgumentException(&quot;Wrong name!&quot;);</span>
} }
<span class="fc" id="L81"> this.mysql.deleteTask(name);</span> <span class="fc" id="L86"> this.mysql.deleteTask(name);</span>
<span class="fc" id="L83"> }</span> <span class="fc" id="L88"> }</span>
private boolean checkOnlyLetterOrDigit(String text) { private boolean checkOnlyLetterOrDigit(String text) {
<span class="fc" id="L86"> boolean result = true;</span> <span class="fc" id="L91"> boolean result = true;</span>
<span class="fc bfc" id="L88" title="All 2 branches covered."> for(int i = 0; i &lt; text.length(); i++) {</span> <span class="fc bfc" id="L93" title="All 2 branches covered."> for(int i = 0; i &lt; text.length(); i++) {</span>
<span class="fc" id="L89"> char c = text.charAt(i);</span> <span class="fc" id="L94"> char c = text.charAt(i);</span>
<span class="fc bfc" id="L90" title="All 2 branches covered."> if(!Character.isLetterOrDigit(c)) {</span> <span class="fc bfc" id="L95" title="All 2 branches covered."> if(!Character.isLetterOrDigit(c)) {</span>
<span class="fc" id="L91"> result = false;</span> <span class="fc" id="L96"> result = false;</span>
<span class="fc" id="L92"> break;</span> <span class="fc" id="L97"> break;</span>
} }
} }
<span class="fc" id="L95"> return result;</span> <span class="fc" id="L100"> return result;</span>
} }
// private boolean checkOnlyLetter(String text) { // private boolean checkOnlyLetter(String text) {
// boolean result = true; // boolean result = true;

View File

@@ -1 +1 @@
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="de"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>hhn.temp.project</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">GSE2TaskTracker</a> &gt; <span class="el_package">hhn.temp.project</span></div><h1>hhn.temp.project</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 320</td><td class="ctr2">100 %</td><td class="bar">0 of 40</td><td class="ctr2">100 %</td><td class="ctr1">0</td><td class="ctr2">40</td><td class="ctr1">0</td><td class="ctr2">83</td><td class="ctr1">0</td><td class="ctr2">20</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a2"><a href="TaskManager.html" class="el_class">TaskManager</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="158" alt="158"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="24" alt="24"/></td><td class="ctr2" id="e0">100 %</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">20</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i1">39</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k1">8</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="Task.html" class="el_class">Task</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="104" height="10" title="138" alt="138"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d1"><img src="../jacoco-resources/greenbar.gif" width="80" height="10" title="16" alt="16"/></td><td class="ctr2" id="e1">100 %</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">18</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">41</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k0">10</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a3"><a href="TaskStatus.html" class="el_class">TaskStatus</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="15" height="10" title="21" alt="21"/></td><td class="ctr2" id="c2">100 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a0"><a href="Main.html" class="el_class">Main</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="2" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">100 %</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.13.202504020838</span></div></body></html> <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="de"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>hhn.temp.project</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">GSE2TaskTracker</a> &gt; <span class="el_package">hhn.temp.project</span></div><h1>hhn.temp.project</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 336</td><td class="ctr2">100 %</td><td class="bar">0 of 50</td><td class="ctr2">100 %</td><td class="ctr1">0</td><td class="ctr2">45</td><td class="ctr1">0</td><td class="ctr2">85</td><td class="ctr1">0</td><td class="ctr2">20</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a2"><a href="TaskManager.html" class="el_class">TaskManager</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="174" alt="174"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="34" alt="34"/></td><td class="ctr2" id="e0">100 %</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">25</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">41</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k1">8</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="Task.html" class="el_class">Task</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="95" height="10" title="138" alt="138"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d1"><img src="../jacoco-resources/greenbar.gif" width="56" height="10" title="16" alt="16"/></td><td class="ctr2" id="e1">100 %</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">18</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">41</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k0">10</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a3"><a href="TaskStatus.html" class="el_class">TaskStatus</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="14" height="10" title="21" alt="21"/></td><td class="ctr2" id="c2">100 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a0"><a href="Main.html" class="el_class">Main</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="2" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">100 %</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.13.202504020838</span></div></body></html>

View File

@@ -1 +1 @@
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="de"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>hhn.temp.project</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">GSE2TaskTracker</a> &gt; <span class="el_package">hhn.temp.project</span></div><h1>hhn.temp.project</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 320</td><td class="ctr2">100 %</td><td class="bar">0 of 40</td><td class="ctr2">100 %</td><td class="ctr1">0</td><td class="ctr2">40</td><td class="ctr1">0</td><td class="ctr2">83</td><td class="ctr1">0</td><td class="ctr2">20</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a2"><a href="TaskManager.java.html" class="el_source">TaskManager.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="158" alt="158"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="24" alt="24"/></td><td class="ctr2" id="e0">100 %</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">20</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i1">39</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k1">8</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="Task.java.html" class="el_source">Task.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="104" height="10" title="138" alt="138"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d1"><img src="../jacoco-resources/greenbar.gif" width="80" height="10" title="16" alt="16"/></td><td class="ctr2" id="e1">100 %</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">18</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">41</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k0">10</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a3"><a href="TaskStatus.java.html" class="el_source">TaskStatus.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="15" height="10" title="21" alt="21"/></td><td class="ctr2" id="c2">100 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a0"><a href="Main.java.html" class="el_source">Main.java</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="2" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">100 %</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.13.202504020838</span></div></body></html> <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="de"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>hhn.temp.project</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">GSE2TaskTracker</a> &gt; <span class="el_package">hhn.temp.project</span></div><h1>hhn.temp.project</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 336</td><td class="ctr2">100 %</td><td class="bar">0 of 50</td><td class="ctr2">100 %</td><td class="ctr1">0</td><td class="ctr2">45</td><td class="ctr1">0</td><td class="ctr2">85</td><td class="ctr1">0</td><td class="ctr2">20</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a2"><a href="TaskManager.java.html" class="el_source">TaskManager.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="174" alt="174"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="34" alt="34"/></td><td class="ctr2" id="e0">100 %</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">25</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">41</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k1">8</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="Task.java.html" class="el_source">Task.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="95" height="10" title="138" alt="138"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d1"><img src="../jacoco-resources/greenbar.gif" width="56" height="10" title="16" alt="16"/></td><td class="ctr2" id="e1">100 %</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">18</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">41</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k0">10</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a3"><a href="TaskStatus.java.html" class="el_source">TaskStatus.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="14" height="10" title="21" alt="21"/></td><td class="ctr2" id="c2">100 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a0"><a href="Main.java.html" class="el_source">Main.java</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="2" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">100 %</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.13.202504020838</span></div></body></html>

View File

@@ -1 +1 @@
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="de"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>GSE2TaskTracker</title><script type="text/javascript" src="jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><span class="el_report">GSE2TaskTracker</span></div><h1>GSE2TaskTracker</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">97 of 695</td><td class="ctr2">86 %</td><td class="bar">3 of 48</td><td class="ctr2">93 %</td><td class="ctr1">5</td><td class="ctr2">63</td><td class="ctr1">31</td><td class="ctr2">193</td><td class="ctr1">2</td><td class="ctr2">39</td><td class="ctr1">2</td><td class="ctr2">10</td></tr></tfoot><tbody><tr><td id="a2"><a href="hhn.temp.project.provider/index.html" class="el_package">hhn.temp.project.provider</a></td><td class="bar" id="b0"><img src="jacoco-resources/redbar.gif" width="30" height="10" title="89" alt="89"/><img src="jacoco-resources/greenbar.gif" width="89" height="10" title="266" alt="266"/></td><td class="ctr2" id="c1">74 %</td><td class="bar" id="d0"><img src="jacoco-resources/redbar.gif" width="9" height="10" title="3" alt="3"/><img src="jacoco-resources/greenbar.gif" width="15" height="10" title="5" alt="5"/></td><td class="ctr2" id="e1">62 %</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g1">18</td><td class="ctr1" id="h0">27</td><td class="ctr2" id="i0">100</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">14</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a1"><a href="hhn.temp.project.expections/index.html" class="el_package">hhn.temp.project.expections</a></td><td class="bar" id="b1"><img src="jacoco-resources/redbar.gif" width="2" height="10" title="8" alt="8"/><img src="jacoco-resources/greenbar.gif" width="4" height="10" title="12" alt="12"/></td><td class="ctr2" id="c2">60 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g2">5</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i2">10</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k2">5</td><td class="ctr1" id="l0">2</td><td class="ctr2" id="m0">5</td></tr><tr><td id="a0"><a href="hhn.temp.project/index.html" class="el_package">hhn.temp.project</a></td><td class="bar" id="b2"><img src="jacoco-resources/greenbar.gif" width="108" height="10" title="320" alt="320"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d1"><img src="jacoco-resources/greenbar.gif" width="120" height="10" title="40" alt="40"/></td><td class="ctr2" id="e0">100 %</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g0">40</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i1">83</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k0">20</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m1">4</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.13.202504020838</span></div></body></html> <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="de"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>GSE2TaskTracker</title><script type="text/javascript" src="jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><span class="el_report">GSE2TaskTracker</span></div><h1>GSE2TaskTracker</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">12 of 809</td><td class="ctr2">98 %</td><td class="bar">1 of 80</td><td class="ctr2">98 %</td><td class="ctr1">1</td><td class="ctr2">79</td><td class="ctr1">3</td><td class="ctr2">218</td><td class="ctr1">0</td><td class="ctr2">39</td><td class="ctr1">0</td><td class="ctr2">10</td></tr></tfoot><tbody><tr><td id="a2"><a href="hhn.temp.project.provider/index.html" class="el_package">hhn.temp.project.provider</a></td><td class="bar" id="b0"><img src="jacoco-resources/redbar.gif" width="3" height="10" title="12" alt="12"/><img src="jacoco-resources/greenbar.gif" width="116" height="10" title="438" alt="438"/></td><td class="ctr2" id="c2">97 %</td><td class="bar" id="d0"><img src="jacoco-resources/redbar.gif" width="2" height="10" title="1" alt="1"/><img src="jacoco-resources/greenbar.gif" width="69" height="10" title="29" alt="29"/></td><td class="ctr2" id="e1">96 %</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g1">29</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">123</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k1">14</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a0"><a href="hhn.temp.project/index.html" class="el_package">hhn.temp.project</a></td><td class="bar" id="b1"><img src="jacoco-resources/greenbar.gif" width="89" height="10" title="336" alt="336"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d1"><img src="jacoco-resources/greenbar.gif" width="120" height="10" title="50" alt="50"/></td><td class="ctr2" id="e0">100 %</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">45</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">85</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k0">20</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">4</td></tr><tr><td id="a1"><a href="hhn.temp.project.expections/index.html" class="el_package">hhn.temp.project.expections</a></td><td class="bar" id="b2"><img src="jacoco-resources/greenbar.gif" width="6" height="10" title="23" alt="23"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">5</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">10</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">5</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m0">5</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.13.202504020838</span></div></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -23,13 +23,13 @@
<tr> <tr>
<td> <td>
<div class="infoBox" id="tests"> <div class="infoBox" id="tests">
<div class="counter">7</div> <div class="counter">32</div>
<p>tests</p> <p>tests</p>
</div> </div>
</td> </td>
<td> <td>
<div class="infoBox" id="failures"> <div class="infoBox" id="failures">
<div class="counter">6</div> <div class="counter">0</div>
<p>failures</p> <p>failures</p>
</div> </div>
</td> </td>
@@ -41,7 +41,7 @@
</td> </td>
<td> <td>
<div class="infoBox" id="duration"> <div class="infoBox" id="duration">
<div class="counter">30.989s</div> <div class="counter">11.069s</div>
<p>duration</p> <p>duration</p>
</div> </div>
</td> </td>
@@ -50,8 +50,8 @@
</div> </div>
</td> </td>
<td> <td>
<div class="infoBox failures" id="successRate"> <div class="infoBox success" id="successRate">
<div class="percent">14%</div> <div class="percent">100%</div>
<p>successful</p> <p>successful</p>
</div> </div>
</td> </td>
@@ -61,100 +61,10 @@
<div class="tab-container"> <div class="tab-container">
<ul class="tabLinks"> <ul class="tabLinks">
<li> <li>
<a href="#">Failed tests</a>
</li>
<li>
<a href="#">Tests</a> <a href="#">Tests</a>
</li> </li>
</ul> </ul>
<div class="tab"> <div class="tab">
<h2>Failed tests</h2>
<div class="test">
<a name="assertExceptionOnCallingANonextistingTask()"></a>
<h3 class="failures">Assert an IllegalArgumentException when calling a non-Existing Task</h3>
<span class="code">
<pre>hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)
at app//hhn.temp.project.provider.MySql.connect(MySql.java:35)
at app//hhn.temp.project.TaskManager.&lt;init&gt;(TaskManager.java:19)
at app//project.BadCaseTaskTest.assertExceptionOnCallingANonextistingTask(BadCaseTaskTest.java:85)
at java.base@17.0.16/java.lang.reflect.Method.invoke(Method.java:569)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
</pre>
</span>
</div>
<div class="test">
<a name="assertExceptionOnCreateNewTask()"></a>
<h3 class="failures">Assert an IllegalArgumentException when you create a new Task with no or wrong Name, Description</h3>
<span class="code">
<pre>hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)
at app//hhn.temp.project.provider.MySql.connect(MySql.java:35)
at app//hhn.temp.project.TaskManager.&lt;init&gt;(TaskManager.java:19)
at app//project.BadCaseTaskTest.assertExceptionOnCreateNewTask(BadCaseTaskTest.java:41)
at java.base@17.0.16/java.lang.reflect.Method.invoke(Method.java:569)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
</pre>
</span>
</div>
<div class="test">
<a name="assertExceptionOnCreateNewTaskWithExitsName()"></a>
<h3 class="failures">Assert an IllegalArgumentException when you create a new Task with the same Name of a exits Task</h3>
<span class="code">
<pre>hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)
at app//hhn.temp.project.provider.MySql.connect(MySql.java:35)
at app//hhn.temp.project.TaskManager.&lt;init&gt;(TaskManager.java:19)
at app//project.BadCaseTaskTest.assertExceptionOnCreateNewTaskWithExitsName(BadCaseTaskTest.java:56)
at java.base@17.0.16/java.lang.reflect.Method.invoke(Method.java:569)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
</pre>
</span>
</div>
<div class="test">
<a name="assertExceptionOnDeletingTask()"></a>
<h3 class="failures">Assert an IllegalArgumentException when delete a existing Task with wrong arguments</h3>
<span class="code">
<pre>hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)
at app//hhn.temp.project.provider.MySql.connect(MySql.java:35)
at app//hhn.temp.project.TaskManager.&lt;init&gt;(TaskManager.java:19)
at app//project.BadCaseTaskTest.assertExceptionOnDeletingTask(BadCaseTaskTest.java:101)
at java.base@17.0.16/java.lang.reflect.Method.invoke(Method.java:569)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
</pre>
</span>
</div>
<div class="test">
<a name="assertExceptionOnEditATask()"></a>
<h3 class="failures">Assert an IllegalArgumentException when you edit a exits Task</h3>
<span class="code">
<pre>hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)
at app//hhn.temp.project.provider.MySql.connect(MySql.java:35)
at app//hhn.temp.project.TaskManager.&lt;init&gt;(TaskManager.java:19)
at app//project.BadCaseTaskTest.assertExceptionOnEditATask(BadCaseTaskTest.java:69)
at java.base@17.0.16/java.lang.reflect.Method.invoke(Method.java:569)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
</pre>
</span>
</div>
<div class="test">
<a name="assertExeptionBySetAndGetAuthorOfATask()"></a>
<h3 class="failures">Get a Exeption by setWorker and getWorker</h3>
<span class="code">
<pre>hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)
at app//hhn.temp.project.provider.MySql.connect(MySql.java:35)
at app//hhn.temp.project.TaskManager.&lt;init&gt;(TaskManager.java:19)
at app//project.BadCaseTaskTest.assertExeptionBySetAndGetAuthorOfATask(BadCaseTaskTest.java:118)
at java.base@17.0.16/java.lang.reflect.Method.invoke(Method.java:569)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
</pre>
</span>
</div>
</div>
<div class="tab">
<h2>Tests</h2> <h2>Tests</h2>
<table> <table>
<thead> <thead>
@@ -168,44 +78,194 @@
<tr> <tr>
<td class="success">Create a new TaskManager and test Connecton</td> <td class="success">Create a new TaskManager and test Connecton</td>
<td class="success">assertCreateNewTaskManager()</td> <td class="success">assertCreateNewTaskManager()</td>
<td class="success">4.103s</td> <td class="success">4.060s</td>
<td class="success">passed</td> <td class="success">passed</td>
</tr> </tr>
<tr> <tr>
<td class="failures">Assert an IllegalArgumentException when calling a non-Existing Task</td> <td class="success">Assert an IllegalArgumentException when calling a non-Existing Task</td>
<td class="failures">assertExceptionOnCallingANonextistingTask()</td> <td class="success">assertExceptionOnCallingANonextistingTask()</td>
<td class="failures">4.381s</td> <td class="success">0.285s</td>
<td class="failures">failed</td> <td class="success">passed</td>
</tr> </tr>
<tr> <tr>
<td class="failures">Assert an IllegalArgumentException when you create a new Task with no or wrong Name, Description</td> <td class="success">Assert an IllegalArgumentException when you create a new Task with no or wrong Name, Description</td>
<td class="failures">assertExceptionOnCreateNewTask()</td> <td class="success">assertExceptionOnCreateNewTask()</td>
<td class="failures">4.102s</td> <td class="success">0.287s</td>
<td class="failures">failed</td> <td class="success">passed</td>
</tr> </tr>
<tr> <tr>
<td class="failures">Assert an IllegalArgumentException when you create a new Task with the same Name of a exits Task</td> <td class="success">Assert an IllegalArgumentException when you create a new Task with the same Name of a exits Task</td>
<td class="failures">assertExceptionOnCreateNewTaskWithExitsName()</td> <td class="success">assertExceptionOnCreateNewTaskWithExitsName()</td>
<td class="failures">4.368s</td> <td class="success">0.261s</td>
<td class="failures">failed</td> <td class="success">passed</td>
</tr> </tr>
<tr> <tr>
<td class="failures">Assert an IllegalArgumentException when delete a existing Task with wrong arguments</td> <td class="success">Assert an IllegalArgumentException when delete a existing Task with wrong arguments</td>
<td class="failures">assertExceptionOnDeletingTask()</td> <td class="success">assertExceptionOnDeletingTask()</td>
<td class="failures">4.204s</td> <td class="success">0.325s</td>
<td class="failures">failed</td> <td class="success">passed</td>
</tr> </tr>
<tr> <tr>
<td class="failures">Assert an IllegalArgumentException when you edit a exits Task</td> <td class="success">Assert an IllegalArgumentException when you edit a exits Task</td>
<td class="failures">assertExceptionOnEditATask()</td> <td class="success">assertExceptionOnEditATask()</td>
<td class="failures">5.676s</td> <td class="success">0.513s</td>
<td class="failures">failed</td> <td class="success">passed</td>
</tr> </tr>
<tr> <tr>
<td class="failures">Get a Exeption by setWorker and getWorker</td> <td class="success">Get a Exeption by setWorker and getWorker</td>
<td class="failures">assertExeptionBySetAndGetAuthorOfATask()</td> <td class="success">assertExeptionBySetAndGetAuthorOfATask()</td>
<td class="failures">4.155s</td> <td class="success">0.227s</td>
<td class="failures">failed</td> <td class="success">passed</td>
</tr>
<tr>
<td class="success">Assert NullPointerException when createTask without connect</td>
<td class="success">assertNullPointerExceptionOnCreateTask()</td>
<td class="success">0.001s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">Assert NullPointerException when deleteTask without connect</td>
<td class="success">assertNullPointerExceptionOnDeleteTask()</td>
<td class="success">0.001s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">Assert NullPointerException when existTask(id) without connect</td>
<td class="success">assertNullPointerExceptionOnExistTaskById()</td>
<td class="success">0.038s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">Assert NullPointerException when existTask(name) without connect</td>
<td class="success">assertNullPointerExceptionOnExistTaskByName()</td>
<td class="success">0s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">Assert NullPointerException when getTask(id) without connect</td>
<td class="success">assertNullPointerExceptionOnGetTaskById()</td>
<td class="success">0.001s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">Assert NullPointerException when getTask(name) without connect</td>
<td class="success">assertNullPointerExceptionOnGetTaskByName()</td>
<td class="success">0s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">Assert NullPointerException when getTaskList without connect</td>
<td class="success">assertNullPointerExceptionOnGetTaskList()</td>
<td class="success">0.001s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">Assert NullPointerException when reset without connect</td>
<td class="success">assertNullPointerExceptionOnReset()</td>
<td class="success">0.001s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">Assert NullPointerException when updateDescription without connect</td>
<td class="success">assertNullPointerExceptionOnUpdateDescription()</td>
<td class="success">0.001s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">Assert NullPointerException when updateStatus without connect</td>
<td class="success">assertNullPointerExceptionOnUpdateStatus()</td>
<td class="success">0s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">Assert NullPointerException when updateWorker without connect</td>
<td class="success">assertNullPointerExceptionOnUpdateWorker()</td>
<td class="success">0s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">Assert SQLNoConectionException when connect fails</td>
<td class="success">assertSQLNoConectionExceptionOnConnect()</td>
<td class="success">4.038s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">Assert SQLStatmentException when createTask causes SQLException</td>
<td class="success">assertSQLStatmentExceptionOnCreateTask()</td>
<td class="success">0.013s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">Assert SQLStatmentException when deleteTask causes SQLException</td>
<td class="success">assertSQLStatmentExceptionOnDeleteTask()</td>
<td class="success">0.012s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">Assert SQLStatmentException when existTask causes SQLException</td>
<td class="success">assertSQLStatmentExceptionOnExistTask()</td>
<td class="success">0.012s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">Assert SQLStatmentException when existTask causes SQLException</td>
<td class="success">assertSQLStatmentExceptionOnExistTaskWithString()</td>
<td class="success">0.012s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">Assert SQLStatmentException when getTask(id) causes SQLException</td>
<td class="success">assertSQLStatmentExceptionOnGetTaskById()</td>
<td class="success">0.012s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">Assert SQLStatmentException when getTask(name) causes SQLException</td>
<td class="success">assertSQLStatmentExceptionOnGetTaskByName()</td>
<td class="success">0.012s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">Assert SQLStatmentException when getTaskList causes SQLException</td>
<td class="success">assertSQLStatmentExceptionOnGetTaskList()</td>
<td class="success">0.012s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">Assert SQLStatmentException when reset causes SQLException</td>
<td class="success">assertSQLStatmentExceptionOnReset()</td>
<td class="success">0.013s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">Assert SQLStatmentException when updateDescription causes SQLException</td>
<td class="success">assertSQLStatmentExceptionOnUpdateDescription()</td>
<td class="success">0.370s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">Assert SQLStatmentException when updateStatus causes SQLException</td>
<td class="success">assertSQLStatmentExceptionOnUpdateStatus()</td>
<td class="success">0.011s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">Assert SQLStatmentException when updateWorker causes SQLException</td>
<td class="success">assertSQLStatmentExceptionOnUpdateWorker()</td>
<td class="success">0.012s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">Assert TaskNotExistsException when getTask(id) finds no task</td>
<td class="success">assertTaskNotExistsExceptionOnGetTaskById()</td>
<td class="success">0.287s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">Assert TaskNotExistsException when getTask(name) finds no task</td>
<td class="success">assertTaskNotExistsExceptionOnGetTaskByName()</td>
<td class="success">0.251s</td>
<td class="success">passed</td>
</tr> </tr>
</table> </table>
</div> </div>
@@ -217,7 +277,7 @@
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/> <input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
</label> </label>
</div>Generated by </div>Generated by
<a href="https://www.gradle.org">Gradle 8.14</a> at 07.12.2025, 14:40:13</p> <a href="https://www.gradle.org">Gradle 8.14</a> at 18.12.2025, 09:08:55</p>
</div> </div>
</div> </div>
</body> </body>

View File

@@ -29,7 +29,7 @@
</td> </td>
<td> <td>
<div class="infoBox" id="failures"> <div class="infoBox" id="failures">
<div class="counter">6</div> <div class="counter">0</div>
<p>failures</p> <p>failures</p>
</div> </div>
</td> </td>
@@ -41,7 +41,7 @@
</td> </td>
<td> <td>
<div class="infoBox" id="duration"> <div class="infoBox" id="duration">
<div class="counter">24.847s</div> <div class="counter">4.413s</div>
<p>duration</p> <p>duration</p>
</div> </div>
</td> </td>
@@ -50,8 +50,8 @@
</div> </div>
</td> </td>
<td> <td>
<div class="infoBox failures" id="successRate"> <div class="infoBox success" id="successRate">
<div class="percent">0%</div> <div class="percent">100%</div>
<p>successful</p> <p>successful</p>
</div> </div>
</td> </td>
@@ -61,109 +61,10 @@
<div class="tab-container"> <div class="tab-container">
<ul class="tabLinks"> <ul class="tabLinks">
<li> <li>
<a href="#">Failed tests</a>
</li>
<li>
<a href="#">Tests</a> <a href="#">Tests</a>
</li> </li>
</ul> </ul>
<div class="tab"> <div class="tab">
<h2>Failed tests</h2>
<div class="test">
<a name="assertCheckTaskListForTask()"></a>
<h3 class="failures">Check TaskList if Task there</h3>
<span class="code">
<pre>hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)
at app//hhn.temp.project.provider.MySql.connect(MySql.java:35)
at app//hhn.temp.project.TaskManager.&lt;init&gt;(TaskManager.java:19)
at app//project.GoodCaseTaskTest.assertCheckTaskListForTask(GoodCaseTaskTest.java:89)
at java.base@17.0.16/java.lang.reflect.Method.invoke(Method.java:569)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
</pre>
</span>
</div>
<div class="test">
<a name="assertCreateNewTask()"></a>
<h3 class="failures">Create a new Task</h3>
<span class="code">
<pre>hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)
at app//hhn.temp.project.provider.MySql.connect(MySql.java:35)
at app//hhn.temp.project.TaskManager.&lt;init&gt;(TaskManager.java:19)
at app//project.GoodCaseTaskTest.assertCreateNewTask(GoodCaseTaskTest.java:47)
at java.base@17.0.16/java.lang.reflect.Method.invoke(Method.java:569)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
</pre>
</span>
</div>
<div class="test">
<a name="assertCreateNewTaskManager()"></a>
<h3 class="failures">Create a new TaskManager and test Connecton</h3>
<span class="code">
<pre>org.opentest4j.AssertionFailedError: Unexpected exception thrown: hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)
at app//org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:152)
at app//org.junit.jupiter.api.AssertDoesNotThrow.createAssertionFailedError(AssertDoesNotThrow.java:84)
at app//org.junit.jupiter.api.AssertDoesNotThrow.assertDoesNotThrow(AssertDoesNotThrow.java:75)
at app//org.junit.jupiter.api.AssertDoesNotThrow.assertDoesNotThrow(AssertDoesNotThrow.java:58)
at app//org.junit.jupiter.api.Assertions.assertDoesNotThrow(Assertions.java:3224)
at app//project.GoodCaseTaskTest.assertCreateNewTaskManager(GoodCaseTaskTest.java:33)
at java.base@17.0.16/java.lang.reflect.Method.invoke(Method.java:569)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
Caused by: hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)
at app//hhn.temp.project.provider.MySql.connect(MySql.java:35)
at app//hhn.temp.project.TaskManager.&lt;init&gt;(TaskManager.java:19)
at app//project.GoodCaseTaskTest.lambda$assertCreateNewTaskManager$0(GoodCaseTaskTest.java:33)
at app//org.junit.jupiter.api.AssertDoesNotThrow.assertDoesNotThrow(AssertDoesNotThrow.java:71)
... 6 more
</pre>
</span>
</div>
<div class="test">
<a name="assertDeleteTask()"></a>
<h3 class="failures">Delete Task</h3>
<span class="code">
<pre>hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)
at app//hhn.temp.project.provider.MySql.connect(MySql.java:35)
at app//hhn.temp.project.TaskManager.&lt;init&gt;(TaskManager.java:19)
at app//project.GoodCaseTaskTest.assertDeleteTask(GoodCaseTaskTest.java:63)
at java.base@17.0.16/java.lang.reflect.Method.invoke(Method.java:569)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
</pre>
</span>
</div>
<div class="test">
<a name="assertEditATask()"></a>
<h3 class="failures">Edit Task</h3>
<span class="code">
<pre>hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)
at app//hhn.temp.project.provider.MySql.connect(MySql.java:35)
at app//hhn.temp.project.TaskManager.&lt;init&gt;(TaskManager.java:19)
at app//project.GoodCaseTaskTest.assertEditATask(GoodCaseTaskTest.java:120)
at java.base@17.0.16/java.lang.reflect.Method.invoke(Method.java:569)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
</pre>
</span>
</div>
<div class="test">
<a name="assertSetAuthorOfATask()"></a>
<h3 class="failures">Set Author of a Task</h3>
<span class="code">
<pre>hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)
at app//hhn.temp.project.provider.MySql.connect(MySql.java:35)
at app//hhn.temp.project.TaskManager.&lt;init&gt;(TaskManager.java:19)
at app//project.GoodCaseTaskTest.assertSetAuthorOfATask(GoodCaseTaskTest.java:145)
at java.base@17.0.16/java.lang.reflect.Method.invoke(Method.java:569)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
</pre>
</span>
</div>
</div>
<div class="tab">
<h2>Tests</h2> <h2>Tests</h2>
<table> <table>
<thead> <thead>
@@ -175,40 +76,40 @@ Caused by: hhn.temp.project.expections.SQLNoConectionException: Cant connect to
</tr> </tr>
</thead> </thead>
<tr> <tr>
<td class="failures">Check TaskList if Task there</td> <td class="success">Check TaskList if Task there</td>
<td class="failures">assertCheckTaskListForTask()</td> <td class="success">assertCheckTaskListForTask()</td>
<td class="failures">4.108s</td> <td class="success">0.505s</td>
<td class="failures">failed</td> <td class="success">passed</td>
</tr> </tr>
<tr> <tr>
<td class="failures">Create a new Task</td> <td class="success">Create a new Task</td>
<td class="failures">assertCreateNewTask()</td> <td class="success">assertCreateNewTask()</td>
<td class="failures">4.096s</td> <td class="success">0.543s</td>
<td class="failures">failed</td> <td class="success">passed</td>
</tr> </tr>
<tr> <tr>
<td class="failures">Create a new TaskManager and test Connecton</td> <td class="success">Create a new TaskManager and test Connecton</td>
<td class="failures">assertCreateNewTaskManager()</td> <td class="success">assertCreateNewTaskManager()</td>
<td class="failures">4.345s</td> <td class="success">0.649s</td>
<td class="failures">failed</td> <td class="success">passed</td>
</tr> </tr>
<tr> <tr>
<td class="failures">Delete Task</td> <td class="success">Delete Task</td>
<td class="failures">assertDeleteTask()</td> <td class="success">assertDeleteTask()</td>
<td class="failures">4.094s</td> <td class="success">1.351s</td>
<td class="failures">failed</td> <td class="success">passed</td>
</tr> </tr>
<tr> <tr>
<td class="failures">Edit Task</td> <td class="success">Edit Task</td>
<td class="failures">assertEditATask()</td> <td class="success">assertEditATask()</td>
<td class="failures">4.092s</td> <td class="success">0.612s</td>
<td class="failures">failed</td> <td class="success">passed</td>
</tr> </tr>
<tr> <tr>
<td class="failures">Set Author of a Task</td> <td class="success">Set Author of a Task</td>
<td class="failures">assertSetAuthorOfATask()</td> <td class="success">assertSetAuthorOfATask()</td>
<td class="failures">4.112s</td> <td class="success">0.753s</td>
<td class="failures">failed</td> <td class="success">passed</td>
</tr> </tr>
</table> </table>
</div> </div>
@@ -220,7 +121,7 @@ Caused by: hhn.temp.project.expections.SQLNoConectionException: Cant connect to
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/> <input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
</label> </label>
</div>Generated by </div>Generated by
<a href="https://www.gradle.org">Gradle 8.14</a> at 07.12.2025, 14:40:13</p> <a href="https://www.gradle.org">Gradle 8.14</a> at 18.12.2025, 09:08:55</p>
</div> </div>
</div> </div>
</body> </body>

View File

@@ -20,13 +20,13 @@
<tr> <tr>
<td> <td>
<div class="infoBox" id="tests"> <div class="infoBox" id="tests">
<div class="counter">13</div> <div class="counter">38</div>
<p>tests</p> <p>tests</p>
</div> </div>
</td> </td>
<td> <td>
<div class="infoBox" id="failures"> <div class="infoBox" id="failures">
<div class="counter">12</div> <div class="counter">0</div>
<p>failures</p> <p>failures</p>
</div> </div>
</td> </td>
@@ -38,7 +38,7 @@
</td> </td>
<td> <td>
<div class="infoBox" id="duration"> <div class="infoBox" id="duration">
<div class="counter">55.836s</div> <div class="counter">15.482s</div>
<p>duration</p> <p>duration</p>
</div> </div>
</td> </td>
@@ -47,8 +47,8 @@
</div> </div>
</td> </td>
<td> <td>
<div class="infoBox failures" id="successRate"> <div class="infoBox success" id="successRate">
<div class="percent">7%</div> <div class="percent">100%</div>
<p>successful</p> <p>successful</p>
</div> </div>
</td> </td>
@@ -58,9 +58,6 @@
<div class="tab-container"> <div class="tab-container">
<ul class="tabLinks"> <ul class="tabLinks">
<li> <li>
<a href="#">Failed tests</a>
</li>
<li>
<a href="#">Packages</a> <a href="#">Packages</a>
</li> </li>
<li> <li>
@@ -68,59 +65,6 @@
</li> </li>
</ul> </ul>
<div class="tab"> <div class="tab">
<h2>Failed tests</h2>
<ul class="linkList">
<li>
<a href="classes/project.BadCaseTaskTest.html">BadCaseTaskTest</a>.
<a href="classes/project.BadCaseTaskTest.html#assertExceptionOnCallingANonextistingTask()">Assert an IllegalArgumentException when calling a non-Existing Task</a>
</li>
<li>
<a href="classes/project.BadCaseTaskTest.html">BadCaseTaskTest</a>.
<a href="classes/project.BadCaseTaskTest.html#assertExceptionOnCreateNewTask()">Assert an IllegalArgumentException when you create a new Task with no or wrong Name, Description</a>
</li>
<li>
<a href="classes/project.BadCaseTaskTest.html">BadCaseTaskTest</a>.
<a href="classes/project.BadCaseTaskTest.html#assertExceptionOnCreateNewTaskWithExitsName()">Assert an IllegalArgumentException when you create a new Task with the same Name of a exits Task</a>
</li>
<li>
<a href="classes/project.BadCaseTaskTest.html">BadCaseTaskTest</a>.
<a href="classes/project.BadCaseTaskTest.html#assertExceptionOnDeletingTask()">Assert an IllegalArgumentException when delete a existing Task with wrong arguments</a>
</li>
<li>
<a href="classes/project.BadCaseTaskTest.html">BadCaseTaskTest</a>.
<a href="classes/project.BadCaseTaskTest.html#assertExceptionOnEditATask()">Assert an IllegalArgumentException when you edit a exits Task</a>
</li>
<li>
<a href="classes/project.BadCaseTaskTest.html">BadCaseTaskTest</a>.
<a href="classes/project.BadCaseTaskTest.html#assertExeptionBySetAndGetAuthorOfATask()">Get a Exeption by setWorker and getWorker</a>
</li>
<li>
<a href="classes/project.GoodCaseTaskTest.html">GoodCaseTaskTest</a>.
<a href="classes/project.GoodCaseTaskTest.html#assertCheckTaskListForTask()">Check TaskList if Task there</a>
</li>
<li>
<a href="classes/project.GoodCaseTaskTest.html">GoodCaseTaskTest</a>.
<a href="classes/project.GoodCaseTaskTest.html#assertCreateNewTask()">Create a new Task</a>
</li>
<li>
<a href="classes/project.GoodCaseTaskTest.html">GoodCaseTaskTest</a>.
<a href="classes/project.GoodCaseTaskTest.html#assertCreateNewTaskManager()">Create a new TaskManager and test Connecton</a>
</li>
<li>
<a href="classes/project.GoodCaseTaskTest.html">GoodCaseTaskTest</a>.
<a href="classes/project.GoodCaseTaskTest.html#assertDeleteTask()">Delete Task</a>
</li>
<li>
<a href="classes/project.GoodCaseTaskTest.html">GoodCaseTaskTest</a>.
<a href="classes/project.GoodCaseTaskTest.html#assertEditATask()">Edit Task</a>
</li>
<li>
<a href="classes/project.GoodCaseTaskTest.html">GoodCaseTaskTest</a>.
<a href="classes/project.GoodCaseTaskTest.html#assertSetAuthorOfATask()">Set Author of a Task</a>
</li>
</ul>
</div>
<div class="tab">
<h2>Packages</h2> <h2>Packages</h2>
<table> <table>
<thead> <thead>
@@ -135,14 +79,14 @@
</thead> </thead>
<tbody> <tbody>
<tr> <tr>
<td class="failures"> <td class="success">
<a href="packages/project.html">project</a> <a href="packages/project.html">project</a>
</td> </td>
<td>13</td> <td>38</td>
<td>12</td>
<td>0</td> <td>0</td>
<td>55.836s</td> <td>0</td>
<td class="failures">7%</td> <td>15.482s</td>
<td class="success">100%</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@@ -162,24 +106,24 @@
</thead> </thead>
<tbody> <tbody>
<tr> <tr>
<td class="failures"> <td class="success">
<a href="classes/project.BadCaseTaskTest.html">project.BadCaseTaskTest</a> <a href="classes/project.BadCaseTaskTest.html">project.BadCaseTaskTest</a>
</td> </td>
<td>7</td> <td>32</td>
<td>6</td>
<td>0</td> <td>0</td>
<td>30.989s</td> <td>0</td>
<td class="failures">14%</td> <td>11.069s</td>
<td class="success">100%</td>
</tr> </tr>
<tr> <tr>
<td class="failures"> <td class="success">
<a href="classes/project.GoodCaseTaskTest.html">project.GoodCaseTaskTest</a> <a href="classes/project.GoodCaseTaskTest.html">project.GoodCaseTaskTest</a>
</td> </td>
<td>6</td> <td>6</td>
<td>6</td>
<td>0</td> <td>0</td>
<td>24.847s</td> <td>0</td>
<td class="failures">0%</td> <td>4.413s</td>
<td class="success">100%</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@@ -192,7 +136,7 @@
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/> <input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
</label> </label>
</div>Generated by </div>Generated by
<a href="https://www.gradle.org">Gradle 8.14</a> at 07.12.2025, 14:40:13</p> <a href="https://www.gradle.org">Gradle 8.14</a> at 18.12.2025, 09:08:55</p>
</div> </div>
</div> </div>
</body> </body>

View File

@@ -22,13 +22,13 @@
<tr> <tr>
<td> <td>
<div class="infoBox" id="tests"> <div class="infoBox" id="tests">
<div class="counter">13</div> <div class="counter">38</div>
<p>tests</p> <p>tests</p>
</div> </div>
</td> </td>
<td> <td>
<div class="infoBox" id="failures"> <div class="infoBox" id="failures">
<div class="counter">12</div> <div class="counter">0</div>
<p>failures</p> <p>failures</p>
</div> </div>
</td> </td>
@@ -40,7 +40,7 @@
</td> </td>
<td> <td>
<div class="infoBox" id="duration"> <div class="infoBox" id="duration">
<div class="counter">55.836s</div> <div class="counter">15.482s</div>
<p>duration</p> <p>duration</p>
</div> </div>
</td> </td>
@@ -49,8 +49,8 @@
</div> </div>
</td> </td>
<td> <td>
<div class="infoBox failures" id="successRate"> <div class="infoBox success" id="successRate">
<div class="percent">7%</div> <div class="percent">100%</div>
<p>successful</p> <p>successful</p>
</div> </div>
</td> </td>
@@ -60,66 +60,10 @@
<div class="tab-container"> <div class="tab-container">
<ul class="tabLinks"> <ul class="tabLinks">
<li> <li>
<a href="#">Failed tests</a>
</li>
<li>
<a href="#">Classes</a> <a href="#">Classes</a>
</li> </li>
</ul> </ul>
<div class="tab"> <div class="tab">
<h2>Failed tests</h2>
<ul class="linkList">
<li>
<a href="../classes/project.BadCaseTaskTest.html">BadCaseTaskTest</a>.
<a href="../classes/project.BadCaseTaskTest.html#assertExceptionOnCallingANonextistingTask()">Assert an IllegalArgumentException when calling a non-Existing Task</a>
</li>
<li>
<a href="../classes/project.BadCaseTaskTest.html">BadCaseTaskTest</a>.
<a href="../classes/project.BadCaseTaskTest.html#assertExceptionOnCreateNewTask()">Assert an IllegalArgumentException when you create a new Task with no or wrong Name, Description</a>
</li>
<li>
<a href="../classes/project.BadCaseTaskTest.html">BadCaseTaskTest</a>.
<a href="../classes/project.BadCaseTaskTest.html#assertExceptionOnCreateNewTaskWithExitsName()">Assert an IllegalArgumentException when you create a new Task with the same Name of a exits Task</a>
</li>
<li>
<a href="../classes/project.BadCaseTaskTest.html">BadCaseTaskTest</a>.
<a href="../classes/project.BadCaseTaskTest.html#assertExceptionOnDeletingTask()">Assert an IllegalArgumentException when delete a existing Task with wrong arguments</a>
</li>
<li>
<a href="../classes/project.BadCaseTaskTest.html">BadCaseTaskTest</a>.
<a href="../classes/project.BadCaseTaskTest.html#assertExceptionOnEditATask()">Assert an IllegalArgumentException when you edit a exits Task</a>
</li>
<li>
<a href="../classes/project.BadCaseTaskTest.html">BadCaseTaskTest</a>.
<a href="../classes/project.BadCaseTaskTest.html#assertExeptionBySetAndGetAuthorOfATask()">Get a Exeption by setWorker and getWorker</a>
</li>
<li>
<a href="../classes/project.GoodCaseTaskTest.html">GoodCaseTaskTest</a>.
<a href="../classes/project.GoodCaseTaskTest.html#assertCheckTaskListForTask()">Check TaskList if Task there</a>
</li>
<li>
<a href="../classes/project.GoodCaseTaskTest.html">GoodCaseTaskTest</a>.
<a href="../classes/project.GoodCaseTaskTest.html#assertCreateNewTask()">Create a new Task</a>
</li>
<li>
<a href="../classes/project.GoodCaseTaskTest.html">GoodCaseTaskTest</a>.
<a href="../classes/project.GoodCaseTaskTest.html#assertCreateNewTaskManager()">Create a new TaskManager and test Connecton</a>
</li>
<li>
<a href="../classes/project.GoodCaseTaskTest.html">GoodCaseTaskTest</a>.
<a href="../classes/project.GoodCaseTaskTest.html#assertDeleteTask()">Delete Task</a>
</li>
<li>
<a href="../classes/project.GoodCaseTaskTest.html">GoodCaseTaskTest</a>.
<a href="../classes/project.GoodCaseTaskTest.html#assertEditATask()">Edit Task</a>
</li>
<li>
<a href="../classes/project.GoodCaseTaskTest.html">GoodCaseTaskTest</a>.
<a href="../classes/project.GoodCaseTaskTest.html#assertSetAuthorOfATask()">Set Author of a Task</a>
</li>
</ul>
</div>
<div class="tab">
<h2>Classes</h2> <h2>Classes</h2>
<table> <table>
<thead> <thead>
@@ -133,24 +77,24 @@
</tr> </tr>
</thead> </thead>
<tr> <tr>
<td class="failures"> <td class="success">
<a href="../classes/project.BadCaseTaskTest.html">BadCaseTaskTest</a> <a href="../classes/project.BadCaseTaskTest.html">BadCaseTaskTest</a>
</td> </td>
<td>7</td> <td>32</td>
<td>6</td>
<td>0</td> <td>0</td>
<td>30.989s</td> <td>0</td>
<td class="failures">14%</td> <td>11.069s</td>
<td class="success">100%</td>
</tr> </tr>
<tr> <tr>
<td class="failures"> <td class="success">
<a href="../classes/project.GoodCaseTaskTest.html">GoodCaseTaskTest</a> <a href="../classes/project.GoodCaseTaskTest.html">GoodCaseTaskTest</a>
</td> </td>
<td>6</td> <td>6</td>
<td>6</td>
<td>0</td> <td>0</td>
<td>24.847s</td> <td>0</td>
<td class="failures">0%</td> <td>4.413s</td>
<td class="success">100%</td>
</tr> </tr>
</table> </table>
</div> </div>
@@ -162,7 +106,7 @@
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/> <input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
</label> </label>
</div>Generated by </div>Generated by
<a href="https://www.gradle.org">Gradle 8.14</a> at 07.12.2025, 14:40:13</p> <a href="https://www.gradle.org">Gradle 8.14</a> at 18.12.2025, 09:08:55</p>
</div> </div>
</div> </div>
</body> </body>

View File

@@ -1,67 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<testsuite name="project.BadCaseTaskTest" tests="7" skipped="0" failures="6" errors="0" timestamp="2025-12-07T13:39:17.658Z" hostname="Mac.fritz.box" time="30.995"> <testsuite name="project.BadCaseTaskTest" tests="32" skipped="0" failures="0" errors="0" timestamp="2025-12-18T08:08:40.169Z" hostname="JAN-PC" time="11.09">
<properties/> <properties/>
<testcase name="Assert an IllegalArgumentException when you edit a exits Task" classname="project.BadCaseTaskTest" time="5.676"> <testcase name="Assert NullPointerException when existTask(id) without connect" classname="project.BadCaseTaskTest" time="0.038"/>
<failure message="hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)" type="hhn.temp.project.expections.SQLNoConectionException">hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.) <testcase name="Assert NullPointerException when createTask without connect" classname="project.BadCaseTaskTest" time="0.001"/>
at app//hhn.temp.project.provider.MySql.connect(MySql.java:35) <testcase name="Assert SQLStatmentException when updateDescription causes SQLException" classname="project.BadCaseTaskTest" time="0.37"/>
at app//hhn.temp.project.TaskManager.&lt;init&gt;(TaskManager.java:19) <testcase name="Assert an IllegalArgumentException when you edit a exits Task" classname="project.BadCaseTaskTest" time="0.513"/>
at app//project.BadCaseTaskTest.assertExceptionOnEditATask(BadCaseTaskTest.java:69) <testcase name="Assert NullPointerException when deleteTask without connect" classname="project.BadCaseTaskTest" time="0.001"/>
at java.base@17.0.16/java.lang.reflect.Method.invoke(Method.java:569) <testcase name="Assert SQLStatmentException when reset causes SQLException" classname="project.BadCaseTaskTest" time="0.013"/>
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511) <testcase name="Create a new TaskManager and test Connecton" classname="project.BadCaseTaskTest" time="4.06"/>
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511) <testcase name="Assert NullPointerException when reset without connect" classname="project.BadCaseTaskTest" time="0.001"/>
</failure> <testcase name="Assert NullPointerException when existTask(name) without connect" classname="project.BadCaseTaskTest" time="0.0"/>
</testcase> <testcase name="Assert SQLStatmentException when getTask(name) causes SQLException" classname="project.BadCaseTaskTest" time="0.012"/>
<testcase name="Create a new TaskManager and test Connecton" classname="project.BadCaseTaskTest" time="4.103"/> <testcase name="Assert SQLStatmentException when getTask(id) causes SQLException" classname="project.BadCaseTaskTest" time="0.012"/>
<testcase name="Assert an IllegalArgumentException when you create a new Task with no or wrong Name, Description" classname="project.BadCaseTaskTest" time="4.102"> <testcase name="Assert SQLStatmentException when getTaskList causes SQLException" classname="project.BadCaseTaskTest" time="0.012"/>
<failure message="hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)" type="hhn.temp.project.expections.SQLNoConectionException">hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.) <testcase name="Assert SQLStatmentException when existTask causes SQLException" classname="project.BadCaseTaskTest" time="0.012"/>
at app//hhn.temp.project.provider.MySql.connect(MySql.java:35) <testcase name="Assert NullPointerException when getTask(name) without connect" classname="project.BadCaseTaskTest" time="0.0"/>
at app//hhn.temp.project.TaskManager.&lt;init&gt;(TaskManager.java:19) <testcase name="Assert NullPointerException when updateDescription without connect" classname="project.BadCaseTaskTest" time="0.001"/>
at app//project.BadCaseTaskTest.assertExceptionOnCreateNewTask(BadCaseTaskTest.java:41) <testcase name="Assert an IllegalArgumentException when you create a new Task with no or wrong Name, Description" classname="project.BadCaseTaskTest" time="0.287"/>
at java.base@17.0.16/java.lang.reflect.Method.invoke(Method.java:569) <testcase name="Assert an IllegalArgumentException when you create a new Task with the same Name of a exits Task" classname="project.BadCaseTaskTest" time="0.261"/>
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511) <testcase name="Assert SQLStatmentException when updateStatus causes SQLException" classname="project.BadCaseTaskTest" time="0.011"/>
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511) <testcase name="Assert SQLStatmentException when updateWorker causes SQLException" classname="project.BadCaseTaskTest" time="0.012"/>
</failure> <testcase name="Assert NullPointerException when updateStatus without connect" classname="project.BadCaseTaskTest" time="0.0"/>
</testcase> <testcase name="Assert NullPointerException when updateWorker without connect" classname="project.BadCaseTaskTest" time="0.0"/>
<testcase name="Assert an IllegalArgumentException when you create a new Task with the same Name of a exits Task" classname="project.BadCaseTaskTest" time="4.368"> <testcase name="Assert SQLStatmentException when existTask causes SQLException" classname="project.BadCaseTaskTest" time="0.012"/>
<failure message="hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)" type="hhn.temp.project.expections.SQLNoConectionException">hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.) <testcase name="Assert an IllegalArgumentException when delete a existing Task with wrong arguments" classname="project.BadCaseTaskTest" time="0.325"/>
at app//hhn.temp.project.provider.MySql.connect(MySql.java:35) <testcase name="Assert SQLStatmentException when createTask causes SQLException" classname="project.BadCaseTaskTest" time="0.013"/>
at app//hhn.temp.project.TaskManager.&lt;init&gt;(TaskManager.java:19) <testcase name="Get a Exeption by setWorker and getWorker" classname="project.BadCaseTaskTest" time="0.227"/>
at app//project.BadCaseTaskTest.assertExceptionOnCreateNewTaskWithExitsName(BadCaseTaskTest.java:56) <testcase name="Assert TaskNotExistsException when getTask(id) finds no task" classname="project.BadCaseTaskTest" time="0.287"/>
at java.base@17.0.16/java.lang.reflect.Method.invoke(Method.java:569) <testcase name="Assert SQLStatmentException when deleteTask causes SQLException" classname="project.BadCaseTaskTest" time="0.012"/>
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511) <testcase name="Assert NullPointerException when getTask(id) without connect" classname="project.BadCaseTaskTest" time="0.001"/>
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511) <testcase name="Assert NullPointerException when getTaskList without connect" classname="project.BadCaseTaskTest" time="0.001"/>
</failure> <testcase name="Assert SQLNoConectionException when connect fails" classname="project.BadCaseTaskTest" time="4.038"/>
</testcase> <testcase name="Assert an IllegalArgumentException when calling a non-Existing Task" classname="project.BadCaseTaskTest" time="0.285"/>
<testcase name="Assert an IllegalArgumentException when delete a existing Task with wrong arguments" classname="project.BadCaseTaskTest" time="4.204"> <testcase name="Assert TaskNotExistsException when getTask(name) finds no task" classname="project.BadCaseTaskTest" time="0.251"/>
<failure message="hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)" type="hhn.temp.project.expections.SQLNoConectionException">hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)
at app//hhn.temp.project.provider.MySql.connect(MySql.java:35)
at app//hhn.temp.project.TaskManager.&lt;init&gt;(TaskManager.java:19)
at app//project.BadCaseTaskTest.assertExceptionOnDeletingTask(BadCaseTaskTest.java:101)
at java.base@17.0.16/java.lang.reflect.Method.invoke(Method.java:569)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
</failure>
</testcase>
<testcase name="Get a Exeption by setWorker and getWorker" classname="project.BadCaseTaskTest" time="4.155">
<failure message="hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)" type="hhn.temp.project.expections.SQLNoConectionException">hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)
at app//hhn.temp.project.provider.MySql.connect(MySql.java:35)
at app//hhn.temp.project.TaskManager.&lt;init&gt;(TaskManager.java:19)
at app//project.BadCaseTaskTest.assertExeptionBySetAndGetAuthorOfATask(BadCaseTaskTest.java:118)
at java.base@17.0.16/java.lang.reflect.Method.invoke(Method.java:569)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
</failure>
</testcase>
<testcase name="Assert an IllegalArgumentException when calling a non-Existing Task" classname="project.BadCaseTaskTest" time="4.381">
<failure message="hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)" type="hhn.temp.project.expections.SQLNoConectionException">hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)
at app//hhn.temp.project.provider.MySql.connect(MySql.java:35)
at app//hhn.temp.project.TaskManager.&lt;init&gt;(TaskManager.java:19)
at app//project.BadCaseTaskTest.assertExceptionOnCallingANonextistingTask(BadCaseTaskTest.java:85)
at java.base@17.0.16/java.lang.reflect.Method.invoke(Method.java:569)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
</failure>
</testcase>
<system-out><![CDATA[]]></system-out> <system-out><![CDATA[]]></system-out>
<system-err><![CDATA[]]></system-err> <system-err><![CDATA[]]></system-err>
</testsuite> </testsuite>

View File

@@ -1,75 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<testsuite name="project.GoodCaseTaskTest" tests="6" skipped="0" failures="6" errors="0" timestamp="2025-12-07T13:39:48.657Z" hostname="Mac.fritz.box" time="24.852"> <testsuite name="project.GoodCaseTaskTest" tests="6" skipped="0" failures="0" errors="0" timestamp="2025-12-18T08:08:51.262Z" hostname="JAN-PC" time="4.416">
<properties/> <properties/>
<testcase name="Create a new TaskManager and test Connecton" classname="project.GoodCaseTaskTest" time="4.345"> <testcase name="Create a new TaskManager and test Connecton" classname="project.GoodCaseTaskTest" time="0.649"/>
<failure message="org.opentest4j.AssertionFailedError: Unexpected exception thrown: hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)" type="org.opentest4j.AssertionFailedError">org.opentest4j.AssertionFailedError: Unexpected exception thrown: hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.) <testcase name="Edit Task" classname="project.GoodCaseTaskTest" time="0.612"/>
at app//org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:152) <testcase name="Create a new Task" classname="project.GoodCaseTaskTest" time="0.543"/>
at app//org.junit.jupiter.api.AssertDoesNotThrow.createAssertionFailedError(AssertDoesNotThrow.java:84) <testcase name="Check TaskList if Task there" classname="project.GoodCaseTaskTest" time="0.505"/>
at app//org.junit.jupiter.api.AssertDoesNotThrow.assertDoesNotThrow(AssertDoesNotThrow.java:75) <testcase name="Delete Task" classname="project.GoodCaseTaskTest" time="1.351"/>
at app//org.junit.jupiter.api.AssertDoesNotThrow.assertDoesNotThrow(AssertDoesNotThrow.java:58) <testcase name="Set Author of a Task" classname="project.GoodCaseTaskTest" time="0.753"/>
at app//org.junit.jupiter.api.Assertions.assertDoesNotThrow(Assertions.java:3224)
at app//project.GoodCaseTaskTest.assertCreateNewTaskManager(GoodCaseTaskTest.java:33)
at java.base@17.0.16/java.lang.reflect.Method.invoke(Method.java:569)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
Caused by: hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)
at app//hhn.temp.project.provider.MySql.connect(MySql.java:35)
at app//hhn.temp.project.TaskManager.&lt;init&gt;(TaskManager.java:19)
at app//project.GoodCaseTaskTest.lambda$assertCreateNewTaskManager$0(GoodCaseTaskTest.java:33)
at app//org.junit.jupiter.api.AssertDoesNotThrow.assertDoesNotThrow(AssertDoesNotThrow.java:71)
... 6 more
</failure>
</testcase>
<testcase name="Edit Task" classname="project.GoodCaseTaskTest" time="4.092">
<failure message="hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)" type="hhn.temp.project.expections.SQLNoConectionException">hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)
at app//hhn.temp.project.provider.MySql.connect(MySql.java:35)
at app//hhn.temp.project.TaskManager.&lt;init&gt;(TaskManager.java:19)
at app//project.GoodCaseTaskTest.assertEditATask(GoodCaseTaskTest.java:120)
at java.base@17.0.16/java.lang.reflect.Method.invoke(Method.java:569)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
</failure>
</testcase>
<testcase name="Create a new Task" classname="project.GoodCaseTaskTest" time="4.096">
<failure message="hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)" type="hhn.temp.project.expections.SQLNoConectionException">hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)
at app//hhn.temp.project.provider.MySql.connect(MySql.java:35)
at app//hhn.temp.project.TaskManager.&lt;init&gt;(TaskManager.java:19)
at app//project.GoodCaseTaskTest.assertCreateNewTask(GoodCaseTaskTest.java:47)
at java.base@17.0.16/java.lang.reflect.Method.invoke(Method.java:569)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
</failure>
</testcase>
<testcase name="Check TaskList if Task there" classname="project.GoodCaseTaskTest" time="4.108">
<failure message="hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)" type="hhn.temp.project.expections.SQLNoConectionException">hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)
at app//hhn.temp.project.provider.MySql.connect(MySql.java:35)
at app//hhn.temp.project.TaskManager.&lt;init&gt;(TaskManager.java:19)
at app//project.GoodCaseTaskTest.assertCheckTaskListForTask(GoodCaseTaskTest.java:89)
at java.base@17.0.16/java.lang.reflect.Method.invoke(Method.java:569)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
</failure>
</testcase>
<testcase name="Delete Task" classname="project.GoodCaseTaskTest" time="4.094">
<failure message="hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)" type="hhn.temp.project.expections.SQLNoConectionException">hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)
at app//hhn.temp.project.provider.MySql.connect(MySql.java:35)
at app//hhn.temp.project.TaskManager.&lt;init&gt;(TaskManager.java:19)
at app//project.GoodCaseTaskTest.assertDeleteTask(GoodCaseTaskTest.java:63)
at java.base@17.0.16/java.lang.reflect.Method.invoke(Method.java:569)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
</failure>
</testcase>
<testcase name="Set Author of a Task" classname="project.GoodCaseTaskTest" time="4.112">
<failure message="hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)" type="hhn.temp.project.expections.SQLNoConectionException">hhn.temp.project.expections.SQLNoConectionException: Cant connect to the database (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)
at app//hhn.temp.project.provider.MySql.connect(MySql.java:35)
at app//hhn.temp.project.TaskManager.&lt;init&gt;(TaskManager.java:19)
at app//project.GoodCaseTaskTest.assertSetAuthorOfATask(GoodCaseTaskTest.java:145)
at java.base@17.0.16/java.lang.reflect.Method.invoke(Method.java:569)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base@17.0.16/java.util.ArrayList.forEach(ArrayList.java:1511)
</failure>
</testcase>
<system-out><![CDATA[]]></system-out> <system-out><![CDATA[]]></system-out>
<system-err><![CDATA[]]></system-err> <system-err><![CDATA[]]></system-err>
</testsuite> </testsuite>

Binary file not shown.

Binary file not shown.

64
sql/db-export.sql Normal file
View File

@@ -0,0 +1,64 @@
-- phpMyAdmin SQL Dump
-- version 5.2.2
-- https://www.phpmyadmin.net/
--
-- Host: localhost
-- Erstellungszeit: 18. Dez 2025 um 09:33
-- Server-Version: 10.11.11-MariaDB
-- PHP-Version: 8.2.28
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Datenbank: `hhn`
--
CREATE DATABASE IF NOT EXISTS `hhn` DEFAULT CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci;
USE `hhn`;
-- --------------------------------------------------------
--
-- Tabellenstruktur für Tabelle `task`
--
CREATE TABLE `task` (
`taskID` int(11) NOT NULL,
`taskName` varchar(255) NOT NULL,
`taskDescription` varchar(255) NOT NULL,
`taskStatus` enum('OPEN','CLOSED','INPROCESS','') NOT NULL DEFAULT 'OPEN',
`taskWorker` varchar(255) DEFAULT NULL,
`createdDate` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
--
-- Indizes der exportierten Tabellen
--
--
-- Indizes für die Tabelle `task`
--
ALTER TABLE `task`
ADD PRIMARY KEY (`taskID`);
--
-- AUTO_INCREMENT für exportierte Tabellen
--
--
-- AUTO_INCREMENT für Tabelle `task`
--
ALTER TABLE `task`
MODIFY `taskID` int(11) NOT NULL AUTO_INCREMENT;
COMMIT;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

View File

@@ -13,9 +13,14 @@ public class TaskManager {
private Map<Integer, Task> taskMap; private Map<Integer, Task> taskMap;
private MySql mysql; private MySql mysql;
public TaskManager(String user, String password, String port, String host) { public TaskManager(String user, String password, String db, String host, String port) {
if(user == null || password == null || db == null || host == null || port == null) {
throw new NullPointerException("A argument is null");
}
taskMap = new HashMap<>(); taskMap = new HashMap<>();
this.mysql = new MySql(user, password, port, host); this.mysql = new MySql(user, password, db, host, port);
this.mysql.connect(); this.mysql.connect();
} }
/** /**

View File

@@ -16,17 +16,19 @@ public class MySql {
private String password; private String password;
private String db; private String db;
private String host; private String host;
private String port;
private Connection connection; private Connection connection;
public MySql(String user, String password, String db, String host) { public MySql(String user, String password, String db, String host, String port) {
this.user = user; this.user = user;
this.password = password; this.password = password;
this.db = db; this.db = db;
this.host = host; this.host = host;
this.port = port;
} }
public void connect() { public void connect() {
String url = "jdbc:mysql://" + host + ":3306/" + db + "?autoReconnect=true&useSSL=false"; String url = "jdbc:mysql://" + host + ":" + port + "/" + db + "?autoReconnect=true&useSSL=false";
try { try {
Class.forName("com.mysql.cj.jdbc.Driver"); Class.forName("com.mysql.cj.jdbc.Driver");
@@ -39,6 +41,9 @@ public class MySql {
} }
public void reset() { public void reset() {
if(connection == null) {
throw new NullPointerException("You must first connect to the Database.");
}
try { try {
PreparedStatement stmt = connection.prepareStatement("TRUNCATE task"); PreparedStatement stmt = connection.prepareStatement("TRUNCATE task");
stmt.executeUpdate(); stmt.executeUpdate();
@@ -48,6 +53,9 @@ public class MySql {
} }
public int createTask(String name, String description) { public int createTask(String name, String description) {
if(connection == null) {
throw new NullPointerException("You must first connect to the Database.");
}
try { try {
PreparedStatement stmt = connection.prepareStatement("INSERT INTO task ( taskName, taskDescription) VALUES ( ? , ? )", Statement.RETURN_GENERATED_KEYS); PreparedStatement stmt = connection.prepareStatement("INSERT INTO task ( taskName, taskDescription) VALUES ( ? , ? )", Statement.RETURN_GENERATED_KEYS);
stmt.setString(1, name); stmt.setString(1, name);
@@ -64,17 +72,11 @@ public class MySql {
} }
} }
// public void deleteTask(int id) {
// try {
// PreparedStatement stmt = connection.prepareStatement("DELETE task WHERE taskID=?");
// stmt.setString(1, ""+id);
// stmt.executeUpdate();
// } catch (SQLException e) {
// throw new SQLStatmentException("Cant delete data in database");
// }
// }
public boolean existTask(String name) { public boolean existTask(String name) {
if(connection == null) {
throw new NullPointerException("You must first connect to the Database.");
}
try { try {
PreparedStatement stmt = connection.prepareStatement("Select * FROM task WHERE taskName=?"); PreparedStatement stmt = connection.prepareStatement("Select * FROM task WHERE taskName=?");
stmt.setString(1, name); stmt.setString(1, name);
@@ -86,6 +88,9 @@ public class MySql {
} }
public boolean existTask(int id) { public boolean existTask(int id) {
if(connection == null) {
throw new NullPointerException("You must first connect to the Database.");
}
try { try {
PreparedStatement stmt = connection.prepareStatement("Select * FROM task WHERE taskID=?"); PreparedStatement stmt = connection.prepareStatement("Select * FROM task WHERE taskID=?");
stmt.setString(1, ""+id); stmt.setString(1, ""+id);
@@ -97,6 +102,9 @@ public class MySql {
} }
public void deleteTask(String name) { public void deleteTask(String name) {
if(connection == null) {
throw new NullPointerException("You must first connect to the Database.");
}
try { try {
PreparedStatement stmt = connection.prepareStatement("DELETE FROM task WHERE taskName=?"); PreparedStatement stmt = connection.prepareStatement("DELETE FROM task WHERE taskName=?");
stmt.setString(1, name); stmt.setString(1, name);
@@ -107,6 +115,9 @@ public class MySql {
} }
public void updateDescription(int id, String description) { public void updateDescription(int id, String description) {
if(connection == null) {
throw new NullPointerException("You must first connect to the Database.");
}
try { try {
PreparedStatement stmt = connection.prepareStatement("UPDATE task SET taskDescription=? WHERE taskID=?"); PreparedStatement stmt = connection.prepareStatement("UPDATE task SET taskDescription=? WHERE taskID=?");
stmt.setString(1, description); stmt.setString(1, description);
@@ -117,18 +128,11 @@ public class MySql {
throw new SQLStatmentException("Cant update data in database"); throw new SQLStatmentException("Cant update data in database");
} }
} }
// public void updateDescription(String name, String description) {
// try {
// PreparedStatement stmt = connection.prepareStatement("UPDATE task SET taskDescription=? WHERE taskName=?");
// stmt.setString(1, description);
// stmt.setString(2, name);
// stmt.executeUpdate();
//
// } catch (SQLException e) {
// throw new SQLStatmentException("Cant update data in database");
// }
// }
public void updateStatus(int id, TaskStatus status) { public void updateStatus(int id, TaskStatus status) {
if(connection == null) {
throw new NullPointerException("You must first connect to the Database.");
}
try { try {
PreparedStatement stmt = connection.prepareStatement("UPDATE task SET taskStatus=? WHERE taskID=?"); PreparedStatement stmt = connection.prepareStatement("UPDATE task SET taskStatus=? WHERE taskID=?");
stmt.setString(1, status.name()); stmt.setString(1, status.name());
@@ -139,19 +143,12 @@ public class MySql {
throw new SQLStatmentException("Cant update data in database"); throw new SQLStatmentException("Cant update data in database");
} }
} }
// public void updateStatus(String name, TaskStatus status) {
// try {
// PreparedStatement stmt = connection.prepareStatement("UPDATE task SET taskStatus=? WHERE taskName=?");
// stmt.setString(1, status.name());
// stmt.setString(2, name);
// stmt.executeUpdate();
//
// } catch (SQLException e) {
// throw new SQLStatmentException("Cant update data in database");
// }
// }
public void updateWorker(int id, String worker) { public void updateWorker(int id, String worker) {
if(connection == null) {
throw new NullPointerException("You must first connect to the Database.");
}
try { try {
PreparedStatement stmt = connection.prepareStatement("UPDATE task SET taskWorker=? WHERE taskID=?"); PreparedStatement stmt = connection.prepareStatement("UPDATE task SET taskWorker=? WHERE taskID=?");
stmt.setString(1, worker); stmt.setString(1, worker);
@@ -163,19 +160,12 @@ public class MySql {
} }
} }
// public void updateWorker(String name, String worker) {
// try {
// PreparedStatement stmt = connection.prepareStatement("UPDATE task SET taskWorker=? WHERE taskName=?");
// stmt.setString(1, worker);
// stmt.setString(2, name);
// stmt.executeUpdate();
//
// } catch (SQLException e) {
// throw new SQLStatmentException("Cant update data in database");
// }
// }
public Task getTask(int id) { public Task getTask(int id) {
if(connection == null) {
throw new NullPointerException("You must first connect to the Database.");
}
try { try {
PreparedStatement stmt = connection.prepareStatement("SELECT * FROM task WHERE taskID=?"); PreparedStatement stmt = connection.prepareStatement("SELECT * FROM task WHERE taskID=?");
stmt.setString(1, ""+id); stmt.setString(1, ""+id);
@@ -190,6 +180,9 @@ public class MySql {
} }
} }
public Task getTask(String name) { public Task getTask(String name) {
if(connection == null) {
throw new NullPointerException("You must first connect to the Database.");
}
try { try {
PreparedStatement stmt = connection.prepareStatement("SELECT * FROM task WHERE taskName=?"); PreparedStatement stmt = connection.prepareStatement("SELECT * FROM task WHERE taskName=?");
stmt.setString(1, name); stmt.setString(1, name);
@@ -206,6 +199,9 @@ public class MySql {
} }
public List<Task> getTaskList() { public List<Task> getTaskList() {
if(connection == null) {
throw new NullPointerException("You must first connect to the Database.");
}
try { try {
PreparedStatement stmt = connection.prepareStatement("SELECT * FROM task"); PreparedStatement stmt = connection.prepareStatement("SELECT * FROM task");
ResultSet rs = stmt.executeQuery(); ResultSet rs = stmt.executeQuery();

View File

@@ -3,15 +3,15 @@ import hhn.temp.project.Main;
import hhn.temp.project.Task; import hhn.temp.project.Task;
import hhn.temp.project.TaskManager; import hhn.temp.project.TaskManager;
import hhn.temp.project.TaskStatus; import hhn.temp.project.TaskStatus;
import hhn.temp.project.expections.SQLNoConectionException; import hhn.temp.project.expections.*;
import hhn.temp.project.expections.SQLStatmentException; import hhn.temp.project.provider.MySql;
import hhn.temp.project.expections.TaskAlreadyExistsException;
import hhn.temp.project.expections.TaskHasNoWorkerException;
import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import java.util.List; import java.lang.reflect.Field;
import java.sql.Connection;
import static org.junit.jupiter.api.Assertions.*; import static org.junit.jupiter.api.Assertions.*;
@@ -21,7 +21,8 @@ public class BadCaseTaskTest {
private String user = "hhn"; private String user = "hhn";
private String password = "!9oSmhsiwYO.m)_x"; private String password = "!9oSmhsiwYO.m)_x";
private String db = "hhn"; private String db = "hhn";
private String host = "0.0.0.0"; private String host = "home.luithardt.cloud";
private String port = "3555";
@BeforeEach @BeforeEach
public void setup() { public void setup() {
@@ -32,13 +33,20 @@ public class BadCaseTaskTest {
@Test @Test
@DisplayName("Create a new TaskManager and test Connecton") @DisplayName("Create a new TaskManager and test Connecton")
public void assertCreateNewTaskManager() { public void assertCreateNewTaskManager() {
assertThrows(SQLNoConectionException.class,() -> taskManager = new TaskManager("deep", "deep", db, host)); assertThrows(SQLNoConectionException.class,() -> taskManager = new TaskManager("deep", "deep", db, host, port));
assertThrows(NullPointerException.class,() -> taskManager = new TaskManager(null, "deep", db, host, port));
assertThrows(NullPointerException.class,() -> taskManager = new TaskManager(user, null, db, host, port));
assertThrows(NullPointerException.class,() -> taskManager = new TaskManager(user, password, null, host, port));
assertThrows(NullPointerException.class,() -> taskManager = new TaskManager(user, password, db, null, port));
assertThrows(NullPointerException.class,() -> taskManager = new TaskManager(user, password, db, host, null));
} }
@Test @Test
@DisplayName("Assert an IllegalArgumentException when you create a new Task with no or wrong Name, Description") @DisplayName("Assert an IllegalArgumentException when you create a new Task with no or wrong Name, Description")
public void assertExceptionOnCreateNewTask() { public void assertExceptionOnCreateNewTask() {
taskManager = new TaskManager(user, password, db, host); taskManager = new TaskManager(user, password, db, host, port);
assertThrows(IllegalArgumentException.class,() -> taskManager.createTask("", null)); assertThrows(IllegalArgumentException.class,() -> taskManager.createTask("", null));
assertThrows(IllegalArgumentException.class,() -> taskManager.createTask(null, "")); assertThrows(IllegalArgumentException.class,() -> taskManager.createTask(null, ""));
assertThrows(IllegalArgumentException.class,() -> taskManager.createTask(null, null)); assertThrows(IllegalArgumentException.class,() -> taskManager.createTask(null, null));
@@ -53,7 +61,7 @@ public class BadCaseTaskTest {
@Test @Test
@DisplayName("Assert an IllegalArgumentException when you create a new Task with the same Name of a exits Task") @DisplayName("Assert an IllegalArgumentException when you create a new Task with the same Name of a exits Task")
public void assertExceptionOnCreateNewTaskWithExitsName() { public void assertExceptionOnCreateNewTaskWithExitsName() {
taskManager = new TaskManager(user, password, db, host); taskManager = new TaskManager(user, password, db, host, port);
String name = "Name"; String name = "Name";
String description = "Description"; String description = "Description";
assertDoesNotThrow(() -> taskManager.createTask(name, description)); assertDoesNotThrow(() -> taskManager.createTask(name, description));
@@ -66,7 +74,7 @@ public class BadCaseTaskTest {
@Test @Test
@DisplayName("Assert an IllegalArgumentException when you edit a exits Task") @DisplayName("Assert an IllegalArgumentException when you edit a exits Task")
public void assertExceptionOnEditATask() { public void assertExceptionOnEditATask() {
taskManager = new TaskManager(user, password, db, host); taskManager = new TaskManager(user, password, db, host, port);
String name = "Name"; String name = "Name";
String description = "Description"; String description = "Description";
Task task = taskManager.createTask(name, description); Task task = taskManager.createTask(name, description);
@@ -82,7 +90,7 @@ public class BadCaseTaskTest {
@Test @Test
@DisplayName("Assert an IllegalArgumentException when calling a non-Existing Task") @DisplayName("Assert an IllegalArgumentException when calling a non-Existing Task")
public void assertExceptionOnCallingANonextistingTask (){ public void assertExceptionOnCallingANonextistingTask (){
taskManager = new TaskManager(user, password, db, host); taskManager = new TaskManager(user, password, db, host, port);
String wrongName = "Manager"; String wrongName = "Manager";
String name = "Name"; String name = "Name";
String description = "Description"; String description = "Description";
@@ -98,7 +106,7 @@ public class BadCaseTaskTest {
@Test @Test
@DisplayName("Assert an IllegalArgumentException when delete a existing Task with wrong arguments") @DisplayName("Assert an IllegalArgumentException when delete a existing Task with wrong arguments")
public void assertExceptionOnDeletingTask (){ public void assertExceptionOnDeletingTask (){
taskManager = new TaskManager(user, password, db, host); taskManager = new TaskManager(user, password, db, host, port);
String wrongName = "Manager"; String wrongName = "Manager";
String name = "Name"; String name = "Name";
String description = "Description"; String description = "Description";
@@ -115,7 +123,7 @@ public class BadCaseTaskTest {
@Test @Test
@DisplayName("Get a Exeption by setWorker and getWorker") @DisplayName("Get a Exeption by setWorker and getWorker")
public void assertExeptionBySetAndGetAuthorOfATask() { public void assertExeptionBySetAndGetAuthorOfATask() {
taskManager = new TaskManager(user, password, db, host); taskManager = new TaskManager(user, password, db, host, port);
String name = "Name"; String name = "Name";
String description = "Description"; String description = "Description";
String workerName = "worker"; String workerName = "worker";
@@ -130,4 +138,274 @@ public class BadCaseTaskTest {
} }
// MYSQL FILE TESTS
@Test
@DisplayName("Assert SQLNoConectionException when connect fails")
public void assertSQLNoConectionExceptionOnConnect() {
MySql mySql = new MySql("wrongUser", "wrongPassword", "wrongDb", host, port);
assertThrows(SQLNoConectionException.class, mySql::connect);
}
@Test
@DisplayName("Assert NullPointerException when reset without connect")
public void assertNullPointerExceptionOnReset() {
MySql mySql = new MySql(user, password, db, host, port);
assertThrows(NullPointerException.class, mySql::reset);
}
@Test
@DisplayName("Assert NullPointerException when createTask without connect")
public void assertNullPointerExceptionOnCreateTask() {
MySql mySql = new MySql(user, password, db, host, port);
assertThrows(NullPointerException.class, () -> mySql.createTask("Task", "Description"));
}
@Test
@DisplayName("Assert NullPointerException when existTask(name) without connect")
public void assertNullPointerExceptionOnExistTaskByName() {
MySql mySql = new MySql(user, password, db, host, port);
assertThrows(NullPointerException.class, () -> mySql.existTask("Task"));
}
@Test
@DisplayName("Assert NullPointerException when existTask(id) without connect")
public void assertNullPointerExceptionOnExistTaskById() {
MySql mySql = new MySql(user, password, db, host, port);
assertThrows(NullPointerException.class, () -> mySql.existTask(1));
}
@Test
@DisplayName("Assert NullPointerException when deleteTask without connect")
public void assertNullPointerExceptionOnDeleteTask() {
MySql mySql = new MySql(user, password, db, host, port);
assertThrows(NullPointerException.class, () -> mySql.deleteTask("Task"));
}
@Test
@DisplayName("Assert NullPointerException when updateDescription without connect")
public void assertNullPointerExceptionOnUpdateDescription() {
MySql mySql = new MySql(user, password, db, host, port);
assertThrows(NullPointerException.class, () -> mySql.updateDescription(1, "Desc"));
}
@Test
@DisplayName("Assert NullPointerException when updateStatus without connect")
public void assertNullPointerExceptionOnUpdateStatus() {
MySql mySql = new MySql(user, password, db, host, port);
assertThrows(NullPointerException.class, () -> mySql.updateStatus(1, TaskStatus.OPEN));
}
@Test
@DisplayName("Assert NullPointerException when updateWorker without connect")
public void assertNullPointerExceptionOnUpdateWorker() {
MySql mySql = new MySql(user, password, db, host, port);
assertThrows(NullPointerException.class, () -> mySql.updateWorker(1, "Worker"));
}
@Test
@DisplayName("Assert NullPointerException when getTask(id) without connect")
public void assertNullPointerExceptionOnGetTaskById() {
MySql mySql = new MySql(user, password, db, host, port);
assertThrows(NullPointerException.class, () -> mySql.getTask(1));
}
@Test
@DisplayName("Assert NullPointerException when getTask(name) without connect")
public void assertNullPointerExceptionOnGetTaskByName() {
MySql mySql = new MySql(user, password, db, host, port);
assertThrows(NullPointerException.class, () -> mySql.getTask("Task"));
}
@Test
@DisplayName("Assert NullPointerException when getTaskList without connect")
public void assertNullPointerExceptionOnGetTaskList() {
MySql mySql = new MySql(user, password, db, host, port);
assertThrows(NullPointerException.class, mySql::getTaskList);
}
@Test
@DisplayName("Assert TaskNotExistsException when getTask(id) finds no task")
public void assertTaskNotExistsExceptionOnGetTaskById() {
MySql mySql = new MySql(user, password, db, host, port);
mySql.connect();
mySql.reset();
assertThrows(
TaskNotExistsException.class,
() -> mySql.getTask(9999)
);
}
@Test
@DisplayName("Assert TaskNotExistsException when getTask(name) finds no task")
public void assertTaskNotExistsExceptionOnGetTaskByName() {
MySql mySql = new MySql(user, password, db, host, port);
mySql.connect();
mySql.reset();
assertThrows(
TaskNotExistsException.class,
() -> mySql.getTask("does-not-exist")
);
}
@Test
@DisplayName("Assert SQLStatmentException when getTask(id) causes SQLException")
public void assertSQLStatmentExceptionOnGetTaskById() {
MySql mySql = new MySql(user, password, db, host, port);
mySql.connect();
assertDoesNotThrow(() ->closeConnectionViaReflection(mySql));
assertThrows(
SQLStatmentException.class,
() -> mySql.getTask(1)
);
}
@Test
@DisplayName("Assert SQLStatmentException when getTask(name) causes SQLException")
public void assertSQLStatmentExceptionOnGetTaskByName() {
MySql mySql = new MySql(user, password, db, host, port);
mySql.connect();
assertDoesNotThrow(() ->closeConnectionViaReflection(mySql));
assertThrows(
SQLStatmentException.class,
() -> mySql.getTask("Task")
);
}
@Test
@DisplayName("Assert SQLStatmentException when getTaskList causes SQLException")
public void assertSQLStatmentExceptionOnGetTaskList() {
MySql mySql = new MySql(user, password, db, host, port);
mySql.connect();
assertDoesNotThrow(() ->closeConnectionViaReflection(mySql));
assertThrows(
SQLStatmentException.class,
mySql::getTaskList
);
}
@Test
@DisplayName("Assert SQLStatmentException when existTask causes SQLException")
public void assertSQLStatmentExceptionOnExistTask() {
MySql mySql = new MySql(user, password, db, host, port);
mySql.connect();
assertDoesNotThrow(() ->closeConnectionViaReflection(mySql));
assertThrows(
SQLStatmentException.class,
() -> mySql.existTask(1)
);
}
@Test
@DisplayName("Assert SQLStatmentException when existTask causes SQLException")
public void assertSQLStatmentExceptionOnExistTaskWithString() {
MySql mySql = new MySql(user, password, db, host, port);
mySql.connect();
assertDoesNotThrow(() ->closeConnectionViaReflection(mySql));
assertThrows(
SQLStatmentException.class,
() -> mySql.existTask("adada")
);
}
@Test
@DisplayName("Assert SQLStatmentException when updateDescription causes SQLException")
public void assertSQLStatmentExceptionOnUpdateDescription() {
MySql mySql = new MySql(user, password, db, host, port);
mySql.connect();
assertDoesNotThrow(() ->closeConnectionViaReflection(mySql));
assertThrows(
SQLStatmentException.class,
() -> mySql.updateDescription(1, "desc")
);
}
@Test
@DisplayName("Assert SQLStatmentException when updateStatus causes SQLException")
public void assertSQLStatmentExceptionOnUpdateStatus() {
MySql mySql = new MySql(user, password, db, host, port);
mySql.connect();
assertDoesNotThrow(() ->closeConnectionViaReflection(mySql));
assertThrows(
SQLStatmentException.class,
() -> mySql.updateStatus(1, TaskStatus.OPEN)
);
}
@Test
@DisplayName("Assert SQLStatmentException when updateWorker causes SQLException")
public void assertSQLStatmentExceptionOnUpdateWorker() {
MySql mySql = new MySql(user, password, db, host, port);
mySql.connect();
assertDoesNotThrow(() ->closeConnectionViaReflection(mySql));
assertThrows(
SQLStatmentException.class,
() -> mySql.updateWorker(1, "worker")
);
}
@Test
@DisplayName("Assert SQLStatmentException when deleteTask causes SQLException")
public void assertSQLStatmentExceptionOnDeleteTask() {
MySql mySql = new MySql(user, password, db, host, port);
mySql.connect();
assertDoesNotThrow(() ->closeConnectionViaReflection(mySql));
assertThrows(
SQLStatmentException.class,
() -> mySql.deleteTask("task")
);
}
@Test
@DisplayName("Assert SQLStatmentException when createTask causes SQLException")
public void assertSQLStatmentExceptionOnCreateTask() {
MySql mySql = new MySql(user, password, db, host, port);
mySql.connect();
assertDoesNotThrow(() ->closeConnectionViaReflection(mySql));
assertThrows(
SQLStatmentException.class,
() -> mySql.createTask("Task", "Description")
);
}
@Test
@DisplayName("Assert SQLStatmentException when reset causes SQLException")
void assertSQLStatmentExceptionOnReset() {
MySql mySql = new MySql(user, password, db, host, port);
mySql.connect();
assertDoesNotThrow(() ->closeConnectionViaReflection(mySql));
assertThrows(SQLStatmentException.class, mySql::reset);
}
private void closeConnectionViaReflection(MySql mySql) throws Exception {
Field connectionField = MySql.class.getDeclaredField("connection");
connectionField.setAccessible(true);
Connection connection = (Connection) connectionField.get(mySql);
connection.close();
}
} }

View File

@@ -17,7 +17,8 @@ public class GoodCaseTaskTest {
private String user = "hhn"; private String user = "hhn";
private String password = "!9oSmhsiwYO.m)_x"; private String password = "!9oSmhsiwYO.m)_x";
private String db = "hhn"; private String db = "hhn";
private String host = "0.0.0.0"; private String host = "home.luithardt.cloud";
private String port = "3555";
@BeforeEach @BeforeEach
public void setup() { public void setup() {
@@ -30,7 +31,7 @@ public class GoodCaseTaskTest {
@Test @Test
@DisplayName("Create a new TaskManager and test Connecton") @DisplayName("Create a new TaskManager and test Connecton")
public void assertCreateNewTaskManager() { public void assertCreateNewTaskManager() {
assertDoesNotThrow(() -> taskManager = new TaskManager(user, password, db, host)); assertDoesNotThrow(() -> taskManager = new TaskManager(user, password, db, host, port));
assertDoesNotThrow(() -> taskManager.resetTest()); assertDoesNotThrow(() -> taskManager.resetTest());
String name = "Name"; String name = "Name";
@@ -44,7 +45,7 @@ public class GoodCaseTaskTest {
@Test @Test
@DisplayName("Create a new Task") @DisplayName("Create a new Task")
public void assertCreateNewTask() { public void assertCreateNewTask() {
taskManager = new TaskManager(user, password, db, host); taskManager = new TaskManager(user, password, db, host, port);
assertDoesNotThrow(() -> taskManager.resetTest()); assertDoesNotThrow(() -> taskManager.resetTest());
String name = "Name"; String name = "Name";
String description = "Description"; String description = "Description";
@@ -60,7 +61,7 @@ public class GoodCaseTaskTest {
@Test @Test
@DisplayName("Delete Task") @DisplayName("Delete Task")
public void assertDeleteTask(){ public void assertDeleteTask(){
taskManager = new TaskManager(user, password, db, host); taskManager = new TaskManager(user, password, db, host, port);
assertDoesNotThrow(() -> taskManager.resetTest()); assertDoesNotThrow(() -> taskManager.resetTest());
String name = "Name"; String name = "Name";
String description = "Description"; String description = "Description";
@@ -86,7 +87,7 @@ public class GoodCaseTaskTest {
@Test @Test
@DisplayName("Check TaskList if Task there") @DisplayName("Check TaskList if Task there")
public void assertCheckTaskListForTask() { public void assertCheckTaskListForTask() {
taskManager = new TaskManager(user, password, db, host); taskManager = new TaskManager(user, password, db, host, port);
assertDoesNotThrow(() -> taskManager.resetTest()); assertDoesNotThrow(() -> taskManager.resetTest());
String name = "Name"; String name = "Name";
String description = "Description"; String description = "Description";
@@ -117,7 +118,7 @@ public class GoodCaseTaskTest {
@Test @Test
@DisplayName("Edit Task") @DisplayName("Edit Task")
public void assertEditATask() { public void assertEditATask() {
taskManager = new TaskManager(user, password, db, host); taskManager = new TaskManager(user, password, db, host, port);
assertDoesNotThrow(() -> taskManager.resetTest()); assertDoesNotThrow(() -> taskManager.resetTest());
String name = "Name"; String name = "Name";
String description = "Description"; String description = "Description";
@@ -142,7 +143,7 @@ public class GoodCaseTaskTest {
@Test @Test
@DisplayName("Set Author of a Task") @DisplayName("Set Author of a Task")
public void assertSetAuthorOfATask() { public void assertSetAuthorOfATask() {
taskManager = new TaskManager(user, password, db, host); taskManager = new TaskManager(user, password, db, host, port);
assertDoesNotThrow(() -> taskManager.resetTest()); assertDoesNotThrow(() -> taskManager.resetTest());
String name = "Name"; String name = "Name";
String description = "Description"; String description = "Description";