Inital commit exercise 8

This commit is contained in:
Simon 2019-06-18 15:26:16 +02:00
parent 03d84984a0
commit 85ff24ed18
18 changed files with 919 additions and 111 deletions

View file

@ -2,43 +2,9 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="ce5d9264-6543-4dfb-9894-4df6c2616d5e" name="Default" comment="">
<change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/../de.hhn.ai.prog2.blatt8.internationalisierung/src/locale_de_DE.properties" afterDir="false" />
<change afterPath="$PROJECT_DIR$/../de.hhn.ai.prog2.blatt8.internationalisierung/src/locale_en.properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/PizzaProject.iml" beforeDir="false" afterPath="$PROJECT_DIR$/PizzaProject.iml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/out/production/PizzaProject/model/Order$OrderState.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/PizzaProject/model/Order$OrderState.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/out/production/PizzaProject/model/Order.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/PizzaProject/model/Order.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/out/production/PizzaProject/model/Pizza$Size.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/PizzaProject/model/Pizza$Size.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/out/production/PizzaProject/model/Pizza$Toppings.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/PizzaProject/model/Pizza$Toppings.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/out/production/PizzaProject/model/Pizza.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/PizzaProject/model/Pizza.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/out/production/PizzaProject/services/dummy/PizzaServiceDummy.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/PizzaProject/services/dummy/PizzaServiceDummy.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/out/production/PizzaProject/services/impl/OrderService.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/PizzaProject/services/impl/OrderService.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/out/production/TestGPI2/model/Order$OrderState.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/out/production/TestGPI2/model/Order.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/out/production/TestGPI2/model/Pizza$Size.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/out/production/TestGPI2/model/Pizza$Toppings.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/out/production/TestGPI2/model/Pizza.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/out/production/TestGPI2/model/exceptions/OrderException.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/out/production/TestGPI2/services/dummy/PizzaServiceDummy.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/out/production/TestGPI2/services/impl/OrderService.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/out/production/TestGPI2/services/impl/PizzaService.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/out/production/TestGPI2/services/interfaces/IPizzaService.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/out/production/TestGPI2/services/io/PizzaIOHandler.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/out/production/TestGPI2/view/MainFrame.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/out/production/TestGPI2/view/PizzaConfiguratorPanel.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/out/production/TestGPI2/view/PizzaListPanel.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/out/test/PizzaProject/model/OrderTest.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/test/PizzaProject/model/OrderTest.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/out/test/PizzaProject/model/PizzaTest.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/test/PizzaProject/model/PizzaTest.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/out/test/PizzaProject/services/OrderServiceTest.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/test/PizzaProject/services/OrderServiceTest.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/out/test/TestGPI2/model/OrderTest.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/out/test/TestGPI2/model/PizzaTest.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/out/test/TestGPI2/services/OrderServiceTest.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/model/Order.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/model/Order.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/model/Pizza.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/model/Pizza.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/services/dummy/PizzaServiceDummy.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/services/dummy/PizzaServiceDummy.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/services/impl/OrderService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/services/impl/OrderService.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/tests/model/OrderTest.java" beforeDir="false" afterPath="$PROJECT_DIR$/tests/model/OrderTest.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/tests/model/PizzaTest.java" beforeDir="false" afterPath="$PROJECT_DIR$/tests/model/PizzaTest.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/tests/services/OrderServiceTest.java" beforeDir="false" afterPath="$PROJECT_DIR$/tests/services/OrderServiceTest.java" afterDir="false" />
</list>
<ignored path="$PROJECT_DIR$/out/" />
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
@ -57,7 +23,7 @@
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/tests/model/PizzaTest.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="767">
<state relative-caret-position="705">
<caret line="54" selection-start-line="54" selection-end-line="54" />
<folding>
<element signature="imports" expanded="true" />
@ -74,8 +40,11 @@
<state relative-caret-position="495">
<caret line="42" selection-start-line="42" selection-end-line="42" />
<folding>
<element signature="e#1817#1818#0" expanded="true" />
<element signature="e#1846#1847#0" expanded="true" />
<element signature="e#1901#1902#0" expanded="true" />
<element signature="e#1930#1931#0" expanded="true" />
<element signature="e#1992#1993#0" expanded="true" />
<element signature="e#2043#2044#0" expanded="true" />
</folding>
</state>
@ -85,7 +54,7 @@
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/tests/model/OrderTest.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1200">
<state relative-caret-position="1110">
<caret line="80" column="40" selection-start-line="80" selection-start-column="40" selection-end-line="80" selection-end-column="40" />
<folding>
<element signature="imports" expanded="true" />
@ -97,7 +66,7 @@
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/tests/services/OrderServiceTest.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="842">
<state relative-caret-position="945">
<caret line="75" column="22" selection-start-line="75" selection-start-column="22" selection-end-line="75" selection-end-column="22" />
</state>
</provider>
@ -106,22 +75,14 @@
</leaf>
</split-first>
<split-second>
<leaf>
<leaf SIDE_TABS_SIZE_LIMIT_KEY="225">
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/model/Pizza.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="692">
<state relative-caret-position="1245">
<caret line="100" column="5" selection-start-line="100" selection-start-column="5" selection-end-line="100" selection-end-column="5" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#781#782#0" expanded="true" />
<element signature="e#821#822#0" expanded="true" />
<element signature="e#850#851#0" expanded="true" />
<element signature="e#877#878#0" expanded="true" />
<element signature="e#915#916#0" expanded="true" />
<element signature="e#947#948#0" expanded="true" />
<element signature="e#1978#1979#0" expanded="true" />
<element signature="e#2017#2018#0" expanded="true" />
</folding>
</state>
</provider>
@ -130,7 +91,7 @@
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/model/Order.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="752">
<state relative-caret-position="1320">
<caret line="102" column="7" selection-start-line="102" selection-start-column="7" selection-end-line="102" selection-end-column="7" />
<folding>
<element signature="imports" expanded="true" />
@ -142,15 +103,13 @@
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/services/impl/OrderService.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="435">
<state relative-caret-position="405">
<caret line="33" column="39" selection-start-line="33" selection-start-column="39" selection-end-line="33" selection-end-column="39" />
<folding>
<element signature="e#274#275#0" expanded="true" />
<element signature="e#310#311#0" expanded="true" />
<element signature="e#379#380#0" expanded="true" />
<element signature="e#407#408#0" expanded="true" />
<element signature="e#416#417#0" expanded="true" />
<element signature="e#448#449#0" expanded="true" />
<element signature="e#469#470#0" expanded="true" />
</folding>
</state>
</provider>
@ -204,7 +163,7 @@
<detection-done>true</detection-done>
<sorting>DEFINITION_ORDER</sorting>
</component>
<component name="ProjectFrameBounds" extendedState="6">
<component name="ProjectFrameBounds">
<option name="x" value="1280" />
<option name="width" value="2560" />
<option name="height" value="1410" />
@ -435,10 +394,10 @@
</configuration>
<list>
<item itemvalue="Application.Order" />
<item itemvalue="JUnit.OrderServiceTest" />
<item itemvalue="JUnit.OrderTest" />
<item itemvalue="JUnit.PizzaTest" />
<item itemvalue="JUnit.PizzaTest.removeTopping" />
<item itemvalue="JUnit.OrderServiceTest" />
</list>
<recent_temporary>
<list>
@ -474,9 +433,6 @@
<servers />
</component>
<component name="TestHistory">
<history-entry file="OrderTest - 2019.06.27 at 18h 03m 27s.xml">
<configuration name="OrderTest" configurationId="JUnit" />
</history-entry>
<history-entry file="OrderTest - 2019.06.27 at 18h 05m 40s.xml">
<configuration name="OrderTest" configurationId="JUnit" />
</history-entry>
@ -504,15 +460,17 @@
<history-entry file="OrderServiceTest - 2019.06.27 at 18h 22m 57s.xml">
<configuration name="OrderServiceTest" configurationId="JUnit" />
</history-entry>
<history-entry file="OrderServiceTest - 2019.06.27 at 18h 24m 57s.xml">
<configuration name="OrderServiceTest" configurationId="JUnit" />
</history-entry>
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="21861000" />
</component>
<component name="ToolWindowManager">
<frame x="1280" y="0" width="2560" height="1410" extended-state="6" />
<editor active="true" />
<frame x="1280" y="0" width="2560" height="1410" extended-state="0" />
<layout>
<window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.12619048" />
<window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.12708499" />
<window_info id="Structure" order="1" weight="0.25" />
<window_info id="Image Layers" order="2" />
<window_info id="Designer" order="3" />
@ -521,7 +479,7 @@
<window_info id="Favorites" order="6" side_tool="true" />
<window_info anchor="bottom" id="Message" order="0" />
<window_info anchor="bottom" id="Find" order="1" />
<window_info active="true" anchor="bottom" id="Run" order="2" visible="true" weight="0.28892332" />
<window_info anchor="bottom" id="Run" order="2" weight="0.28892332" />
<window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
@ -640,27 +598,10 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/model/Pizza.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="692">
<caret line="100" column="5" selection-start-line="100" selection-start-column="5" selection-end-line="100" selection-end-column="5" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#781#782#0" expanded="true" />
<element signature="e#821#822#0" expanded="true" />
<element signature="e#850#851#0" expanded="true" />
<element signature="e#877#878#0" expanded="true" />
<element signature="e#915#916#0" expanded="true" />
<element signature="e#947#948#0" expanded="true" />
<element signature="e#1978#1979#0" expanded="true" />
<element signature="e#2017#2018#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/services/Date.java" />
<entry file="file://$PROJECT_DIR$/tests/model/PizzaTest.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="767">
<state relative-caret-position="705">
<caret line="54" selection-start-line="54" selection-end-line="54" />
<folding>
<element signature="imports" expanded="true" />
@ -675,33 +616,19 @@
<state relative-caret-position="495">
<caret line="42" selection-start-line="42" selection-end-line="42" />
<folding>
<element signature="e#1817#1818#0" expanded="true" />
<element signature="e#1846#1847#0" expanded="true" />
<element signature="e#1901#1902#0" expanded="true" />
<element signature="e#1930#1931#0" expanded="true" />
<element signature="e#1992#1993#0" expanded="true" />
<element signature="e#2043#2044#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/services/Date.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="30">
<caret line="2" column="13" selection-start-line="2" selection-start-column="13" selection-end-line="2" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/model/Order.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="752">
<caret line="102" column="7" selection-start-line="102" selection-start-column="7" selection-end-line="102" selection-end-column="7" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/tests/model/OrderTest.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1200">
<state relative-caret-position="1110">
<caret line="80" column="40" selection-start-line="80" selection-start-column="40" selection-end-line="80" selection-end-column="40" />
<folding>
<element signature="imports" expanded="true" />
@ -709,28 +636,46 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/tests/services/OrderServiceTest.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="945">
<caret line="75" column="22" selection-start-line="75" selection-start-column="22" selection-end-line="75" selection-end-column="22" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/model/Pizza.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1245">
<caret line="100" column="5" selection-start-line="100" selection-start-column="5" selection-end-line="100" selection-end-column="5" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/model/Order.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1320">
<caret line="102" column="7" selection-start-line="102" selection-start-column="7" selection-end-line="102" selection-end-column="7" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/services/impl/OrderService.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="435">
<state relative-caret-position="405">
<caret line="33" column="39" selection-start-line="33" selection-start-column="39" selection-end-line="33" selection-end-column="39" />
<folding>
<element signature="e#274#275#0" expanded="true" />
<element signature="e#310#311#0" expanded="true" />
<element signature="e#379#380#0" expanded="true" />
<element signature="e#407#408#0" expanded="true" />
<element signature="e#416#417#0" expanded="true" />
<element signature="e#448#449#0" expanded="true" />
<element signature="e#469#470#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/tests/services/OrderServiceTest.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="842">
<caret line="75" column="22" selection-start-line="75" selection-start-column="22" selection-end-line="75" selection-end-column="22" />
</state>
</provider>
</entry>
</component>
<component name="masterDetails">
<states>

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="false" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/classes" />
</component>
</project>

