From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- .../DSI1-ausgang/DSI-ejb/build.xml | 68 +++ .../DSI1-ausgang/DSI-ejb/nbproject/ant-deploy.xml | 60 +++ .../DSI1-ausgang/DSI-ejb/nbproject/build-impl.xml | 590 +++++++++++++++++++++ .../DSI-ejb/nbproject/genfiles.properties | 8 + .../DSI-ejb/nbproject/private/private.properties | 9 + .../DSI-ejb/nbproject/private/private.xml | 4 + .../DSI-ejb/nbproject/project.properties | 53 ++ .../DSI1-ausgang/DSI-ejb/nbproject/project.xml | 19 + .../DSI1-ausgang/DSI-ejb/src/conf/MANIFEST.MF | 2 + .../DSI1-ausgang/DSI-ejb/src/conf/persistence.xml | 10 + .../src/java/beans/adressen/AdressenBean.java | 43 ++ .../src/java/beans/adressen/AdressenRemote.java | 19 + .../beans/artikelManager/ArtikelManagerBean.java | 106 ++++ .../beans/artikelManager/ArtikelManagerRemote.java | 29 + .../auftragsAbwicklung/AuftragsAbwicklungBean.java | 70 +++ .../AuftragsAbwicklungRemote.java | 20 + .../src/java/beans/bestell/BestellBean.java | 105 ++++ .../src/java/beans/bestell/BestellRemote.java | 23 + .../beans/kundenManager/KundenManagerBean.java | 99 ++++ .../beans/kundenManager/KundenManagerRemote.java | 25 + .../DSI-ejb/src/java/beans/lager/LagerBean.java | 80 +++ .../DSI-ejb/src/java/beans/lager/LagerRemote.java | 22 + .../src/java/beans/lieferant/LieferantBean.java | 48 ++ .../src/java/beans/lieferant/LieferantRemote.java | 22 + .../DSI-ejb/src/java/entities/Artikel.java | 112 ++++ .../DSI-ejb/src/java/entities/Kunde.java | 100 ++++ .../exceptions/AuftragsAbwicklungException.java | 22 + .../exceptions/IdBereitsVergebenException.java | 19 + .../java/exceptions/IllegalerWertException.java | 26 + .../exceptions/UnbekanntesEntityException.java | 29 + .../DSI-ejb/src/java/helper/Auftrag.java | 69 +++ .../DSI-ejb/src/java/helper/AuftragsPosition.java | 56 ++ 32 files changed, 1967 insertions(+) create mode 100644 Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/build.xml create mode 100644 Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/nbproject/ant-deploy.xml create mode 100644 Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/nbproject/build-impl.xml create mode 100644 Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/nbproject/genfiles.properties create mode 100644 Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/nbproject/private/private.properties create mode 100644 Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/nbproject/private/private.xml create mode 100644 Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/nbproject/project.properties create mode 100644 Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/nbproject/project.xml create mode 100644 Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/conf/MANIFEST.MF create mode 100644 Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/conf/persistence.xml create mode 100644 Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/adressen/AdressenBean.java create mode 100644 Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/adressen/AdressenRemote.java create mode 100644 Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/artikelManager/ArtikelManagerBean.java create mode 100644 Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/artikelManager/ArtikelManagerRemote.java create mode 100644 Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/auftragsAbwicklung/AuftragsAbwicklungBean.java create mode 100644 Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/auftragsAbwicklung/AuftragsAbwicklungRemote.java create mode 100644 Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/bestell/BestellBean.java create mode 100644 Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/bestell/BestellRemote.java create mode 100644 Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/kundenManager/KundenManagerBean.java create mode 100644 Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/kundenManager/KundenManagerRemote.java create mode 100644 Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/lager/LagerBean.java create mode 100644 Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/lager/LagerRemote.java create mode 100644 Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/lieferant/LieferantBean.java create mode 100644 Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/lieferant/LieferantRemote.java create mode 100644 Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/entities/Artikel.java create mode 100644 Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/entities/Kunde.java create mode 100644 Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/exceptions/AuftragsAbwicklungException.java create mode 100644 Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/exceptions/IdBereitsVergebenException.java create mode 100644 Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/exceptions/IllegalerWertException.java create mode 100644 Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/exceptions/UnbekanntesEntityException.java create mode 100644 Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/helper/Auftrag.java create mode 100644 Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/helper/AuftragsPosition.java (limited to 'Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb') diff --git a/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/build.xml b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/build.xml new file mode 100644 index 0000000..6abd80c --- /dev/null +++ b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/build.xml @@ -0,0 +1,68 @@ + + + + + + + + + + + Builds, tests, and runs the project DSI-ejb. + + + diff --git a/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/nbproject/ant-deploy.xml b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/nbproject/ant-deploy.xml new file mode 100644 index 0000000..28ca9b4 --- /dev/null +++ b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/nbproject/ant-deploy.xml @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/nbproject/build-impl.xml b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/nbproject/build-impl.xml new file mode 100644 index 0000000..889b693 --- /dev/null +++ b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/nbproject/build-impl.xml @@ -0,0 +1,590 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set build.generated.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.classes.excludes + Must set dist.jar + +The Java EE server classpath is not correctly set up. Your active server type is ${j2ee.server.type}. +Either open the project in the IDE and assign the server or setup the server classpath manually. +For example like this: + ant -Duser.properties.file=<path_to_property_file> (where you put the property "j2ee.platform.classpath" in a .properties file) +or ant -Dj2ee.platform.classpath=<server_classpath> (where no properties file is used) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +The libs.CopyLibs.classpath property is not set up. +This property must point to +org-netbeans-modules-java-j2seproject-copylibstask.jar file which is part +of NetBeans IDE installation and is usually located at +<netbeans_installation>/java<version>/ant/extra folder. +Either open the project in the IDE and make sure CopyLibs library +exists or setup the property manually. For example like this: + ant -Dlibs.CopyLibs.classpath=a/path/to/org-netbeans-modules-java-j2seproject-copylibstask.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set main.class + + + + + Must set fix.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/nbproject/genfiles.properties b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/nbproject/genfiles.properties new file mode 100644 index 0000000..57ecb0b --- /dev/null +++ b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=a92f067b +build.xml.script.CRC32=c69124cc +build.xml.stylesheet.CRC32=e5f4c432 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=a92f067b +nbproject/build-impl.xml.script.CRC32=3de6bbe8 +nbproject/build-impl.xml.stylesheet.CRC32=36c39d59 diff --git a/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/nbproject/private/private.properties b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/nbproject/private/private.properties new file mode 100644 index 0000000..e0fdfe7 --- /dev/null +++ b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/nbproject/private/private.properties @@ -0,0 +1,9 @@ +deploy.ant.properties.file=C:\\Dokumente und Einstellungen\\Jan\\.netbeans\\6.5\\glassfish.properties +j2ee.platform.classpath=D:\\Programme\\glassfish-v2.1\\lib\\javaee.jar:D:\\Programme\\glassfish-v2.1\\lib\\jsf-impl.jar:D:\\Programme\\glassfish-v2.1\\lib\\activation.jar:D:\\Programme\\glassfish-v2.1\\lib\\appserv-tags.jar:D:\\Programme\\glassfish-v2.1\\lib\\mail.jar:D:\\Programme\\glassfish-v2.1\\lib\\appserv-jstl.jar:D:\\Programme\\glassfish-v2.1\\lib\\webservices-tools.jar:D:\\Programme\\glassfish-v2.1\\lib\\webservices-rt.jar:D:\\Programme\\glassfish-v2.1\\lib\\appserv-ws.jar +j2ee.platform.wscompile.classpath=D:\\Programme\\glassfish-v2.1\\lib\\j2ee.jar:D:\\Programme\\glassfish-v2.1\\lib\\saaj-api.jar:D:\\Programme\\glassfish-v2.1\\lib\\saaj-impl.jar:D:\\Programme\\glassfish-v2.1\\lib\\jaxrpc-api.jar:D:\\Programme\\glassfish-v2.1\\lib\\jaxrpc-impl.jar:D:\\Programme\\glassfish-v2.1\\lib\\endorsed\\jaxp-api.jar:D:\\Programme\\glassfish-v2.1\\lib\\appserv-ws.jar:D:\\Programme\\glassfish-v2.1\\lib\\webservices-tools.jar:D:\\Programme\\glassfish-v2.1\\lib\\webservices-rt.jar +j2ee.platform.wsgen.classpath=D:\\Programme\\glassfish-v2.1\\lib\\webservices-tools.jar:D:\\Programme\\glassfish-v2.1\\lib\\webservices-rt.jar:D:\\Programme\\glassfish-v2.1\\lib\\tools.jar:D:\\Programme\\glassfish-v2.1\\lib\\appserv-jstl.jar:D:\\Programme\\glassfish-v2.1\\lib\\javaee.jar:D:\\Programme\\glassfish-v2.1\\lib\\appserv-ws.jar:D:\\Programme\\glassfish-v2.1\\lib\\mail.jar:D:\\Programme\\glassfish-v2.1\\lib\\activation.jar +j2ee.platform.wsimport.classpath=D:\\Programme\\glassfish-v2.1\\lib\\webservices-tools.jar:D:\\Programme\\glassfish-v2.1\\lib\\webservices-rt.jar:D:\\Programme\\glassfish-v2.1\\lib\\tools.jar:D:\\Programme\\glassfish-v2.1\\lib\\appserv-jstl.jar:D:\\Programme\\glassfish-v2.1\\lib\\javaee.jar:D:\\Programme\\glassfish-v2.1\\lib\\appserv-ws.jar:D:\\Programme\\glassfish-v2.1\\lib\\mail.jar:D:\\Programme\\glassfish-v2.1\\lib\\activation.jar +j2ee.platform.wsit.classpath= +j2ee.server.instance=[D:\\Programme\\glassfish-v2.1]deployer:Sun:AppServer::localhost:4848 +jaxws.endorsed.dir=D:\\Programme\\NetBeans 6.5.1\\java2\\modules\\ext\\jaxws21\\api:D:\\Programme\\NetBeans 6.5.1\\ide10\\modules\\ext\\jaxb\\api +netbeans.user=C:\\Dokumente und Einstellungen\\Jan\\.netbeans\\6.5 diff --git a/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/nbproject/private/private.xml b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/nbproject/private/private.xml new file mode 100644 index 0000000..cc2c0e5 --- /dev/null +++ b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/nbproject/private/private.xml @@ -0,0 +1,4 @@ + + + + diff --git a/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/nbproject/project.properties b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/nbproject/project.properties new file mode 100644 index 0000000..8a2a184 --- /dev/null +++ b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/nbproject/project.properties @@ -0,0 +1,53 @@ +build.classes.dir=${build.dir}/jar +build.classes.excludes=**/*.java,**/*.form,**/.nbattrs +build.dir=build +build.ear.classes.dir=${build.dir}/jar +build.generated.dir=${build.dir}/generated +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +debug.classpath=${javac.classpath}:${build.classes.dir} +debug.test.classpath=\ + ${run.test.classpath} +dist.dir=dist +dist.ear.jar=${dist.dir}/${jar.name} +dist.jar=${dist.dir}/${jar.name} +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +j2ee.platform=1.5 +j2ee.server.type=J2EE +jar.compress=false +jar.name=DSI-ejb.jar +javac.classpath= +javac.debug=true +javac.deprecation=false +javac.source=1.5 +javac.target=1.5 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir}:\ + ${libs.junit.classpath}:\ + ${libs.junit_4.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.preview=true +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +meta.inf=${source.root}/conf +meta.inf.excludes=sun-cmp-mappings.xml +platform.active=default_platform +resource.dir=setup +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +source.root=src +src.dir=${source.root}/java +test.src.dir=test diff --git a/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/nbproject/project.xml b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/nbproject/project.xml new file mode 100644 index 0000000..17a2bb3 --- /dev/null +++ b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/nbproject/project.xml @@ -0,0 +1,19 @@ + + + org.netbeans.modules.j2ee.ejbjarproject + + + DSI-ejb + 1.6 + + + + + + + + + ..\.\lib\nblibraries.properties + + + diff --git a/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/conf/MANIFEST.MF b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/conf/MANIFEST.MF new file mode 100644 index 0000000..59499bc --- /dev/null +++ b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/conf/MANIFEST.MF @@ -0,0 +1,2 @@ +Manifest-Version: 1.0 + diff --git a/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/conf/persistence.xml b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/conf/persistence.xml new file mode 100644 index 0000000..21115af --- /dev/null +++ b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/conf/persistence.xml @@ -0,0 +1,10 @@ + + + + oracle.toplink.essentials.PersistenceProvider + jdbc/sample + + + + + diff --git a/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/adressen/AdressenBean.java b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/adressen/AdressenBean.java new file mode 100644 index 0000000..9046ed5 --- /dev/null +++ b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/adressen/AdressenBean.java @@ -0,0 +1,43 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package beans.adressen; + + +import beans.*; +import javax.ejb.Stateless; +import javax.jws.WebService; + +/** + * + * @author jmueller + */ +@Stateless(mappedName="AdressenBean") +public class AdressenBean implements AdressenRemote { + + + /** + * gibt zu einer Artikel-Id die Adresse des Lieferanten zurück + * @param artikel_id Die Artikel-Id + * @return Die Adresse des Lieferanten + */ + public String getLieferantenAdresseFuerArtikel( long artikel_id) { + if(artikel_id == 1) + return "Shimano, Merkelstr. 133, 12345 Dresden"; + else if (artikel_id == 2) + return "Siemens, Zumwinkelstr. 31, 123123 Berlin"; + else if (artikel_id == 3) + return "Schwalbe, Taubenweg 3, 54566 Hannover"; + else + return "Musterfirma, Musterstrasse 123, 12345 Musterstadt"; + + + } + + + // Add business logic below. (Right-click in editor and choose + // "EJB Methods > Add Business Method" or "Web Service > Add Operation") + +} diff --git a/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/adressen/AdressenRemote.java b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/adressen/AdressenRemote.java new file mode 100644 index 0000000..24970cf --- /dev/null +++ b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/adressen/AdressenRemote.java @@ -0,0 +1,19 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package beans.adressen; + +import javax.ejb.Remote; + +/** + * + * @author jmueller + */ +@Remote +public interface AdressenRemote { + + String getLieferantenAdresseFuerArtikel(long artikel_id); + +} diff --git a/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/artikelManager/ArtikelManagerBean.java b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/artikelManager/ArtikelManagerBean.java new file mode 100644 index 0000000..07be349 --- /dev/null +++ b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/artikelManager/ArtikelManagerBean.java @@ -0,0 +1,106 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package beans.artikelManager; + +import beans.*; +import entities.Artikel; +import exceptions.IdBereitsVergebenException; +import exceptions.UnbekanntesEntityException; +import java.util.List; +import javax.ejb.Stateless; +import javax.persistence.EntityManager; +import javax.persistence.PersistenceContext; + +/** + * + * @author Jan + */ +@Stateless(mappedName="ArtikelManagerBean") +public class ArtikelManagerBean implements ArtikelManagerRemote { + @PersistenceContext + private EntityManager em; + + + /** + * erstellt einen Artikel und liefert die Artikel-Id zurueck + * @param artikel + * @return Artikel-Id + */ + public long createArtikel(Artikel artikel) throws IdBereitsVergebenException { + try { + em.persist(artikel); + return artikel.getId(); + } + catch(Exception e){ + throw new IdBereitsVergebenException("Artikel-Id bereits vergeben: [id="+ artikel.getId()+"]"); + } + } + + + /** + * Gibt einen Artikel anhand seiner Id zurueck + * @param artikelId + * @return + */ + public Artikel readArtikel( long artikelId) throws UnbekanntesEntityException{ + Artikel artikel = em.find(Artikel.class, artikelId ); + if (artikel == null) + throw new UnbekanntesEntityException("Artikel", artikelId); + return artikel; + } + + + /** + * gibt alle Artikel zurueck + * @return + */ + public List readAllArtikel(){ + return (List)em.createQuery("SELECT a FROM Artikel a ORDER BY a.id").getResultList(); + } + + /** + * Schreibt die Änderungen eines Artikels in die Datenbank + * @param artikel + */ + public void updateArtikel( Artikel artikel){ + em.merge(artikel); + } + + /** + * Entfernt einen Artikel mit der angegebenen Artikel-Id + * @param artikelId + */ + public void deleteArtikel(long artikelId){ + Artikel artikel = em.find(Artikel.class, artikelId ); + em.remove(artikel); + } + + + /** + * entfernt alle Artikel + */ + public void deleteAllArtikel(){ + for(Artikel artikel : readAllArtikel()){ + deleteArtikel( artikel.getId() ); + } + } + + + /** + * Prüft ob es einen Artikel mit angegebener Artikel-Id gibt + * @param artikelId + * @return + */ + public boolean existsArtikel(long artikelId){ + Artikel artikel = em.find(Artikel.class, artikelId ); + if(artikel != null) + return true; + + return false; + } + + +} diff --git a/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/artikelManager/ArtikelManagerRemote.java b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/artikelManager/ArtikelManagerRemote.java new file mode 100644 index 0000000..dba3832 --- /dev/null +++ b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/artikelManager/ArtikelManagerRemote.java @@ -0,0 +1,29 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package beans.artikelManager; + +import entities.Artikel; +import exceptions.IdBereitsVergebenException; +import exceptions.UnbekanntesEntityException; +import java.util.List; +import javax.ejb.Remote; + +/** + * + * @author Jan + */ +@Remote +public interface ArtikelManagerRemote { + + public long createArtikel(Artikel artikel) throws IdBereitsVergebenException; + public Artikel readArtikel(long artikelId) throws UnbekanntesEntityException; + public List readAllArtikel(); + public void updateArtikel(Artikel artikel); + public void deleteArtikel(long artikelId); + public void deleteAllArtikel(); + public boolean existsArtikel(long artikelId); + +} diff --git a/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/auftragsAbwicklung/AuftragsAbwicklungBean.java b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/auftragsAbwicklung/AuftragsAbwicklungBean.java new file mode 100644 index 0000000..625261f --- /dev/null +++ b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/auftragsAbwicklung/AuftragsAbwicklungBean.java @@ -0,0 +1,70 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package beans.auftragsAbwicklung; + +import beans.bestell.BestellRemote; +import beans.lieferant.LieferantRemote; +import beans.lager.LagerRemote; +import beans.*; +import beans.artikelManager.ArtikelManagerRemote; +import entities.Artikel; +import exceptions.AuftragsAbwicklungException; +import javax.ejb.EJB; +import javax.ejb.Stateless; + +/** + * Eine Klasse für das abwickeln von Aufträgen + * @author jmueller + */ +@Stateless(mappedName="AuftragsAbwicklungBean") +public class AuftragsAbwicklungBean implements AuftragsAbwicklungRemote { + @EJB + private BestellRemote bestellBean; + @EJB + private ArtikelManagerRemote artikelManagerBean; + + @EJB + private LieferantRemote lieferantBean; + @EJB + private LagerRemote lagerBean; + + + /** + * simuliert die Bestellung eines Artikels durch einen Kunden + * + * @param kundenId Id des Kunden + * @param artikelId Id des Artikels + * @param artikelAnzahl Anzahl des Artikels + * + * @return String Bericht + * @throws java.lang.Exception + */ + public String bestelleArtikel(long kundenId, long artikelId, long artikelAnzahl ) throws Exception{ + + + if( bestellBean.validiereBestellung(artikelId, artikelAnzahl, kundenId) != true){ + throw new AuftragsAbwicklungException("Bestellung nicht valide!"); + } + + Artikel artikel = artikelManagerBean.readArtikel(artikelId); + + + // falls nicht verfuegbar -> nachbestellen + if (lagerBean.pruefeVerfuegbarkeit(artikelId, artikelAnzahl) != true) { + long mindestMenge = 10L; + long imLager = artikel.getAnzahl(); + long anzahlNachbestellen = artikelAnzahl - imLager + mindestMenge; + lieferantBean.bestelleNach(artikelId, anzahlNachbestellen); + } + + lagerBean.bucheArtikelAus(artikelId, artikelAnzahl); + double preisOhneMwSt = bestellBean.berechneGesamtpreis(artikelAnzahl, artikel.getPreis()); + double MwSt = bestellBean.berechneMehrwertSteuer(preisOhneMwSt); + + return ""; + } + + +} diff --git a/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/auftragsAbwicklung/AuftragsAbwicklungRemote.java b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/auftragsAbwicklung/AuftragsAbwicklungRemote.java new file mode 100644 index 0000000..4dfa025 --- /dev/null +++ b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/auftragsAbwicklung/AuftragsAbwicklungRemote.java @@ -0,0 +1,20 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package beans.auftragsAbwicklung; + +import exceptions.AuftragsAbwicklungException; +import helper.AuftragsPosition; +import java.util.List; +import javax.ejb.Remote; + +/** + * + * @author jmueller + */ +@Remote +public interface AuftragsAbwicklungRemote { + public String bestelleArtikel(long kundenId, long artikelId, long artikelAnzahl) throws Exception; +} diff --git a/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/bestell/BestellBean.java b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/bestell/BestellBean.java new file mode 100644 index 0000000..d7f4e76 --- /dev/null +++ b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/bestell/BestellBean.java @@ -0,0 +1,105 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package beans.bestell; + +import beans.kundenManager.KundenManagerRemote; +import beans.*; +import beans.artikelManager.ArtikelManagerRemote; +import javax.ejb.EJB; +import javax.ejb.Stateless; + +/** + * + * @author Jan + */ +@Stateless(mappedName="BestellBean") +public class BestellBean implements BestellRemote { + @EJB + private KundenManagerRemote kundenManagerBean; + @EJB + private ArtikelManagerRemote artikelManagerBean; + + + /** + * testet ob eine Position valide ist, + * das heisst ob es einen Artikel mit angegebener Id gibt + * und ob die anzahl > 0 ist + * + * @param artikelId + * @param anzahl + * @return true falls valide + */ + public boolean validierePosition + ( long artikelId, + long anzahl) { + + // verifiziere, dass mindestens ein Artikel bestellt wird + if(anzahl < 1){ + return false; + } + + // verifiziere dass ein Artikel mit dieser id existiert + if (artikelManagerBean.existsArtikel(artikelId) == false){ + return false; + } + + return true; + } + + /** + * validiert eine Bestellung, + * + * siehe validierePosition, allerdings mit Überprüfung ob ein Kunde + * mit angegebener Id existiert + * + * @param artikelId Id des Artikels + * @param anzahl Artikel-Anzahl + * @param kundenId Id des Kunden + * @return true falls valide + */ + public boolean validiereBestellung + ( long artikelId, + long anzahl, + long kundenId) { + + + if( validierePosition(artikelId, anzahl) != true){ + return false; + } + + if(kundenManagerBean.existsKunde(kundenId) == false){ + return false; + } + + return true; + } + + /** + * berechnet den Gesamtpreis der bestellten Artikel + * + * @param anzahl Anzahl der Artikel + * @param preis Einzel-Preis + * @return Gesamtpreis + */ + public double berechneGesamtpreis + ( long anzahl, + double preis) { + return anzahl * preis; + } + + /** + * Berechnet die Mehrwertsteuer + * + * es wird von einer Mehrwert-Steuer von 19% ausgegangen + * + * @param preis Der Preis + * @return MwSt Die berechnete Mehrwertsteuer + */ + public double berechneMehrwertSteuer(double preis) { + return 0.19 * preis; + } + +} diff --git a/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/bestell/BestellRemote.java b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/bestell/BestellRemote.java new file mode 100644 index 0000000..a6f1001 --- /dev/null +++ b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/bestell/BestellRemote.java @@ -0,0 +1,23 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package beans.bestell; + +import javax.ejb.Remote; + +/** + * + * @author Jan + */ +@Remote +public interface BestellRemote { + + public double berechneGesamtpreis(long anzahl, double preis); + public double berechneMehrwertSteuer(double preis); + public boolean validierePosition(long artikelId, long anzahl); + public boolean validiereBestellung(long artikelId, long anzahl, @javax.jws.WebParam(name = "kundenId") + long kundenId); + +} diff --git a/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/kundenManager/KundenManagerBean.java b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/kundenManager/KundenManagerBean.java new file mode 100644 index 0000000..b0de74c --- /dev/null +++ b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/kundenManager/KundenManagerBean.java @@ -0,0 +1,99 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package beans.kundenManager; + +import beans.*; +import entities.Kunde; +import java.util.List; +import javax.ejb.Stateless; +import javax.persistence.EntityManager; +import javax.persistence.PersistenceContext; + +/** + * + * @author Jan + */ + +@Stateless(mappedName="KundenManagerBean") +public class KundenManagerBean implements KundenManagerRemote { + @PersistenceContext + private EntityManager em; + + + /** + * erstellt einen Kunden und liefert die Kunden-Id zurueck + * @param Kunde + * @return Kunden-Id + */ + public long createKunde(Kunde kunde) { + em.persist(kunde); + + return kunde.getId(); + } + + + /** + * Gibt einen Kunden anhand seiner Id zurueck + * @param kundeId + * @return + */ + public Kunde readKunde(long kundeId){ + Kunde kunde = em.find(Kunde.class, kundeId ); + return kunde; + } + + + /** + * gibt alle Kunden zurueck + * @return + */ + public List readAllKunden(){ + return (List)em.createQuery("SELECT k FROM Kunde k ORDER BY k.id").getResultList(); + } + + /** + * Schreibt die Änderungen eines Kunden in die Datenbank + * @param kunde Der Kunde + */ + public void updateKunde(Kunde kunde){ + em.merge(kunde); + } + + /** + * Entfernt einen Kunden mit der angegebenen Kunden-Id + * @param kundeId + */ + public void deleteKunde(long kundeId){ + Kunde kunde = em.find(Kunde.class, kundeId ); + em.remove(kunde); + } + + + /** + * entfernt alle Kunden + * + */ + public void deleteAllKunden(){ + for(Kunde kunde : readAllKunden()){ + deleteKunde( kunde.getId() ); + } + } + + + /** + * Prüft ob es einen Kunden mit angegebener Kunden-Id gibt + * @param kundeId + * @return true falls ein Kunde mit angegebener ID existiert + */ + public boolean existsKunde(long kundeId){ + Kunde kunde = em.find(Kunde.class, kundeId ); + if(kunde != null) + return true; + + return false; + } + +} diff --git a/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/kundenManager/KundenManagerRemote.java b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/kundenManager/KundenManagerRemote.java new file mode 100644 index 0000000..935c715 --- /dev/null +++ b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/kundenManager/KundenManagerRemote.java @@ -0,0 +1,25 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package beans.kundenManager; + +import javax.ejb.Remote; + +/** + * + * @author Jan + */ +@Remote +public interface KundenManagerRemote { + + public long createKunde(entities.Kunde kunde); + public entities.Kunde readKunde(long kundeId); + public java.util.List readAllKunden(); + public void updateKunde(entities.Kunde kunde); + public void deleteKunde(long kundeId); + public void deleteAllKunden(); + public boolean existsKunde(long kundeId); + +} diff --git a/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/lager/LagerBean.java b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/lager/LagerBean.java new file mode 100644 index 0000000..1602797 --- /dev/null +++ b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/lager/LagerBean.java @@ -0,0 +1,80 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package beans.lager; + +import beans.*; +import beans.artikelManager.ArtikelManagerRemote; +import entities.Artikel; +import exceptions.IllegalerWertException; +import exceptions.UnbekanntesEntityException; +import javax.ejb.EJB; +import javax.ejb.Stateless; + +/** + * Diese Klasse stellt Funktionen des Lagers bereit + * @author jmueller + */ +@Stateless(mappedName="LagerBean") +public class LagerBean implements LagerRemote { + @EJB + private ArtikelManagerRemote artikelManagerBean; + + /** + * bucht eine bestimmte Anzahl von Artikeln aus dem Lager aus + * + * @param id die Id des Artikels + * @param anzahl die Anzahl der auszubuchenden Artikel + */ + public void bucheArtikelAus(long id, long anzahl)throws UnbekanntesEntityException, IllegalerWertException{ + System.out.println("Lager: bucheArtikelAus("+id+","+anzahl+")"); + if(anzahl < 0){ + throw new IllegalerWertException("anzahl", ""+id); + } + Artikel artikel = artikelManagerBean.readArtikel(id); + artikel.setAnzahl(artikel.getAnzahl() - anzahl); + artikelManagerBean.updateArtikel(artikel); + } + + + /** + * bucht eine bestimmte Anzahl von Artikeln ins Lager ein + * + * @param id + * @param anzahl + * @throws exceptions.UnbekanntesEntityException + * @throws exceptions.IllegalerWertException + */ + public void bucheArtikelEin(long id, long anzahl) throws UnbekanntesEntityException, IllegalerWertException{ + System.out.println("Lager: bucheArtikelEin("+id+","+ anzahl+")"); + if(anzahl < 0){ + throw new IllegalerWertException("anzahl", ""+id); + } + + Artikel artikel = artikelManagerBean.readArtikel(id); + artikel.setAnzahl(artikel.getAnzahl() + anzahl); + artikelManagerBean.updateArtikel(artikel); + } + + + /** + * Testet ob der Artikel in ausreichender Anzahl vorhanden ist, + * falls der Artikel nicht existiert wird false zurückgegeben + * @param id + * @param anzahl + * @return + */ + public boolean pruefeVerfuegbarkeit(long id, long anzahl) throws Exception{ + Artikel artikel = artikelManagerBean.readArtikel(id); + if( artikel.getAnzahl() >= anzahl ){ + return true; + } + + return false; + } + + // Add business logic below. (Right-click in editor and choose + // "EJB Methods > Add Business Method" or "Web Service > Add Operation") +} diff --git a/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/lager/LagerRemote.java b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/lager/LagerRemote.java new file mode 100644 index 0000000..ea1e8d0 --- /dev/null +++ b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/lager/LagerRemote.java @@ -0,0 +1,22 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package beans.lager; + +import exceptions.IllegalerWertException; +import exceptions.UnbekanntesEntityException; +import javax.ejb.Remote; + +/** + * + * @author jmueller + */ +@Remote +public interface LagerRemote { + + public void bucheArtikelAus(long id, long anzahl) throws UnbekanntesEntityException, IllegalerWertException; + public void bucheArtikelEin(long id, long anzahl) throws UnbekanntesEntityException, IllegalerWertException; + public boolean pruefeVerfuegbarkeit(long id, long anzahl) throws Exception; +} diff --git a/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/lieferant/LieferantBean.java b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/lieferant/LieferantBean.java new file mode 100644 index 0000000..2fb1a16 --- /dev/null +++ b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/lieferant/LieferantBean.java @@ -0,0 +1,48 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package beans.lieferant; + +import beans.*; +import beans.lager.LagerRemote; +import beans.artikelManager.ArtikelManagerRemote; +import beans.adressen.AdressenRemote; +import exceptions.IllegalerWertException; +import exceptions.UnbekanntesEntityException; +import javax.ejb.EJB; +import javax.ejb.Stateless; + +/** + * + * @author jmueller + */ +@Stateless(mappedName="LieferantBean") +public class LieferantBean implements LieferantRemote { + @EJB + private ArtikelManagerRemote artikelManagerBean; + @EJB + private LagerRemote lagerBean; + @EJB + private AdressenRemote adressenBean; + + + + /** + * bestellt eine bestimmte Anzahl von Artikeln nach + * @param id die Id des Artikels + * @param anzahl die Anzahl + */ + // TODO: Session Bean erstellen die die Adresse des Lieferanten für bestimmte + // Artikel heraussucht + public void bestelleNach(long id, long anzahl) throws UnbekanntesEntityException, IllegalerWertException{ + System.out.println("Lieferant: bestelleNach("+id+","+anzahl+")"); + lagerBean.bucheArtikelEin(id, anzahl); + + System.out.println("Bestellung erfolgt bei: " + adressenBean.getLieferantenAdresseFuerArtikel(id) ); + } + + + +} diff --git a/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/lieferant/LieferantRemote.java b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/lieferant/LieferantRemote.java new file mode 100644 index 0000000..9a4a63f --- /dev/null +++ b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/lieferant/LieferantRemote.java @@ -0,0 +1,22 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package beans.lieferant; + +import exceptions.IllegalerWertException; +import exceptions.UnbekanntesEntityException; +import javax.ejb.Remote; + +/** + * + * @author jmueller + */ +@Remote +public interface LieferantRemote { + + void bestelleNach(long id, long anzahl) throws UnbekanntesEntityException, IllegalerWertException; + + +} diff --git a/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/entities/Artikel.java b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/entities/Artikel.java new file mode 100644 index 0000000..9859fc6 --- /dev/null +++ b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/entities/Artikel.java @@ -0,0 +1,112 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package entities; + +import java.io.Serializable; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; + +/** + * Eine Klasse welche den Typ eines Artikels verwaltet + * @author jmueller + */ +@Entity +public class Artikel implements Serializable { + private static final long serialVersionUID = 1L; + private Long id; + private String bezeichnung; + private Long anzahl; + private Double preis; + + + public Artikel(){ + + } + + public Artikel(Long id, String bezeichnung, Long anzahl, Double preis) { + this.id = id; + this.bezeichnung = bezeichnung; + this.anzahl = anzahl; + this.preis = preis; + } + + + + + /** + * Default-Konstruktor + */ + + +/* + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + public int getId() { + return id; + } +*/ + @Override + public int hashCode() { + int hash = 0; + hash += getId(); + return hash; + } + + @Override + public boolean equals(Object object) { + if (!(object instanceof Artikel)) { + return false; + } + Artikel other = (Artikel) object; + if (this.getId() != other.getId()) { + return false; + } + return true; + } + + @Override + public String toString() { + return "entities.Artikel[id=" + getId() + "]"; + } + + public String getBezeichnung() { + return bezeichnung; + } + + public void setBezeichnung(String bezeichnung) { + this.bezeichnung = bezeichnung; + } + + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getAnzahl() { + return anzahl; + } + + public void setAnzahl(Long anzahl) { + this.anzahl = anzahl; + } + + public Double getPreis() { + return preis; + } + + public void setPreis(Double preis) { + this.preis = preis; + } + + +} diff --git a/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/entities/Kunde.java b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/entities/Kunde.java new file mode 100644 index 0000000..0ebadfc --- /dev/null +++ b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/entities/Kunde.java @@ -0,0 +1,100 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package entities; + +import java.io.Serializable; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; + +/** + * + * @author Jan + */ +@Entity +public class Kunde implements Serializable { + private static final long serialVersionUID = 1L; + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + private Long id; + private String vorname; + private String nachname; + private String adresse; + + public Kunde() { + } + + public Kunde(Long id, String vorname, String nachname, String adresse) { + this.id = id; + this.vorname = vorname; + this.nachname = nachname; + this.adresse = adresse; + } + + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + @Override + public int hashCode() { + int hash = 0; + hash += (id != null ? id.hashCode() : 0); + return hash; + } + + @Override + public boolean equals(Object object) { + // TODO: Warning - this method won't work in the case the id fields are not set + if (!(object instanceof Kunde)) { + return false; + } + Kunde other = (Kunde) object; + + // true -> wenn alle Daten identisch sind + if(this.id.equals(other.id) && this.vorname.equals(other.vorname) && this.nachname.equals(other.nachname) && this.adresse.equals(other.adresse)){ + return true; + } + + return false; + } + + @Override + public String toString() { + return "entities.Kunde[id=" + id + "," + vorname +"," + nachname +"," + adresse +"]"; + } + + public String getVorname() { + return vorname; + } + + public void setVorname(String vorname) { + this.vorname = vorname; + } + + public String getNachname() { + return nachname; + } + + public void setNachname(String nachname) { + this.nachname = nachname; + } + + public String getAdresse() { + return adresse; + } + + public void setAdresse(String adresse) { + this.adresse = adresse; + } + +} diff --git a/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/exceptions/AuftragsAbwicklungException.java b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/exceptions/AuftragsAbwicklungException.java new file mode 100644 index 0000000..8aa5574 --- /dev/null +++ b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/exceptions/AuftragsAbwicklungException.java @@ -0,0 +1,22 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package exceptions; + +import javax.ejb.ApplicationException; + +/** + * + * @author jmueller + */ +@ApplicationException(rollback=true) +public class AuftragsAbwicklungException extends Exception { + private static final long serialVersionUID = 1L; + + public AuftragsAbwicklungException(String msg){ + super("Auftrag konnte nicht Abgewickelt werden: " + msg); + } + +} diff --git a/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/exceptions/IdBereitsVergebenException.java b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/exceptions/IdBereitsVergebenException.java new file mode 100644 index 0000000..685b931 --- /dev/null +++ b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/exceptions/IdBereitsVergebenException.java @@ -0,0 +1,19 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package exceptions; + +import javax.ejb.ApplicationException; + +/** + * + * @author Jan + */ +@ApplicationException(rollback=true) +public class IdBereitsVergebenException extends Exception{ + public IdBereitsVergebenException(String msg) { + super(msg); + } +} diff --git a/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/exceptions/IllegalerWertException.java b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/exceptions/IllegalerWertException.java new file mode 100644 index 0000000..eb21936 --- /dev/null +++ b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/exceptions/IllegalerWertException.java @@ -0,0 +1,26 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package exceptions; + +import javax.ejb.ApplicationException; + +/** + * + * @author Jan + */ +@ApplicationException(rollback=true) +public class IllegalerWertException extends Exception { + + public IllegalerWertException(String msg) { + super(msg); + } + + public IllegalerWertException(String variablenName, Object wert) { + super("Illegaler Wert: [" + variablenName+ " = " + wert.toString() +"]"); + } + + +} diff --git a/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/exceptions/UnbekanntesEntityException.java b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/exceptions/UnbekanntesEntityException.java new file mode 100644 index 0000000..0d1c405 --- /dev/null +++ b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/exceptions/UnbekanntesEntityException.java @@ -0,0 +1,29 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package exceptions; + +import javax.ejb.ApplicationException; + +/** + * + * @author jmueller + */ +@ApplicationException(rollback=true) +public class UnbekanntesEntityException extends Exception { + + /** + * Constructs an instance of UnbekannterArtikelException with the specified detail message. + * @param msg the detail message. + */ + public UnbekanntesEntityException(String msg) { + super(msg); + } + + public UnbekanntesEntityException(String typ, long id) { + super("Unbekanntes Entity vom Typ: " + typ + " [id="+ id +"]"); + } + +} diff --git a/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/helper/Auftrag.java b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/helper/Auftrag.java new file mode 100644 index 0000000..ade052e --- /dev/null +++ b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/helper/Auftrag.java @@ -0,0 +1,69 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package helper; + +import java.io.Serializable; +import java.util.LinkedList; +import java.util.List; +import javax.swing.AbstractListModel; + +/** + * Diese Klasse stellt einen Auftrag dar, der aus mehreren Auftragspositionen besteht + * @author jmueller + */ +public class Auftrag extends AbstractListModel implements Serializable { + private List positionen; + + + public Auftrag(){ + this.positionen = new LinkedList(); + } + + + /** + * gibt die Positionen zurück + * @return die Auftragspositionen + */ + public List getPositionen() { + return this.positionen; + } + + public int getSize() { + return this.positionen.size(); + } + + public Object getElementAt(int arg0) { + return this.positionen.get(arg0); + } + + + public void addPosition(int id, int anzahl){ + this.addPosition(new AuftragsPosition(id, anzahl)); + + } + + public void addPosition(AuftragsPosition position){ + this.positionen.add(position); + this.fireIntervalAdded(position, this.positionen.size()-1, this.positionen.size()-1); + } + + public void removePosition(AuftragsPosition position){ + this.positionen.remove(position); + this.fireIntervalRemoved(position, 0, this.positionen.size()); + } + + + public void positionChanged(AuftragsPosition position){ + int index = this.positionen.indexOf(position); + this.fireContentsChanged(position, index, index); + } + + + + + + +} diff --git a/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/helper/AuftragsPosition.java b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/helper/AuftragsPosition.java new file mode 100644 index 0000000..fe276fa --- /dev/null +++ b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/helper/AuftragsPosition.java @@ -0,0 +1,56 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package helper; + +import java.io.Serializable; + +/** + * Die Klasse stellt eine Auftragsposition dar + * @author jmueller + */ +public class AuftragsPosition implements Serializable { + private int id; + private int anzahl; + + public AuftragsPosition() { + this.id = 0; + this.anzahl = 0; + } + + public AuftragsPosition(int _id, int _anzahl){ + this.id = _id; + this.anzahl = _anzahl; + } + + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getAnzahl() { + return anzahl; + } + + public void setAnzahl(int anzahl) { + this.anzahl = anzahl; + } + + + @Override + public String toString(){ + return "Id: " + this.id + ", Anzahl: " + this.anzahl; + } + + + + + + +} -- cgit v1.2.3