diff --git a/kont2020/.gitignore b/kont2020/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..ca28b1e48774830fbeee267e03acc5538403a9b3 --- /dev/null +++ b/kont2020/.gitignore @@ -0,0 +1,207 @@ + +# Created by https://www.toptal.com/developers/gitignore/api/java,eclipse,maven,intellij +# Edit at https://www.toptal.com/developers/gitignore?templates=java,eclipse,maven,intellij + +### Eclipse ### +.metadata +bin/ +tmp/ +*.tmp +*.bak +*.swp +*~.nib +local.properties +.settings/ +.loadpath +.recommenders +.classpath + +# External tool builders +.externalToolBuilders/ + +# Locally stored "Eclipse launch configurations" +*.launch + +# PyDev specific (Python IDE for Eclipse) +*.pydevproject + +# CDT-specific (C/C++ Development Tooling) +.cproject + +# CDT- autotools +.autotools + +# Java annotation processor (APT) +.factorypath + +# PDT-specific (PHP Development Tools) +.buildpath + +# sbteclipse plugin +.target + +# Tern plugin +.tern-project + +# TeXlipse plugin +.texlipse + +# STS (Spring Tool Suite) +.springBeans + +# Code Recommenders +.recommenders/ + +# Annotation Processing +.apt_generated/ +.apt_generated_test/ + +# Scala IDE specific (Scala & Java development for Eclipse) +.cache-main +.scala_dependencies +.worksheet + +# Uncomment this line if you wish to ignore the project description file. +# Typically, this file would be tracked if it contains build/dependency configurations: +#.project + +### Eclipse Patch ### +# Spring Boot Tooling +.sts4-cache/ + +### Intellij ### +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf + +# Generated files +.idea/**/contentModel.xml + +# Sensitive or high-churn files +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml + +# Gradle +.idea/**/gradle.xml +.idea/**/libraries + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +# .idea/artifacts +# .idea/compiler.xml +# .idea/jarRepositories.xml +# .idea/modules.xml +# .idea/*.iml +# .idea/modules +# *.iml +# *.ipr + +# CMake +cmake-build-*/ + +# Mongo Explorer plugin +.idea/**/mongoSettings.xml + +# File-based project format +*.iws + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +# Editor-based Rest Client +.idea/httpRequests + +# Android studio 3.1+ serialized cache file +.idea/caches/build_file_checksums.ser + +### Intellij Patch ### +# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 + +# *.iml +# modules.xml +# .idea/misc.xml +# *.ipr + +# Sonarlint plugin +.idea/**/sonarlint/ + +# SonarQube Plugin +.idea/**/sonarIssues.xml + +# Markdown Navigator plugin +.idea/**/markdown-navigator.xml +.idea/**/markdown-navigator-enh.xml +.idea/**/markdown-navigator/ + +# Cache file creation bug +# See https://youtrack.jetbrains.com/issue/JBR-2257 +.idea/$CACHE_FILE$ + +### Java ### +# Compiled class file +*.class + +# Log file +*.log + +# BlueJ files +*.ctxt + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* + +### Maven ### +target/ +pom.xml.tag +pom.xml.releaseBackup +pom.xml.versionsBackup +pom.xml.next +release.properties +dependency-reduced-pom.xml +buildNumber.properties +.mvn/timing.properties +# https://github.com/takari/maven-wrapper#usage-without-binary-jar +.mvn/wrapper/maven-wrapper.jar + +# End of https://www.toptal.com/developers/gitignore/api/java,eclipse,maven,intellij + diff --git a/kont2020/.project b/kont2020/.project new file mode 100644 index 0000000000000000000000000000000000000000..e3a785fddf5549d5e78e2e11b228bbe3deb32a2b --- /dev/null +++ b/kont2020/.project @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>kont2020</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.m2e.core.maven2Builder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.m2e.core.maven2Nature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/kont2020/Compress.png b/kont2020/Compress.png new file mode 100644 index 0000000000000000000000000000000000000000..ad53458423cc92342e4e93dbe3e2b2104cc3c907 Binary files /dev/null and b/kont2020/Compress.png differ diff --git a/kont2020/README.md b/kont2020/README.md new file mode 100644 index 0000000000000000000000000000000000000000..4da4c19191cd69c8b0a75eb4e07abbd9fe8d12b1 --- /dev/null +++ b/kont2020/README.md @@ -0,0 +1,40 @@ +# Kontinuasjonseksamen TDT4100 høsten 2020 + +# IKKE GJØR ENDRINGER I DETTE PROSJEKTET SELV FØR EKSAMEN - DET KAN BARE SKAPE TRØBBEL NÅR DU SKAL 'PULLE' + +Eksamenen er delt i to, med flere oppgaver i hver del: + +- [Del 1](src/main/java/stuff/README.md) inneholder separate oppgaver, som hver for seg tester ulik kunnskap i pensum. Del 1 er tenkt å dekke 40% av eksamen. +- [Del 2](src/main/java/food/README.md) inneholder en større programmeringsbit, med fire deloppgaver. Disse teller 60% av eksamen. + +Hvis du ikke skulle klare å implementere en metode i en del kan du selvfølgelig bruke denne videre som om den virket (som i tidligere 'papireksamener'). + +Oppgavene har en tekstbeskrivelse, men denne er ikke alltid utfyllende. De mest utfyllende kravene til en metode står i dens javadoc-beskrivelse, altså en kommentar som står før metoden selv i kildekoden. Mange av metodene har fått lagt til 'dummy' returverdier - dette er gjort slik at kildekoden vil kompilere. Disse må naturlig nok endres for at metodene skal fungere som beskrevet. + +## Levering +Når eksamen skal leveres kan du gjøre dette på denne måten (vi kan ikke garantere at dere vil få sensur dersom dere ikke følger denne oppskriften og faktisk leverer hele prosjektet): + +**Zippe i Windows** + +- Høyreklikk på prosjektikonet i 'Package Explorer' helt til venstre i Eclipse. +- Velg 'Show in' -> click 'System Explorer'. +- Du skal nå få opp et utforskervindu (ikke i Eclipse, men i Windows) som står åpent i en folder som sannsynligvis slutter på git. For meg er det _'C:\Users\borgeha\git'_ Denne folderen inneholder prosjektfolderen vi skal komprimere. +- Høyreklikk prosjektfolderen, den skal hete kont2020 -> meny 'Send til' -> 'Komprimert (zippet) mappe'. +- Windows komprimerer nå prosjektfolderen kont2020, og spør deg hva den skal kalles. La den hete det som foreslås. +- Denne zipfilen er filen dere skal laste opp til Inspera til slutt. +- Dere finner et par bilder av prosessen til slutt i denne filen. + +**Zippe i OS X** + +- Følg instruksjonene som for Windows overfor, men ting har andre navn. +- Høyreklikk prosjektet i Eclipse -> 'Åpne i Finder' +- Høyreklikk prosjektfolderen og velg 'Komprimer' +- Filen du får er den som skal lastes opp til Inspera. + +**System Explorer** + +<img src="System_Explorer.png" alt="drawing" width="600"/> + +**Compress** + +<img src="Compress.png" alt="drawing" width="600"/> diff --git a/kont2020/System_Explorer.png b/kont2020/System_Explorer.png new file mode 100644 index 0000000000000000000000000000000000000000..24848a20855d7f5bc6d4adacbd8af60b9063aec7 Binary files /dev/null and b/kont2020/System_Explorer.png differ diff --git a/kont2020/pom.xml b/kont2020/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..3757e2f9398e806beadcc504d57d5d4590679515 --- /dev/null +++ b/kont2020/pom.xml @@ -0,0 +1,50 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <artifactId>kont2020</artifactId> + <groupId>TDT4100</groupId> + <version>0.0.1-SNAPSHOT</version> + + <dependencies> + <dependency> + <groupId>org.openjfx</groupId> + <artifactId>javafx-fxml</artifactId> + <version>13.0.1</version> + </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.12</version> + </dependency> + <dependency> + <groupId>org.mockito</groupId> + <artifactId>mockito-all</artifactId> + <version>1.10.19</version> + <scope>test</scope> + </dependency> + </dependencies> + <properties> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + </properties> + + <build> + <pluginManagement> + <plugins> + <plugin> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.8.0</version> + <configuration> + <encoding>UTF-8</encoding> + <release>13</release> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <version>2.22.1</version> + </plugin> + </plugins> + </pluginManagement> + </build></project> diff --git a/kont2020/src/main/java/food/.gitignore b/kont2020/src/main/java/food/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..c2f92c01650d817e70d72b9cca560cdb2165529a --- /dev/null +++ b/kont2020/src/main/java/food/.gitignore @@ -0,0 +1,11 @@ +/AllTests.class +/Customer.class +/CustomerTest.class +/Kitchen.class +/KitchenApp.class +/KitchenController.class +/KitchenObserver.class +/KitchenObserverInterface.class +/KitchenObserverTest.class +/KitchenTest.class +/MealsBought.class diff --git a/kont2020/src/main/java/food/Dummy.java b/kont2020/src/main/java/food/Dummy.java new file mode 100644 index 0000000000000000000000000000000000000000..e3f7b179360d3b1a931455a8d29954824d551765 --- /dev/null +++ b/kont2020/src/main/java/food/Dummy.java @@ -0,0 +1,18 @@ +package food; + +import food.def.IDummy; + +public class Dummy implements IDummy { + + public static void main(String[] args) { + // TODO_CONCERN Auto-generated method stub + Dummy dummy = new Dummy(); + System.out.println(dummy.dummyMethod()); + } + + @Override + public String dummyMethod() { + return "Only here to make the empty project look okay."; + } + +} diff --git a/kont2020/src/main/java/food/README.md b/kont2020/src/main/java/food/README.md new file mode 100644 index 0000000000000000000000000000000000000000..a6e7289b195c0a172608109b0dd0668479b4ff44 --- /dev/null +++ b/kont2020/src/main/java/food/README.md @@ -0,0 +1,3 @@ +# Le Petite Chef take two + +Den litt større oppgaven kommer her. Ikke gjør om på denne filen! diff --git a/kont2020/src/main/java/food/def/IDummy.java b/kont2020/src/main/java/food/def/IDummy.java new file mode 100644 index 0000000000000000000000000000000000000000..b5cfdf318327597ac94a15bf1ef76e8015a0f7d9 --- /dev/null +++ b/kont2020/src/main/java/food/def/IDummy.java @@ -0,0 +1,6 @@ +package food.def; + +public interface IDummy { + + public String dummyMethod(); +} diff --git a/kont2020/src/main/java/food/def/README.md b/kont2020/src/main/java/food/def/README.md new file mode 100644 index 0000000000000000000000000000000000000000..fcaa6c76e5c0c7296296eb3eddfbce318fa02f87 --- /dev/null +++ b/kont2020/src/main/java/food/def/README.md @@ -0,0 +1,5 @@ +# Grensesnitt +Disse grensesnittene skal ikke endres på. +... + +Endring av disse grensesnittene for å løse oppgaven vil kunne medføre trekk ved sensur. \ No newline at end of file diff --git a/kont2020/src/main/java/module-info.java b/kont2020/src/main/java/module-info.java new file mode 100644 index 0000000000000000000000000000000000000000..57f78266a414e08bb3fb7eb19acd47a2a0d882df --- /dev/null +++ b/kont2020/src/main/java/module-info.java @@ -0,0 +1,12 @@ +module kont2020 { + requires javafx.fxml; + requires javafx.graphics; + requires javafx.controls; + requires junit; + + exports food; + exports food.def; + exports stuff; + + opens stuff to javafx.fxml; +} \ No newline at end of file diff --git a/kont2020/src/main/java/stuff/README.md b/kont2020/src/main/java/stuff/README.md new file mode 100644 index 0000000000000000000000000000000000000000..29859a84a3ec40a8ffc5c44f8142bd1324bfb301 --- /dev/null +++ b/kont2020/src/main/java/stuff/README.md @@ -0,0 +1,4 @@ +# Småoppgaver +I pakken *stuff* vil du finne en del mindre oppgaver. Disse henger ikke sammen. +Ikke gjør om på denne filen! + diff --git a/kont2020/src/main/java/stuff/Stuff.java b/kont2020/src/main/java/stuff/Stuff.java new file mode 100644 index 0000000000000000000000000000000000000000..e6f93b0479f0523c12bd33d9f232399250dc4d00 --- /dev/null +++ b/kont2020/src/main/java/stuff/Stuff.java @@ -0,0 +1,9 @@ +package stuff; + +public class Stuff { + + public static void main(String[] args) { + System.out.println("Only here to make the empty project look okay."); + } + +}