View file

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/de.hhn.ai.prog2.blatt8.internationalisierung.iml" filepath="$PROJECT_DIR$/de.hhn.ai.prog2.blatt8.internationalisierung.iml" />
</modules>
</component>
</project>

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
</component>
</project>

View file

@ -0,0 +1,506 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="afe8ba73-7d05-48a7-bd82-e56b42c13591" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/src/locale_de_DE.properties" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/locale_en.properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../de.hhn.ai.prog2.blatt7.junit/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/../de.hhn.ai.prog2.blatt7.junit/.idea/workspace.xml" afterDir="false" />
</list>
<ignored path="$PROJECT_DIR$/classes/" />
<ignored path="$PROJECT_DIR$/bin/" />
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<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="DefaultGradleProjectSettings">
<option name="testRunner" value="GRADLE" />
<option name="delegatedBuild" value="true" />
</component>
<component name="FileEditorManager">
<leaf>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/app/App.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="105">
<caret line="7" column="1" selection-start-line="7" selection-start-column="1" selection-end-line="7" selection-end-column="1" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/.classpath">
<provider selected="true" editor-type-id="text-editor" />
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/.project">
<provider selected="true" editor-type-id="text-editor" />
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/de.hhn.ai.prog2.blatt8.internationalisierung.iml">
<provider selected="true" editor-type-id="text-editor" />
</entry>
</file>
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/app/GUI.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="540">
<caret line="74" column="74" lean-forward="true" selection-start-line="74" selection-start-column="74" selection-end-line="74" selection-end-column="74" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/locale_de_DE.properties">
<provider selected="true" editor-type-id="ResourceBundle" />
<provider editor-type-id="text-editor">
<state relative-caret-position="75">
<caret line="5" column="18" selection-start-line="5" selection-start-column="18" selection-end-line="5" selection-end-column="18" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/app/Kunde.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="570">
<caret line="38" column="1" selection-start-line="38" selection-start-column="1" selection-end-line="38" selection-end-column="1" />
<folding>
<element signature="e#358#359#0" expanded="true" />
<element signature="e#390#391#0" expanded="true" />
<element signature="e#440#441#0" expanded="true" />
<element signature="e#482#483#0" expanded="true" />
<element signature="e#513#514#0" expanded="true" />
<element signature="e#540#541#0" expanded="true" />
<element signature="e#580#581#0" expanded="true" />
<element signature="e#612#613#0" expanded="true" />
<element signature="e#650#651#0" expanded="true" />
<element signature="e#681#682#0" expanded="true" />
<element signature="e#732#733#0" expanded="true" />
<element signature="e#772#773#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/app/Datenhaltung.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="105">
<caret line="13" column="37" selection-start-line="13" selection-start-column="37" selection-end-line="13" selection-end-column="37" />
</state>
</provider>
</entry>
</file>
</leaf>
</component>
<component name="FileTemplateManagerImpl">
<option name="RECENT_TEMPLATES">
<list>
<option value="JUnit5 Test Class" />
</list>
</option>
</component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$/.." />
</component>
<component name="IdeDocumentHistory">
<option name="CHANGED_PATHS">
<list>
<option value="$PROJECT_DIR$/src/app/Kunde.java" />
<option value="$PROJECT_DIR$/src/app/DatenhaltungTest.groovy" />
<option value="$PROJECT_DIR$/src/app/Datenhaltung.java" />
<option value="$PROJECT_DIR$/src/app/DatenhaltungTest.java" />
<option value="$PROJECT_DIR$/src/locale_en.properties" />
<option value="$PROJECT_DIR$/src/locale_de_DE.properties" />
<option value="$PROJECT_DIR$/src/app/GUI.java" />
</list>
</option>
</component>
<component name="ProjectConfigurationFiles">
<option name="files">
<list>
<option value="$PROJECT_DIR$/de.hhn.ai.prog2.blatt8.internationalisierung.iml" />
<option value="$PROJECT_DIR$/.idea/misc.xml" />
<option value="$PROJECT_DIR$/.idea/vcs.xml" />
<option value="$PROJECT_DIR$/.idea/modules.xml" />
</list>
</option>
</component>
<component name="ProjectFrameBounds" extendedState="6">
<option name="x" value="1280" />
<option name="width" value="2560" />
<option name="height" value="1410" />
</component>
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
<component name="ProjectView">
<navigator proportions="" version="1">
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="ProjectPane">
<subPane>
<expand>
<path>
<item name="de.hhn.ai.prog2.blatt8.internationalisierung" type="b2602c69:ProjectViewProjectNode" />
<item name="de.hhn.ai.prog2.blatt8.internationalisierung" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="de.hhn.ai.prog2.blatt8.internationalisierung" type="b2602c69:ProjectViewProjectNode" />
<item name="de.hhn.ai.prog2.blatt8.internationalisierung" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="de.hhn.ai.prog2.blatt8.internationalisierung" type="b2602c69:ProjectViewProjectNode" />
<item name="de.hhn.ai.prog2.blatt8.internationalisierung" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="app" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="de.hhn.ai.prog2.blatt8.internationalisierung" type="b2602c69:ProjectViewProjectNode" />
<item name="de.hhn.ai.prog2.blatt8.internationalisierung" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="Resource Bundle 'locale'" type="a6c14932:ResourceBundleNode" />
</path>
<path>
<item name="de.hhn.ai.prog2.blatt8.internationalisierung" type="b2602c69:ProjectViewProjectNode" />
<item name="External Libraries" type="cb654da1:ExternalLibrariesNode" />
</path>
</expand>
<select />
</subPane>
</pane>
<pane id="PackagesPane" />
<pane id="Scope" />
</panes>
</component>
<component name="PropertiesComponent">
<property name="ASKED_SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
<property name="Downloaded.Files.Path.Enabled" value="false" />
<property name="Repository.Attach.Annotations" value="false" />
<property name="Repository.Attach.JavaDocs" value="false" />
<property name="Repository.Attach.Sources" value="false" />
<property name="com.intellij.testIntegration.createTest.CreateTestDialog.defaultLibrary" value="JUnit5" />
<property name="com.intellij.testIntegration.createTest.CreateTestDialog.defaultLibrarySuperClass.Groovy JUnit" value="groovy.util.GroovyTestCase" />
<property name="com.intellij.testIntegration.createTest.CreateTestDialog.defaultLibrarySuperClass.JUnit5" value="" />
<property name="create.test.in.the.same.root" value="true" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/../de.hhn.ai.prog2.blatt7.junit" />
<property name="project.structure.last.edited" value="Project" />
<property name="project.structure.proportion" value="0.15" />
<property name="project.structure.side.proportion" value="0.37222868" />
<property name="settings.editor.selected.configurable" value="preferences.lookFeel" />
</component>
<component name="RecentsManager">
<key name="CreateTestDialog.RecentsKey">
<recent name="app" />
</key>
<key name="CreateTestDialog.Recents.Supers">
<recent name="" />
<recent name="groovy.util.GroovyTestCase" />
</key>
</component>
<component name="RunDashboard">
<option name="ruleStates">
<list>
<RuleState>
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
</RuleState>
<RuleState>
<option name="name" value="StatusDashboardGroupingRule" />
</RuleState>
</list>
</option>
</component>
<component name="RunManager" selected="Application.App">
<configuration name="App" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="app.App" />
<module name="de.hhn.ai.prog2.blatt8.internationalisierung" />
<extension name="coverage">
<pattern>
<option name="PATTERN" value="app.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="DatenhaltungTest" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
<module name="de.hhn.ai.prog2.blatt8.internationalisierung" />
<extension name="coverage">
<pattern>
<option name="PATTERN" value="app.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<option name="PACKAGE_NAME" value="app" />
<option name="MAIN_CLASS_NAME" value="app.DatenhaltungTest" />
<option name="TEST_OBJECT" value="class" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="DatenhaltungTest.speichereKunde" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
<module name="de.hhn.ai.prog2.blatt8.internationalisierung" />
<extension name="coverage">
<pattern>
<option name="PATTERN" value="app.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<option name="PACKAGE_NAME" value="app" />
<option name="MAIN_CLASS_NAME" value="app.DatenhaltungTest" />
<option name="METHOD_NAME" value="speichereKunde" />
<option name="TEST_OBJECT" value="method" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<recent_temporary>
<list>
<item itemvalue="Application.App" />
<item itemvalue="JUnit.DatenhaltungTest" />
<item itemvalue="JUnit.DatenhaltungTest.speichereKunde" />
</list>
</recent_temporary>
</component>
<component name="SvnConfiguration">
<configuration />
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="afe8ba73-7d05-48a7-bd82-e56b42c13591" name="Default Changelist" comment="" />
<created>1561656977225</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1561656977225</updated>
</task>
<servers />
</component>
<component name="TestHistory">
<history-entry file="DatenhaltungTest - 2019.06.27 at 20h 31m 34s.xml">
<configuration name="DatenhaltungTest" configurationId="JUnit" />
</history-entry>
<history-entry file="DatenhaltungTest - 2019.06.27 at 20h 34m 22s.xml">
<configuration name="DatenhaltungTest" configurationId="JUnit" />
</history-entry>
<history-entry file="DatenhaltungTest_speichereKunde - 2019.06.27 at 20h 36m 07s.xml">
<configuration name="DatenhaltungTest.speichereKunde" configurationId="JUnit" />
</history-entry>
<history-entry file="DatenhaltungTest_speichereKunde - 2019.06.27 at 20h 36m 21s.xml">
<configuration name="DatenhaltungTest.speichereKunde" configurationId="JUnit" />
</history-entry>
<history-entry file="DatenhaltungTest - 2019.06.27 at 20h 42m 27s.xml">
<configuration name="DatenhaltungTest" configurationId="JUnit" />
</history-entry>
</component>
<component name="ToolWindowManager">
<frame x="1280" y="0" width="2560" height="1410" extended-state="6" />
<editor active="true" />
<layout>
<window_info id="Image Layers" />
<window_info id="Designer" />
<window_info id="UI Designer" />
<window_info id="Capture Tool" />
<window_info id="Favorites" side_tool="true" />
<window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.24980143" />
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
<window_info anchor="bottom" id="Version Control" />
<window_info anchor="bottom" id="Terminal" />
<window_info anchor="bottom" id="Event Log" side_tool="true" />
<window_info anchor="bottom" id="Messages" weight="0.32945737" />
<window_info anchor="bottom" id="Message" order="0" />
<window_info anchor="bottom" id="Find" order="1" />
<window_info active="true" anchor="bottom" id="Run" order="2" visible="true" weight="0.32945737" />
<window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
<window_info anchor="bottom" id="TODO" order="6" />
<window_info anchor="right" id="Palette" />
<window_info anchor="right" id="Theme Preview" />
<window_info anchor="right" id="Maven" />
<window_info anchor="right" id="Capture Analysis" />
<window_info anchor="right" id="Palette&#9;" />
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
</layout>
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/src/app/DatenhaltungTest.groovy">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret lean-forward="true" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/.classpath">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/.project">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/customers.txt">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/src/app/Kunde.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="570">
<caret line="38" column="1" selection-start-line="38" selection-start-column="1" selection-end-line="38" selection-end-column="1" />
<folding>
<element signature="e#358#359#0" expanded="true" />
<element signature="e#390#391#0" expanded="true" />
<element signature="e#440#441#0" expanded="true" />
<element signature="e#482#483#0" expanded="true" />
<element signature="e#513#514#0" expanded="true" />
<element signature="e#540#541#0" expanded="true" />
<element signature="e#580#581#0" expanded="true" />
<element signature="e#612#613#0" expanded="true" />
<element signature="e#650#651#0" expanded="true" />
<element signature="e#681#682#0" expanded="true" />
<element signature="e#732#733#0" expanded="true" />
<element signature="e#772#773#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/de.hhn.ai.prog2.blatt8.internationalisierung.iml">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/src/app/DatenhaltungTest.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="345">
<caret line="23" column="61" selection-start-line="23" selection-start-column="61" selection-end-line="23" selection-end-column="61" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/Datenhaltung.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="105">
<caret line="13" column="37" selection-start-line="13" selection-start-column="37" selection-end-line="13" selection-end-column="37" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/locale_en.properties">
<provider editor-type-id="ResourceBundle" />
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="120">
<caret line="8" column="22" lean-forward="true" selection-start-line="8" selection-start-column="22" selection-end-line="8" selection-end-column="22" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/locale_de_DE.properties">
<provider selected="true" editor-type-id="ResourceBundle" />
<provider editor-type-id="text-editor">
<state relative-caret-position="75">
<caret line="5" column="18" selection-start-line="5" selection-start-column="18" selection-end-line="5" selection-end-column="18" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/App.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="105">
<caret line="7" column="1" selection-start-line="7" selection-start-column="1" selection-end-line="7" selection-end-column="1" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/GUI.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="540">
<caret line="74" column="74" lean-forward="true" selection-start-line="74" selection-start-column="74" selection-end-line="74" selection-end-column="74" />
</state>
</provider>
</entry>
</component>
<component name="masterDetails">
<states>
<state key="ArtifactsStructureConfigurable.UI">
<settings>
<artifact-editor />
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="FacetStructureConfigurable.UI">
<settings>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="GlobalLibrariesConfigurable.UI">
<settings>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="JdkListConfigurable.UI">
<settings>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="ModuleStructureConfigurable.UI">
<settings>
<last-edited>de.hhn.ai.prog2.blatt8.internationalisierung</last-edited>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.37222868" />
<option value="0.6" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="ProjectJDKs.UI">
<settings>
<last-edited>1.8</last-edited>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="ProjectLibrariesConfigurable.UI">
<settings>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
</states>
</component>
</project>

