diff options
| author | Sven Eisenhauer <sven@sven-eisenhauer.net> | 2023-11-10 15:11:48 +0100 |
|---|---|---|
| committer | Sven Eisenhauer <sven@sven-eisenhauer.net> | 2023-11-10 15:11:48 +0100 |
| commit | 33613a85afc4b1481367fbe92a17ee59c240250b (patch) | |
| tree | 670b842326116b376b505ec2263878912fca97e2 /Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans | |
| download | Studium-33613a85afc4b1481367fbe92a17ee59c240250b.tar.gz Studium-33613a85afc4b1481367fbe92a17ee59c240250b.tar.bz2 | |
Diffstat (limited to 'Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans')
14 files changed, 711 insertions, 0 deletions
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<Artikel> readAllArtikel(){ + return (List<Artikel>)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<Artikel> 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<Kunde> readAllKunden(){ + return (List<Kunde>)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<entities.Kunde> 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; + + +} |
