diff --git a/.github/workflows/build_java.yml b/.github/workflows/build_java.yml index edb67d1..13b8a62 100644 --- a/.github/workflows/build_java.yml +++ b/.github/workflows/build_java.yml @@ -21,12 +21,12 @@ jobs: # Steps represent a sequence of tasks that will be executed as part of the job steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - - name: Set up JDK 11 - uses: actions/setup-java@v2 + - name: Set up JDK 21 + uses: actions/setup-java@v3 with: - java-version: '11' - distribution: 'adopt' + java-version: '21' + distribution: 'temurin' - name: Build with Maven run: mvn clean package \ No newline at end of file diff --git a/.github/workflows/build_java_docker.yml b/.github/workflows/build_java_docker.yml index 5c336dd..b50ab30 100644 --- a/.github/workflows/build_java_docker.yml +++ b/.github/workflows/build_java_docker.yml @@ -9,6 +9,7 @@ on: branches: - main - staging + - develop # Allows you to run this workflow manually from the Actions tab @@ -24,17 +25,17 @@ jobs: # Steps represent a sequence of tasks that will be executed as part of the job steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - - name: Set up JDK 11 + - name: Set up JDK 21 uses: actions/setup-java@v3 with: - java-version: '11' - distribution: 'adopt' + java-version: '21' + distribution: 'temurin' - name: Build with Maven run: mvn clean package - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: java.telegrambots.jar path: target/ @@ -47,14 +48,14 @@ jobs: steps: - name: Git branch name id: git-branch-name - uses: EthanSK/git-branch-name-action@v2 + uses: EthanSK/git-branch-name-action@v1 - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4.1.7 with: name: java.telegrambots.jar path: target/ @@ -64,7 +65,7 @@ jobs: uses: docker/setup-qemu-action@v2 with: image: tonistiigi/binfmt:latest - platforms: linux/amd64,linux/arm64,linux/arm/v7 + platforms: linux/amd64,linux/arm64 - name: Inspect builder run: | @@ -89,7 +90,7 @@ jobs: with: context: ./ file: ./Dockerfile - platforms: linux/amd64,linux/arm64,linux/arm/v7 + platforms: linux/amd64,linux/arm64 push: true tags: amgamen/chatbot:${{ env.GIT_BRANCH_NAME }} @@ -105,4 +106,4 @@ jobs: SSH_PRIVATE_KEY: ${{secrets.SSH_PRIVATE_KEY}} SSH_KNOWN_HOSTS: ${{secrets.SSH_KNOWN_HOSTS}} - name: start docker with ssh - run: ssh -i ~/private.key -p 19999 bigmama@bigamgamen.de '/home/bigmama/progs/docker/start_bot_${{ env.GIT_BRANCH_NAME }}.sh' + run: ssh -i ~/private.key -p 19999 bigmama@bigamgamen.de 'docker rm -f bot-${{ env.GIT_BRANCH_NAME }} && docker image pull amgamen/chatbot:${{ env.GIT_BRANCH_NAME }} && docker run -d -v chatbotvol-${{ env.GIT_BRANCH_NAME }}:/opt/telegrambot/data --env-file ~/chatbot/env_${{ env.GIT_BRANCH_NAME }} --restart unless-stopped --name bot-${{ env.GIT_BRANCH_NAME }} amgamen/chatbot:${{ env.GIT_BRANCH_NAME }}' diff --git a/Dockerfile b/Dockerfile index eebacab..83d76f1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM eclipse-temurin:17.0.1_12-jdk-focal +FROM eclipse-temurin:21-noble LABEL maintainer="AMDev" RUN groupadd --system -g 1001 telegrambot && adduser --uid 1001 --gid 1001 --disabled-password --shell /bin/false telegrambot diff --git a/LICENSE.adoc b/LICENSE.md similarity index 100% rename from LICENSE.adoc rename to LICENSE.md diff --git a/README.adoc b/README.adoc deleted file mode 100644 index 173bb03..0000000 --- a/README.adoc +++ /dev/null @@ -1,68 +0,0 @@ -= Telegram ChatBot For Order things in Small Groups, with a Microstream storing solution - -ifdef::env-github[:outfilesuffix: .adoc] - -== How to - -=== Developer how to use: - -Create your Ownbot : - https://github.com/chatbot-workshop/java-telegram-workshop/blob/master/WORKSHOP.adoc - -Start the Bot like this. - - java -cp java.telegrambots-0.9-FINAL.jar:./lib/* de.bigamgamen.java.telegrambots.hertlhendl.HertlHendlBot TOKEN bot_name CREATOR_ID - -Or test it with this bot: - @herthaehnchen_bot - - - -=== User how to use: - -type - /help -and choose an command. - -Usecase: Make an order: - - /neuebestellung - /bestellungenkeyboard - -choose a Button - - /bestellung 0 - -add article to order with Buttons - - /addposition 1/2-Hähnchen 0 - /addposition Krautsalat 0 - -Commit your order - - /commitorder 0 - - -=== Admin how to use: - - /adminoffnenebestellungen - - - -== Copyright and Licensing - -Copyright (C) 2020 Arne Meier - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - -See the <> file for details. diff --git a/README.md b/README.md new file mode 100644 index 0000000..290f577 --- /dev/null +++ b/README.md @@ -0,0 +1,56 @@ +# How to + +## Developer how to use: + +Create your Ownbot : + + +Start the Bot like this. + + java -cp java.telegrambots-0.9-FINAL.jar:./lib/* de.bigamgamen.java.telegrambots.hertlhendl.HertlHendlBot TOKEN bot_name CREATOR_ID + +Or test it with this bot: @herthaehnchen_bot + +## User how to use: + +type /help and choose a command. + +Usecase: Make an order: + + /neuebestellung + /bestellungenkeyboard + +choose a Button + + /bestellung 0 + +add article to order with Buttons + + /addposition 1/2-Hähnchen 0 + /addposition Krautsalat 0 + +Commit your order + + /commitorder 0 + +## Admin how to use: + + /adminoffnenebestellungen + +# Copyright and Licensing + +Copyright © 2023 Arne Meier + +Licensed under the Apache License, Version 2.0 (the "License"); you may +not use this file except in compliance with the License. You may obtain +a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +See the [LICENSE](#LICENSE.md#) file for details. diff --git a/create_volume.sh b/create_volume.sh index 653c94b..5490bc2 100644 --- a/create_volume.sh +++ b/create_volume.sh @@ -1,2 +1,9 @@ -docker volume create --opt type=none --opt o=bind --opt device=~/data/chatbotvol-develop --name chatbotvol-develop -chown 1001:1001 ~/data/chatbotvol-develop \ No newline at end of file +mkdir -p /home/bigmama/chatbot/data/chatbotvol-develop +chown 1001:1001 /home/bigmama/chatbot/data/chatbotvol-develop +docker volume create --opt type=none --opt o=bind --opt device=/home/bigmama/chatbot/data/chatbotvol-develop --name chatbotvol-develop +mkdir -p /home/bigmama/chatbot/data/chatbotvol-staging +chown 1001:1001 /home/bigmama/chatbot/data/chatbotvol-staging +docker volume create --opt type=none --opt o=bind --opt device=/home/bigmama/chatbot/data/chatbotvol-staging --name chatbotvol-staging +mkdir -p /home/bigmama/chatbot/data/chatbotvol-main +chown 1001:1001 /home/bigmama/chatbot/data/chatbotvol-main +docker volume create --opt type=none --opt o=bind --opt device=/home/bigmama/chatbot/data/chatbotvol-main --name chatbotvol-main diff --git a/java.telegrambots.iml b/java.telegrambots.iml new file mode 100644 index 0000000..dfa5bc4 --- /dev/null +++ b/java.telegrambots.iml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index f78d115..e540258 100644 --- a/pom.xml +++ b/pom.xml @@ -10,9 +10,11 @@ UTF-8 - 11 - 11 - 5.4.0 + 21 + 21 + 6.4.0 + 2.1.3 + 08.01.01-MS-GA @@ -34,47 +36,41 @@ ${telegram.bot.version} + + + - one.microstream - storage.embedded - 04.00.00-MS-GA - - - one.microstream - storage.embedded.configuration - 04.00.00-MS-GA + org.eclipse.store + storage-embedded + ${eclipse.store.version} + org.apache.commons commons-lang3 - 3.11 + 3.18.0 - - - - - org.mockito mockito-core - 2.28.2 + 5.11.0 test org.slf4j slf4j-api - 1.7.30 + 2.0.13 org.slf4j slf4j-simple - 1.7.30 + 2.0.13 org.apache.logging.log4j log4j-api - 2.17.2 + 2.23.1 @@ -82,7 +78,7 @@ org.apache.logging.log4j log4j-core - 2.17.2 + 2.23.1 @@ -123,4 +119,4 @@ - \ No newline at end of file + diff --git a/src/main/java/de/bigamgamen/java/helper/PaypalLinkGenerator.java b/src/main/java/de/bigamgamen/java/helper/PaypalLinkGenerator.java index 99257f8..3e7e639 100644 --- a/src/main/java/de/bigamgamen/java/helper/PaypalLinkGenerator.java +++ b/src/main/java/de/bigamgamen/java/helper/PaypalLinkGenerator.java @@ -1,6 +1,7 @@ package de.bigamgamen.java.helper; import java.net.MalformedURLException; +import java.net.URI; import java.net.URL; import de.bigamgamen.java.telegrambots.hertlhendl.domain.HertlBotOrder; @@ -33,7 +34,7 @@ public URL generatePayPalLinkForOrder(final HertlBotOrder order, String adminEma sb.append(ITEM_NAME).append(order.getPayPalDescription()); sb.append(CURRENCY_CODE).append(DEFAULT_CURRENCY); - final URL paylpalLink = new URL(sb.toString()); + final URL paylpalLink = URI.create(sb.toString()).toURL(); return paylpalLink; } diff --git a/src/main/java/de/bigamgamen/java/telegrambots/hertlhendl/HertlHendlBot.java b/src/main/java/de/bigamgamen/java/telegrambots/hertlhendl/HertlHendlBot.java index 9c918ee..ef71275 100644 --- a/src/main/java/de/bigamgamen/java/telegrambots/hertlhendl/HertlHendlBot.java +++ b/src/main/java/de/bigamgamen/java/telegrambots/hertlhendl/HertlHendlBot.java @@ -18,20 +18,21 @@ package de.bigamgamen.java.telegrambots.hertlhendl; -import static org.telegram.abilitybots.api.objects.Locality.ALL; -import static org.telegram.abilitybots.api.objects.Privacy.PUBLIC; - -import java.io.IOException; -import java.io.InputStream; -import java.math.BigInteger; -import java.net.URISyntaxException; -import java.net.URL; -import java.util.ArrayList; -import java.util.List; -import java.util.Optional; - -import javax.xml.parsers.ParserConfigurationException; - +import com.google.common.annotations.VisibleForTesting; +import de.bigamgamen.java.helper.IOHelper; +import de.bigamgamen.java.helper.PaypalLinkGenerator; +import de.bigamgamen.java.telegrambots.hertlhendl.api.RightController; +import de.bigamgamen.java.telegrambots.hertlhendl.api.RoleController; +import de.bigamgamen.java.telegrambots.hertlhendl.builder.TelegramKeyBoardBuilder; +import de.bigamgamen.java.telegrambots.hertlhendl.controller.HertlRightController; +import de.bigamgamen.java.telegrambots.hertlhendl.controller.HertlRoleController; +import de.bigamgamen.java.telegrambots.hertlhendl.dal.HertlBotRootDao; +import de.bigamgamen.java.telegrambots.hertlhendl.domain.HertlBotArticle; +import de.bigamgamen.java.telegrambots.hertlhendl.domain.HertlBotOrder; +import de.bigamgamen.java.telegrambots.hertlhendl.domain.HertlBotUser; +import de.bigamgamen.java.telegrambots.hertlhendl.helper.OrderHelper; +import de.bigamgamen.java.telegrambots.hertlhendl.helper.TelegramHelper; +import de.bigamgamen.java.telegrambots.hertlhendl.init.InitArticles; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.telegram.abilitybots.api.bot.AbilityBot; @@ -49,22 +50,19 @@ import org.telegram.telegrambots.updatesreceivers.DefaultBotSession; import org.xml.sax.SAXException; -import com.google.common.annotations.VisibleForTesting; +import javax.xml.parsers.ParserConfigurationException; +import java.io.IOException; +import java.io.InputStream; +import java.math.BigInteger; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URL; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; -import de.bigamgamen.java.helper.IOHelper; -import de.bigamgamen.java.helper.PaypalLinkGenerator; -import de.bigamgamen.java.telegrambots.hertlhendl.api.RightController; -import de.bigamgamen.java.telegrambots.hertlhendl.api.RoleController; -import de.bigamgamen.java.telegrambots.hertlhendl.builder.TelegramKeyBoardBuilder; -import de.bigamgamen.java.telegrambots.hertlhendl.controller.HertlRightController; -import de.bigamgamen.java.telegrambots.hertlhendl.controller.HertlRoleController; -import de.bigamgamen.java.telegrambots.hertlhendl.dal.HertlBotRootDao; -import de.bigamgamen.java.telegrambots.hertlhendl.domain.HertlBotArticle; -import de.bigamgamen.java.telegrambots.hertlhendl.domain.HertlBotOrder; -import de.bigamgamen.java.telegrambots.hertlhendl.domain.HertlBotUser; -import de.bigamgamen.java.telegrambots.hertlhendl.helper.OrderHelper; -import de.bigamgamen.java.telegrambots.hertlhendl.helper.TelegramHelper; -import de.bigamgamen.java.telegrambots.hertlhendl.init.InitArticles; +import static org.telegram.abilitybots.api.objects.Locality.ALL; +import static org.telegram.abilitybots.api.objects.Privacy.PUBLIC; public class HertlHendlBot extends AbilityBot @@ -103,8 +101,9 @@ public class HertlHendlBot extends AbilityBot private final static String ADMIN_DEFAULT_NAME = "Admin"; private static Integer CREATOR_ID = 0; + //NOTE needs an screenshot server like this https://hub.docker.com/r/branchard/website-screenshot-microservice private static String HERTL_URL = - "http://ks3266365.kimsufi.com:2341/?url=https://hertel-haehnchen.de/standplatzsuche?search=92637"; + "http://bigamgamen.de:1082/?url=https://hertel-grillgenuss.de/standortsuche?search=92637&day=All"; private static HertlBotRootDao hertlBotDao; private final TelegramKeyBoardBuilder keyBoardBuilder; @@ -116,15 +115,15 @@ public class HertlHendlBot extends AbilityBot private final PaypalLinkGenerator payPalGenerator = new PaypalLinkGenerator(); - public static void main(final String[] args) + public static void main( String[] args) throws ParserConfigurationException, SAXException, IOException, URISyntaxException, TelegramApiException { LOG.info("HertlHendlBot starting"); - final String token = args[0] != null ? args[0] : BOT_TOKEN; - final String username = args[1] != null ? args[1] : BOT_USERNAME; - final Long creatorId = args[2] != null ? Long.valueOf(args[2]) : CREATOR_ID; - final String creatorPayPalEmail = args[3] != null ? args[3] : ""; + final String token = args.length >= 1 && args[0] != null ? args[0] : BOT_TOKEN; + final String username = args.length >= 2 && args[1] != null ? args[1] : BOT_USERNAME; + final Long creatorId = args.length >= 3 && args[2] != null ? Long.valueOf(args[2]) : CREATOR_ID; + final String creatorPayPalEmail = args.length >= 4 && args[3] != null ? args[3] : ""; final HertlHendlBot bot = new HertlHendlBot(token, username, creatorId, creatorPayPalEmail); final TelegramBotsApi api = new TelegramBotsApi(DefaultBotSession.class); api.registerBot(bot); @@ -606,7 +605,7 @@ private InputStream makingScreenshotOfHertlHomepage() try { - final URL u = new URL(HERTL_URL); + final URL u = URI.create(HERTL_URL).toURL(); return u.openStream(); diff --git a/src/main/java/de/bigamgamen/java/telegrambots/hertlhendl/dal/HertlBotRootDao.java b/src/main/java/de/bigamgamen/java/telegrambots/hertlhendl/dal/HertlBotRootDao.java index 9820803..9812a2b 100644 --- a/src/main/java/de/bigamgamen/java/telegrambots/hertlhendl/dal/HertlBotRootDao.java +++ b/src/main/java/de/bigamgamen/java/telegrambots/hertlhendl/dal/HertlBotRootDao.java @@ -1,5 +1,12 @@ package de.bigamgamen.java.telegrambots.hertlhendl.dal; +import de.bigamgamen.java.telegrambots.hertlhendl.domain.HertlBotOrder; +import de.bigamgamen.java.telegrambots.hertlhendl.domain.HertlBotRoot; +import de.bigamgamen.java.telegrambots.hertlhendl.domain.HertlBotUser; + +import org.eclipse.store.storage.embedded.types.EmbeddedStorage; +import org.eclipse.store.storage.embedded.types.EmbeddedStorageManager; + import java.nio.file.Paths; import java.time.LocalDate; import java.util.ArrayList; @@ -8,13 +15,6 @@ import java.util.function.Predicate; import java.util.stream.Collectors; -import de.bigamgamen.java.telegrambots.hertlhendl.domain.HertlBotOrder; -import de.bigamgamen.java.telegrambots.hertlhendl.domain.HertlBotRoot; -import de.bigamgamen.java.telegrambots.hertlhendl.domain.HertlBotUser; -import one.microstream.storage.configuration.Configuration; -import one.microstream.storage.types.EmbeddedStorageFoundation; -import one.microstream.storage.types.EmbeddedStorageManager; - public class HertlBotRootDao { @@ -35,13 +35,7 @@ public HertlBotRootDao() private static EmbeddedStorageManager createStorageManager() { - final Configuration configuration = Configuration.Default(); - configuration.setBaseDirectory(Paths.get("data", "microstream", "storage").toString()); - configuration.setChannelCount(2); - - final EmbeddedStorageFoundation foundation = configuration.createEmbeddedStorageFoundation(); - - final EmbeddedStorageManager storageManager = foundation.createEmbeddedStorageManager().start(); + final EmbeddedStorageManager storageManager = EmbeddedStorage.start(Paths.get("data", "eclipsestore", "storage")); if (storageManager.root() == null) { diff --git a/src/main/java/de/bigamgamen/java/telegrambots/hertlhendl/domain/HertlBotArticles.java b/src/main/java/de/bigamgamen/java/telegrambots/hertlhendl/domain/HertlBotArticles.java index 206583f..85e5301 100644 --- a/src/main/java/de/bigamgamen/java/telegrambots/hertlhendl/domain/HertlBotArticles.java +++ b/src/main/java/de/bigamgamen/java/telegrambots/hertlhendl/domain/HertlBotArticles.java @@ -9,7 +9,7 @@ import java.util.stream.Collectors; import de.bigamgamen.java.telegrambots.hertlhendl.dal.HertlBotRootDao; -import one.microstream.persistence.types.Persister; +import org.eclipse.serializer.persistence.types.Persister; public class HertlBotArticles { diff --git a/src/main/java/de/bigamgamen/java/telegrambots/hertlhendl/domain/HertlBotOrder.java b/src/main/java/de/bigamgamen/java/telegrambots/hertlhendl/domain/HertlBotOrder.java index ac7dc80..83691c4 100644 --- a/src/main/java/de/bigamgamen/java/telegrambots/hertlhendl/domain/HertlBotOrder.java +++ b/src/main/java/de/bigamgamen/java/telegrambots/hertlhendl/domain/HertlBotOrder.java @@ -9,7 +9,8 @@ import java.util.List; import de.bigamgamen.java.helper.Pricehelper; -import one.microstream.persistence.types.Persister; +import org.eclipse.serializer.persistence.types.Persister; + public class HertlBotOrder { diff --git a/src/main/java/de/bigamgamen/java/telegrambots/hertlhendl/domain/HertlBotUser.java b/src/main/java/de/bigamgamen/java/telegrambots/hertlhendl/domain/HertlBotUser.java index 0e411b0..ab9cfa7 100644 --- a/src/main/java/de/bigamgamen/java/telegrambots/hertlhendl/domain/HertlBotUser.java +++ b/src/main/java/de/bigamgamen/java/telegrambots/hertlhendl/domain/HertlBotUser.java @@ -1,9 +1,10 @@ package de.bigamgamen.java.telegrambots.hertlhendl.domain; +import org.eclipse.serializer.persistence.types.Persister; + import java.util.ArrayList; import java.util.List; -import one.microstream.persistence.types.Persister; public class HertlBotUser { diff --git a/src/main/java/de/bigamgamen/java/telegrambots/hertlhendl/domain/HertlBotUsers.java b/src/main/java/de/bigamgamen/java/telegrambots/hertlhendl/domain/HertlBotUsers.java index 48e7233..da2ad34 100644 --- a/src/main/java/de/bigamgamen/java/telegrambots/hertlhendl/domain/HertlBotUsers.java +++ b/src/main/java/de/bigamgamen/java/telegrambots/hertlhendl/domain/HertlBotUsers.java @@ -11,7 +11,7 @@ import java.util.Optional; import de.bigamgamen.java.telegrambots.hertlhendl.dal.HertlBotRootDao; -import one.microstream.persistence.types.Persister; +import org.eclipse.serializer.persistence.types.Persister; public class HertlBotUsers { diff --git a/src/main/java/de/bigamgamen/java/telegrambots/hertlhendl/init/InitArticles.java b/src/main/java/de/bigamgamen/java/telegrambots/hertlhendl/init/InitArticles.java index 1660bea..734b878 100644 --- a/src/main/java/de/bigamgamen/java/telegrambots/hertlhendl/init/InitArticles.java +++ b/src/main/java/de/bigamgamen/java/telegrambots/hertlhendl/init/InitArticles.java @@ -19,13 +19,13 @@ public synchronized static void initArtikels(final HertlBotRootDao dao) { final List artikelList = new ArrayList<>(); // Die Namen Dürfen keine Leerzeichen enthalten !!!! - artikelList.add(new HertlBotArticle(1, "1/2-Hähnchen", BigInteger.valueOf(490L))); - artikelList.add(new HertlBotArticle(2, "Hähnchen-Schenkel", BigInteger.valueOf(290L))); - artikelList.add(new HertlBotArticle(3, "Krautsalat", BigInteger.valueOf(200L))); + artikelList.add(new HertlBotArticle(1, "1/2-Hähnchen", BigInteger.valueOf(520L))); + artikelList.add(new HertlBotArticle(2, "Hähnchen-Schenkel", BigInteger.valueOf(300L))); + artikelList.add(new HertlBotArticle(3, "Krautsalat", BigInteger.valueOf(220L))); artikelList.add(new HertlBotArticle(4, "Brezel-klein", BigInteger.valueOf(100L))); artikelList.add(new HertlBotArticle(5, "Brezel-groß", BigInteger.valueOf(170L))); - artikelList.add(new HertlBotArticle(6, "Kartoffelsalat-Essig-Öl", BigInteger.valueOf(200L))); - artikelList.add(new HertlBotArticle(7, "Kartoffelsalat-Majo", BigInteger.valueOf(200L))); + artikelList.add(new HertlBotArticle(6, "Kartoffelsalat-Essig-Öl", BigInteger.valueOf(220L))); + artikelList.add(new HertlBotArticle(7, "Kartoffelsalat-Majo", BigInteger.valueOf(220L))); dao.root().artikels().clearAll(); diff --git a/src/main/resources/hendl_preise.jpg b/src/main/resources/hendl_preise.jpg index 1a9b30c..9dc6d19 100644 Binary files a/src/main/resources/hendl_preise.jpg and b/src/main/resources/hendl_preise.jpg differ