View file

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<projectDescription>
<name>de.hhn.ai.prog2.blatt8.internationalisierung</name>
<comment/>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View file

@ -0,0 +1,7 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.8

View file

@ -0,0 +1,11 @@
{
"configurations": [
{
"type": "java",
"name": "CodeLens (Launch) - App",
"request": "launch",
"mainClass": "app.App",
"projectName": "de.hhn.ai.prog2.blatt8.internationalisierung"
}
]
}

View file

@ -0,0 +1 @@
Theresa#May#1696-06-30

View file

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager">
<output url="file://$MODULE_DIR$/bin" />
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module-library">
<library name="JUnit5.3">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/junit/jupiter/junit-jupiter-api/5.5.0-RC2/junit-jupiter-api-5.5.0-RC2.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/apiguardian/apiguardian-api/1.1.0/apiguardian-api-1.1.0.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/junit/platform/junit-platform-commons/1.5.0-RC2/junit-platform-commons-1.5.0-RC2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
</component>
</module>

View file

@ -0,0 +1,8 @@
package app;
public class App {
public static void main(String[] args) throws Exception {
GUI gui = new GUI();
gui.setVisible(true);
}
}

View file

@ -0,0 +1,30 @@
package app;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.time.LocalDate;
import java.util.Locale;
public class Datenhaltung {
private static String fileName = "customers.txt";
public static void speichereKunde(Kunde kunde, Locale locale) throws IOException {
PrintWriter writer = new PrintWriter(new FileWriter(fileName));
String line = kunde.getFirstName();
line += "#" + kunde.getName();
line += "#" + kunde.getBirthday().toString();
writer.println(line);
writer.close();
}
public static Kunde ladeKunde(Locale locale) throws IOException {
BufferedReader reader = new BufferedReader(new FileReader(fileName));
String line = reader.readLine();
String[] val = line.split("#");
reader.close();
return new Kunde(val[0], val[1], LocalDate.parse(val[2]));
}
}

View file

@ -0,0 +1,34 @@
package app;
import org.junit.jupiter.api.Test;
import java.io.IOException;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.FormatStyle;
import java.util.Locale;
import static org.junit.jupiter.api.Assertions.*;
class DatenhaltungTest {
@Test
void testeKundeLadenUndSpeichern() throws IOException {
DateTimeFormatter germanFormatter = DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM)
.withLocale(Locale.GERMAN);
Kunde kunde1 = new Kunde("Angela", "Merkel", LocalDate.parse("05.07.1958", germanFormatter));
Datenhaltung.speichereKunde(kunde1, Locale.GERMAN);
Kunde kunde1comp = Datenhaltung.ladeKunde(Locale.GERMAN);
assertEquals(kunde1.getFirstName(), kunde1comp.getFirstName());
assertEquals(kunde1.getName(), kunde1comp.getName());
assertEquals(kunde1.getBirthday(), kunde1comp.getBirthday());
DateTimeFormatter englishFormatter = DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM)
.withLocale(Locale.ENGLISH);
Kunde kunde2 = new Kunde("Theresa", "May", LocalDate.parse("Jun 30, 1969", englishFormatter));
Datenhaltung.speichereKunde(kunde2, Locale.ENGLISH);
Kunde kunde2comp = Datenhaltung.ladeKunde(Locale.ENGLISH);
assertEquals(kunde2.getFirstName(), kunde2comp.getFirstName());
assertEquals(kunde2.getName(), kunde2comp.getName());
assertEquals(kunde2.getBirthday(), kunde2comp.getBirthday());
}
}

View file

@ -0,0 +1,134 @@
package app;
import java.awt.*;
import java.awt.event.*;
import java.io.IOException;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
import java.time.format.FormatStyle;
import java.util.Locale;
import java.util.MissingResourceException;
import java.util.ResourceBundle;
import javax.swing.*;
public class GUI extends JFrame {
private static final long serialVersionUID = 2660174081832289605L;
private ResourceBundle bundle;
private String[] locales = { "de_DE", "en" };
private JComboBox<String> comboBox = new JComboBox<>(locales);
private JTextField firstNameInput = new JTextField("Angela");
private JTextField nameInput = new JTextField("Merkel");
private JTextField birthdayInput = new JTextField("05.07.1958");
private JLabel kundeLbl;
private JButton loadBtn;
private JButton saveBtn;
private JLabel firstNameLbl;
private JLabel nameLbl;
private JLabel birthdayLbl;
public GUI() {
super("Internationalisierung und Datumsverarbeitung");
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
this.setSize(500, 200);
drawGUI("de_DE");
}
public void drawGUI(String locale) {
try {
bundle = ResourceBundle.getBundle("locale_" + locale);
} catch (MissingResourceException e) {
System.err.println(e);
}
kundeLbl = new JLabel(bundle.getString("Headline"));
loadBtn = new JButton(bundle.getString("LoadBtn"));
saveBtn = new JButton(bundle.getString("SaveBtn"));
firstNameLbl = new JLabel(bundle.getString("FirstName"));
nameLbl = new JLabel(bundle.getString("Name"));
birthdayLbl = new JLabel(bundle.getString("Birthday"));
Container container = this.getContentPane();
JFrame parent = this;
container.setLayout(new GridLayout(6, 2));
container.add(new JLabel(""));
container.add(new ComboBoxPanel(this));
kundeLbl.setFont(new Font(kundeLbl.getFont().getFamily(), Font.BOLD, 24));
container.add(kundeLbl);
container.add(new JLabel(""));
container.add(firstNameLbl);
container.add(firstNameInput);
container.add(nameLbl);
container.add(nameInput);
container.add(birthdayLbl);
container.add(birthdayInput);
container.add(loadBtn);
container.add(saveBtn);
saveBtn.addActionListener(e -> {
try {
Locale currentLocale;
if (comboBox.getSelectedItem().toString() == "de_DE")
currentLocale = Locale.GERMAN;
else
currentLocale = Locale.ENGLISH;
DateTimeFormatter formatter = DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM)
.withLocale(currentLocale);
LocalDate birthday = LocalDate.parse(birthdayInput.getText(), formatter);
Kunde kunde = new Kunde(firstNameInput.getText(), nameInput.getText(), birthday);
Datenhaltung.speichereKunde(kunde, currentLocale);
JOptionPane.showMessageDialog(parent, bundle.getString("SaveDone"), bundle.getString("Message"),
JOptionPane.INFORMATION_MESSAGE);
} catch (IOException ex) {
JOptionPane.showMessageDialog(parent, bundle.getString("IOException"), bundle.getString("Error"),
JOptionPane.ERROR_MESSAGE);
} catch (DateTimeParseException ex) {
JOptionPane.showMessageDialog(parent, bundle.getString("DateTimeParseException"),
bundle.getString("Error"), JOptionPane.ERROR_MESSAGE);
}
});
loadBtn.addActionListener(e -> {
try {
Locale currentLocale;
if (comboBox.getSelectedItem().toString() == "de_DE")
currentLocale = Locale.GERMAN;
else
currentLocale = Locale.ENGLISH;
DateTimeFormatter formatter = DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM)
.withLocale(currentLocale);
Kunde kunde = Datenhaltung.ladeKunde(currentLocale);
firstNameInput.setText(kunde.getFirstName());
nameInput.setText(kunde.getName());
birthdayInput.setText(kunde.getBirthday().format(formatter));
} catch (IOException ex) {
JOptionPane.showMessageDialog(parent, bundle.getString("IOException"), bundle.getString("Error"),
JOptionPane.ERROR_MESSAGE);
}
});
}
private class ComboBoxPanel extends JPanel {
private static final long serialVersionUID = -125611113722513442L;
ComboBoxPanel(GUI parent) {
this.setLayout(new FlowLayout(FlowLayout.RIGHT));
this.add(comboBox);
comboBox.addActionListener(e -> {
System.out.println(comboBox.getSelectedItem());
try {
bundle = ResourceBundle.getBundle("locale_" + comboBox.getSelectedItem());
} catch (MissingResourceException ex) {
System.err.println(e);
}
kundeLbl.setText(bundle.getString("Headline"));
loadBtn.setText(bundle.getString("LoadBtn"));
saveBtn.setText(bundle.getString("SaveBtn"));
firstNameLbl.setText(bundle.getString("FirstName"));
nameLbl.setText(bundle.getString("Name"));
birthdayLbl.setText(bundle.getString("Birthday"));
parent.repaint();
});
}
}
}

View file

@ -0,0 +1,39 @@
package app;
import java.time.LocalDate;
public class Kunde {
private String firstName;
private String name;
private LocalDate birthday;
public Kunde(String firstName, String name, LocalDate birthday) {
this.firstName = firstName;
this.name = name;
this.birthday = birthday;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public LocalDate getBirthday() {
return birthday;
}
public void setBirthday(LocalDate birthday) {
this.birthday = birthday;
}
}

View file

@ -0,0 +1,15 @@
Headline=Kunde
LoadBtn=Laden
SaveBtn=Speichern
FirstName=Vorname
Name=Nachname
Birthday=Geburstag
Error=Fehler
IOException=Speichern fehlgeschlagen. (IOException)
DateTimeParseException=Das parsen des Datums ist fehlgeschlagen. Bitte \u00fcberbr\u00fcfen Sie das "Geburstag" Feld.
SaveDone=Speichern erfolgreich!
Message=Meldung
#Ä,ä \u00c4, \u00e4
#Ö, ö \u00d6, \u00f6
#Ü, ü \u00dc, \u00fc
#ß \u00df

View file

@ -0,0 +1,11 @@
Headline=Customer
LoadBtn=load
SaveBtn=save
FirstName=firstname
Name=surname
Birthday=date of birth
Error=Error
IOException=Save has failed. (IOException)
DateTimeParseException=Date parse failed. Please check your input in the "birthday" field.
SaveDone=Save successfull!
Message=Message