Ziar Virtual cu Stiri Avand Si Magazin Virtual

1.Arhitectura unei aplicatii

Exista doua abordari ale folosirii JSp-urilor si anume:

-Prima abordare este referita ca abordarea page-centric (sau Client -Server).Aceasta implica cereri facute direct catre paginile JSP.

-A doua abordare ,dispatcher-ul (sau legatura de tip N) presupune existenta unui servlet care actioneaza ca un mediator sau un controller ,delegand cereri catre paginile Jsp si JavaBeans-uri.

1.1. Abordarea “Page-Centric”

Abordarea “Page Centric” poate fi “Page View” sau “Page View cu Bean-uri”.

Aplicatiile construite folosind abordarea Client-Server presupun una sau mai multe programe aplicatii ruland pe masina clientului si care se conecteaza la o aplicatie server.Aceasta aplicatie este o aplicatie cu legatura(nivel) 2 (2 –tier ).

Acest model permite Jsp-urilor sau Servleturilor acces direct la resurse ca baza de date pentru a deservi cererea unui client. Pagina Jsp se afla acolo unde este interceptata cererea ,iar raspunsul este trimis inapoi. In acest caz paginile Jsp difera de Servleturi doar prin faptul ca ofera cod mai curat si separa codul de context prin plasarea datelor de acces in bean-uri.

Avantajul acestei meode este acela de a fi simplu de programat, permitand autorului paginii sa genereze usor continut dinamic,bazat pe cerere si pe starea resurselor.

Dezanatajele sunt acelea ca aceasta arhitectura presupune cate o conexiune cu resursa pentru fiecare client in parte.In cazul in care numarul de clienti este foarte mare trebuie stabilite un numar foarte mare de conexiuni.

Un alt dezavantaj este acela ca arhitectura presupune foarte mult cod Java in interiorul paginilor JSP- problema care pentru designerii de paginii de internet poate fi foarte costisitoare .

1.2. Abordarea Page-View

Aceasta arhitectura implica cereri directe la un server page, cereri care include cod Java si tag-uri markup care genereaza dinamic iesiri .

Avantajele acestei abordari sunt acelea ca este foarte usor de programat .Codul Java poate fi continut in interiorul HTML-ului, astfel incat schimbarile sunt limitate ,reducand complexitatea.

Urmatoarea figura ilustreaza cele spuse mai sus:

Marea problema a acestei arhitecturi este nivelul de sofisticare . Cu cat dimensiunea istemului creste,apar cateva limitari cum ar fi: includerea de multa logica business in pagina in loc de a o trimite inainte catre un Servlet sau inapoi catre un bean muncitor.

1.2.1 Abordarea Page-View cu Bean-uri

Aceasta abordare este folosita in momentul in care abordarea Page-View devine prea incurcata ,incluzand cod relationa business si cod ce permite accesuldatei.

Avantajul arhitecturii este migrarea codului Java care reprezinta logica business si implementarea stocarii datelor spre JavaBean muncitor .

Aceasta redistribuire ofera un cod JSP mai curat cu cod Java limitat care incapsuleaza in mare parte taguri markup.

1.3. Abordarea “Dispacther”

In aceste abordari cu legatura “N-tier” un Servlet actioneaza ca un mediator sau controller ,delegand cereri catre paginile JSP si JavaBeans-uri.

Exista trei tipuri de abordari “Dispatcher” si acestea sunt:

Mediator –View

Mediator- Composite View

Service to Workers

In aplicatia de tip N-tier partea de server a arhitecturii este despartita in multiple nivele ca in figura de mai jos:

In acest caz aplicatia este compusa din mai multe nivele ,unde nivelul de mijlloc ,Jsp-ul ,interactioneaza cu resuresele din spate prin intermediul componentelor EJB.Serverul de Enterprise JavaBeans si Ejb-urile manuiesc accesul la resurse,suportul de tranzactii si accesul la mecanismele de securitate existente in spate .Acesta este modelul de programare suportat de platforma J2EE.

Primul pas in proiectarea unei aplicatii de tip N-tier ar trebui sa fie identificarea corecta a obiectelor si interactiunilor dintre acestea.

Al doilea pas este identificarea Jsp-urilor sau a servlet-urilor.Ca o reguala acestea ar trebui sa fie divizate in 2 categorii,depinzand de rolul pe care-l joaca.,adesea numite componente “web ”in terminologia J2EE.

-Jsp-uri sau Servleturi din fata care mauiesc fluxul aplicatiei si evaluarile logicii business.Aici au loc multe invocari ale obiectelor ,sau folosiri ale EJB-urilor pot fi codate.Ele nu sunt responsabile de prezentare si actioneaza ca un punt pentru interceptarea cererilor HTTP care vin de la utilizatori.

-Jsp-urile de prezentare care genereaza HTML ,principalul lor scop fiind prezentarea cntinutului dinamic.Acestea contin doar prezentare si redau logica.

Componentele din fata accepat o cerere si apoi determina componenta apropiata de prezentare catre acre ca o inainteze.Componenta de prezentare proceseaza cererea si returneaza raspunsul catre o alta componenta din “fata” sau direct catre user.

1.3.1 .Mediator View

Factorizand serviciile comune,cum ar fi autentificarea catre un servlet mediator ne permite eliminarea potentialelor duplicate din paginile JSP.

Un bean poate fi folosit pentru acest scop dar ar trebui sa se adauge acelasi cod in fiecare pagina care verifica autentificarea.In schimb ,fiecare cererer va fi servita unui servlet, care acum include codul de autentificare.

Arhitectura “Mediator View ”este ilustrata mai jos,explicand cum fiecare serviciu este partitionat.Initial,servletul manuieste cererea si o delegheaza la o pagina de JSP care foloseste proprietatile unui bean.JSP-ul populeaza proprietatile bean-ului din cererre si apoi foloseste bean-ul pentru a pregati data de prezentare.

In vederea unei mai bune abstractizari a arhitecturii aplicatiei trebuie gasita o modalitate de a partitiona mai bine logica business si codul de acces la date.

Dupa cum am spus anterior cererea este manuita la inceput de un servlet care o trimite la o pagina JSP pentru afisare.JSP-ul este responsabil de delegarea procesului functionalitatii business catre un delegat business prin intermediul unui bean muncitor care actioneaza ca o fatada pentru resursele back-end.Aceasta componenta se numeste business delegate deoarece este o abstractia business la partea de client folosita pentru a completa procesul business primar prin abstarctizarea codului acare are de a face cu comunicatia back-end.

Bean-ul muncitor poate comunica prin intermediul delegatului business care are Enterprise JavaBeans-uri cu back-end-ul.

In acest caz se poate implementarea EJB de beanul muncitor din JSP prin mutarea codului referitor la EJB,asemeanea cod este referitor la lokup-ul JNDI,intr-un delegat business.

Daca includem codul referitor la EJB in beanuri muncitoare ,atunci se leaga foartestrans beanul cu o anumita implementare existenta iar daca se schimba aceasta implementare trebuie modificat si beanul in concordanta.

In acest moment relatia dintre cererea clientului si reursa back-end existennta s-a redus foarte mult.

1.3.2. Mediator Composite View

Aceasta arhitectura ne permite sa abstractizam parti din pagina ,creean piese atomice care pot fi atasate intr-un total compus in diferite coniguratii.

1.3.3. Service to Workers

In aceasta arhitectura punctul initial de delegare este un bean muncitor care proceseaza codul business si ceal de acces prin intemediul unei abstractizari pe partea de client.

Servletul manuieste cererea de la client,oferind posibilitatea de procesare a serviciilor comune.

Dupa ce beanul muncitor si-a completat responsabilitatile de a popula modelul intermediar pentru JSP,servletul le trimite catre JSP pentru a genera prezentarea.

Aceasta arhitectura ofera o separarea mai clara inter view si controller ,datorita faptului ca pagina JSP nu mai face apeluri business,ci doar acceseaza starea unui bean prepopulat.

2.Prezentarea Componentelor Enterprise JavaBeans

Enterprise beans sunt componentele J2EE care implementeaza tehnologia Enterprise Java Bean(EJB)EJB ruleaza in containerul EJB, un mediu in timp real cuprins in serverul J2EE. Desi tansparent celui ce dezvolta aplicatia, containerul EJB ofera servicii la nivel sistem cum ar fi tranzactiile in enterpise bean. Aceste servicii iti permit sa construiesti si sa desfasori EJB, care formeaza nucleul aplicatiilor J2EE.

2.1.Ce este EJB?

Scris in limbajul de programare Java ,un EJB este o componenta pe partea serverului care incapsuleaza functia logica a unei aplicatii. In inventarul contolului aplicatiei, de exemplu, EJB poate implementa functii logice in metode numite checkInventoryLevel and orderProduct.Invocand aceste metode,clientii pot serviciile de inventar oferite de aplicatie.

2.2.Beneficiile EJB

Pentru cateva motive EJB simplifica dezvoltarea aplicatiilor mari si distribuite. In primul rand pentru ca containerul EJB ofera servicii de nivel-sistem la EJB, dezvoltatorul se poate concentra sa rezolve problemele de functii..

Containerul EJB – nu dezvoltatorul de bean – este responsabil de serviciile de nivel sistem ca managementul tranzactiilor si autorizatia de securitate.

In al doilea rand, beanurile- nu toti clientii- contin functiile logice ale aplicatiei, iar dezvoltatorul de client se poate concentra pe prezentarea clientului. Dezvoltatorul de client nu trebuie sa redea in cod si rutinele care implementeaza regulile functiilor sau accesul la baze de date. As result, clientii sunt slabi, un beneficiu care este destul de important pentru clientii care ruleaza pe dispozotive slabe.

In al treilea rand, beanurile sunt componente portabile, asamblorul aplicatiei poate crea noi aplicatii din beanurile existente. Aceste aplicatii pot rula pe orice server J2EE.

2.3Cand sa utilizam EJB ?

Ar trebui sa luam in considerare folosirea EJB daca aplicatiile noastre au una din urmatoarele cerinte:

Aplicatia trebuie sa fie crescatoare. Pentru un numar crescator de utilizatori, poate avem nevoie sa ditribuim o componenta a plicatiei pe mai multe masini. Nu numai ca EJB al unei aplicatii poate rula pe mai multe masini dar locatia lor va ramane transparenta tuturor clientilor.

Transactiile sunt necesare pentru a asigura integritatea datelor. EJB suporta tranzactiile, mecanismul care supervizeaza accesul concurent a obiectelor impartasite.

Aplicatia va avea o varietate de clienti. Cu putine linii de cod, clientii pot usorsa localizeze EJB. Acesti clienti pot fi slabi, variati sau numerosi.

2.4.Tipuri de EJB

Tabelul 3-1 este un sumar al celor trei tipuri diferite de EJB. Urmatoarele sectiuni discuta fiecare tip in parte mai detaliat.

2.4.1.Ce este un Bean Sesiune?

O sesiune bean reprezinta un singur client in serverul J2EE. Pentru a accesa o aplicatie care este desfasurata pe server, clientul invoca metodele sesion beanului.Sesiunea bean lucreaza pentru clientul ei, protejand clientul de complexitate prin executarea bussiness taskurilor in interiorul serverului.

Asa cum sugereaza si numele,o sesiune bean este similara cu o sesiune interactiva. O astfel de sesiune nu este impartasita ea poate avea doar un singur client, in acelasi fel in care sesiunea interactiva poate avea un singur utilizator.

Model de management de stare

Sunt doua tipuri de sesiune bean:

2.4.1.1.Beanuri Sesiune cu Stare:

Starea unui obiect consta in valorile instantelor acelui obiect.Intr-un bean sesiune cu stare ,variabilele instanta reprezinta starea unui unic client –bean sesiune.

Datorita faptului ca programul client interactioneaza (“discuta”) cu beanul sau ,aceasta stare este deseori numita stare controversata.

Starea este retinuta pentru o perioada de clientul- bean sesiune.Daca programul client inlatura beanul sau se termina ,sesiunea se inchide si starea dispare.Aceasta trasatura tranzitorie a beanului nu reprezinta o problema,prin urmare cand nu mai exista legatura intre client si bean si beanul se termina nu mai este nevoie sa se retina starea.

2.4.1.2.Bean-uri Sesiune fara Stare

Un bean sesiune fara stare nu mentine o stare controversata pentru un anumit client.Cand clientul cere o metoda a unui bean fara stare ,variabilele instanta ale bean-ului pot contine o stare ,dar numai pe timpul invocarii de catre client.Cand metoda se incheie stane.

Datorita faptului ca programul client interactioneaza (“discuta”) cu beanul sau ,aceasta stare este deseori numita stare controversata.

Starea este retinuta pentru o perioada de clientul- bean sesiune.Daca programul client inlatura beanul sau se termina ,sesiunea se inchide si starea dispare.Aceasta trasatura tranzitorie a beanului nu reprezinta o problema,prin urmare cand nu mai exista legatura intre client si bean si beanul se termina nu mai este nevoie sa se retina starea.

2.4.1.2.Bean-uri Sesiune fara Stare

Un bean sesiune fara stare nu mentine o stare controversata pentru un anumit client.Cand clientul cere o metoda a unui bean fara stare ,variabilele instanta ale bean-ului pot contine o stare ,dar numai pe timpul invocarii de catre client.Cand metoda se incheie starea nu mai este retinuta.Exceptand perioada invocarii metodei,toate instantele unui bean sesiune sunt echivalente,permitand containerului EJB sa asigneze o stare fiecarui client.

Datorita faptului ca bean-urilesesiune fara stare pot supporta mai multi cllienti ,ele pot oferi mai mare scalabilitate pentru aplicatiile care cer un numar mare de clienti.De obicei o aplicatie are nevoie de un numar mai mic beanuri sesiune fara stare si de un numar mai mare de bean-rui sesiune cu stare pentru a putea suporta mai multi clienti.

Uneori ,containerul EJB poate crea un bean sesiune cu stare pentru o sticare secundara.Totusi,bean-urile sesiune fara sytare niciodata nu sunt scrise pentru o stocare secundara.Din acest motiv ,bean-urile sesiune fara stare pot oferi performante mai bune decat bean-urile cu stare.

2.4.1.3.Cand se folosesc Bean-urile Sesiune

In general,bean-urile sesiune se folosesc in urmatoarele conditii:

La un moment dat un singur client are acces la instanta bean-ului

Starea unui bean nu este permanenta ,existand doar pentru o scurta perioada de timp (de exemplu cateva ore)

Bean-urile sesiune cu stare sunt potrivite intr-una din urmatoarele circumstante:

Starea bean-ului reprezinta interactiunea dintre un bean si un anumit client

Bean-ul tebuie sa retina informatie despre cienti prin intermediul invocarii metodelor

Bean-ul este un intermediar intre client si alte componente ale aplicatiei , prezentand o vedere simplificata catre client

Beanul controleaza fluxul de lucru al catorva enterprise bean-uri

Pentru a imbunatati performanta ,se poate alege un bean sesiune fara strae daca exista urmatoarele conditii:

Starea bean-ului nu are date pentru un client specific

Intr-o singura invocare de metoda ,beanul executa un task generic pentru toti clientii.De exemplu ,se poate folosi un bean sesiune fara strae pentru trimitera unui emial de confirmarea a unei comenzi onine.

Bean-ul aduce dintr-o baza de date un set de date “read-only” care sunt adesea folosite d e clienti.Un asemenea bean ,de exemplu,poate intoarce randuri dintr-un tabel al unei baze de adte care reprezinta produsele care sunt dispuse catre vanzare online .

2.4.2.Bean Entitate

Un bean entitate reprezinta un obiect business dintr-un mecanism de stocare permanent.Catevaexemple de obiecte busines sunt clientii, produsele, comenzile.In J2EE SDK, mecanismul de stocare permanent il constituie baza de adte relationala.De obicei fiecare bean entitate are in spate un tabel dintr-o baza de adte relationala, si fiecare instanta a bean-ului corespunde unui rand din acel tabel.

Diferenta intre bean-uri entitate si bean-uri sesiune

Bean-urile entitate difera de bean-urile sesiune in mai multe privinte.Bean-urile entitate sunt persistente ,permit acces concurent,au chei primare si pot lua parte la relatii cu alte bean-uri entitate.

2.5.Persistenta

Datorita faptului ca starea bean-ul entitate este slavata intr-un mecanism de stocare,bean-ul este persistent.Persistenta inseamna ca starea bean-ului entitate exista dincolo de ciclul de viata a aplicatiei pe serverul J2EE.Conceptul de persistenta a datei este similar cu persistenta datelor din baza de date .Data intr-o baza de date este persistenta pentru ca exista si dupa ce s-a inchis serverul de baze de date sau sau serviciile aplicatiei.

Exista doua tipuri de persistenta pentru bean-rulie entitate:bean-managed si container-managed.

Cu persistenta bean-managed ,codul bean-ului entitate scris de programator contine si accesul la baze de date.

Daca bean-ul contine persistenta container-managed atunci ,containerul EJB genereaza automat accesele la baza de date necesare.Codul scris de programator pentru bean-ul entitate nu include aceste chemari.

2.6.Access concurent

Bean-urile entitate pot fi accesate de clienti multipli.Datorita faptului ca programele client pot schimba aceeasi data ,este important ca bean-urile entitate sa lucreze cu tranzactii.De obicei ,containerul EJB ofera managementul tranzactiilor.In acest caz se specifica atributele tranzactiei in descriptorul deployment al bean-ului.

Nu este necesar ca programatorul sa codeze legaturile tranzactiei in bean deoarece containerul face aceste legaturi,simplificand astfel munca pogramatorului.

2.6.Chei Primare

Fiecare bean entitate are un obiect identificator care este unic.De exemplu un bean entitate pentru un cumparator poate fi idenntificat prin id-unic asociat cumparatorului.Identificatorul unic sau cheia primara permite localizarea unui anumit client intr-un bean entitate particular.

2.7.Relatiile

Ca si un tabel intr-o baza de date relationala un bean entitate se poate afla in relatie cu alte bean-uri entitate.De exemplu,in aplicatia ce descrie o divizie de fotbal ,TeamEJB si PlayerEJB se afla in relatie deoarece intr-o echipa exista mai multi jucatori.

Implementarea relatiilor se face diferit cu bean-urile entitate cu persistenta bean-maneged decat cu bean-uri enitate cu persistenta container-managed .

Cu persistenta bean-managed programtorul scrie code care implementeaza aceste relatii.In schimb cu persistenta container-managed ,containerul EJB este cel care se ocupa de implementarea acestui cod .Din acest motiv relatiile dintre bean-urile entitate cu persistenta container-managed sunt adesea referite ca relatii container-managed.

2.8.Persistenta Container-Managed

Termenul persistenta container managed reprezinta manuirea acceselor la bazele de date cerute de catre bean-urile entitate facuta de catre containerul EJB .Codul bean-urilor nu contine acces la baza de date, el nefiind legat de un mecanism de stocare persistent (baza de date).Datorita acestei flexibilitati ,chiar daca se face redeploy pe acelasi bean entitate pe mai multe servere de J2EE care folosesc diferite servere de baze de date nu va fi nevoie de recompilarea codului bean-ului.

Pe scurt,folosind persistenta container-managed bean-ul este mult mai portabil.

Pentru a genera accesele la baza de date ,containerul are nevoie de informatii pe care programatorul le da in schema abstracta.

2.9.Abstarct schema

Schema abstracta defineste campurile persistente ale bean-urilor cat si relatiile dintre acestea.

Termenul “abstract ” face distinctia dintre aceasta schema si schema fizica existenta in baza de date.De exemplu intr-o baza de date relationala schema fizica este alcatuita din structuri de tabele si coloane.

Numele schemei abstracte se specifica in descriptorul deployment .acest nume este referit de catre querr-uri scrise in Enterprise JavaBeans Querry Language pe scurt EJB QL.Pentru un bean cu persistenta container –managed trebuie specificat cate un EJB QL query pentru fiecare metoda finder exceptand metaoda findByPrimaryKey(cautarea dupa cheia primara).EJB QL query defineste query-ul care se executa de catre containerul EJB atunci cand este invocata o metoda finder.

Figura urmatoare reprezinta un exemplu care descrie relatiile intre cateva bean-uri entitate ,folosite in realizarea magazinului virtual online “KFFL SHOPPING”.

2.10.Campurile persistente

Campurile persistente ale unui bean entitate sunt stocate in baza de date.Impreuna aceste campuri constituie starea bean-ului.La executie containerul EJB sincronizeaza automat starea cu baza de date.In timpul deployment-ului ,containerul mapeaza bean-ul entitate pe un tabel al bazei de adte si mapeaza campurile persistente cu coloanele din tabelele corespunzatoare.

De exemplu bean-ul entitate UserEJB are urmatoarele campuri persistente :

UserId

Firstname

Surname

Country

State

City

Email

Username

Password

Address,

Cellphon,

Fax

Zip

Birthdate

Phone

Status

FreeAmount

.In persistenta container-managed aceste campuri sunt virtuale ele declarandu-se in schema abstracta dar nu se codeaza ca variabile instanta in clasa bean-ului entitate.In schimb,campurile persistente sunt identificate in cod prin accesarea metodelor de tip get si set (getters si setters).

Campurile pentru relatii

Un camp relatie este ca si o cheie externa intr-un tabel dintr-o baza de date –identifica bean-ul cu care se intra in relatie.Ca si un camp persistent campul relatie etse virtual si este definit in clasa bean-ului entitate prin intermediul metodellor de acces.Dar spre deosebire de campurile persistente ,un camp relatie nu reprezinta starea bean-ului .

Multiplicitate in relatiile container-managed

Exista patru tipuri de multiplicitate :

One-to-one : Fiecare instanta a bean-ului entitate este legat la o singura instanta a bean-ului cu care intra in relatie .De exemplu ,penntru a modela campionat de basseball in care se fac tranzactii intre echipe si jucatorii sunt vanduti de la o echipa la alta ,bean-ul TeamEJB are o relatie one-to one cu bena-ul TransactionEJB.

One-to Many:O instanta a unui bean entitate este legata la mai multe instante ale altui bean cu care intra in relatie.Pentru exemplificare luam cazul unui magazin virtual in care UserEJB are o relatie One-to- Many cu bean-ul ProductEJB sau cazul unei echipe de fotbal in care bean-ul TeamEJB are o relatie de One-to Many cu bean-ul PlayerEJB.

Many-to-One :Mai multe instante ale unui bean sunt legate cu o singura instanta a bean-ului cu care intra in relatie.Pentru exemplificare luam cazurile prezentate la One-to-Many si anume :bean-ul ProductEJB are o relatie de Many-to –One cu bean-ul UserEJB ,la fel si bean-ul PlayerEJB are o relatie de Many-to-One cu bean-ul TeamEJB.

Many-toMany: Instantele unui bean entitate pot fi legate la mai multe instante ale bean-ului cu care intra in relatie.De exeplu ,pentru a reda situatia unui ziar cu stiri sportive este necesar ca bena-ul NewsEJb sa aiba o relatie de Many-to-Many cu bean-ul PlayerEJB.

Sensul in Relatiile Container-Managed

Sensul intr-o relatie poate fi ori bidirectional ori unidirectional.

Intr-o relatie bidirectionala fiecare bean entitate are un camp relatie care refera celalalt bean .Prin campul relatie ,codul bean-ului entitate poate accesa obiectul cu care este in relatie.daca un baen entitate are un camp relativ ,atuni se spune ca bean-ul respectiv “stie ”despre obiectu cu care este legat.

De exemplu daca TeamEJB stie ce instante ale PlayerEJB are si un PlaerEJb stie carei echipe apartine atunci aceste doua bean-uri au o relatie bidirectionala.

Intr-o relatie unidirectionala ,numai un bean are campuri relatie care refera celalat bean cu care intra in relatie.De exemplu NewsEJB are un camp relatie care identifica TeamEJB dar TeamEJB nu are un camp relati care identifica NewsEJB.Cu alte cuvinte NewsEJB stie despre ce echipa e vorba in stire dar TeamEJb nu stie care stire vorbeste despre ea.

EJB QL querry oferaposibilitatea navigarii printre aceste relatii. Sensul unei relatii determina daca un query poate naviga de la un bean la altul.

Cand se folosesc Bean-uri Entitate?

Se pot folosi in urmatoarele conditii:

Bean-ul reprezinta o entitate business si nu o actiune.De exemplu UserEJB este un bean entitate pe cand AuthEJB este un bean sesiune.

Starea bean-ului trebuie sa fie persistenta.Daca instanta bean-ului se termina sau daca se inchide serverul de J2EE ,starea bean-ului continua sa existe in baza de date.

Beanuri Conduse de Mesaje (Message Driven Bean)

Bean-ul Condus prin Mesaje este un enterprise bean ce permite aplicatiilor J2EE sa proceseze mesaje asincron.Se comporta ca un listener de JMS care este similar cu un eveniment listener exceptand faptul ca receptioneaza mesaje in loc de evenimente.Mesajele pot fi trimise de catre orice componenta J2EE –o aplicatie client ,alte bean-uri entitate sau o componenta WEB-sau de catre o aplicatie JMS sau sistem care nu foloseste tehnologia J2EE.

Bean-urile conduse prin mesaje in momentul de fata proceseaza doar mesaje JMS ,dar in viitor pot fi folosite pentru procearea oricaro tipuri de mesaje.

Bean-urile sesiune si bean-urile entitate permit transmiterea de mesaje JMS si receptarea lor sincrona dar nu asincrona.Pentru a evita aglomerarea resurselor serverului se prefera sa nu se foloseasca receptarea sincrona a blocurilor intr-o componenta server-side.

Pentru folosirea mesajelor asincron trebuie folosite bean-uri conduse prin mesaje.

Definirea accesului programelor client cu ajutorul interfetelor

Un client poate accesa un bean sesiune sau un bean entitate numai prin intermediul metodelor definite in interfetelor bean-ului.Aceste interfete defines vederea clientului asupra bean-ului.Toate celelalte aspecte ale bean-ului cum ar fi :implementarea metodellor,setarile din descriptorul deployment ,schemele abstracte, si accesele la baza de date sunt ascunse fata de client.

Interfetele bine concepute simplifica atat dezvoltarea aplicatiilor J2EE cat si mentenanta lor.Nu numai ca feresc clientii de compplexitatea legaturilor EJB dar interfetele permit schimbarea intrena a bean-urilor far sa afecteze clientii.De exemplu,chiar daca se schimba bean-urile entitate din persistenta bean-managed in persistenta container-managed ,nu va fi nevoie ca sa fie modificat codul client.Dar daca va fi nevoie de schimbarea definirilor metodelor in interfete ,atunci va fi nevoie si modificarea codului din client.Prin urmare pentru a isola clientul de posibile modificari in bean-uri,este importanat sa se proiecteze intrefetele cu multa atentie.

Cand se proiecteaza o aplicatie J2EE ,una din multele decizii este sa se decida asupra tipului accesului clientului permis de entreprise bean:remote sau local.

Accesul Remote

Un client remote al unui enreprise bean are urmatoarele trasaturi:

Poate rula pe diferite masini si pe o JVM diferita fata de cea pe aceea pe care ruleaza enterprsie bean-ul pe care il acceseaza

Poate fi o componenta WEB ,o aplicatie J2EE sau un alt enterprise bean

Pentru un client remote locatia enterprise bean-ului este transaparenta

Pentru a crea un enterprise bean cu acces remote ,trebuie codata o intrefata remote si o interfata home.Interfata remote defineste metodele business specifice unui bean.De exemplu,intrefata remote a bean-ului numit UserEJB poate avea metode business ca getUserDetails() si modifyUserDetails().Interfata home defineste metodele ciclului de viata ale unui bean-create si remove.Pentru bean-uri entitate ,intefata home deasemenea defineste metodele finder ca si metodele home.

Metodele finde rsunt folosite pentru a localiza bean-uri entitate.Metodele home sunt metode business care sunt invocate de actre toate instantele bean-ului entitate.

Figura urmatoare arata controlul vederii clientului la entreprise bean.

Accesul Local

Un client local are urmatoarele caracteristici:

Trebuie sa ruleze pe aceeasi JVM ca si enterprise bean-ul pe acre il acceseaza

Poate fi o componenta WEB,ori alt enterprise bean

Pentru clientul local ,locatia enterprise bean-ului pe care il acceseaza nu este transparenta

Este de multe ori un enterprise bean care are relatie container-managed cu alt bean entitate.

Pentru a crea un bean entitate care permite acces local,trebuie codata interfata locala ca si interfata home locala.Interfat locala defineste metodele business ale bean-ului iar interfata home locala defineste metodele ciclului de viata ca si metodel finder.

Interfetele Local si Relatiile Container-Managed

Daca un bean entitate este tinat unei relatii container-managed ,atunci tebuie sa aiba interfete locale.Sensul unei relatii detmina daca un bean este sau nu tinta.In figura de la pag 54 pe care o mai pui odata CategoryEJB este tinta unei relatii bidirectionale ProductEJB cu.Deoarece ProductEJB acceseaza CategoryEJb ,CategoryEJB are nevoie de interfete locale.De asemenea si ProductEJB are nevoie de interfete locale datorita relatiilor cu CategoryEJB si cu UserEJB.

Datorita faptului ca necesita acces local,bean-urile entitate care participa la relatii container-managed trebuie sa faca parte din acelasi JAR.Primul beneficiu al acestei locatii este cresterea performantelor-accesele locale sunt de obicei mai rapide decat cele remote.

Decizia inter acces local sau acces remote

Decizia daca un bean entitate permite acces local sau acces remote depind ede urmatorii factori:

Relatia container-managed :

Daca un bean entitate etse tinta unei relatii container-managed tebuie sa foloseasca acess local.

Legaturi ale bena-urilor aflate in relatie:Bean-urile strans legate depind unul de celalalt De exemplu UserEJB si OrderCartEJB sunt bean-uri strans legate .Bean-urile strans legate sunt buni candidati pentru folosirea accesului local.Datorita faptului ca ca formeaza o unitate logica, se vor si accessa foarte des si vor si beneficia de pe urma cresterii performantei datorita accesului local.

Tipul clientului:

Daca un enterprise bean este accesat de catre clientii aplicatiei J2EE atunci va va permite access remote .Intr-un mediu de productie , acesti clienti aproape intotdeauna vor rula pe masini diferite fata de cea pe care ruleaza serverul J2EE.In cazul in care clientii enterprise bean-ului sunt componente WEB sau alte entreprise bean-uri,atunci tipul accesului depinde de modul cum vor fi distribuite componentele.

Distributia Componentelor

Aplicatiile J2EE sunt scalabile datorita componentelor side-server care pot fi distribuite pe mai multe masini.Intr-o aplicatie distribuita , de exemplu,componentele WEB pot rula pe server diferit fata de enterprise bean-urile pe care le acceseaza.In acest scenariu distribuit,enterprise bean-urile ar tebui sa permita access remote.

Daca nu se stie exact tipul accesului la un enterprise bean atunci cel mai indicat ar fi sa se aleaga accesul remote.Aceasta decizie da mai multa flexibilitate – si in viitopr se pot distribui componentele pentru satisfacerea cererilor crescende ale unei aplicatii.

Desi nu foarte des intalnit,etse posibil ca un enterprise bean sa permita atat acces remote cat si access local.Aceste bean-uri cer atat interfete locale cat si interfete remote.

Performanta si Acces

Datorita unor factori ca :latenta retelei ,accesurile remote pot fi mai lente decta accesurile locale.Pe de alta parte ,daca se distribuie componente pe diferite servere se imbunatateste performanta globala a aplicatiei.Amandoua afirmatiile sunt generale;performanta actuala pate varia in medii operationale diferite.Nu tebuie uitat niicodata cum proiectarea aplicatiei afecteaza performanta acesteia.

Parametrii Metodelor si Accesul

Tipul accesului afecteaza parametrii metodelor bean-ului care sunt chemate d eclienti.Urmatoarele trasaturi se aplica nu numai parametrilor metodelor ci si valorilor pe care aceste le returneaza.

1)Isolation

Un argument in chemarile remote este transmis prin valoare;este copia unui obiect.Un argument intr-o chemare locala este transmis prin referinta ,ca oricare alta invocare a unei metode din limabjul de programare Java.

Parametrii accesului remote sunt mia izolati decta cei din accesele locale.Cu acces remote ,clientul si bean-ul opereaza pe diferite copii ale parametrului obiectului.In cazul in care clientul schimba valoarea obiectului ,valoarea copiei in bean nu se schimba.Acest nivel de izolare poate proteja bean-ul de modificarile accidentale ale datei facute de client.

Intr-un access local ,atat clientul cat si bean-ul pt modifica acelasi obiect.In general,nu tebuie sa se bazeze nimeni pe acest efect al chemarilor locale.Poate intr-o zi se doreste distribuirea componentelor ,inlocuirea acceslui local cu cel remote.

Granularitatea Datei Accesate

Datorita faptului ca accesul remote este cel mai putin probabil sa fie mai lent decat accesul local,parametrii metodelor remote ar trebui sa fie relativ granulati.Datorita faptului ca un obiect coarse-grained contine mai multe date decat unul fin granulat sunt necesare mai putine accese locale.

De exemplu, bean-ul entitate UserEJB este accesat remote.Acest bean va avea o singura metodat get care returneaza un obiect UserDetails care incapsuleaza toate informatiile despre un user.Dar daca UserEJB va fi accesat local ,poate avea o metoda getter pentru fiecare instanta a varaibilei:getFirstaname,getSurname,getPassword etc.Datorita faptului ca accesele locale sunt mai rapide ,multiplele chemari ale acestor fin-granulate metode vor scadea performanta emnificativ.

Alcatuirea unui enterprise Bean

Pentru dezvoltarea unui enterprise bean trebuie asigurate urmatoarele fisiere:

Deployment descriptor :Un fisier XML care specifica informatii despre bean cum ar fi tipul persistentei si atributele tanzactiei.Utilitarele deploytool-ului creeaza deployment descriptor-ul atunci se se creeaza un enterprise bean wizard

Clasa enterprise bean-ului:Implementeaza metode definite in urmatoarele intrefete

Interfetele remote si home sunt necesare pentru acces remote.Penrtru acces sunt necesare local ,interfetele local si home local.

Clasele ajutatoare:Sunt alte clase de care are nevoie enterprise bean-ul cum ar fi clasele de exceptii si clasele utilitare.

Fisierele prezentate anterior sunt impachetetate intr-un EJB JAR, modulul care stocheaza enterprise bean-ul.Un fisier EJB JAR este portabil si poate fi folosit pentru mai multe aplicatii.Pentru asamblarea unei aplicatii J2EE se impacheteaza unul sau mai mute module –cum ar fi fisiere EJB JAR-intr-un EAR,arhiva care contine applicatia.Cand se face deploy pe EAR care cntine EJB JAR se face deploy pe entreprise bean-ul pe serverul J2EE.

Ciclul de viata al enterprise bean-urilor

Un enterprise bean trece prin mai multe etape sau printr-un ciclu de viata.Fiecare tip de enterprise bean-sesiune,entitatesau condus prin mesaje –are un tip dfierit de ciclu de viata.

Descrierea urmatoare se refera la metode.

Ciclul de viata al unui bean sesiune cu stare

Figura urmatoare ilustreaza etapele prin care trece un bean in timpul existentei sale.Clientul initiaza ciclul de viata prin invocarea metodei create.Containerul EJB instantiaza bean-ul si invoca metodele setSessionContext si ejbCreate din bean-ul sesiune.Bean-ul este pregatit in acest moment sa fie folosit –metodele sa-I fie invocate.

In faza Ready ,containerul EJB poate decide sa dezactiveze bean-ul sau sa-l treaca in starea passiva prin mutarea lui din memorie in stocarea secundara.containerul EJB foloseste un algoritm recent pentru selectarea bean-ului pentru a-l tece in straea pasiv.Containerul EJB invoca metoda ejbPassivate a bean-ului imediat inainte de trecerea lui in pasiv.Daca un client invoca o metoda business a bean-ului int timpul cand acesta se afla in straea pasiva,containerul EJB activeaza bean-ul ,il muta iar in straea ready si apoi cheama metoda ejbActivate.

La sfarsitul ciclului de viata ,clientul invoca metoda remove si containerul EJB apeleaza metoda bean-ului ejbRemove.Instanta bean-ului este gata pentru garbage collection.

Codul programatorului controleaza invocarea a numai doua metode de ciluri de viata –create si remove.Toate celelalte metode care apar in figura anterioara sunt apelate de catre containerul EJB.De exemplu,metoda ejbCreate este in interiorul clasei bean-ului ,permitand anumte operatii imediat dupa instantierea bean-ului.De exemplu conectarea la o baza de date se poate face in metoda ejbCreate.

Ciclul de viata al unui bean sesiune fara stare

Datorita faptului caun bean sesine fara stare nu intra niciodat in starea pasiv ciclul sau de viata are doar doua etape:neexsitenta si starea ready pentru invocarea metodelor.Figura urmatoare arata straile unui bean sesiune fara stare.

Ciclul de viata al unui bean entitate

Figura urmatoare arata starile de viata ale unui bean entitate .Dupa ce containerul eJB creeaza instanta ,el apeleaza metoda setEntityContext din clasa bean-ului.Metoda setEntityContext paseaza contextul catre bean.

Dupa instantiere ,bean-ul entitate intr-o intr-o bucla de instante valabile.Cat timp este in aceasta bucla ,instanta nu etse asociat cu nici un obiect particular EJB.Toate instantele din bulca sunt identice.Containerul Ejb asigneaza o identitate unei instante cand o muta in strea ready.

Exista doua cai de iesire din straea pooled in straea ready.In prima cale clientul apeleaza metoda create ,determinand containerul EJB sa apeleze metodele ejbCreate si ejbPostCreate .In cea de-a doua cale containerul EJB apeleaza metoda ejbActivate.Cand a ajuns in starea ready metodele bean-ului entitate pot fi apelate.

Exista doua cai de a trece din starea ready in starea pooled.Prima :clientul apeleaza metoda remove,care determina containerul sa apeleze metoda ejbRemove.A doua cale este apelarea de catre containerul EJB a metodei ejbPasivate.

La sfarsitul ciclului de viata ,containerul EJB sterge instantele din bucla si invoca metoda unsetEntityContext.

In starea pooled ,o instanta nu este asociata cu nici un obiect particular EJB.

In cazul persistentei bean-managed cand containerul Ejb muta o instanta din starea pooled in starea ready, nu seteaza in mod automat si cheia primara.In cazul in care cheia primara este incorecta ,metodele ejbLoad si ejbStore nu pot sincroniza variabila instanta cu baza de date.

In starea pooled ,valorile variabilelor instanta nu sunt necesare.Acestea se pot face eligibile pentru garbage collector prin trecerea lor in null in metoda ejbPassivate.

Limbajul Enterprise JavaBeans Query

Limbajul eEnterprise JavaBeans Query (“EJB QL”) defineste interogarile(query )pentru metodele finder si select ale unui bean entitate cu persistenta container-managedUn subset al SQL92 , EJB QL are extensii care permit navigarea prin relatiile definite in schema abstracta a unui bean.Scopul unei interogari EJB QL este de a deschide schema abstracta a bean-urilor entitate aflate in relatie care sunt impachetate in acelasi EJB JAR.

Interogarile EJB QL sunt definite in deployment descriptorul al bean-ului entitate.Un instrument va traduce aceste interogari in limbajul larg specific bazei de date in care este implementata persistenta.

Datorita acestei traduceri ,bean-urile entitate cu persistenta container-managed sunt portabile ,codul lor nefiind legat de o baza de date particulara.

Restrictiile EJB QL

Comentariile nu sunt acceptate

Pentru precizarea datei si a timpului tebuie folosit tipul Java long care precizeaza milisecundele .

Pentru generarea valorilor milisecundei se poate folosi clasa java.util.Calendar

Momentan ,persistenta container-managed nu suporta mostenire.Din acest motiv doua entitati de tipuri diferite nu pot fi comparate.

Clauza Order BY nu este suportata.

Java Server Pages

Specificatia Java Server Pages permite developerilor web sa creeze context dinamic pe server folosind HML si XML ,si cod Java care este sigur ,rapid si independent de platforma serverului.

De cand a fost publicata specificatia JSP in iunie 1999,multe comapnii au si-au introdus suport JSP in motorele Servlet si serverele de aplicatii..

Tehnologia JSP permitre creerea contextului Web care are atat componente statice cat si dinamice.

Tehnologia JSP proiecteaza toate capacitatile dinamice ale tehnologiei Java Serrvlet dar proiecteaza o abordare mai naturala pentru creerea contextului static.

Principalele caracteristici ale JSP sunt:

Este un limbaj pentru dezvoltarea paginilor JSP,care sunt documente bazate pe text si descriu cum se proceseaza o cerere si se creeaza un raspuns.

Mecanisme pentru definirea extensiilor in limbajele JSP

De asemenea tehnologia JSP contine un Api care este folosit de dezvoltatorii de context Web.

Ciclul de viata al unei pagini JSP

Ciclul de viata si multe din propietatile unei pagini JSP (in special aspectele dinamice) sunt determinate de tehnologia Java Servlet.

Cand o cerere este mapata intr-o pagina JSP ,este manuita de un servlet special care mai inati verifica daca servletul paginiii JSP respective este mai vechi decat pagina JSP.Daca este ,traduce pagina JSP intr-o clasa servlet si compileaza clasa.In timpul dezvoltarii aplicatiilor unul din principalele avantaje ale paginilor JSP asupra servleturilor este ca procesul de construire (build) este facut in mod automat.

Translatarea si compilarea

In timpul fazei de tanslatare ,fiecare tip de data din pagina JSP este tratat diferit.Data template etse transformata intr-un cod care va genera date in stream-ul care se returneaza clientului.Elementele JSP sunt tratate dupa cum urmeaza:

Directivele sunt folosite sa controleze cum traduc si xecuta containerele Web paginile JSP

Elementele de scriptng sunt inserate in clasa servletului paginii JSP.

Elemnete de forma <jsp:xxx…./> sunt convetite in apeluri catre metodele Java Bean-urilor sau invocari catre Java Sevlet API.

Pentru o pagina JSP numita “pageName” sursa servletului paginii JSP este tinuta in fisierul

J2EE_HOME/repository/host/web/context_root/_0002fpageName_jsp.java

Atat translatarea cat si compilarea pot genera erori care sunt observate doar cand pagina este ceruta pentru prima data.Daca apare o eroare can dpagina este translatata (de exemplu daca translatorul intalneste un element JSP prsot format),serverul var returna o exceptie ParseException si fisierul sursa al clasei servletului va fi gol sau incomplet.Ultima linie incompleta va da indruma catre elemetu JSP incorect.

Daca apre o eroare in timp ce pagina JSP este compilata (de exemplu este o eroare de sintaxa intr-un scriptlet),serverul va returna o execptie JasperException si un mesaj care include numele servletului paginii JSP si linia unde s-a intalnit eroarea.

O data ce pagina este translatata si compilata ,servletul paginii JSP in mare parte urmeaza ciclul de viata al unui servlet. Si anume:

1)Daca o instanta a unui servlet de pagina JSP nu exista atunci containerul:

Incarca pagina clasa servletului paginii JSP

Instantiaza o instanta a clasei servletului

Initializeaza instanta servletului prin chemarea metodei jspInit

2)Invoca metoda _jspService predand i\un obiect request si reponse.

In caz ca e necesar ca servletul unei paginii JSP sa fie sters de catre un container se apeleaza metoda jspDestroy

Executia

Se poate controla executia diverselor pagini JSP prin folosirea directivelor de pagina.Directivele de pagina care manevreaza erorirle sunt discutate in continuare.

Manevrarea Erorilor

Cand o pagina JSP este executata se poate ajunge la oricat de multe exceptii.Pentru a specifica unui container Web sa inainteze controlul unei pagini de erori in cazul in care apar exceptii ,trebuie incluse urmatoarele directive:

<%@ page erorPage=”fileName”%>

Pentru a specifica faptul ca o pagina JSp este pagina de erori trebuie introdusa urmatoarea directiva la inceputlu paginii respective:

<%@ page isErrorPage=”true|false”%>

Aceasta directiva face obiectul exceptie sa fie disponibil in pagina de eroare,astfel incat sa poata fi retras,intrepretat si pe cat posibil sa se afiseze informatii despre cauza care a provocat exceptia respectiva.

Crearea Continutului Static

Continutul static intr-o pagina JSP se creeaza prin simpla scriere a sa ca si cum s-ar crea o pagina care contine numai acel context .Contextul static poate fi exprimat in orice format cu ar fi HTML,WML, si XML.Formatul default este HTML.Daca se vrea folosirea unui alt context afara de cel de HTLM se include o directiva de pagina la inceputul paginii JSP respective.Aceasta directiva trebuie sa seteze atributul “contentType” la tipul formatului.

Creerea Continutului Dinamic

Continutul dinamic se creeaza prin accesarea obiectelor din limbajul de programare Java in interiorul elementelor de scripting.

Folosirea Obiectelor in Paginile JSP

Se pot accesa o varietate de obiecte ,incluzand componente Enterprise JavaBeans , in paginile JSP.Tehnologia JSP face in mod automat disponibile unele obiectele .De asemenea se pot crea si accesa obiecte specifice aplicatiei.

Obiecte Specifce Aplicatiei

De cate ori e posibil ,comportamentul aplicatiei ar trebui sa fie incapsulat in obiecte astfel incat designerii de paginii sa se concentreze asupra problemelor de prezentare.Obiectele pot fi create de dezvoltatorii care sunt profilati pe programarea in limbajul Java si in accesul la bazele de date si alte servicii.

Exista trei cai de a crea si a folosi obiectele in cadrul paginilor JSP:

Instanta si variabilele de clasa ale clasei servletului unei paginii JSP sunt create in “declaratii” si accesate in “scriptleti” si “expresii”.

Variabilele locale ale clasei servletului paginii JSP sunt create si folosite in “scriptleti” si “expresii”.

Atributele ale obiectellor scope sunt create si folosite in “ scriptleti” si “ expresii ”.

Componentele JavaBeans pot fi create si accesate folosind elemente JSP.De asemenea se pot crea componente JavaBeans si in declaratii sau scriptleti si se pot invoca metode ale componentelor JavaBeans in scriptleti sau expresii.

Declaratiile,scriptletii,si expresiile vor fi descrise mai jos in capitolul Elemente JSP de Scripting .

Elemente JSP de Scripting

Prin limbaj de scripting se intelege un limbaj de programare interpretat .Solutia de interpretare permite transmiterea programelor in cod sursa , cu conditia existentei la destinatie a unui interpretor pentru executia lor.Exemple de limbaje de scripting sunt:Visual Basic,Perl,Unix shell,etc.Un program scris intr-un limbaj de scripting se numeste script.

In WWW, scriptingul se foloseste atat la client cat si la server.Executia unui script la server poate produce continut ce este transmis prin HTTP clientului(de exemplu prin CGI).Executia unui script la client produce context dinamic.Scriptingul la client face parte din tehnologia Dynamic HTML- DHTML.

Deosebirea esentiala intre un limbaj de programare compilat si un scripting interpretat este momentul legarii (binding in engleza)-momentul in care devin cunoscute atributele unei variablie.La limbajele compilate momentul legarii este cel al traducerii ,iar la cele interpretate este cel al executiei.Amanarea legarii atributelor conduce la flexibilitate in dauna eficientei.

Elementele de scripting folosite de JSP sunt folosite pentru creerea si accesarea obiectelor ,definirii metodelor si managementul fluxului de control.

Din moment ce unul di scopurile tehnoogiei JSP este de a separa data template statice de codul necesar pentru generarea dinamica a continutului,este recomnadat ca folosirea elementelor de scripting JSP sa fie folosita sporadic.

Tehnologia JSP permite unui container sa suporte orice limbaj de scripting care pot apela obiecte Java.Daca se doreste folosirea unui alt limbaj de scripting ,altul decat cel default ,java,tebuie specificat intr-o directiva de pagina la inceputul paginii JSP:

<% @ page language=”scripting language”%>

Din moment ce elementele de scripting sunt convertite in declaratii din limbajul de programare in clasa servletului paginii JSP,trebuie importate orice clase si pachete necesare paginii JSP.Daca limbajul este Java,o clasa sau un pachet se importa folosind urmatoarea directiva de pagina:

< %@import ”packagename.*,fully_qualified_classname” %>

De exemplu magazinul virtual din acest proiect are pagina JSP “showcart.jsp” care permite vizualizarea comenzii facute de catre un client al magazinului.Pagina “showcart.jsp” importa clasele necesare pentru implmentarea “shopping cart-ului” ,folosind urmatoarele directive de pagina:

<%@page import=”java.util.*,ejburi.util.*, web.cart.*,web.database.* ” %>

Declaratiile

O declaratie JSP este folosita pentru declararea variabilelor si a metodelor intr-o pagina de scripting.Sintaxa pentru o decalratie este urmatoarea:

<%! Scripting language declaration %>

Daca limbajul de scripting este limbajul de programare Java,variabilele si metodele in declaratiile JSP devin declaratii in clasa servletului paginii de JSP.

Scriptletii

Un scriptlet JSP este folosit pentru a contine orice fragment de cod care este valid pentru limbajul de scripting.Sintaxa pentru un scriptlet este:

<%

declaratii in limbajul de scripting

%>

Cand limbajul de scripting este setat pentru java,scriptletul este transformat intr-un fragment de cod in limbajul de programare Java si este inserat in metoda service a servletului JSP.O variabila intr-un limbaj de programare creata in interiorul unui scriptlet este accesibila de oriunde in interiorul acelei pagini JSP.

Pagina JSP “showcart.jsp” contine un scriptlet care returneaza un iterator dintr-o colectie de produse aflate intr-un shopping cart si seteaza un constructor sa bucleze pentru a accesa toate produsele aflate in shopping cart.

In interiorul buclei ,pagina Jsp extrage proprietatile obiectului produs si –l formateaza folosing HTML.

Din moment ce bucla while deschide un block ,marcajul HTML este urmat de un scriptlet care inchide bocul.

<%

Iterator i = cart.getItems().iterator();

while (i.hasNext()) {

ShoppingCartItem item = (ShoppingCartItem)i.next();

ProductDetails product = (ProductDetails)item.getItem();

%>

<tr>

<td align="right" bgcolor="# bgcolor="#ffffaa"">

<input name="itemId" type="checkbox" value="<%=product.getProductId()%>" checked >

<input type="hidden" name="productId" value="<%=product.getProductId()%>">

<input type="hidden" name="quantity" value="<%=item.getQuantity()%>">

<input type="hidden" name="quantityStock" value="<%=product.getQuantityStock()%>">

<input type="hidden" name="productName" value="<%=product.getProductName()%>">

</td>

<td align="right" bgcolor="ffffaa"> <%=item.getQuantity()%></td>

<td bgcolor="#ffffaa"><%=product.getProductName()%></strong> </td>

<td bgcolor="#ffffaa" align="right"> <%=product.getPrice()%></td>

</tr>

<%

// End of while

}

%>

<tr><td>Total Price</td><td><%=cart.getTotal()%></td></tr>

Iesirea este urmatoarea:

Screeshot cu showcart.jsp

Expresiile

O expresie JSP este folosita pentru a insera valoarea unei expresii din limbajul de scripting ,convertita la un string,in stream-ul returnat catre client.Cand limbajul de scripting este limbajul de programare Java, o expresie este transformata intr-o instructiune care converteste valoarea expresiei intr-un obiect String si o insereaza in obiectul implicit “out ”.

Sintaxa pentru o expresie este :

<%= expresie din limbaj scripting %>

De notat este faptul ca punct si virgula “;” nu este permisa in expresii JSP ,chiar daca expresia are un punct si virgula “;” atunci cand se folseste intr-un scriptlet.

Urmatorul scriptlet intoarce numarul de produse aflate pe un shoppingcart:

<% int num = cart.getNumberOfItems();

if (num > 0) {

%>

Expresiile sunt acum folosite pentru a insera valoarea lui “num ” in streamul de iesire “ out ” si determina stringul apropiat de a fi inclus in functie de acesta valoare a numarului de produse:

CartContents <%=num%> <%=(num==1 ? "CartItem" : "CartItems")%>

Includerea Continutului intr-o pagina JSP

Exista doua mecanisme de a include o alta resursa Web intr-o pagina JSP: directiva “include” si elementul “jsp:include”.

Directiva “include” este procesata cand pagina JSP este tradusa in clasa servlet .Efectul directivei este de a insera text continut in alt fisier- fie static sau alta pagina JSP –in pagina JSP care include.

Directiva “include ” se foloseste la includerea partii ce contine meniurile in toate paginile jsp.Astfel daca se doreste modificarea unor linkuri din pagina de sus , ce contine bannerul , publicitate si meniurile necesare pentru navigarea prin site-ul “KFFL –NFL & MLB NEWS” nu trebuie modificata fiecare pagina in parte ,facandu-se doar o modificare in pagina “mainHeader.jsp” ,modificarea perpetuandu-se in toate paginile ce o includ.

<%@ include page=”/KFFLRoot/start/mainHeader.jsp”%>

Elementul jsp:include este procesat cand o pagina JSP este executata.Actiunea “include” permite includerea unei resurse fie statice fie dinamice intr-o pagina JSP.Resultatul incuderii resurselor dinamice sau statice este diferit.Daca resursa este staicam continutul sau este inserat in apelul fisierului JSP.Daca resursa este dinamica ,cererea este trimisa la resursa inclusa ,pagina inclusa este executata,si apoi resultatul este inclus in raspunsul catre pagina Jsp apelatoare.

Sintaxa pentru elementul jsp:inlude este urmatoare:

<jsp:inlude page=”includedPage”/>

Transferul Controlului catre o alta Componenta Web

Mecanismul pentru transferul controlului catre o alta componenta Web dintr-o pagina JSP foloseste functionalitatea oferita de catre Java Servlet API.Aceasta functionalitate se acceseaza dintr-o pagina JSP folosind elementul “jsp:froward”:

<jsp:forward page=”/main.jsp” />

De notat ca daca o data a fost deja returnata clientului , elementul “jsp:forward” va esua cu o exceptie IllegalStateException.

Limbajul de Scripting JavaScript

Cel mai raspandit limabj de scripting este JavaScript ,inventat de Netscape si standardizat apoi de Asociatia Europeana a producatorilor de calculatoare.Microsoft a incercat sa popularizeze Visual Basic Scripting Editon-VBScript.Datorita standardizarii JavaScript,Microsoft a decis ulterior sa suporte acest standard prin versiunea proprie Jscript si astfel ca interesul pentru VBScript a scazut.

Ce este JavaSript?

JavaScript este un limbaj de scripting orientat pe obiecte inventat de Netscape.spre deosebire de limabjele orientate pe obiect bazate pe clase cum sunt C si Java,JavaScript este un limbaj orientat pe obiect bazat pe prototipuri.

JavaScript este un limbaj extensibil.Exista o compnenta de baza ,nuita CoreScript,care contine elementele de baza ale limabjului(cuvinte cheie, operatori,enunturi,structuri de control,,modelul obiectual) si o multime de obiecte de baza ex.Array,Date,Math etc. La ea se pot adauga in plus obiecte pentru controlul programului navigator si DOM si Server Side JavaScript care contine obiecte suport pentru partea de server, deci pentru comunicarea cu o baza de daterelationala.In continuare prin JavaScript vom intelege partea de client a JavaScript.

Navigatoarele www interpreteaza scripturile JavaScript din paginile HTML.ele citesc pagina,interpreteaza marcajele si o afiseaza,executand in acelasi timp scripturile JavaScript pe masura intalnirii llor in cadrul paginii.Rezultatul acestui proces de interpretare/executie este vizualizat de utilizator in fereastra navigatorului.

Intre JavaScript si Java exista unele asemanari,dar si cateva deosebiri fundamentale.

Asemanarile se refera la unele aspecte de sintaxa a enunturilor si structurior de control.

Deosebirile sunt :Java are legare la compilare ,este puternic tipizat si foloseste un model obiectual bazat pe clase.JavaScript are leagre la executie,este mult mai permisiv in ceea ce priveste declaratiile si foloseste un model obiectual bazat pe prototipuri.

Exemplu de utilizare al imbajului JavaScript :

<script language="JavaScript">

function valid(){

if (document.newUser.username.value.length<1){

alert("Choose a valid user name please !");

return false;

}

if (document.newUser.phone.value.length<1 || isNaN(document.newUser.phone.value) ){

alert("Choose a valid user phone please !");

return false;

}

if (document.newUser.cellphone.value.length<1 || isNaN(document.newUser.cellphone.value) ){

alert("Choose a valid user cellphone please !");

return false;

}

if (document.newUser.password.value!=document.newUser.reenter.value){

alert("Wrong retype password");

return false;

}

if( (document.newUser.password.value.length<6) || (document.newUser.password.value.length>20)){

alert("Password must have between 6 and 20 character")

return false

}

</script>

Functia valid() realizeaza anumite validari ale formularului de introducere a unui utilizator nou.Asfel se verifica “username-ul ”acestuia,”password-ul” (parola) etc.daca sunt valide.In caz de nu atunci se atentioneaza utilizatorul “KFFL NFL &MLB News” pentru a reveni si a introduce corect datele personale.

Functia valid se apeleaza pe evenimentul “onSubmit ”al formularului “newUser” intorcand false in cazul in care una din conditiile specificate nu este indeplinite si true in cazul in care toate conditiile specificate sunt indeplinte.

In cazul in care intoarce false cererea nu este trimisa pentru a fi procesata catre pagina JSP ,nepplecand-se din pagina curenta decta in momentul in care toate conditiile sunt indeplinite ,deci intorc true.

In acest caz cererea este trimisa paginii JSP pentru a fi procesata.

Foi de Stiluri

Se recomanda separarea prezentarii (margini,culori,fonturi) de continutul si structura documentuui (antet,pagini,paragrafe,titluri,sectiuni).

Pentru aceasta se pot folosi “foi de stiluri”(engl.Cascading Style Sheets -CSS).CSS specifica stilul de prezentare al unui document HTML.Exista trei modalitati de a mixa CSS si HTML

in cadrul unui element HTML

in antetul unui document HTML

intr-un fisier separat

Specificarea stilului intr-un element individual se face cu atributul Style:

<HTML>

<HEAD>

<TITLE>

Specificarea Stilului in cadrul unui element HTML

</TITLE>

</HEAD>

<BODY>

<P Style =”font – size : 20 pt”>Text</P>

<P Style =”font – size : 20 pt;color: #000000”>Text</P>

</BODY>

</HTML>

Elementele unei Foi de Stiluri

O foaie de stiluri este o multime de reguli.O regula de stil contine o parte de conditii (stanga) numita si selector si o parte de actiuni (dreapta) umita si declaratie.Exemplu: P {color:green}

Stilul unui document este o multime de asignari de valori unor variabile numite proprietati.O proprietate exprima o caliatate sau caracteristica pe acre o poate avea un element al unui document HTML.

Asignarea de valori unei proprietati se bazeaza pe emcanismul de mostenire cu suprascriere (engl.overriding inheritance).

Un document HTML este structurat sub forma unui arbore de elemente carora li se asociaza proprietati cu valori.O pereche proprietate –valoare se transmite prin mostenire de la nivelele superioare in arbore catre frunze.La intalnirea unei noi valori pentru acceasi proprietate , noua valoare o va suprascrie pe cea veche fiind considerata mai specifica.

Selectorii regulilor pot fi : tipurile elementelor, atributele elementelor, (CLASS si ID),respectiv informatii externe documentului.

In cazul in care mai multe reguli sunt aplicabile unui element , selectia regulii aplicabile se face pe baza unei strategii de rezolvare a conflictelor.

Exemple de Reguli in foile de Stiluri

.smallFontBlack{

FONT-SIZE: 12px;

FONT-FAMILY: Verdana, Tahoma, Arial, sans-serif;

COLOR:#000000;

FONT-WEIGHT:bold

}

.normal{

FONT-SIZE: 14px;

FONT-FAMILY: Verdana, Tahoma, Arial, sans-serif;

COLOR:#333333;

}

.normalBold{

FONT-SIZE: 14px;

FONT-FAMILY: Verdana, Tahoma, Arial, sans-serif;

COLOR:#1E475D;

FONT-WEIGHT:bold

}

.HeaderTable{

FONT-SIZE: 14px;

FONT-FAMILY: Verdana, Tahoma, Arial, sans-serif;

COLOR:#FF6600;

FONT-WEIGHT:bold

BACKGROUND-COLOR:#50707D

}

.normalBoldin{

FONT-SIZE: 14px;

FONT-FAMILY: Verdana, Tahoma, Arial, sans-serif;

COLOR:#333333;

FONT-WEIGHT:bold

}

.smallFontWhite{

FONT-SIZE: 12px;

FONT-FAMILY: Verdana, Tahoma, Arial, sans-serif;

COLOR:#FFFFFF;

FONT-WEIGHT:bold

}

A:link {

COLOR: #50707D;

TEXT-DECORATION: underline;

FONT-SIZE:11px;

FONT-FAMILY:Verdana,sans-serif

}

A:visited {

COLOR: #50707D;

TEXT-DECORATION: underline;

FONT-SIZE:11px;

FONT-FAMILY:Verdana,sans-serif

}

A:hover {

COLOR: #F0B652;

TEXT-DECORATION: underline;

FONT-SIZE:11px;

FONT-FAMILY:Verdana,sans-serif

}

Proprietatile din cadrul declaratiilor se clasifica in:

Referitoare la fonturi

Referitoare la spatiere

Referitoare la imagini

Referitoare la culori si fundaluri

Prezentarea Functionala a Aplicatiei

Proiectul “Kffl – NFl News “ este gandit ca fiind un ziar online cu stiri despre fotbalistii din “National Football League (NFL)“- din Statele Unite ale Americii cu posibilitatea vanzarii de articole si servicii –motiv pentru care trebuia implementat si un magazin virtual numit “eStore”.

Structural “KFFl –NFL News”este alcatuit din trei parti care vor fi prezentate ulterior:

Partea de magazin virtual –ce permite unui utilizator parcurgerea tuturor produselor si a serviciilor si adaugarea lor pin cosul de cumparaturi “shoppingCart”,stergerea unui produs din cosul de cumparaturi si in final plasarea comenzii in caz ca utilizatorul a fost acceptat ca si cumparator -(a fost autentificat si in cos exista cel putin un produs).

Partea a doua o presupune administratrea tuturor entitatilor care alcatuiesc o liga si anume:Divizia(Fantasy), Echipa(Team) , Jucatorul(Player) , Perioada de Inactivitate a unui jucator (Inactive) ,Tranzactiile facute intre echipe in ceea ce priveste vanzarea cumapararea de jucatori.Pentru toate aceste entitati se vor adauga in baza de date diverse Stiri .Aceasta parte este accesibila doar administratorului bazei de date a “KFFL – NFL News”,fiind vizibila doar daca utilizatorul se logheaza ca “admin”.

Partea a treia o constituie cautarea Stirilor dupa diverse criterii . Stirile sunt introduse de catre administrator .Astfel un utilizator al “KFFL – NFL News” are posibilitatea sa caute diverse stiri din diverse perioade de timp.

Pentru implementare s-a folosit tehnologia Enterprise Java Beans –folosindu-se cele doua tipuri de EJB-uri: CMP(container Managed Persistance pentru partea de administrator si BMP-uri Bean Managed Persistance pentru implementarea unor functii de cautarea avansata in ceeea ce priveste stirile ) impreuna cu Java Server Pages ,HTML pentru partea care se vede la utilizator .Validarea unor formulare necesare introducerii datelor atat de catre administratorul “KFFL- NFL News” cat si de catre utilizatorul obisnuit s-a facut folosind limbajul de scripting JavaScript.

Partea de design a paginilor –( stilurile tabelelor,stilurile de afisare a datelor ) a fost implementata folosind CSS.

Baza de date este implementata cu ajutorul Sql Server 2000 fiind compusa din 12 tabele a caror prezentare este facuta in tabelul de mai jos:

In continuare sunt prezentate vizual tabelele prezentate anterior si relatiile crae exista intre ele.

Prezentarea Magazinului Virtual “Kffl eStore”

Sesiunea

Faptul demn de notat in ceea ce priveste mecanismele de urmarire al sesiunilor este ca ca ele se bazeaza pe text “plain”pentru a stoca date.Se potriveste cu greu cu paradigmele orientate pe obiect .De exemplu luam cazul magazinului “KFFL -eStore” unde avem implementate ata t produsul(Product),vector de Produse .Este practic imposibil sa se stocheze in baza de date un obiect ava.utilVector care contine un set de produse comandate de catre utilizator.

Sesiunea poate fi definita ca o serie de interactiuni legate intre un singur client si server,care are loc pe o perioada de timp.In termeni de obiecte ,o sesiune poate fi gandita ca un obiect,rezident si exus aplicatiilor pe server (servleturilor si JSp-urilor),care poate fi folosita pentru salvarea si stergerea obiectelor.

O data ce un obiect sesiune este creat pe server ,un identificator unic numit sessionId este asociat cu ea si acest Id este singura informatie care este data clientului.

De fiecare data cand un client acceseaza o resursa pe server ,clientul ofera sessionId –ul care i-a fost asignat.Folosind sessionId ,servletuile pot obtine obiectul sesiune asociat pentru a obtine o informatie stocata.

O analogie simpla ar fi sa ne imaginam o mare has table care exista pe server cu cheile fiind sessionId-urile.Cheia este mapata intr-o hash table care este creat pentru client ca in figura urmatoare:

Doua lucruri trebuie notate:

Datorita faptului ca sessionId –ul este generat de server fizic va arata diferit de la server la server.

Este important de stiut ca o sesiune are o relatie one-to-one intre client si server .Asta nseamna ca daca un user viziteaza un site care foloseste multe multe serlvleturi ,JSp-ri sau JavaBeans-uri ,va fi un singur sessionId si o singura sesiune care este valabila pentru toate aceste resurse.

Ciclul de viata al unei sesiuni

Ciclul de viata al unei sesiuni este foarte simplu.Sesiunea este creata pe server ca raspuns a unei crereri a cientuluisi I se asigneaza un sessionId iar acest Id este trimis clinetului.Sesiunea insasi,este cumva considerata ca “noua” pana cand clientul retruneaza sessionId-ul la server indicand ca sesiunea a fost stabilita.Aceats asociaza clientul cu cu un anumit obiect sesiune.O sesiune exista pe server pana cand este ori oprita ori invalidata.

Persistenta sesinii nu etse folosita pentru stocarea datelor pe termen lung .Cu alte cuvinte nu trebuie sa se bazeze nimeni pe faptul ca o sesine este activa cand un client se intoarce pe site mai tarziu.Aplicatia trebuie sa stocheze datele intr-o baza de date,acest lucru asigurand existenta lor pentru o perioada indelungata de timp.

Sesiunile se comporta ca orice alt serviciu de directoare si pot stoca orice referinta a obiectului prin legarea ei la cu un nume dat.

Tabelul urmator arata cum se stocheaza data intr-o sesiune

Magazinul virtual “KFFL eStore” permite utilizatorilor sa cumpere comod de pe net,acestia avand posibilitatea sa pargcurga toate “foile unui catalog de produse”-sa viziteze toate produsele,sa le aleaga pe cele dorite,si in final sa plaseze comanda.

Arhitectura Magazinul virtual “KFFL eStore”este urmatoarea:

Utilizatorul parcurge toate produsele,face o selectie dintre acestea in vederea cumpararii lor, dupa care doreste sa plaseze comanda .In aceste moment este verificata autentificarea si in cazul in care utilizatorul este autentificat I se plaseaza comanda-fiind salvata intr-un tabel din baza de date numit OrderCartBeanTable.

In cazul in care utilizatorul nu a fost autentificat este trimis la pagina de autentificare pentru a completa “username”-u si “parola”.

Daca utilizatorul este nou pe site trebuie sa se inregistreze ca fiind utilizator al site-ului “KFFl –NFL- News”.

In tot acest timp cosul de cumparaturi nu i se goleste ,astfel incat poate sa intreprinda toate actiunile necesare autentiifcarii iar apoi sa revina ,sa-si vada cosul de cumparaturi si sa plaseze comanda in cazul in care doreste acest lucru.

Inregistrarea pe site-ul “KFFL – NFL News ” este gratuita.Dar in cazul in care se doreste cumpararea de produse se verifica existenta unei carti de credit pentru utilizator.Daca aceasta exista atunci comnada este salvata in tabelul OrderCartBeanTable.In cazul in care utilizatorul nu a declarat nici o carte de credit atunci trebuie sa-si inregistreze una , mergand in “MyKFFL->Preferences->ModifyDetails”.

Se considera ca alaturi de un identificator unic asignat fiecarui utilizator care exista in baza de date ,si username-ul este unic .Astfel incat daca un utilizator are username-ul “utilizator” nici un alt utilizator nu mai poate avea acest username.

Pentru aceasta acest din urma utilizator primeste o lista de username –uri din care poate sa-si aleaga unul.Acesta lista este alcatuita din combinatii ale username-ului cu anul nasterii ,firstname,lastname etc.

Functia este urmatoarea:

public ArrayList getUniqueUsername(String username,String firstname,String lastname,int year,boolean useBase) {

int noRasp=0;

String search;

ArrayList al=new ArrayList();

ArrayList found=new ArrayList();

try {

Context initial = new InitialContext();

Object objref= initial.lookup (" java:comp/env/ejb/TheSimpleUser"); userHome=(LocalUsersHome)PortableRemoteObject.narrow(objref,LocalUsersHome.class);

Collection cx = userHome.findLikeUsername(username+"%");

System.out.println("Found in UserBeanTable("+username+") : cx.size());

for(Iterator i=cx.iterator();i.hasNext();found.add( (String)((LocalUsers)i.next()).getUsername()));

for(Iterator i=found.iterator();i.hasNext();System.out.println((String)i.next()));

if (useBase){

search=username+firstname.charAt(0);

if ((!found.contains(search) )&&(!al.contains(search))){

System.out.println(" 1.."+search);

al.add(search);

}

search=username+lastname.charAt(0);

if ( (!found.contains(search))&&(!al.contains(search))){

System.out.println(" 2.."+search);

al.add(search);

}

search=username+(year%100);

if ((al.size()<4)&& (!found.contains(search))&&(!al.contains(search))){

System.out.println(" 3.."+search);

al.add(search);

}

search=username+firstname+lastname;

if ( (!found.contains(search))&&(!al.contains(search))){

System.out.println(" 4.."+search);

al.add(search);

}

search=username+lastname+firstname;

if ((al.size()<4)&& (!found.contains(search))&&(!al.contains(search))){

System.out.println(" 5.."+search);

al.add(search);

}

search=username+firstname+lastname.charAt(0);

if ((al.size()<4)&& (!found.contains(search))&&(!al.contains(search))){

System.out.println(" 7.."+search);

al.add(search);

}

search=username+lastname+firstname.charAt(0);

if ((al.size()<4)&& (!found.contains(search))&&(!al.contains(search))){

System.out.println("8.."+search);

al.add(search);

}

search=username+lastname+firstname+(year%100);

if((al.size()<4)&& (!found.contains(search))&&(!al.contains(search))){

System.out.println(" 9.."+search);

al.add(search);

}

search=username+firstname+lastname+(year%100);

if ((al.size()<4)&& (!found.contains(search))&&(!al.contains(search))){

System.out.println(" 10.."+search);

al.add(search);

}

}

if (al.size()==4) return al;

Random rand=new Random(System.currentTimeMillis());

while (al.size()<4) {

int next=Math.abs(rand.nextInt()); //3 cifre

System.out.println("rand.nextInt()"+next+" next "+next%1000) ;

next=next%1000;

search=username+next;//firstname+lastname+next;

if ( (!found.contains(search))&&(!al.contains(search))){

System.out.println(" –>11.."+search);

al.add(search);

}

}

} catch (Exception e) {

System.out.println("AuthBean-> getUniqueUsername: Exception"+e.getMessage()); e.printStackTrace();

throw new EJBException("AuthBean-> getUniqueUsername: Exception"+e.getMessage());}

return al;

}

Iesirea este urmatoarea:

Pentru parcurgerea produselor(“foile catalogului”) exista trei posibiltati si anume:

-o pagina in care sunt vizibile toate categoriile ,dandu-se click pe o categorie i se afiseaza toate produsele acelei categorii

– o pagina cu afisarea tutuor produseleor existente in baza de date

– o pagina cu afisarea tutror serviciilor existente

Parcurgand “foile catalogului” posibilul cumparator selecteaza produsele fie prin bifarea checkboxului din dreptul fiecarui produs fie prin scrierea cantitatilor pe care doreste sa le achizitioneze din fiecare produs.Este totusi obligatoriu sa specifice aceasta cantitate din fiecare produs pe care o doreste achizitionata in cazul produselor.nu este necesara insa si specificarea cantitatii serviciilor pentru ca aceasta se presupune interminabila.

In ceea ce priveste administratrea produselor in baza de date se considera ca un produs nu este eliminat din baza de date in momentul in care cantitatea existenta in stoc este 0 .In schimb el nu este afisat utilizatorului.Acest lucru s-a facut deoarece ,in cazul in care se face aprovizionarea magazinului sa nu fie nevoie ca administratorul sa mai introduca detaliile produsului respectiv in baza de date ci doar sa modifice cantitatea aferenta acestuia.

Administrrea produselor prsupune adaugarea,stergerea si modificarea categoriilor din baza de date, adaugarea ,stergerea si modificarea produelor din baza de date precum si stergerea unui produs dintr-o categorie fara insa a sterge produsul si din baza de date.

Cosul de cumparaturi este implementat folosind un obiect sesiune,astfel ca de fiecare data cand se aleg produse acestea sunt adaugate (in cazul in care nu exista in cos) sau li se mareste cantitatea in cazul in care exista deja in cos.Utilizatorul are posibilitatea sa stearga anumite produse din cos prin apasarea butonului “Modify Order” sau sa-si plaseze comanda prin apasarea butonului “Checkout”ca in figura de mai jos.

Implementarea cosului de cumparaturi presupune doua Ejb-uri CMP 2.0 (Container Managed Persistance) pentru Categorii si Produse.Astfel avem CategoryEJB si ProductEJB cu relatia one-to-many.Produsul din baza de date este preluat intr-un obiect ProductDB cu functiile:

-public void setProductId(Long productId)-seteaza Id-ul produsului

– public void setDatabase(StoreSessionEJB database)-apeleaza o instanta a beanului sesiune StoreSessionEJB care la randul ei apeleaza metodele din CategoryEJB si ProductEJB

-public ProductDetails getProductDetails()-intoarce detaliile exsitente in baza de date pentru un produs

-public Collection getProducts()-intoarce lista produseor

– public int getNumberOfProducts()-intoarce numarul produselor

Clasa ShoppingCartItem contine un vector numit item si cantitatea:

public class ShoppingCartItem {

/** Creates new ShoppingCartItem */

Object item;

int quantity;

}

Aceasta clasa va crea un produs –item- cu cantitatea corespunzatoare (conform dorintei utilizatorului).

Metodele acestei clase sunt:

public Object getItem()-intoarce item-ul

public int getQuantity()-intoarce cantitatea pentru fiecare (item)

public void setQuantity(int quantity)-seteaza cantitatea pentru fiecare produs(item)

Cosul propriu zis este un obiect ShoppingCart salvat in sesiune.

Aceasta clasa ShoppingCart contine un hashMap de obiecte ShoppingCartItem calculand totodata si numarul de obiecte existent

Metodele acestei clase sunt practic metodele necesare si actiunile pe care le executa utilizatorul si anume –adaugarea la cos a unor produse ,stergerea cosului,stergerea unor produse din cos,calcularea pretului total.

public synchronized void add(Long productId, ProductDetails product,int quantity)

public synchronized void remove(Long productId)

public synchronized Collection getItems()

public synchronized int getNumberOfItems()

public synchronized double getTotal()

private double roundOff(double x)

public synchronized void clear().

Astfel cand utilizatorul comanda produse se creeaza un nou shoppingCart ,se pune in sesiune si pana cand nu este plasata comanda sau nu este oprita sau invallidata sesiunea utilizatorul poate executa asupra cosului de cumparaturi urmatoarele operatii:-adaugarea produselor,inlaturarea unor produse vizionarea cosului,plasarea comenzii –moment in care obiectul shoppingCart este sters din sesiune.

In momentul plasarii comenzii in baza de date se salveaza in tabelul OrderCartBeanTable id-ul comenzii,id-ul cumparatorului,id-urile produselor comandate precum si cantitatile din acestea,toate acestea implementandu-se cu EJB-ul CMP 2.0 OrderCartEJB si bean-ul sesiune AuthEJB.

Administratorul are posbilitatea datorita metodelor implementate in cele doua bean-rui (EJB si sesiune) sa vada toate comenzile efectuate , precum si toate comenzile unui cumparator.

Administrarea Ligii KFFL

Stirile despre tot ceea ce se intampla in ligile NFL si MLB din Statele Unite ale Americii sunt adunate zilnic din foarte multe surse si sunt postate online.Acest lucru nu este facut prin mijloace tehnice ci de persoane –administrator.

Este considerat ca nici un mijloc tehnic conteaza in raport cu ochiul uman cand vine vorba de determinarea informatiilor importante.Din acest motiv s-a ales ca administratorul sa fie uman.

Tabelele existente in baza de date sunt :FantasyBeanTable(divizia), TeamBeanTable(echipa), PlayerBeanTable(jucatorul), InactivesBeanTable (perioada de inactivitate a unui jucator), TransactionBeanTable (tranzactiile care au loc intre echipe privind vanzarea – cumpararea unui jcator).De mentionat este faptul ca nu se urmareste simularea meciurilor ci doar servirea catre utilizatorii site-ului a informatiilor despre jucatori,echipe, divizii etc..

Partea de administrare este conceputa ca fiind alcatuita din alte doua parti mai mici si anume :

1)-administrarea entitatilor privind liga :introducerea ,stergerea ,asignarea sau inlaturarea acestora

2)-a doua parte presupune introducerea stirilor ,informatiilor referitoare la un anumit segment din liga sau aceeasi stire poate corespunde la mai multe segmenete :de exemplu stirea privind “vanzarea unui John Smith intre Cowboys si Lions” se refera atat la jucatorul “John Smith” cat si la echipele “Cowboys” si “Lions” dar si la tranzactia care a avut loc.

Acest lucru trebuie facut de catre administrator prin selectarea din combobox-urile aferente a numelor corespunzatoare. Desi in combobox-uri administratorul selecteaza de exemplu numele unei echipe (”Cowboys”) pentru a introduce stirea in pagina urmatoare se trimite id-ul echipei respective.S-a plecat de la premiza ca nu exista doua echipe cu nume la fel intr-o liga.In cazul in care ar exista trebuie mare atentie ca stirea sa fie introdusa corect .

Metodele partii de administrare sunt implementate cu ajutorul a doua beanuri sesiune :FantasyAdmEJB-pentru entitatile ce compun divizia ia partea de stiri este implemnatata cu Bean-ul sesiune FantasyNewsAdmEJB.

Metodele din ineterfata FantasyAdm sunt urmatoarele:

public interface FantasyAdm extends EJBObject {

//fantasy's administrator functions

public void createFantasy(FantasyDetails details) throws RemoteException;

public void removeFantasy(long fantasyId)throws RemoteException;

public FantasyDetails getFantasy(long fantasyId)throws RemoteException;

public void modifyFantasy(FantasyDetails details)throws RemoteException;

public ArrayList findAllFantasy()throws RemoteException;

//team's administrator functions

public void createTeamInFantasy(long fantasyId,TeamDetails details) throws RemoteException;

public void dropTeamFromFantasy(long fantasyId,TeamDetails details)throws RemoteException;

public void removeTeam(long teamId)throws RemoteException;

public TeamDetails getTeam(long teamId)throws RemoteException;

public void modifyTeam(TeamDetails details)throws RemoteException;

public ArrayList findAllTeams()throws RemoteException;

public int CalculatePoints(long teamId)throws RemoteException;

//player's administrator functions

public void createPlayerInTeam(long teamId,PlayerDetails details) throws RemoteException;

public void dropPlayerFromTeam(long teamId,PlayerDetails details)throws RemoteException;

public void removePlayer(long playerId)throws RemoteException;

public PlayerDetails getPlayer(long playerId)throws RemoteException;

public void modifyPlayer(PlayerDetails details)throws RemoteException;

public void addPlayerInTeam(long teamId,long playerId)throws RemoteException;

public ArrayList findAllPlayers()throws RemoteException;

//inactive's administrator functions

public void createInactiveForPlayer(long playerId,InactivesDetails details)throws RemoteException;

public void dropInactiveForPlayer(long playerId,InactivesDetails details)throws RemoteException;

public void removeInactive(long inactiveId)throws RemoteException;

public void modifyInactive(InactivesDetails details)throws RemoteException;

public InactivesDetails getInactive(long inactiveId)throws RemoteException;

public ArrayList getAllInactives() throws RemoteException;

//transaction's administrator functions

public TransactionDetails getTransaction(long transactionId)throws RemoteException;

public void modifyTransaction(TransactionDetails details) throws RemoteException;

public void removeTransaction(long transactionId) throws RemoteException;

public void dropPlayerFromTransaction(long transactionId,long playerId)throws RemoteException;

public void addPlayerToTransaction(long transactionId,long playerId)throws RemoteException;

public void createTransaction(TransactionDetails details,long teamS,long teamB,long playerId)throws RemoteException; public ArrayList getAllTransactions()throws RemoteException;

//find Functions

public ArrayList getAllTeamsFantasy(long fantasyId)throws RemoteException;

public ArrayList getAllPlayersTeam(long teamId)throws RemoteException;

public ArrayList getAllPlayersTransaction(long transaction)throws RemoteException;

public ArrayList getAllInactivesPlayer(long playerId)throws RemoteException;

In principal fiecare enitate dispune de metodele :create, remove, modify, drop (existenta ei fizica pe disc insa schimbarea parentului ), si o metoda doua de get (metodele elementare).

Interfata FantasyNewsAdm are urmatoarea structura:

public interface FantasyNewsAdm extends EJBObject {

//news's administrator functions

public void createNews(NewsDetails details)throws java.rmi.RemoteException;

public void removeNews(long newsId)throws java.rmi.RemoteException;

public void modifyNews(NewsDetails details)throws java.rmi.RemoteException;

public NewsDetails getNews(long newsId)throws java.rmi.RemoteException;

//Fantasy's administrator news methods

public void createNewsFromFantasy(long fantasyId,long newsId) throws java.rmi.RemoteException;

public void dropNewsFromFantasy(long fantasyId,NewsDetails details)throws java.rmi.RemoteException;

//Team's administrator news methods

public void createNewsFromTeam(long teamId,long newsId)throws java.rmi.RemoteException;

public void dropNewsFromTeam(long teamId,NewsDetails details)throws java.rmi.RemoteException;

//Player's administrator news methods

public void createNewsFromPlayer(long playerId,long newsId)throws java.rmi.RemoteException;

public void dropNewsFromPlayer(long playerId,NewsDetails details)throws java.rmi.RemoteException;

//Inactive's administrator news methods

public void createNewsFromInactive(long inactiveId,long newsId)throws java.rmi.RemoteException;

//Transaction's administrator news methods

public void createNewsFromTransaction(long transactionId,long newsId) throws java.rmi.RemoteException;

public void dropNewsFromTransaction(long transactionId,NewsDetails details) throws java.rmi.RemoteException;

}

Cautare Stirilor

Exista mai multe criterii pentru cautarea stirilor dar majoritatea criteriilor presupun cautarea stirilr intre anumite perioade de timp .Criteriile sunt:

1)listarea stirilor breaking(noi) intre anumite perioade de timp

2)listarea stirilor despre perioade de inactivitate intre anumite perioade de timp

3)listarea stirilor despre tranzactiile facute intre echipe intre anumite perioade de timp

4) listarea stirilor despre o echipa intr-o anumita perioada de timp

5) listarea stirlor despre un anumit jucator ,stiri aparute in anumite perioade de timp

Pe langa listarea stirilor exista posibilitatea listarii detaliilor despre:

1)o anumita echipa

2) despre un anumit jucator

3)precum si listarea clasamentului

Datorita faptului ca ,in ceea ce priveste functiile avansate de cautare , limabjul EJB-QL Querry este destul de limitat ,nepermitand de exemplu implementarea clauzei “like” decat daca i se da o constanta ,s-a folosit pentru cautarea stirlor despre un jucator si pentru cautarea detaliilor unui jucator (unde utilizatorul putea sa completeze un formular unde nu era nevoie sa introduca toate datele ci doar ce stia despre un anumit jucator) ,datorita tuturor acestor factori s-a folosit pentru implementarea celor doua functii un Enterprise JavaBean cu persistenta controlata de bean –BMP(bean managed-persistance ).

Aprtea de acutare propriu zisa a stirilor este facuta de catre metodele din interfata entreprise bean-ului SelectNewsSessionEJB .acestea apeleaza metodele business din interfata home a bean-ului NewsBean, interfata este NewsLocalHome cu urmatoarea structura:

public interface NewsLocalHome extends EJBLocalHome {

/**

* Reference EJB specification 1.1 section 9.2.8

*/

public NewsLocal findByPrimaryKey(Long aKey)throws RemoteException, FinderException;

public NewsLocal create (NewsDetails details) throws CreateException;

public Collection findLikeBetweenDate (long dateB,long dateF,int status,long fantasyId) throws FinderException;

public Collection findTransactionBetDate(long dateB,long dateF,long fantasyId)throws FinderException;

public Collection findInactiveBetDate(long dateB,long dateF,long fantasyId)throws FinderException;

public Collection findAllBetweenDate (long dateB,long dateF,long fantasyId) throws FinderException;

public Collection findTeamBetDate(long dateB,long dateF,long fantasyId,String nameTeam)throws FinderException;

public Collection findPlayerBetDate(long dateB,long dateF,long fantasyId,String nameTeam,String namePlayer)throws FinderException;

public Collection findPlayerPosName(long dateB,long dateF,long fantasyId,String position,String namePlayer)throws FinderException;

public Collection findAll()throws FinderException;

public Collection findPlayerNews(long dateB,long dateF,long playerId)throws FinderException;

public Collection findLikeKeyword(String keyword)throws FinderException;

}

Mai sunt doua metode care implementeaza cautarea avansata a stirilor unui jucator respectiv a detaliilor unui jucator.Acestea sunt implementate in beanul SearchAdvEJB fiind declarate in interfata SearchAdvHome (fiind bean cu ersistenat BMP functiile de business care presupun aacces la baza de date se face manula in interfata SearchAdvHome).Structura interfetei SearchAdvHome este urmatoarea:

public interface SearchAdvHome extends EJBHome {

public SearchAdv findByPrimaryKey(String aKey)

throws RemoteException, FinderException;

public SearchAdv create() throws RemoteException, CreateException;

public ArrayList selectByAll(String namePlayer ,String surname,String nameTeam, String nickname,String position,long index,int count,long dateExpL, long dateExpR)throws FinderException ,RemoteException ;

public ArrayList selectPlayer(String namePlayer ,String surname,String nameTeam,String nickname, String position,String status,long index,int count)throws FinderException ,RemoteException ;

}

Prezentarea generala a aplicatiei “Kffl –Nfl News”

Prezentarea magazinului virtual “eStore”

Parcurgerea produselor existente in baza de date se face prin 3 metode :

Cautarea tuturor produselor,

cautarea unui produs dintr-o anumita categorie,

cautarea serviciilor disponibile.

Un utilizator pentru a vedea produsele are 3 linkuri de acces si anume :

partea din meniul de sus numita KFFL Shopping asa cum arata figura de mai jos

unde “Products by Category” reprezinta faptul ca se cauta mai inati toate categoriile de produse si srvicii aflate in baza de date dupa care un click pe o anumita categorie presupune afisarea produselor din acea categorie;”Fantasy Services” afiseaza toate serviciiile disponibile, iar “Fantasy Products” afiseaza toate produsele existente .

a doua posibilitate de a vedea produsele si serviciile o constituie linkurile din partea stanga:

a treia posibilitate o constituie partea “eStore” din sectiunea “Quick Links” :

Un click pe acest link duce la afisarea categoriile existente, in vederea alegerii unui produs.

Produsele si categoriile afisate arata ca in figura urmatoare:

unde linkul “Show Cart” este o posibilitate de afisare a tuturor produselor si serviciilor aflate in cosul de cumparaturi.

La cosul de cumparaturi se pot adauga produse prin inscrierea cantitatii dorite din fiecare produs in textbox-ul din coloana aferenta lui “Ordered Quantity” si prin bifarea checkbox-ului corespunzator.

Produsele sunt afisate cate doua pe pagina ,ceea ce inseamna ca apasarea linkului “2” din josul paginii te duce la parcurgerea produselor de pe pagina 2.

Butonul “Add to Cart” adauga efectiv produsele comandate de pe pagina respectiva la cosul de cumparaturi.

Afisarea produselor din cosul de cumparaturi arata ca in fura de mai jos:

Screenshotcu Showcart .jsp.

Undedebifarea oricarui produs si apsarea butonului “Remove Uncheked” reprezinta inlaturarea lui din cos iar apasarea butonului “Checkout” reprezinta plasarea comenzii in tabela OrderCartBeanTable.In aceasta tabela un rand reprezinta numarul comenzii, identificatorul cumparatorului,pretul total, produsele cumparate si cantitatile aferente, precum si statutul comenzii (“processed” de obiicei).

Prezentarea Administratorului “KFFL –NFL News”

Administratorul Kffl poate sa isi desfasoarea activitatea doar daca se logheaza cu usernameul “admin” ceilalti utilizatori nu pot avea usernameul admin deoarece , in primul rand usernameul este unic ,in al doilea rand toti ceilalti trebuie sa indeplineasca conditia ca usernameul si parola sa fie de minimum 6 caractere.

In momentul in care administratorul este logat cu “admin” ii apare in meiul de sus tabul cu “Administrtor KFFL” de unde poate alege asupra caror entitati face modificari.

-“League Administrator” –modificari asupra ligilor

-“Team Administrator”- modificari asupra echipelor

-“Player Administrator” – modificari asupra jucatorilor

-“Inactive Administartor”- modificari asupra jucatorilor

-“Transaction Administartor”- modificari asupra tranzactiilor facute de catre echipe in ceeea ce priveste un jucator(vanzarea respectiv cumpararea jucatorului)

-“News Administartor”- modificari asupra stirilor

-“Category Administartor”- modificari asupra categoriilor de produse

-“Product Administartor”- modificari asupra produselor si serviciilor

-“eStore KFFL Administartor”- afisarea comenzilor in vederea stergerii uneia.

Aceste actiuni pot fi facute numai de catre admnistrator ,nimeni altcineva nu le poate face.

In continuare se vor prezenta doar sectiunile de administrare a echipelor si a tranzactiilor,celelalte fiind asemanatoare cu acestea.

Screenshot cu newTeamData.jsp

Combobox-urile reprezinta posibilitatea de introducere a unei echipe ca facand parte dintr-o liga (NFL in cazul de fata),se selecteaza numele ligii iar in pagina urmatoare se trimite id-ul ligii respective.

Exista posibilitatea adugarii undei echipe intr-o divizie,stergerea acesteia din din divizie dar existenta ei in baza de date,stergerea ei efectiva din baza der date precum si modificarea detaliilor acesteia.

In cazul stergerii echipei din liga in pagina de “ sdfsdfds” administratorul alege numele ligii respective iar in pagina urmatoare vede toate echipele care fac parte din liga respectiva ,in dreptul fiecareia existand un link pentru inalturarea ei din liga.

Screenshot cu dropTeam cele 2 pgini

La sectiunea de tranzactii exista posibilitatea de creare a unei tranzactii .stergerea ei de pe disc, precum si modificarea detaliilor acestetia.In momentul creearii unei tranzactii echipa vanzatoare trebuie sa fie diferita de echipa cumparatoare, jucatorul care este obiectivul tranzactiei trebuie sa existe in echipa respectiva, lucru realizat pe inacrcarea paginii newTransactionDataRedir.jsp pe evenimentul “OnChange” al comboboxului nume echipa vanzatoare.Astfel in momentul in care administratorul selecteaza o echipa care vrea sa vanda un jucator ,apar in comboboxul aferent jucatorilor doar jucatorii acelei echipe.

De fapt lucrul care se intampla este urmatorul :pe evenimentul “OnChange”

al select name-ului “teamS” se redirecteaza utilizatorul in pagina newTransactionDataRedir.jsp care primeste ca parametru id-ul echipei vanzatoare.In aceasta pagina exista metoda de selectare a tuturor jucatorilor unei echipe cu un id speciifcat:” getAllPlayersTeam(teamS)”.

Trebuie mentionat tranzactia care presupune vanzarea jucatoruli,cumpararea lui precum si crearea propriu zisa a tranzactiei nu este facuta manual de catre programator(student) prin scrierea codului ci de catre Container , studentul doar a selectat din “deploytool” “Required” ca fiind atribut al tranzactiei.

Atributul “Required” si presupune urmatoarele:daca un client ruleaza in interiorul unei tranzactii, si invoca metodele unui enterprise bean, metoda se executa in tranzactia clientului.

In cazul in care clientul nu este asociat cu o tranzactie, containerul incepe o noua tranzactie inaintea rularii metodei respective.

Atributul “Required” va merge pentru majoritatea tranzactiilor .Datorita faptului ca tranzactiile sunt declarative se pot foarte usor schimba ulterior.

In ceea ce priveste cautarea stirilor s-a presupus ca oric utilizator doreste sa citeasca unele stiri din anumite perioade,drept pentru care isi alege la inceput acasta perioada , dupa care ,in functie de mai multe criterii I se afiseaza (daca exista) stirea respectiva.

Exista mai multe cautari si anume:

In plus fata de acestea mai exista si cautarea stirilor dupa un cuvant cheie Utilizatorul doreste sa vada toate stirile care contin in articol un anumit cuvant cheie . In cazul in care acesta da doua cuvinte I se vor afisa toate stirile care contin cel putin unul dintre cele doua cuvinte.

Screenshot cu breakingnews.

Exista si o metoda de discutii implementata ca un MessageBoard structurata pe forum

->topic->message ,unde utilizatorii pot discuta despre anumite teme, postand mesaje, dand replici la anumite mesaje(numai cei inregistrati pe site).etc.

Screenshot cu mesaje.

ANEXA

Pachetul –ejburi.util

Datorita faptului ca este foarte mare se va prezenta doar fisierul UserDetails pentru exemplificare(celelelate :OrderCartDetails, CategoryDetails, ProductDetails, FantasyDetails, TeamDetails, PlayerDetails, InactiveDetails, TransactionDetails, NewsDetails, TopicDetails, MesageDetails, ReturnNewsClass,ReturnPlayer fiind definite in mod asemantor).

package ejburi.util;

import java.util.*;

import java.beans.*;

/*

* UserDetails.java

*

* Created on 07 aprilie 2003, 07:08

*/

package ejburi.util;

import java.util.*;

import java.beans.*;

import ejburi.user.*;

public class UserDetails implements java.io.Serializable {

private long userId;

private String firstname;

private String surname;

private String country;

private String state;

private String city;

private String email;

private String username;

private String password;

private String address;

private String cellphone;

private String fax;

private String zip;

private long birthdate;

private String phone;

private String creditCard;

public UserDetails(){}

public UserDetails(long userId,String firstname,String surname,String country,String state,String city,String email,

String username,String password,String address,String cellphone,String fax, String zip, long birthdate,String phone,String creditCard){

this.userId= userId;

this.username=username;

this.password=password;

this.firstname=firstname;

this.surname=surname;

this.country=country;

this.city=city;

this.state=state;

this.zip=zip;

this.address=address;

this.birthdate=birthdate;

this.cellphone=cellphone;

this.phone=phone;

this.fax=fax;

this.email =email;

this.crdeitCard=crdeitCard;

System.out.println("UserDetailBean–>New UserDetail was created "+ this.userId);

}

public long getUserId(){return userId;}

public void setUserId(long userId){this.userId=userId;}

public String getFirstname(){return this.firstname;}

public void setFirstname(String firstName){this.firstname=firstname;}

public String getSurname(){return this.surname;}

public void setSurname(String surname){this.surname=surname;}

public String getCountry(){return this.country;}

public void setCountry(String country){this.country=country;}

public String getCity(){return this.city;}

public void setCity(String city){this.city=city;}

public String getState(){return this.state;}

public void setState(String state){this.state=state;}

public String getZip(){return this.zip;}

public void setZip(String zip){this.zip=zip;}

public String getAddress(){return this.address;}

public void setAddress(String address){this.address=address;}

public long getBirthdate(){return this.birthdate;}

public void setBirthdate(long birthdate){this.birthdate=birthdate;}

public String getCellphone(){return this.cellphone;}

public void setCellphone(String cellphone){this.cellphone=cellphone;}

public String getPhone(){return this.phone;}

public void setPhone(String phone){this.phone=phone;}

public String getUsername(){return this.username;}

public void setUsername(String username){this.username=username;}

public String getPassword(){return this.password;}

public void setPassword(String password){this.password=password;}

public String getEmail(){return this.email;}

public void setEmail(String email){this.email=email;}

public String getFax(){return this.fax;}

public void setFax(String fax){this.fax=fax;}

public String getFreeAmount(){return this.freeAmount;}

public void setFreeAmount(String freeAmount){this.freeAmount=freeAmount;}

public Hashtable getHashtable(){

Hashtable ht=new Hashtable();

ht.put("firstname",(this.firstname==null)?"":this.firstname);ht.put("surname",(this.surname==null)?"":this.surname); ht.put("username",(this.username==null)?"":this.username);

ht.put("password",(this.password==null)?"":this.password);

ht.put("country",(this.country==null)?"":this.country);

ht.put("city",(this.city==null)?"":this.city);

ht.put("state",(this.state==null)?"":this.state);

ht.put("zip",(this.zip==null)?"":this.zip);

ht.put("address",(this.address==null)?"":this.address);

ht.put("birthdate",String.valueOf(this.birthdate));

ht.put("cellphone",(this.cellphone==null)?"":this.cellphone);

ht.put("email",(this.email==null)?"":this.email);

ht.put("fax",(this.fax==null)?"":this.fax);

ht.put("phone",(this.phone==null)?"":this.phone);

ht.put("crdeitCard",(this.creditCard==null)?"":this.crdeitCard);

return ht;

}

public String detailString(){

StringBuffer sb=new StringBuffer();

sb.append("userId: "+this.userId+"\n");

sb.append("firstname: "+this.firstname+"\n");

sb.append("surname: "+this.surname+"\n");

sb.append("username: "+this.username+"\n");

sb.append("password: "+this.password+"\n");

sb.append("country: "+this. country+"\n");

sb.append("city: "+this.city+"\n");

sb.append("state: "+this. state+"\n");

sb.append("zip: "+this.zip+"\n");

sb.append("address: "+this.address+"\n");

sb.append("birthdate: "+this. birthdate+"\n");

sb.append("cellphone: "+this.cellphone+"\n");

sb.append("email : "+this.email+"\n");

sb.append("fax: "+this.fax+"\n");

sb.append("phone: "+this.phone+"\n");

sb.append("creditCard: "+this.creditCard+"\n");

sb.append("random: "+this.random+"\n");

sb.append("status: "+this.status+"\n");

return sb.toString();

}

}

Pachetul ejburi.user

package ejburi.user;

import javax.ejb.CreateException;

import javax.ejb.EntityBean;

import javax.ejb.EntityContext;

import javax.ejb.FinderException;

import java.util.*;

import javax.ejb.*;

import javax.naming.*;

import ejburi.store.*;

import web.cart.*;

import web.database.*;

import ejburi.util.*;

public abstract class UsersBean implements EntityBean {

private transient EntityContext context;

// Access methods for persistent fields

public abstract long getUserId();

public abstract void setUserId(long userId);

public abstract String getFirstname();

public abstract void setFirstname(String firstname);

public abstract String getSurname();

public abstract void setSurname(String surname);

public abstract String getCountry();

public abstract void setCountry(String country);

public abstract String getCity();

public abstract void setCity(String city);

public abstract String getState();

public abstract void setState(String state);

public abstract String getZip();

public abstract void setZip(String zip);

public abstract String getAddress();

public abstract void setAddress(String address);

public abstract long getBirthdate();

public abstract void setBirthdate(long birthdate);

public abstract String getCellphone();

public abstract void setCellphone(String cellphone);

public abstract String getPhone();

public abstract void setPhone(String phone);

public abstract String getUsername();

public abstract void setUsername(String username);

public abstract String getPassword();

public abstract void setPassword(String password);

public abstract String getEmail();

public abstract void setEmail(String email);

public abstract String getFax();

public abstract void setFax(String fax);

public abstract String getCreditCard();

public abstract void setCreditCard(String creditCard);

public abstract Collection getOrdersCarts();

public abstract void setOrdersCarts(Collection ordersCarts);

public UsersBean() { }

// Business methods

public void addOrderCart(LocalOrderCart orderCart) {

System.out.println("ProductBean addProduct");

try {

Collection orderCarts = getOrdersCarts();

orderCarts.add(orderCart);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropOrderCart(LocalOrderCart orderCart) {

System.out.print("ProductBean dropProduct");

try {

Collection orderCarts = getOrdersCarts();

orderCarts.remove(orderCart);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public Long ejbCreate(UserDetails details) throws CreateException {

setUserId(details.getUserId());

setUsername(details.getUsername());

setPassword(details.getPassword());

setFirstname(details.getFirstname());

setSurname(details.getSurname());

setCountry(details.getCountry());

setCity(details.getCity());

setState(details.getState());

setZip(details.getZip());

setAddress(details.getAddress());

setBirthdate(details.getBirthdate());

setCellphone(details.getCellphone());

setPhone(details.getPhone());

setFax(details.getFax());

setEmail (details.getEmail());

setCreditCard(details.getCreditCard());

System.out.println("UserDetailBean–>New UserDetail was created ");

return null;

}

public UserDetails getUserDetails(){

UserDetails userDetails=new UserDetails();

userDetails.setUserId(this.getUserId());

userDetails.setFirstname(this.getFirstname());

userDetails.setSurname(this.getSurname());

userDetails.setCountry(this.getCountry());

userDetails.setState(this.getState());

userDetails.setCity(this.getCity());

userDetails.setEmail(this.getEmail());

userDetails.setUsername(this.getUsername());

userDetails.setPassword(this.getPassword());

userDetails.setAddress(this.getAddress());

userDetails.setCellphone(this.getCellphone());

userDetails.setFax(this.getFax());

userDetails.setZip(this.getZip());

userDetails.setBirthdate(this.getBirthdate());

userDetails.setPhone(this.getPhone());

userDetails.setFreeAmount(this.getFreeAmount());

System.out.println("UserDetailBean–>User detail get details "+ this.getUserId());

return userDetails;

}

public void modifyUserDetails(UserDetails details){

this.setUsername(details.getUsername());

this.setPassword(details.getPassword());

this.setFirstname(details.getFirstname());

this.setSurname(details.getSurname());

this.setCountry(details.getCountry());

this.setCity(details.getCity());

this.setState(details.getState());

this.setZip(details.getZip());

this.setAddress(details.getAddress());

this.setBirthdate(details.getBirthdate());

this.setCellphone(details.getCellphone());

this.setPhone(details.getPhone());

this.setFax(details.getFax());

this.setEmail (details.getEmail());

this.setFreeAmount(details.getFreeAmount());

System.out.println("UserDetailBean–>User detail was modify "+ this.getUserId());

}

public void modifyPassword(Long userId,String password){

this.setPassword(password);

}

public void ejbPostCreate(UserDetails details) throws CreateException { }

public void setEntityContext(EntityContext ctx) {context = ctx;}

public void unsetEntityContext() {context = null;}

public void ejbRemove() { }

public void ejbLoad() {}

public void ejbStore() {}

public void ejbPassivate() { }

public void ejbActivate() { }

}

package ejburi.user;

import java.util.*;

import java.rmi.RemoteException;

import javax.ejb.*;

import javax.ejb.EJBObject;

import ejburi.store.*;

import web.cart.*;

import web.database.*;

import ejburi.util.*;

public interface LocalUsers extends EJBLocalObject {

public long getUserId()throws java.rmi.RemoteException;

public String getFirstname()throws java.rmi.RemoteException;

public String getSurname()throws java.rmi.RemoteException;

public String getCountry()throws java.rmi.RemoteException;

public String getCity()throws java.rmi.RemoteException;

public String getState()throws java.rmi.RemoteException;

public String getZip()throws java.rmi.RemoteException;

public String getAddress()throws java.rmi.RemoteException;

public long getBirthdate()throws java.rmi.RemoteException;

public String getCellphone()throws java.rmi.RemoteException;

public String getPhone()throws java.rmi.RemoteException;

public String getUsername()throws java.rmi.RemoteException;

public String getPassword()throws java.rmi.RemoteException;

public String getEmail()throws java.rmi.RemoteException;

public String getFax()throws java.rmi.RemoteException;

public String getCreditCard()throws java.rmi.RemoteException;

public UserDetails getUserDetails() throws RemoteException;

ublic void modifyUserDetails(UserDetails details) throws RemoteException;

public void modifyPassword(Long userId,String password)throws java.rmi.RemoteException;

public Collection getOrdersCarts()throws RemoteException;

//business methods

public void addOrderCart(LocalOrderCart orderCart) throws RemoteException;

public void dropOrderCart(LocalOrderCart orderCart)throws RemoteException;

}

package ejburi.user;

import java.rmi.RemoteException;

import java.util.*;

import javax.ejb.*;

import javax.ejb.CreateException;

import javax.ejb.EJBHome;

import javax.ejb.FinderException;

import ejburi.store.*;

import web.cart.*;

import web.database.*;

import ejburi.util.*;

public interface LocalUsersHome extends EJBLocalHome {

public LocalUsers findByPrimaryKey(Long userId) throws FinderException;

public LocalUsers create (UserDetails details) throws CreateException;

public Collection findLikeUsername (String username) throws FinderException;

}

OrderCartEJB-implementare

package ejburi.user;

import java.math.BigDecimal;

import javax.ejb.CreateException;

import javax.ejb.EntityBean;

import javax.ejb.EntityContext;

import javax.ejb.FinderException;

import ejburi.store.*;

import web.cart.*;

import web.database.*;

import ejburi.util.*;

/**

* Created 04.05.2003 13:50:10

* Code generated by the Forte for Java EJB Module

* @author USER

*/

public abstract class OrderCartBean implements EntityBean {

private transient EntityContext context;

/* Container managed fields */

// Access methods for persistent fields

public abstract long getUserId();

public abstract void setUserId(long userId);

public abstract long getOrderId();

public abstract void setOrderId(long orderId);

public abstract String getStatus();

public abstract void setStatus(String status);

public abstract double getTotalPrice();

public abstract void setTotalPrice(double totalPrice);

public abstract String getProductIdCart();

public abstract void setProductIdCart(String productIdCart);

public abstract String getQuantityIdCart();

public abstract void setQuantityIdCart(String quantityIdCart);

//select methods relationships

public abstract LocalUsers getUser();

public abstract void setUser(LocalUsers user);

public Long ejbCreate(OrderCartDetails details) throws CreateException {

setUserId(details.getUserId());

setOrderId(details.getOrderId());

setStatus(details.getStatus());

setTotalPrice(details.getTotalPrice());

setProductIdCart(details.getProductIdCart());

setQuantityIdCart(details.getQuantityIdCart());

System.out.println("OrderCartDetailBean–>New OrderCartDetail was created ");

return null;

}

public OrderCartDetails getOrderDetails(){

OrderCartDetails orderCartDetails=new OrderCartDetails();

orderCartDetails.setUserId(this.getUserId());

orderCartDetails.setOrderId(this.getOrderId());

orderCartDetails.setStatus(this.getStatus());

orderCartDetails.setTotalPrice(this.getTotalPrice());

orderCartDetails.setProductIdCart(this.getProductIdCart());

orderCartDetails.setQuantityIdCart(this.getQuantityIdCart());

System.out.println("OrderCartDetailBean–>OrderCartDetail get details "+ this.getOrderId());

return orderCartDetails;

}

/**

* No argument constructor required by container.

*/

public OrderCartBean() {}

/* Methods required for EntityBean interface. EJB 1.1 section 9.4 */

public void ejbPostCreate(OrderCartDetails details) throws CreateException { }

public void setEntityContext(EntityContext context){this.context = context;}

public void unsetEntityContext(){context = null;}

public void ejbActivate() {}

public void ejbPassivate() {}

public void ejbLoad() {}

public void ejbStore() {}

public void ejbRemove() { }

}

package ejburi.user;

import java.rmi.RemoteException;

import javax.ejb.*;

import javax.ejb.EJBObject;

import ejburi.util.*;

import ejburi.store.*;

import web.cart.*;

import web.database.*;

/**

* Created 04.05.2003 13:50:11

* Code generated by the Forte for Java EJB Module

* @author USER

*/

public interface LocalOrderCart extends EJBLocalObject {

public long getUserId()throws java.rmi.RemoteException;

public long getOrderId()throws java.rmi.RemoteException;

public String getStatus()throws java.rmi.RemoteException;

public double getTotalPrice()throws java.rmi.RemoteException;

public String getProductIdCart()throws java.rmi.RemoteException;

public String getQuantityIdCart()throws java.rmi.RemoteException;

public OrderCartDetails getOrderDetails()throws java.rmi.RemoteException;

public LocalUsers getUser();

}

package ejburi.user;

import java.rmi.RemoteException;

import javax.ejb.*;

import javax.ejb.EJBObject;

import ejburi.util.*;

import ejburi.store.*;

import ejburi.user.*;

import web.cart.*;

import web.database.*;

import javax.ejb.CreateException;

import javax.ejb.EJBHome;

import javax.ejb.FinderException;

import java.util.*;

public interface OrderCartLocalHome extends EJBLocalHome {

public LocalOrderCart create (OrderCartDetails details) throws CreateException;

public LocalOrderCart findByPrimaryKey(Long aKey)

throws RemoteException, FinderException;

public Collection findALL() throws RemoteException, FinderException;

public Collection findALLOrdersofUser(long userId) throws RemoteException, FinderException;

}

package ejburi.user;

import java.util.*;

import javax.ejb.*;

import javax.naming.*;

import javax.ejb.CreateException;

import javax.ejb.SessionBean;

import javax.ejb.SessionContext;

import javax.ejb.SessionSynchronization;

import javax.ejb.EJBObject;

import javax.rmi.*;

import ejburi.user.OrderCartLocalHome;

import ejburi.util.*;

public class AuthEJB implements SessionBean {

private SessionContext context;

private LocalUsersHome userHome = null;

private OrderCartLocalHome orderCartHome=null;

public AuthEJB() {}

public void addRecord(UserDetails details) {

System.out.println("AuthBean addRecord");

try {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/TheSimpleUser");

userHome = (LocalUsersHome)PortableRemoteObject.narrow(objref,LocalUsersHome.class);

System.out.println("AuthBean addRecord inainte LocalUsers user");

LocalUsers user = userHome.create(details);

System.out.println("AuthBean addRecord dupa LocalUsers user");

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

private LocalUsersHome lookupUser() throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/TheSimpleUser");

return (LocalUsersHome) objref;

}

public UserDetails getUserDetails(Long userId){

try{

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/TheSimpleUser");

userHome = (LocalUsersHome)PortableRemoteObject.narrow(objref,LocalUsersHome.class);

System.out.println("AuthBean getUserDetails inainte LocalUsers user");

LocalUsers user = userHome.findByPrimaryKey(userId);

System.out.println("AuthBean getUserDetails dupa LocalUsers user");

return user.getUserDetails();

}catch (Exception ex) {

throw new EJBException("AuthBean->getUserDetails: "+ex.getMessage());}

}

public void modifyUserDetails(UserDetails userDetails){

try{

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/TheSimpleUser");

userHome = (LocalUsersHome)PortableRemoteObject.narrow(objref,LocalUsersHome.class);

System.out.println("AuthBean modifyUserDetails inainte LocalUsers user");

Long uKey=new Long(userDetails.getUserId());

LocalUsers user = userHome.findByPrimaryKey(uKey);

user.modifyUserDetails(userDetails);

}catch (Exception e) {

throw new EJBException("AuthBean->modifyeUserDetails: "+e.getMessage());}

}

public ArrayList getUniqueUsername(String username,String firstname,String lastname,int year,boolean useBase) {

int noRasp=0;

String search;

ArrayList al=new ArrayList();

ArrayList found=new ArrayList();

try {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/TheSimpleUser");

userHome = (LocalUsersHome)PortableRemoteObject.narrow(objref,LocalUsersHome.class);

Collection cx = userHome.findLikeUsername(username+"%");

System.out.println("Found in UserBeanTable("+username+") : "+cx.size());

for(Iterator i=cx.iterator();i.hasNext();found.add( (String)((LocalUsers)i.next()).getUsername()));

for(Iterator i=found.iterator();i.hasNext();System.out.println((String)i.next()));

if (useBase){

search=username+firstname.charAt(0);

if ((!found.contains(search) )&&(!al.contains(search))){

System.out.println(" 1.."+search);

al.add(search);

}

search=username+lastname.charAt(0);

if ( (!found.contains(search))&&(!al.contains(search))){

System.out.println(" 2.."+search);

al.add(search);

}

search=username+(year%100);

if ((al.size()<4)&& (!found.contains(search))&&(!al.contains(search))){

System.out.println(" 3.."+search);

al.add(search);

}

search=username+firstname+lastname;

if ( (!found.contains(search))&&(!al.contains(search))){

System.out.println(" 4.."+search);

al.add(search);

}

search=username+lastname+firstname;

if ((al.size()<4)&& (!found.contains(search))&&(!al.contains(search))){

System.out.println(" 5.."+search);

al.add(search);

}

search=username+firstname+lastname.charAt(0);

if ((al.size()<4)&& (!found.contains(search))&&(!al.contains(search))){

System.out.println(" 7.."+search);

al.add(search);

}

search=username+lastname+firstname.charAt(0);

if ((al.size()<4)&& (!found.contains(search))&&(!al.contains(search))){

System.out.println("8.."+search);

al.add(search);

}

search=username+lastname+firstname+(year%100);

if ((al.size()<4)&& (!found.contains(search))&&(!al.contains(search))){

System.out.println(" 9.."+search);

al.add(search);

}

search=username+firstname+lastname+(year%100);

if ((al.size()<4)&& (!found.contains(search))&&(!al.contains(search))){

System.out.println(" 10.."+search);

al.add(search);

}

}

if (al.size()==4) return al;

Random rand=new Random(System.currentTimeMillis());

while (al.size()<4) {

int next=Math.abs(rand.nextInt()); //3 cifre

System.out.println("rand.nextInt()"+next+" next "+next%1000) ;

next=next%1000;

search=username+next;//firstname+lastname+next;

if ( (!found.contains(search))&&(!al.contains(search))){

System.out.println(" –>11.."+search);

al.add(search);

}

/*

search=username+lastname+firstname+next;

if ((al.size()<4)&& (!found.contains(search))&&(!al.contains(search))){

System.out.println(" –>10.."+search);

al.add(search);

}

*/

}

} catch (Exception e) {

System.out.println("AuthBean-> getUniqueUsername: Exception"+e.getMessage()); e.printStackTrace();

throw new EJBException("AuthBean-> getUniqueUsername: Exception"+e.getMessage());}

return al;

}

public void addRecordOrderCart(OrderCartDetails details,long userId) {

System.out.println("AuthBean addRecordOrderCart");

try {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/TheSimpleOrderCart");

Object objref1 = initial.lookup("java:comp/env/ejb/TheSimpleUser");

orderCartHome = (OrderCartLocalHome)PortableRemoteObject.narrow(objref,OrderCartLocalHome.class);

userHome = (LocalUsersHome)PortableRemoteObject.narrow(objref1,LocalUsersHome.class);

System.out.println("AuthBean addRecordOrderCart dupa objref");

Long uKey=new Long(userId);

LocalUsers user = userHome.findByPrimaryKey(uKey);

System.out.println("AuthBean addRecordOrderCart dupa findbyprimarykey");

LocalOrderCart orderCart = orderCartHome.create(details);

System.out.println("AuthBean addRecordOrderCart dupa create");

user.addOrderCart(orderCart);

System.out.println("AuthBean addRecordOrderCart dupa add");

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public OrderCartDetails getOrderCartDetails(Long orderId){

try{

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/TheSimpleOrderCart");

orderCartHome = (OrderCartLocalHome)PortableRemoteObject.narrow(objref,OrderCartLocalHome.class);

LocalOrderCart orderCart = orderCartHome.findByPrimaryKey(orderId);

return orderCart.getOrderDetails();

}catch (Exception ex) {

throw new EJBException("AuthBean->getOrderCartDetails: "+ex.getMessage());}

}

public ArrayList getUserByUsername(String username){

ArrayList detailsList = new ArrayList();

Collection users = null;

try {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/TheSimpleUser");

userHome = (LocalUsersHome)PortableRemoteObject.narrow(objref,LocalUsersHome.class);

System.out.println("AuthBean dupa ObjrefSimpleUser getUserByUsername");

users=userHome.findLikeUsername(username);

UserDetails userDetails = null;

Iterator i = users.iterator();

while (i.hasNext()) {

System.out.println("AuthBean dupa in while in try getUserByUsername");

LocalUsers user = (LocalUsers) i.next();

UserDetails details = new UserDetails(user.getUserId(),user.getFirstname(),user.getSurname(),user.getCountry(),user.getState(),user.getCity(),user.getEmail(),

username,user.getPassword(),user.getAddress(),user.getCellphone(),user.getFax(), user.getZip(), user.getBirthdate(),user.getPhone(),

user.getRandom(),user.getFreeAmount(),user.getStatus());

System.out.println("AuthBean dupa inainte de add in detailsList in try getUserByUsername");

detailsList.add(details);

System.out.println("dupa adaugare");

}

System.out.println("NO PRODUSE"+detailsList.size());

return detailsList;

}catch (Exception ex) {

throw new EJBException("AuthBean->getUserByUsername: "+ex.getMessage());}

}

public void modifyPassword(Long userId,String password){

try{

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/TheSimpleUser");

userHome = (LocalUsersHome)PortableRemoteObject.narrow(objref,LocalUsersHome.class);

System.out.println("AuthBean modifyPassword inainte LocalUsers user");

LocalUsers user = userHome.findByPrimaryKey(userId);

user.modifyPassword(userId,password);

}catch (Exception e) {

throw new EJBException("AuthBean->modifyPassword: "+e.getMessage());}

}

public ArrayList getAll() {

ArrayList detailsList = new ArrayList();

Collection orders = null;

System.out.println("StoreSessionBean getProductsOfCategory");

try{

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/TheSimpleOrderCart");

Object objref1 = initial.lookup("java:comp/env/ejb/TheSimpleUser");

orderCartHome = (OrderCartLocalHome)PortableRemoteObject.narrow(objref,OrderCartLocalHome.class);

userHome = (LocalUsersHome)PortableRemoteObject.narrow(objref1,LocalUsersHome.class);

System.out.println("AuthBean findallofuser dupa objref");

orders=orderCartHome.findALL();

Iterator i = orders.iterator();

while (i.hasNext()) {

LocalOrderCart order = (LocalOrderCart) i.next();

OrderCartDetails details = new OrderCartDetails(order.getOrderId(),order.getUserId(),order.getTotalPrice(),

order.getStatus(),order.getProductIdCart(),order.getQuantityIdCart());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException("StoreSessionBean->getProductsOfCategory: "+ex.getMessage());}

} // getProductsofCategory

public ArrayList getAllOrdersUser(long userId) {

ArrayList detailsList = new ArrayList();

Collection orders = null;

System.out.println("StoreSessionBean getProductsOfCategory");

try{

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/TheSimpleOrderCart");

Object objref1 = initial.lookup("java:comp/env/ejb/TheSimpleUser");

orderCartHome = (OrderCartLocalHome)PortableRemoteObject.narrow(objref,OrderCartLocalHome.class);

userHome = (LocalUsersHome)PortableRemoteObject.narrow(objref1,LocalUsersHome.class);

System.out.println("AuthBean findallofuser dupa objref");

orders=orderCartHome.findALLOrdersofUser(userId);

Iterator i = orders.iterator();

while (i.hasNext()) {

LocalOrderCart order = (LocalOrderCart) i.next();

OrderCartDetails details = new OrderCartDetails(order.getOrderId(),userId,order.getTotalPrice(),

order.getStatus(),order.getProductIdCart(),order.getQuantityIdCart());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException("StoreSessionBean->getProductsOfCategory: "+ex.getMessage());}

} // getProductsofCategory

public void removeOrder(long orderId) {

System.out.println("StoreSessionBean removeOrder");

try {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/TheSimpleOrderCart");

Object objref1 = initial.lookup("java:comp/env/ejb/TheSimpleUser");

orderCartHome = (OrderCartLocalHome)PortableRemoteObject.narrow(objref,OrderCartLocalHome.class);

userHome = (LocalUsersHome)PortableRemoteObject.narrow(objref1,LocalUsersHome.class);

Long uKey=new Long(orderId);

LocalOrderCart order = orderCartHome.findByPrimaryKey(uKey);

order.remove();

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void ejbCreate() throws CreateException {}

public void ejbRemove() {}

public void ejbActivate() {}

public void ejbPassivate() {}

public void setSessionContext(SessionContext context) {this.context = context;}

}

package ejburi.user;

import java.util.*;

import java.rmi.RemoteException;

import ejburi.util.*;

import javax.ejb.EJBObject;

public interface Auth extends EJBObject {

public void addRecord(UserDetails details) throws RemoteException;

public UserDetails getUserDetails(Long userId) throws RemoteException;

public void modifyUserDetails(UserDetails userDetails) throws RemoteException;

public ArrayList getUniqueUsername(String username,String firstname,String lastname,int year,boolean useBase) throws RemoteException;

public OrderCartDetails getOrderCartDetails(Long orderId)throws RemoteException;

public void addRecordOrderCart(OrderCartDetails details,long userId)throws RemoteException;

public ArrayList getUserByUsername(String username)throws RemoteException;

public void modifyPassword(Long userId,String password)throws RemoteException;

public ArrayList getAll()throws RemoteException;

public ArrayList getAllOrdersUser(long userId)throws RemoteException;

public void removeOrder(long orderId)throws RemoteException;

}

package ejburi.user;

import java.io.Serializable;

import java.rmi.RemoteException;

import javax.ejb.CreateException;

import javax.ejb.EJBHome;

import ejburi.util.*;

public interface AuthHome extends EJBHome {

public Auth create() throws RemoteException,CreateException;

}

package ejburi.user;

import javax.ejb.CreateException;

import javax.ejb.EntityBean;

import javax.ejb.EntityContext;

import javax.ejb.FinderException;

import java.util.*;

import javax.ejb.*;

import javax.naming.*;

import ejburi.util.*;

/**

* Created 20.05.2003 20:56:16

* Code generated by the Forte for Java EJB Module

* @author USER

*/

public abstract class MessageBean implements EntityBean {

private transient EntityContext context;

public abstract void setMsgId(long msgId);

public abstract long getMsgId( );

public abstract void setTopicId(long topicId);

public abstract long getTopicId( );

public abstract void setStartDate(long startDate);

public abstract long getStartDate( );

public abstract void setMessage(String message);

public abstract String getMessage( );

public abstract void setStartedBy(String startedby);

public abstract String getStartedBy( );

//select methods relationships

public abstract TopicLocal getTopic();

public abstract void setTopic(TopicLocal topic);

public Long ejbCreate(MessageDetails details) throws CreateException {

setMsgId(details.getMsgId());

setTopicId(details.getTopicId());

setStartDate(details.getStartDate());

setMessage(details.getMessage());

setStartedBy(details.getStartedBy());

System.out.println("MessageDetailBean–>New MessageDetail was created ");

return null;

}

public MessageDetails getMessageDetails(){

MessageDetails messageDetails=new MessageDetails();

messageDetails.setMsgId(this.getMsgId());

messageDetails.setTopicId(this.getTopicId());

messageDetails.setStartDate(this.getStartDate());

messageDetails.setMessage(this.getMessage());

messageDetails.setStartedBy(this.getStartedBy());

System.out.println("TopicrDetailBean–>Topic detail get details "+ this.getMsgId());

return messageDetails;

}

public void modifyMessageDetails(MessageDetails details){

// setUserId(details.getUserId());

this.setTopicId(details.getTopicId());

this.setStartDate(details.getStartDate());

this.setMessage(details.getMessage());

this.setStartedBy(details.getStartedBy());

System.out.println("TopicDetailBean–>Topicdetail was modify "+ this.getMsgId());

}

public MessageBean() {}

public void ejbPostCreate(MessageDetails details) throws CreateException { }

public void setEntityContext(EntityContext context){this.context = context; }

public void unsetEntityContext(){context = null;}

public void ejbActivate() {}

public void ejbPassivate() {}

public void ejbLoad() { }

public void ejbStore() { }

public void ejbRemove() { }

}

package ejburi.user;

import java.util.*;

import java.rmi.RemoteException;

import javax.ejb.*;

import javax.ejb.EJBObject;

import ejburi.util.*;

/**

* Created 20.05.2003 20:56:16

* Code generated by the Forte for Java EJB Module

* @author USER

*/

public interface MessageLocal extends EJBLocalObject {

public long getMsgId( );

public long getTopicId( );

public long getStartDate( );

public String getMessage( );

public String getStartedBy( );

public MessageDetails getMessageDetails()throws java.rmi.RemoteException;

public void modifyMessageDetails(MessageDetails details)throws java.rmi.RemoteException;

public TopicLocal getTopic()throws java.rmi.RemoteException;

}

package ejburi.user;

import java.rmi.RemoteException;

import java.util.*;

import javax.ejb.*;

import javax.ejb.CreateException;

import javax.ejb.EJBHome;

import javax.ejb.FinderException;

import ejburi.util.*;

/**

* Created 20.05.2003 20:56:16

* Code generated by the Forte for Java EJB Module

* @author USER

*/

public interface MessageLocalHome extends EJBLocalHome {

public MessageLocal findByPrimaryKey(Long aKey) throws RemoteException, FinderException;

public MessageLocal create (MessageDetails details) throws CreateException;

public Collection findAll () throws FinderException;

public Collection findMessageTopicId (long topicId) throws FinderException;

public Collection findMessageTopicById (long id) throws FinderException;

public MessageLocal create(UserDetails details) throws RemoteException, CreateException, CreateException;

}

package ejburi.user;

import javax.ejb.CreateException;

import javax.ejb.EntityBean;

import javax.ejb.EntityContext;

import javax.ejb.FinderException;

import java.util.*;

import javax.ejb.*;

import javax.naming.*;

import ejburi.util.*;

/**

* Created 20.05.2003 16:10:13

* Code generated by the Forte for Java EJB Module

* @author USER

*/

public abstract class TopicBean implements EntityBean {

private transient EntityContext context;

public abstract void setId(long id);

public abstract long getId();

public abstract void setTopicId(long topicId);

public abstract long getTopicId();

public abstract void setNameTopic(String nameTopic);

public abstract String getNameTopic();

public abstract void setStartDate(long startDate);

public abstract long getStartDate();

public abstract void setStatus(int status);

public abstract int getStatus();

public abstract void setFromId(long fromId);

public abstract long getFromId();

public abstract void setUsernameFrom(String usernameFrom);

public abstract String getUsernameFrom();

public abstract Collection getMessages();

public abstract void setMessages(Collection messages);

public TopicBean() {}

// Business methods

public void addMessage(MessageLocal message) {

System.out.println("TopicBean addMessage");

try {

Collection messages = getMessages();

messages.add(message);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropMessage(MessageLocal message) {

System.out.print("TopicBean dropMessage");

try {

Collection messages = getMessages();

messages.remove(message);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public Long ejbCreate(TopicDetails details) throws CreateException {

setId(details.getId());

setTopicId(details.getTopicId());

setFromId(details.getFromId());

setStartDate(details.getStartDate());

setStatus(details.getStatus());

setNameTopic(details.getNameTopic());

setUsernameFrom(details.getUsernameFrom());

System.out.println("TopicDetailBean–>New TopicDetail was created ");

return null;

}

public TopicDetails getTopicDetails(){

TopicDetails topicDetails=new TopicDetails();

topicDetails.setId(this.getId());

topicDetails.setTopicId(this.getTopicId());

topicDetails.setFromId(this.getFromId());

topicDetails.setStartDate(this.getStartDate());

topicDetails.setStatus(this.getStatus());

topicDetails.setNameTopic(this.getNameTopic());

topicDetails.setUsernameFrom(this.getUsernameFrom());

System.out.println("TopicrDetailBean–>Topic detail get details "+ this.getId());

return topicDetails;

}

public void modifyTopicDetails(TopicDetails details){

// setUserId(details.getUserId());

this.setId(details.getId());

this.setFromId(details.getFromId());

this.setStartDate(details.getStartDate());

this.setStatus(details.getStatus());

this.setNameTopic(details.getNameTopic());

this.setUsernameFrom(details.getUsernameFrom());

System.out.println("TopicDetailBean–>Topicdetail was modify "+ this.getId());

}

public void ejbPostCreate(TopicDetails details) throws CreateException { }

public void setEntityContext(EntityContext context){ this.context = context; }

public void unsetEntityContext(){context = null;}

public void ejbActivate() {}

public void ejbPassivate() { }

public void ejbLoad() {}

public void ejbStore() { }

public void ejbRemove() { }

}

package ejburi.user;

import java.util.*;

import java.rmi.RemoteException;

import javax.ejb.*;

import javax.ejb.EJBObject;

import ejburi.util.*;

/**

* Created 20.05.2003 16:10:13

*/

public interface TopicLocal extends EJBLocalObject {

public long getId();

public long getTopicId();

public String getNameTopic();

public long getStartDate();

public int getStatus();

public long getFromId();

public String getUsernameFrom();

public TopicDetails getTopicDetails()throws java.rmi.RemoteException;

public void modifyTopicDetails(TopicDetails details)throws java.rmi.RemoteException;

public void addMessage(MessageLocal message)throws java.rmi.RemoteException;

public void dropMessage(MessageLocal message)throws java.rmi.RemoteException;

public Collection getMessages()throws java.rmi.RemoteException;

}

package ejburi.user;

import java.rmi.RemoteException;

import java.util.*;

import javax.ejb.*;

import javax.ejb.CreateException;

import javax.ejb.EJBHome;

import javax.ejb.FinderException;

import ejburi.util.*;

/**

* Created 20.05.2003 16:10:13

*/

public interface TopicLocalHome extends EJBLocalHome {

/**

* Reference EJB specification 1.1 section 9.2.8

*/

public TopicLocal findByPrimaryKey(Long aKey)

throws RemoteException, FinderException;

public TopicLocal create (TopicDetails details) throws CreateException;

public Collection findAllForumTopics(long id) throws FinderException;

public Collection findAllTopics() throws FinderException;

}

package ejburi.user;

import javax.ejb.CreateException;

import javax.ejb.SessionBean;

import javax.ejb.SessionContext;

import javax.ejb.SessionSynchronization;

import ejburi.util.*;

import javax.naming.*;

import javax.ejb.*;

import java.util.*;

/**

* Created 20.05.2003 21:30:58

*/

public class MessageSessionEJB implements SessionBean {

private SessionContext context;

TopicLocalHome topicHome=null;

MessageLocalHome messageHome=null;

// League business methods

public void createTopic(TopicDetails details) {

System.out.println("MessageSession createTopic");

try {

TopicLocal topic = topicHome.create(details);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void removeTopic(long topicId) {

System.out.println("MessageSession removeTopic");

try {

Long uKey=new Long(topicId);

TopicLocal topic = topicHome.findByPrimaryKey(uKey);

topic.remove();

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void modifyTopic(TopicDetails details) {

System.out.println("MessageSession modifyTopic");

try {

Long uKey=new Long(details.getTopicId());

TopicLocal topic = topicHome.findByPrimaryKey(uKey);

topic.modifyTopicDetails(details);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public TopicDetails getTopic(long topicId) {

System.out.print("MessageSession getTopic");

TopicDetails details = null;

try {

Long uKey=new Long(topicId);

TopicLocal topic = topicHome.findByPrimaryKey(uKey);

details = new TopicDetails(topic.getId(),topicId,topic.getNameTopic(),topic.getStartDate(),

topic.getStatus(),topic.getFromId(),topic.getUsernameFrom());

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

return details;

}

// Message business methods

public void createMessageInTopic(long topicId,MessageDetails details) {

System.out.println("MessageSessionEJB createMessage");

try {

Long uKey=new Long(topicId);

TopicLocal topic = topicHome.findByPrimaryKey(uKey);

MessageLocal message=messageHome.create(details);

topic.addMessage(message);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropMessageFromTopic(long topicId,MessageDetails details) {

System.out.println("MessageSessionEJB createMessage");

try {

Long uKey=new Long(topicId);

Long uKeyDet=new Long(details.getMsgId());

TopicLocal topic = topicHome.findByPrimaryKey(uKey);

MessageLocal message=messageHome.findByPrimaryKey(uKeyDet);

topic.dropMessage(message);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void removeMessage(long messageId) {

System.out.println("MessageSessionEJB removeMessage");

try {

Long uKey=new Long(messageId);

MessageLocal message = messageHome.findByPrimaryKey(uKey);

message.remove();

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void modifyMessage(MessageDetails details) {

System.out.println("MessageSessionEJB modifyMessage");

try {

Long uKey=new Long(details.getMsgId());

MessageLocal message = messageHome.findByPrimaryKey(uKey);

message.modifyMessageDetails(details);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public MessageDetails getMessage(long messageId) {

System.out.print("MessageSessionEJB getMessage");

MessageDetails details = null;

try {

Long uKey=new Long(messageId);

MessageLocal message = messageHome.findByPrimaryKey(uKey);

details = new MessageDetails(message.getTopicId(),message.getMessage(),message.getStartDate(),

messageId, message.getStartedBy());

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

return details;

}

public ArrayList getAllMessagesTopic(long topicId){

System.out.println("MessageSessionEJB ->getAllMessagesTopic");

ArrayList detailsList = new ArrayList();

Collection messages=null;

try{

messages=messageHome.findMessageTopicId(topicId);

Iterator i = messages.iterator();

while (i.hasNext()) {

MessageLocal message = (MessageLocal) i.next();

MessageDetails details = new MessageDetails(message.getTopicId(),message.getMessage(),message.getStartDate(),

message.getMsgId(), message.getStartedBy());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getAllForumTopics(long id){

System.out.println("MessageSessionEJB ->getAllForumTopics");

ArrayList detailsList = new ArrayList();

Collection topics=null;

try{

topics=topicHome.findAllForumTopics(id);

Iterator i = topics.iterator();

while (i.hasNext()) {

TopicLocal topic = (TopicLocal) i.next();

TopicDetails details = new TopicDetails(id,topic.getTopicId(),topic.getNameTopic(),topic.getStartDate(),topic.getStatus(),

topic.getFromId(),topic.getUsernameFrom());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getAllTopics(){

System.out.println("MessageSessionEJB ->getAllForumTopics");

ArrayList detailsList = new ArrayList();

Collection topics=null;

try{

topics=topicHome.findAllTopics();

Iterator i = topics.iterator();

while (i.hasNext()) {

TopicLocal topic = (TopicLocal) i.next();

TopicDetails details = new TopicDetails(topic.getId(),topic.getTopicId(),topic.getNameTopic(),topic.getStartDate(),topic.getStatus(),

topic.getFromId(),topic.getUsernameFrom());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getAllMessagesTopicById(long id){

System.out.println("MessageSessionEJB ->getAllMessagesTopic");

ArrayList detailsList = new ArrayList();

Collection messages=null;

try{

messages=messageHome.findMessageTopicById(id);

Iterator i = messages.iterator();

while (i.hasNext()) {

MessageLocal message = (MessageLocal) i.next();

MessageDetails details = new MessageDetails(message.getTopicId(),message.getMessage(),message.getStartDate(),

message.getMsgId(), message.getStartedBy());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public MessageSessionEJB() { }

public void ejbCreate() {

System.out.println("MessageSessionEJB ejbCreate()");

try {

topicHome = lookupTopic();

messageHome = lookupMessage();

} catch (NamingException ex) {

throw new EJBException(ex.getMessage());

}

}

public void setSessionContext(SessionContext context){this.context = context;}

public void ejbActivate() {

System.out.println("MessageSessionEJB ejbActivate()");

try {

topicHome = lookupTopic();

messageHome = lookupMessage();

} catch (NamingException ex) {

throw new EJBException(ex.getMessage());

}

}

public void ejbPassivate() {

topicHome=null;

messageHome=null;

}

public void ejbRemove() {}

private TopicLocalHome lookupTopic()throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleTopic");

return (TopicLocalHome) objref;

}

private MessageLocalHome lookupMessage()throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleMessage");

return (MessageLocalHome) objref;

}

}

package ejburi.user;

import java.util.*;

import java.rmi.RemoteException;

import javax.ejb.*;

import javax.ejb.EJBObject;

import ejburi.util.*;

/**

* Created 20.05.2003 21:30:58

*/

public interface MessageSession extends EJBObject {

public void createTopic(TopicDetails details)throws java.rmi.RemoteException;

public void removeTopic(long topicId)throws java.rmi.RemoteException;

public void modifyTopic(TopicDetails details)throws java.rmi.RemoteException;

public TopicDetails getTopic(long topicId)throws java.rmi.RemoteException;

public void createMessageInTopic(long topicId,MessageDetails details)throws java.rmi.RemoteException;

public void dropMessageFromTopic(long topicId,MessageDetails details)throws java.rmi.RemoteException;

public void removeMessage(long messageId)throws java.rmi.RemoteException;

public void modifyMessage(MessageDetails details)throws java.rmi.RemoteException;

public MessageDetails getMessage(long messageId)throws java.rmi.RemoteException;

public ArrayList getAllMessagesTopic(long topicId)throws java.rmi.RemoteException;

public ArrayList getAllMessagesTopicById(long id)throws java.rmi.RemoteException;

public ArrayList getAllForumTopics(long id)throws java.rmi.RemoteException;

public ArrayList getAllTopics()throws java.rmi.RemoteException;

}

package ejburi.user;

import java.rmi.RemoteException;import javax.ejb.CreateException;

import javax.ejb.EJBHome;

/**

* Created 20.05.2003 21:30:58

*/

public interface MessageSessionHome extends EJBHome {

public MessageSession create() throws RemoteException,CreateException;

}

package advancedSearch;

import java.sql.*;

import javax.sql.*;

import java.util.*;

import java.math.*;

import javax.ejb.*;

import javax.naming.*;

import ejburi.util.*;

/**

* Created 03.06.2003 12:45:55

*/

public class SearchAdvEJB implements EntityBean {

private String id;

private transient EntityContext context;

private Connection con;

private String dbName = "java:comp/env/jdbc/SearchAdvancedDB";

public String ejbCreate() throws CreateException {

id=String.valueOf(System.currentTimeMillis());

System.out.println("Create AuctionSelectBean "+id);

return id;

}

public String ejbFindByPrimaryKey(String primaryKey) throws FinderException {

return primaryKey;

}

public void ejbRemove() {}

public void setEntityContext(EntityContext context) {

this.context = context;

try {

makeConnection("dbNameSearch");

System.out.println("Create context: AuctionSelectBean");

} catch (Exception ex) {throw new EJBException("Unable to connect to database. " +ex.getMessage());}

}

public void unsetEntityContext() {

if(con!=null){

try {

con.close();

con=null;

System.out.println("Delete context: AuctionSelectBean");

} catch (SQLException ex) {throw new EJBException("unsetEntityContext: " + ex.getMessage());}

}

}

public void ejbActivate() {}

public void ejbPassivate(){

if(con!=null){

try {

con.close();

con=null;

System.out.println("Delete context: AuctionSelectBean");

} catch (SQLException ex) {throw new EJBException("unsetEntityContext: " + ex.getMessage());}

}

}

public void ejbLoad(){}

public void ejbStore() {}

public void ejbPostCreate(){}

/*********************** Database Routines *************************/

private void makeConnection(String dbNameDataBase) throws NamingException, SQLException {

InitialContext ic = new InitialContext();

Context environment = (Context)ic.lookup("java:comp/env");

dbName = (String)environment.lookup(dbNameDataBase);

DataSource ds = (DataSource) ic.lookup(dbName);

con = ds.getConnection();

}

private boolean selectByPrimaryKey(String primaryKey) throws SQLException {

return true;

}

public ArrayList ejbHomeSelectByAll(String namePlayer ,String surname,String nameTeam,String nickname,String position,long index,int count,long dateExpL,long dateExpR) throws SQLException {

ArrayList al=new ArrayList();

PreparedStatement pstmt = null;

System.out.println("Call : selectByAll("+namePlayer+" , "+surname+" , "+nameTeam+" , "+nickname+" , "+position+" , "+ index+" , "+ count+" , "+ dateExpL+" , "+ dateExpR+")");

if (con==null){

System.out.println("NULL before called");

try{

makeConnection("dbNameSearch");

}catch (NamingException e) {

System.out.println("AuctionSelectBean ->ejbHomeSelectByAll Eroare la stabilirea conexiunii ejbHomeSelectByAll : NamingException"+e.getMessage()); e.printStackTrace();

throw new EJBException("AuctionSelectBean ->ejbHomeSelectByAll Eroare la stabilirea conexiunii ejbHomeSelectByAll : NamingException"+e.getMessage());}

System.out.println("After NULL, init connection");

}

StringBuffer sb=new StringBuffer();

String and=" AND ";

sb.append("SELECT \"headline\",\"news\",\"date\" from NEWSBEANTABLE as n ,PLAYERBEANTABLE as p,TEAMBEANTABLE as t WHERE p.playerId=n.playerId and p.teamId=t.teamId ");

if (namePlayer!=null){sb.append( and +" \"namePlayer\"= ?");}

if (surname!=null){sb.append( and +" \"surname\"= ?");}

if (nameTeam!=null){sb.append( and +" \"nameTeam\"= ?");}

if (nickname!=null){sb.append( and +" \"nickname\"= ?");}

if (position!=null){sb.append( and +" \"position\"= ?");}

if ((dateExpL!=0) && (dateExpR!=0)) {sb.append(and +" \"date\" BETWEEN ? AND ? ");}

else if (dateExpL!=0) {sb.append(and +" \"date\" > ? ");}

System.out.println("Query: "+sb.toString());

pstmt = con.prepareStatement(sb.toString());System.out.println("iar pstmt");

int k=1;

if (namePlayer!=null){pstmt.setString(k, namePlayer);k++;}

System.out.println("dupa pstmt");

if (surname!=null){pstmt.setString(k, surname);k++;}

if (nameTeam!=null){pstmt.setString(k, nameTeam);k++;}

if (nickname!=null){pstmt.setString(k, nickname);k++;}

if (position!=null){pstmt.setString(k, position);k++;}

System.out.println("iar if");

if ((dateExpL!=0) && (dateExpR!=0)) {pstmt.setLong(k, dateExpL);k++;pstmt.setLong(k, dateExpR);k++;}

else if (dateExpL!=0) {pstmt.setLong(k, dateExpL);k++;}

ResultSet rs = pstmt.executeQuery();

long lcount=0;

if(rs.next()){

while (rs.next()){

if ( (index<=lcount) && (lcount<index+count)){ ReturnClassNews aReturn=new ReturnClassNews(rs.getString("Headline"),rs.getString("News"),rs.getLong("Date") ); al.add(aReturn);

}

lcount++;

}}else

System.out.println("aReturn.No: "+al.size());

al.add(0,new Long(lcount));

//al.trimToSize();

return al;

}

public ArrayList ejbHomeSelectPlayer(String namePlayer ,String surname,String nameTeam,String nickname,String position,String status,long index,int count) throws SQLException {

ArrayList al=new ArrayList();

PreparedStatement pstmt = null;

System.out.println("Call : ejbHomeSelectPlayer("+namePlayer+" , "+surname+" , "+nameTeam+" , "+nickname+" , "+position+" , "+ index+" , "+ count+" , "+ status+")");

if (con==null){

System.out.println("NULL before called");

try{

makeConnection("dbNameSearch");

}catch (NamingException e) {

System.out.println("AuctionSelectBean ->ejbHomeSelectPlayer Eroare la stabilirea conexiunii ejbHomeSelectByAll : NamingException"+e.getMessage()); e.printStackTrace();

throw new EJBException("AuctionSelectBean ->ejbHomeSelectPlayer Eroare la stabilirea conexiunii ejbHomeSelectByAll : NamingException"+e.getMessage());}

System.out.println("After NULL, init connection");

}

StringBuffer sb=new StringBuffer();

String and=" AND ";

sb.append("SELECT \"playerId\",\"namePlayer\",\"surname\" ,\"nickname\",\"position\", \"status\",\"experience\",\"birthdate\" from PLAYERBEANTABLE as k,TEAMBEANTABLE as t WHERE k.teamId=t.teamId ");

if (namePlayer!=null){sb.append( and +" \"namePlayer\"= ?");}

if (surname!=null){sb.append( and +" \"surname\"= ?");}

if (nameTeam!=null){sb.append( and +" \"nameTeam\"= ?");}

if (nickname!=null){sb.append( and +" \"nickname\"= ?");}

if (position!=null){sb.append( and +" \"position\"= ?");}

if (status!=null){sb.append( and +" \"status\"= ?");}

System.out.println("Query: "+sb.toString());

pstmt = con.prepareStatement(sb.toString());System.out.println("iar pstmt");

int k=1;

if (namePlayer!=null){pstmt.setString(k, namePlayer);k++;}

System.out.println("dupa pstmt");

if (surname!=null){pstmt.setString(k, surname);k++;}

if (nameTeam!=null){pstmt.setString(k, nameTeam);k++;}

if (nickname!=null){pstmt.setString(k, nickname);k++;}

if (position!=null){pstmt.setString(k, position);k++;}

if (status!=null){pstmt.setString(k, status);k++;}

ResultSet rs = pstmt.executeQuery();

long lcount=0;

if(rs.next()){

while (rs.next()){

if ( (index<=lcount) && (lcount<index+count)){ ReturnPlayer aReturn=new ReturnPlayer (rs.getString (" namePlayer"),

rs.getString("surname"),rs.getString("nickname"),rs.getString("position"),rs.getString("status"),

rs.getLong("playerId"),rs.getLong("birthdate"), rs.getInt("experience"));

al.add(aReturn); }

lcount++;

}}else

System.out.println("aReturn.No: "+al.size());

al.add(0,new Long(lcount));

//al.trimToSize();

return al;

}

}

package advancedSearch;

import javax.ejb.*;

import java.rmi.RemoteException;

import java.util.*;

import java.sql.SQLException;

/**

* Created 03.06.2003 12:45:55

*/

public interface SearchAdvHome extends EJBHome {

public SearchAdv findByPrimaryKey(String aKey)

throws RemoteException, FinderException;

public SearchAdv create() throws RemoteException, CreateException;

public ArrayList selectByAll(String namePlayer ,String surname,String nameTeam,

String nickname,String position,long index,int count,long dateExpL,

long dateExpR)throws FinderException ,RemoteException ;

public ArrayList selectPlayer(String namePlayer ,String surname,String nameTeam,String nickname,

String position,String status,long index,int count)throws FinderException ,RemoteException ;

}

Pachetul ejburi.store:

package ejburi.store;

import java.math.BigDecimal;

import ejburi.util.*;

import javax.ejb.CreateException;

import javax.ejb.EntityBean;

import javax.ejb.EntityContext;

import javax.ejb.FinderException;

import java.util.*;

import javax.ejb.*;

/**

* Created 29.04.2003 16:04:56

* Code generated by the Forte for Java EJB Module

* @author USER

*/

public abstract class CategoryBean implements EntityBean {

private transient EntityContext context;

public abstract long getCategoryId();

public abstract void setCategoryId(long categoryId);

public abstract String getNameCategory();

public abstract void setNameCategory(String nameCategory);

public CategoryBean() {}

public Long ejbCreate(CategoryDetails categoryDetails) throws CreateException {

setCategoryId(categoryDetails.getCategoryId());

setNameCategory(categoryDetails.getNameCategory());

System.out.println("categoryDetails–>New CategoryDetail was created ");

return null;

}

public CategoryDetails getCategoryDetails(){

CategoryDetails categoryDetails=new CategoryDetails();

categoryDetails.setCategoryId(this.getCategoryId());

categoryDetails.setNameCategory(this.getNameCategory());

System.out.println("categoryDetailsBean–>User detail get details "+ this.getCategoryId());

return categoryDetails;

}

public void modifyCategoryDetails(CategoryDetails details){

//this.setCategoryId(details.getCategoryId());

this.setNameCategory(details.getNameCategory());

System.out.println("CategoryDetailBean–>Category detail was modify "+ this.getCategoryId());

}

public abstract Collection getProducts();

public abstract void setProducts(Collection products);

// Business methods

public void addProduct(ProductLocal product) {

System.out.println("ProductBean addProduct");

try {

Collection products = getProducts();

products.add(product);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropProduct(ProductLocal product) {

System.out.print("ProductBean dropProduct");

try {

Collection products = getProducts();

products.remove(product);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void ejbPostCreate(CategoryDetails categoryDetails) throws CreateException { }

public void setEntityContext(EntityContext context){this.context = context; }

public void unsetEntityContext(){context = null;}

public void ejbActivate() {}

public void ejbPassivate() {}

public void ejbLoad() {}

public void ejbStore() {}

public void ejbRemove() {

}}

package ejburi.store;

import java.rmi.RemoteException;

import ejburi.util.*;

import javax.ejb.EJBObject;

import javax.ejb.*;

import java.util.*;

/**

* Created 29.04.2003 16:04:56

* Code generated by the Forte for Java EJB Module

* @author USER

*/

public interface CategoryLocal extends EJBLocalObject {

public long getCategoryId()throws RemoteException;

public String getNameCategory()throws RemoteException;

public Collection getProducts()throws RemoteException;

public CategoryDetails getCategoryDetails() throws RemoteException;

public void modifyCategoryDetails(CategoryDetails details)throws RemoteException;

public void addProduct(ProductLocal product);

public void dropProduct(ProductLocal product);

package ejburi.store;

import java.rmi.RemoteException;

import javax.ejb.CreateException;

import javax.ejb.EJBHome;

import javax.ejb.FinderException;

import ejburi.util.*;

import javax.ejb.*;

import java.util.*;

/**

* Created 29.04.2003 16:04:56

* Code generated by the Forte for Java EJB Module

* @author USER

*/

public interface CategoryLocalHome extends EJBLocalHome {

public CategoryLocal findByPrimaryKey(Long aKey)

throws RemoteException, FinderException;

public CategoryLocal create (CategoryDetails categoryDetails) throws CreateException;

public Collection findLikeNameCategory (String nameCategory) throws FinderException;

public Collection findAllCategories() throws FinderException;

public CategoryLocal findByNameCategory (String nameCategory) throws FinderException;

}

package ejburi.store;

import java.math.BigDecimal;

import ejburi.util.*;

import javax.ejb.CreateException;

import javax.ejb.EntityBean;

import javax.ejb.EntityContext;

import javax.ejb.FinderException;

public abstract class ProductBean implements EntityBean {

private transient EntityContext context;

public abstract long getProductId();

public abstract void setProductId(long productId) ;

public abstract long getCategoryId();

public abstract void setCategoryId(long categoryId);

public abstract String getProductName();

public abstract void setProductName(String productName);

public abstract String getProductDescription();

public abstract void setProductDescription(String productDescription);

public abstract double getPrice() ;

public abstract void setPrice(double price);

public abstract int getStatus() ;

public abstract void setStatus(int status) ;

public abstract String getManufacturer() ;

public abstract void setManufacturer(String manufacturer);

public abstract int getQuantityStock() ;

public abstract void setQuantityStock(int quantityStock) ;

// Access methods for relationship fields

public abstract CategoryLocal getCategory();

public abstract void setCategory(CategoryLocal category);

//Business Method

public ProductDetails getProductDetails(){

ProductDetails productDetails=new ProductDetails();

productDetails.setProductId(this.getProductId());

productDetails.setCategoryId(this.getCategoryId());

productDetails.setProductName(this.getProductName());

productDetails.setProductDescription(this.getProductDescription());

productDetails.setManufacturer(this.getManufacturer());

productDetails.setPrice(this.getPrice());

productDetails.setStatus(this.getStatus());

productDetails.setQuantityStock(this.getQuantityStock());

System.out.println("categoryDetailsBean–>User detail get details "+ this.getProductId());

return productDetails;

}

public void modifyProductDetails(ProductDetails productDetails){

this.setCategoryId(productDetails.getCategoryId());

this.setProductName(productDetails.getProductName());

this.setProductDescription(productDetails.getProductDescription());

this.setManufacturer(productDetails.getManufacturer());

this.setPrice(productDetails.getPrice());

this.setStatus(productDetails.getStatus());

this.setQuantityStock(productDetails.getQuantityStock());

System.out.println("categoryDetailsBean–>User detail get details "+ this.getProductId());

}

public ProductBean() {}

public Long ejbCreate(ProductDetails productDetails) throws CreateException {

setCategoryId(productDetails.getCategoryId());

setProductId(productDetails.getProductId());

setProductName(productDetails.getProductName());

setProductDescription(productDetails.getProductDescription());

setManufacturer(productDetails.getManufacturer());

setPrice(productDetails.getPrice());

setStatus(productDetails.getStatus());

setQuantityStock(productDetails.getQuantityStock());

System.out.println("productDetails–>New ProductDetail was created ");

return null;

}

public void setQuantity(int quantity){

this.setQuantityStock(quantity);

}

public void ejbPostCreate(ProductDetails productDetails) throws CreateException { }

public void setEntityContext(EntityContext context){this.context = context; }

public void unsetEntityContext(){context = null;}

public void ejbActivate() {}

public void ejbPassivate() {}

public void ejbLoad() {}

public void ejbStore() {}

public void ejbRemove() {

}

}

package ejburi.store;

import java.rmi.RemoteException;

import ejburi.util.*;

import javax.ejb.EJBObject;

import javax.ejb.*;

/**

* Created 28.04.2003 21:31:31

* Code generated by the Forte for Java EJB Module

* @author USER

*/

public interface ProductLocal extends EJBLocalObject {

public long getProductId()throws RemoteException;

public long getCategoryId()throws RemoteException;

public String getProductName()throws RemoteException;

public String getProductDescription()throws RemoteException;

public double getPrice()throws RemoteException;

public int getStatus()throws RemoteException;

public String getManufacturer()throws RemoteException;

public int getQuantityStock()throws RemoteException;

public void setQuantity(int quantity)throws RemoteException;

public ProductDetails getProductDetails() throws RemoteException;

public void modifyProductDetails(ProductDetails productDetails)throws RemoteException;

public CategoryLocal getCategory()throws RemoteException;

}

package ejburi.store;

import java.rmi.RemoteException;

import javax.ejb.CreateException;

import javax.ejb.EJBHome;

import javax.ejb.FinderException;

import ejburi.util.*;

import javax.ejb.*;

import java.util.*;

/**

* Created 28.04.2003 21:31:31

* Code generated by the Forte for Java EJB Module

* @author USER

*/

public interface ProductLocalHome extends EJBLocalHome {

public ProductLocal findByPrimaryKey(Long productId)

throws RemoteException, FinderException;

public ProductLocal create (ProductDetails productDetails) throws CreateException;

public ProductLocal findLikeNameProduct (String productName) throws FinderException;

public Collection findLikeCategory(String nameCategory)throws FinderException;

public Collection findAllProducts()throws FinderException;

public Collection findByStatusProducts(int status)throws FinderException;

}

package ejburi.store;

import javax.ejb.EJBObject;

import javax.rmi.*;

import javax.ejb.*;

import javax.naming.*;

import javax.ejb.CreateException;

import javax.ejb.SessionBean;

import javax.ejb.SessionContext;

import javax.ejb.SessionSynchronization;

import ejburi.util.*;

import java.util.*;

/**

* Created 30.04.2003 15:14:36

*/

public class StoreSessionEJB implements SessionBean {

private SessionContext context;

private CategoryLocalHome categoryHome = null;

private ProductLocalHome productHome = null;

//look for product by name

public ProductDetails getProductDetails(Long productId) {

System.out.println("StoreSessionBean getProductDetails");

try {

Context initial = new InitialContext();

Object objref1 = initial.lookup("java:comp/env/ejb/SimpleProduct");

productHome =(ProductLocalHome)PortableRemoteObject.narrow(objref1,ProductLocalHome.class);

System.out.println("StoreSessionBean dupa ObjrefSimpleProduct getProduct");

ProductDetails productDetails = null;

ProductLocal product = productHome.findByPrimaryKey(productId);

return product.getProductDetails();

}catch (Exception ex) {

throw new EJBException("StoreSessionBean->getProduct: "+ex.getMessage());}

} // getProduct

public void modifyProductDetails(ProductDetails productDetails) {

System.out.println("StoreSessionBean getProductDetails");

try {

Context initial = new InitialContext();

Object objref1 = initial.lookup("java:comp/env/ejb/SimpleProduct");

productHome =(ProductLocalHome)PortableRemoteObject.narrow(objref1,ProductLocalHome.class);

System.out.println("StoreSessionBean dupa ObjrefSimpleProduct modifyProductDetails");

Long uKey=new Long(productDetails.getProductId());

ProductLocal product = productHome.findByPrimaryKey(uKey);

product.modifyProductDetails(productDetails);

}catch (Exception ex) {

throw new EJBException("StoreSessionBean->getProduct: "+ex.getMessage());}

} // modifyProduct

//create Product

public void createProduct(ProductDetails productDetails) {

System.out.println("StoreSessionBean createCategory");

try {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleCategory");

productHome = (ProductLocalHome)PortableRemoteObject.narrow(objref,ProductLocalHome.class);

ProductLocal product = productHome.create(productDetails);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropProductFromCategory(long categoryId,ProductDetails productDetails) {

System.out.println("FantasyAdmEJB createTeam");

try {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleCategory");

Object objref1 = initial.lookup("java:comp/env/ejb/SimpleProduct");

categoryHome = (CategoryLocalHome)PortableRemoteObject.narrow(objref,CategoryLocalHome.class);

productHome = (ProductLocalHome)PortableRemoteObject.narrow(objref1,ProductLocalHome.class);

Long uKey=new Long(categoryId);

Long uKeyDet=new Long(productDetails.getProductId());

CategoryLocal category = categoryHome.findByPrimaryKey(uKey);

ProductLocal product=productHome.findByPrimaryKey(uKeyDet);

category.dropProduct(product);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getProductsByStatus(int status) {

ArrayList detailsList = new ArrayList();

Collection products = null;

System.out.println("StoreSessionBean getProductsOfCategory");

try{

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleCategory");

Object objref1 = initial.lookup("java:comp/env/ejb/SimpleProduct");

categoryHome = (CategoryLocalHome)PortableRemoteObject.narrow(objref,CategoryLocalHome.class);

productHome =(ProductLocalHome)PortableRemoteObject.narrow(objref1,ProductLocalHome.class);

products=productHome.findByStatusProducts(status);

Iterator i = products.iterator();

while (i.hasNext()) {

ProductLocal product = (ProductLocal) i.next();

ProductDetails details = new ProductDetails(product.getProductId(),product.getCategoryId(),product.getProductName(),product.getProductDescription(),

product.getPrice(),product.getStatus(),product.getManufacturer(),product.getQuantityStock());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException("StoreSessionBean->getProductsOfCategory: "+ex.getMessage());}

} // getProductsoByStatus

//look for product from a specific category

public ArrayList getProductsOfCategory(String nameCategory) {

ArrayList detailsList = new ArrayList();

Collection products = null;

System.out.println("StoreSessionBean getProductsOfCategory");

try{

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleCategory");

Object objref1 = initial.lookup("java:comp/env/ejb/SimpleProduct");

categoryHome = (CategoryLocalHome)PortableRemoteObject.narrow(objref,CategoryLocalHome.class);

productHome =(ProductLocalHome)PortableRemoteObject.narrow(objref1,ProductLocalHome.class);

products=productHome.findLikeCategory(nameCategory);

Iterator i = products.iterator();

while (i.hasNext()) {

ProductLocal product = (ProductLocal) i.next();

ProductDetails details = new ProductDetails(product.getProductId(),product.getCategoryId(),product.getProductName(),product.getProductDescription(),

product.getPrice(),product.getStatus(),product.getManufacturer(),product.getQuantityStock());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException("StoreSessionBean->getProductsOfCategory: "+ex.getMessage());}

} // getProductsofCategory

public int getNumberOfProducts(){

ArrayList detailsList = new ArrayList();

Collection products = null;

try {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleCategory");

Object objref1 = initial.lookup("java:comp/env/ejb/SimpleProduct");

categoryHome = (CategoryLocalHome)PortableRemoteObject.narrow(objref,CategoryLocalHome.class);

productHome =(ProductLocalHome)PortableRemoteObject.narrow(objref1,ProductLocalHome.class);

products=productHome.findAllProducts();

ProductDetails productDetails = null;

Iterator i = products.iterator();

while (i.hasNext()) {

ProductLocal product = (ProductLocal) i.next();

ProductDetails details = new ProductDetails(product.getProductId(),product.getCategoryId(),product.getProductName(),product.getProductDescription(),

product.getPrice(),product.getStatus(),product.getManufacturer(),product.getQuantityStock());

detailsList.add(details);

}

return detailsList.size();

}catch (Exception ex) {

throw new EJBException("StoreSessionBean->getProductsOfCategory: "+ex.getMessage());}

}

// Category business methods

public void createCategory(CategoryDetails details) {

System.out.println("StoreSessionBean createCategory");

try {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleCategory");

categoryHome = (CategoryLocalHome)PortableRemoteObject.narrow(objref,CategoryLocalHome.class);

CategoryLocal category = categoryHome.create(details);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void removeCategory(long categoryId) {

System.out.println("StoreSessionBean removeCategory");

try {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleCategory");

categoryHome = (CategoryLocalHome)PortableRemoteObject.narrow(objref,CategoryLocalHome.class);

Long uKey=new Long(categoryId);

CategoryLocal category = categoryHome.findByPrimaryKey(uKey);

category.remove();

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public CategoryDetails getCategoryDetails(long categoryId) {

System.out.println("StoreSessionBean getCategory");

try {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleCategory");

categoryHome = (CategoryLocalHome)PortableRemoteObject.narrow(objref,CategoryLocalHome.class);

Long uKey=new Long(categoryId);

CategoryLocal category = categoryHome.findByPrimaryKey(uKey);

return category.getCategoryDetails();

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void modifyCategoryDetails(CategoryDetails details){

try{

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleCategory");

categoryHome = (CategoryLocalHome)PortableRemoteObject.narrow(objref,CategoryLocalHome.class);

System.out.println("StoreSessionBean modifyCategoryDetails ");

Long uKey=new Long(details.getCategoryId());

CategoryLocal category = categoryHome.findByPrimaryKey(uKey);

category.modifyCategoryDetails(details);

}catch (Exception e) {

throw new EJBException("AuthBean->modifyeUserDetails: "+e.getMessage());}

}

// Product business methods

public void createProductInCategory(ProductDetails details, long categoryId) {

System.out.println("StoreSessionBean createProductInCategory");

try {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleCategory");

Object objref1 = initial.lookup("java:comp/env/ejb/SimpleProduct");

categoryHome = (CategoryLocalHome)PortableRemoteObject.narrow(objref,CategoryLocalHome.class);

productHome =(ProductLocalHome)PortableRemoteObject.narrow(objref1,ProductLocalHome.class);

Long uKey=new Long(categoryId);

CategoryLocal category = categoryHome.findByPrimaryKey(uKey);

ProductLocal product = productHome.create(details);

category.addProduct(product);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void removeProduct(long productId) {

System.out.println("StoreSessionBean removeProduct");

try {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleCategory");

Object objref1 = initial.lookup("java:comp/env/ejb/SimpleProduct");

categoryHome = (CategoryLocalHome)PortableRemoteObject.narrow(objref,CategoryLocalHome.class);

productHome =(ProductLocalHome)PortableRemoteObject.narrow(objref1,ProductLocalHome.class);

Long uKey=new Long(productId);

ProductLocal product = productHome.findByPrimaryKey(uKey);

product.remove();

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void modifyProductQuantity(long productId,int quantity){

try{

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleCategory");

Object objref1 = initial.lookup("java:comp/env/ejb/SimpleProduct");

categoryHome = (CategoryLocalHome)PortableRemoteObject.narrow(objref,CategoryLocalHome.class);

productHome =(ProductLocalHome)PortableRemoteObject.narrow(objref1,ProductLocalHome.class);

Long uKey=new Long(productId);

ProductLocal product = productHome.findByPrimaryKey(uKey);

product.setQuantity(quantity);

}catch (Exception e) {

throw new EJBException("AuthBean->modifyeUserDetails: "+e.getMessage());}

}

public Collection getProducts() {

ArrayList detailsList = new ArrayList();

Collection products = null;

try {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleCategory");

Object objref1 = initial.lookup("java:comp/env/ejb/SimpleProduct");

categoryHome = (CategoryLocalHome)PortableRemoteObject.narrow(objref,CategoryLocalHome.class);

productHome =(ProductLocalHome)PortableRemoteObject.narrow(objref1,ProductLocalHome.class);

System.out.println("StoreSessionBean dupa ObjrefSimpleProduct getNumberOfProducts");

products=productHome.findAllProducts();

ProductDetails productDetails = null;

Iterator i = products.iterator();

while (i.hasNext()) {

ProductLocal product = (ProductLocal) i.next();

ProductDetails details = new ProductDetails(product.getProductId(),product.getCategoryId(),product.getProductName(),product.getProductDescription(),

product.getPrice(),product.getStatus(),product.getManufacturer(),product.getQuantityStock());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException("StoreSessionBean->getProducts: "+ex.getMessage());}

}

public Collection getCategories() {

ArrayList detailsList = new ArrayList();

Collection categories = null;

try {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleCategory");

categoryHome = (CategoryLocalHome)PortableRemoteObject.narrow(objref,CategoryLocalHome.class);

System.out.println("StoreSessionBean dupa ObjrefSimpleProduct getCategories");

categories=categoryHome.findAllCategories();

CategoryDetails categoryDetails = null;

Iterator i = categories.iterator();

while (i.hasNext()) {

CategoryLocal category = (CategoryLocal) i.next();

CategoryDetails details = new CategoryDetails(category.getCategoryId(),category.getNameCategory());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException("StoreSessionBean->getProducts: "+ex.getMessage());}

}

public StoreSessionEJB() {}

public void ejbCreate() throws CreateException {}

public void ejbRemove() {}

public void ejbActivate() {}

public void ejbPassivate() {}

public void setSessionContext(SessionContext context) {this.context = context;}

}}

package ejburi.store;

import java.rmi.RemoteException;

import java.util.*;

import javax.ejb.EJBObject;

import ejburi.util.*;

/**

* Created 30.04.2003 15:14:36

*/

public interface StoreSession extends EJBObject {

//products

public ArrayList getProductsOfCategory(String nameCategory)throws RemoteException;

public ProductDetails getProductDetails(Long productId)throws RemoteException;

public void modifyProductDetails(ProductDetails productDetails)throws RemoteException;

public int getNumberOfProducts() throws RemoteException;

public Collection getProducts()throws RemoteException;

public void createProduct(ProductDetails productDetails)throws RemoteException;

public void removeProduct(long productId)throws RemoteException;

public void createProductInCategory(ProductDetails details, long categoryId)throws RemoteException;

public void dropProductFromCategory(long categoryId,ProductDetails productDetails) throws RemoteException;

public ArrayList getProductsByStatus(int status)throws RemoteException;

public void modifyProductQuantity(long productId,int quantity)throws RemoteException;

//category

public void modifyCategoryDetails(CategoryDetails details)throws RemoteException;

public CategoryDetails getCategoryDetails(long categoryId)throws RemoteException;

public void removeCategory(long categoryId)throws RemoteException;

public void createCategory(CategoryDetails details)throws RemoteException;

public Collection getCategories()throws RemoteException;

}

package ejburi.store;

import java.rmi.RemoteException;

import javax.ejb.CreateException;

import javax.ejb.EJBHome;

public interface StoreSessionHome extends EJBHome {

public StoreSession create() throws RemoteException,CreateException;

}

Pachetul ejburi.league

package ejburi.league;

import javax.ejb.CreateException;

import javax.ejb.EntityBean;

import javax.ejb.EntityContext;

import javax.ejb.FinderException;

import ejburi.util.*;

import java.util.*;

import javax.ejb.*;

/**

* Created 08.05.2003 17:37:32

*/

public abstract class FantasyBean implements EntityBean {

private transient EntityContext context;

public abstract long getFantasyId();

public abstract void setFantasyId(long fantasyId);

public abstract String getNameFantasy();

public abstract void setNameFantasy(String nameFantasy);

public abstract String getSport();

public abstract void setSport(String sport);

public abstract Collection getTeams();

public abstract void setTeams(Collection teams);

public abstract Collection getNews();

public abstract void setNews(Collection news);

public FantasyBean() { }

public void addTeam(TeamLocal team) {

try {

Collection teams = getTeams();

teams.add(team);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropTeam(TeamLocal team) {

try {

Collection teams = getTeams();

teams.remove(team);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void addNews(NewsLocal news) {

try {

Collection newsS = getNews();

newsS.add(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropNews(NewsLocal news) {

try {

Collection newsS = getNews();

newsS.remove(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public Long ejbCreate(FantasyDetails details) throws CreateException {

setFantasyId(details.getFantasyId());

setNameFantasy(details.getNameFantasy());

setSport(details.getSport());

System.out.println("FantasyDetailBean–>New FantasyDetail was created ");

return null;

}

public FantasyDetails getFantasyDetails(){

FantasyDetails fantasyDetails=new FantasyDetails();

fantasyDetails.setFantasyId(this.getFantasyId());

fantasyDetails.setNameFantasy(this.getNameFantasy());

fantasyDetails.setSport(this.getSport());

System.out.println("FantasyDetailBean–>Fantasy detail get details "+ this.getFantasyId());

return fantasyDetails;

}

public void modifyFantasyDetails(FantasyDetails details){

this.setNameFantasy(details.getNameFantasy());

this.setSport(details.getSport());

System.out.println("FantasyDetailBean–>Fantasydetail was modify "+ this.getFantasyId());

}

public void ejbPostCreate(FantasyDetails details) throws CreateException { }

public void setEntityContext(EntityContext context){ this.context = context; }

public void unsetEntityContext(){context = null;}

public void ejbActivate() {}

public void ejbPassivate() { }

public void ejbLoad() {}

public void ejbStore() {}

public void ejbRemove() {}

}

package ejburi.league;

import java.rmi.RemoteException;

import javax.ejb.*;

import javax.ejb.EJBObject;

import javax.ejb.*;

import ejburi.util.*;

import java.util.*;

/**

* Created 08.05.2003 17:37:32

*/

public interface FantasyLocal extends EJBLocalObject {

public long getFantasyId()throws java.rmi.RemoteException;

public String getNameFantasy()throws java.rmi.RemoteException;

public String getSport()throws java.rmi.RemoteException;

public FantasyDetails getFantasyDetails()throws java.rmi.RemoteException;

public void modifyFantasyDetails(FantasyDetails details)throws java.rmi.RemoteException;

public Collection getTeams()throws RemoteException;

public Collection getNews()throws RemoteException;

public void addTeam(TeamLocal team)throws java.rmi.RemoteException;

public void dropTeam(TeamLocal team)throws java.rmi.RemoteException;

public void dropNews(NewsLocal news)throws java.rmi.RemoteException;

public void addNews(NewsLocal news)throws java.rmi.RemoteException;

}

package ejburi.league;

import java.rmi.RemoteException;

import javax.ejb.*;

import javax.ejb.CreateException;

import javax.ejb.EJBHome;

import javax.ejb.FinderException;

import javax.ejb.*;

import ejburi.util.*;

import java.util.*;

/**

* Created 08.05.2003 17:37:32

*/

public interface FantasyLocalHome extends EJBLocalHome {

public FantasyLocal findByPrimaryKey(Long aKey)

throws RemoteException, FinderException;

public FantasyLocal create (FantasyDetails details) throws CreateException;

public Collection findLikeNameFantasy (String nameFantasy) throws FinderException;

public Collection findAllFantasy () throws FinderException;

}

package ejburi.league;

import javax.ejb.CreateException;

import javax.ejb.EntityBean;

import javax.ejb.EntityContext;

import javax.ejb.FinderException;

import ejburi.util.*;

import java.util.*;

import javax.ejb.*;

/**

* Created 08.05.2003 18:05:53

*/

public abstract class TeamBean implements EntityBean {

private transient EntityContext context;

public abstract long getTeamId();

public abstract void setTeamId(long teamId);

public abstract long getFantasyId();

public abstract void setFantasyId(long fantasyId);

public abstract long getBirth();

public abstract void setBirth(long birth);

public abstract String getNameTeam();

public abstract void setNameTeam(String nameTeam);

public abstract String getCoach();

public abstract void setCoach(String coach);

public abstract String getPlaceInLeague();

public abstract void setPlaceInLeague(String placeInLeague);

public abstract String getCity();

public abstract void setCity(String city);

public abstract String getState();

public abstract void setState(String state);

public abstract String getDoctor();

public abstract void setDoctor(String doctor);

public abstract int getNrVictoriesHome();

public abstract void setNrVictoriesHome(int nrVictoriesHome);

public abstract int getNrVictoriesAway();

public abstract void setNrVictoriesAway(int nrVictoriesAway);

public abstract int getNrGames();

public abstract void setNrGames(int nrGames);

//select methods relationships

public abstract Collection getPlayers();

public abstract void setPlayers(Collection players);

public abstract FantasyLocal getFantasy();

public abstract void setFantasy(FantasyLocal fantasy);

public abstract TransactionLocal getTransactionSeller();

public abstract void setTransactionSeller(TransactionLocal transactionSeller);

public abstract TransactionLocal getTransactionBuyer() ;

public abstract void setTransactionBuyer(TransactionLocal transactionBuyer);

public abstract Collection getNews();

public abstract void setNews(Collection news);

public TeamBean() {}

public void addPlayer(PlayerLocal player) {

try {

Collection players = getPlayers();

players.add(player);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropPlayer(PlayerLocal player) {

try {

Collection players = getPlayers();

players.remove(player);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void addNews(NewsLocal news) {

try {

Collection newsS = getNews();

newsS.add(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropNews(NewsLocal news) {

try {

Collection newsS = getNews();

newsS.remove(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public Long ejbCreate(TeamDetails details) throws CreateException {

setTeamId(details.getTeamId());

setFantasyId(details.getFantasyId());

setBirth(details.getBirth());

setNameTeam(details.getNameTeam());

setCoach(details.getCoach());

setPlaceInLeague(details.getPlaceInLeague());

setCity(details.getCity());

setState(details.getState());

setDoctor(details.getDoctor());

setNrVictoriesHome(details.getNrVictoriesHome());

setNrVictoriesAway(details.getNrVictoriesAway());

setNrGames(details.getNrGames());

System.out.println("TeamdDetailBean–>New TeamdDetail was created ");

return null;

}

public TeamDetails getTeamDetails(){

TeamDetails teamDetails=new TeamDetails();

teamDetails.setTeamId(this.getTeamId());

teamDetails.setFantasyId(this.getFantasyId());

teamDetails.setNameTeam(this.getNameTeam());

teamDetails.setCoach(this.getCoach());

teamDetails.setBirth(this.getBirth());

teamDetails.setPlaceInLeague(this.getPlaceInLeague());

teamDetails.setCity(this.getCity());

teamDetails.setState(this.getState());

teamDetails.setDoctor(this.getDoctor());

teamDetails.setNrVictoriesHome(this.getNrVictoriesHome());

teamDetails.setNrVictoriesAway(this.getNrVictoriesAway());

teamDetails.setNrGames(this.getNrGames());

System.out.println("TeamdDetailBean–>Teamddetail get details "+ this.getTeamId());

return teamDetails;

}

public void modifyTeamDetails(TeamDetails details){

this.setFantasyId(details.getFantasyId());

this.setNameTeam(details.getNameTeam());

this.setCoach(details.getCoach());

this.setBirth(details.getBirth());

this.setPlaceInLeague(details.getPlaceInLeague());

this.setCity(details.getCity());

this.setState(details.getState());

this.setDoctor(details.getDoctor());

this.setNrVictoriesHome(details.getNrVictoriesHome());

this.setNrVictoriesAway(details.getNrVictoriesAway());

this.setNrGames(details.getNrGames());

System.out.println("TeamdDetailBean–>Teamdetail was modify "+ this.getTeamId());

}

public void ejbPostCreate(TeamDetails details) throws CreateException { }

public void setEntityContext(EntityContext context){this.context = context; }

public void unsetEntityContext(){context = null; }

public void ejbActivate() {}

public void ejbPassivate() {}

public void ejbLoad() { }

public void ejbStore() {}

public void ejbRemove() {}

}

package ejburi.league;

import java.rmi.RemoteException;

import ejburi.util.*;

import java.util.*;

import javax.ejb.*;

import javax.ejb.EJBObject;

/**

* Created 08.05.2003 18:05:53

*/

public interface TeamLocal extends EJBLocalObject {

public long getTeamId()throws java.rmi.RemoteException;

public long getFantasyId()throws java.rmi.RemoteException;

public long getBirth()throws java.rmi.RemoteException;

public String getNameTeam()throws java.rmi.RemoteException;

public String getCoach()throws java.rmi.RemoteException;

public String getPlaceInLeague()throws java.rmi.RemoteException;

public String getCity()throws java.rmi.RemoteException;

public String getState()throws java.rmi.RemoteException;

public String getDoctor()throws java.rmi.RemoteException;

public int getNrVictoriesHome()throws java.rmi.RemoteException;

public int getNrVictoriesAway()throws java.rmi.RemoteException;

public int getNrGames()throws java.rmi.RemoteException;

public abstract Collection getPlayers()throws java.rmi.RemoteException;

public FantasyLocal getFantasy()throws java.rmi.RemoteException;

public Collection getNews()throws RemoteException;

public abstract TransactionLocal getTransactionBuyer()throws RemoteException;

public abstract TransactionLocal getTransactionSeller()throws RemoteException;

public void addPlayer(PlayerLocal player) throws java.rmi.RemoteException;

public void dropPlayer(PlayerLocal player)throws java.rmi.RemoteException;

public TeamDetails getTeamDetails()throws java.rmi.RemoteException;

public void modifyTeamDetails(TeamDetails details)throws java.rmi.RemoteException;

public void dropNews(NewsLocal news)throws java.rmi.RemoteException;

public void addNews(NewsLocal news)throws java.rmi.RemoteException;

}

package ejburi.league;

import java.rmi.RemoteException;

import javax.ejb.CreateException;

import javax.ejb.EJBHome;

import javax.ejb.FinderException;

import ejburi.util.*;

import java.util.*;

import javax.ejb.*;

/**

Created 08.05.2003 18:05:53*/

public interface TeamLocalHome extends EJBLocalHome {

public TeamLocal findByPrimaryKey(Long aKey)

throws RemoteException, FinderException;

public TeamLocal create (TeamDetails details) throws CreateException;

public Collection findLikeNameTeam (String nameTeam) throws FinderException;

public Collection findAllTeamsFantasy (long fantasyId) throws FinderException;

public Collection findAllTeams() throws FinderException;

}

package ejburi.league;

import java.math.BigDecimal;

import javax.ejb.CreateException;

import javax.ejb.EntityBean;

import javax.ejb.EntityContext;

import javax.ejb.FinderException;

import ejburi.util.*;

import javax.ejb.*;

import java.util.*;

/**

* Created 08.05.2003 19:31:42

*/

public abstract class PlayerBean implements EntityBean {

private transient EntityContext context;

public abstract long getPlayerId();

public abstract void setPlayerId(long playerId);

public abstract long getTeamId();

public abstract void setTeamId(long teamId);

public abstract String getCity();

public abstract void setCity(String city);

public abstract String getState();

public abstract void setState(String state);

public abstract String getStatus();

public abstract void setStatus(String status);

public abstract String getNamePlayer();

public abstract void setNamePlayer(String namePlayer);

public abstract String getSurname();

public abstract void setSurname(String surname);

public abstract String getNickname();

public abstract void setNickname(String nickname);

public abstract String getPosition();

public abstract void setPosition(String position);

public abstract long getBirthdate();

public abstract void setBirthdate(long birthdate);

public abstract int getExperience();

public abstract void setExperience(int experience);

public PlayerBean() { }

//select methods relationships

public abstract Collection getInactives();

public abstract void setInactives(Collection inactives);

public abstract TeamLocal getTeam();

public abstract void setTeam(TeamLocal team);

public abstract TransactionLocal getTransaction();

public abstract void setTransaction(TransactionLocal transaction);

public abstract Collection getNews();

public abstract void setNews(Collection news);

public void addInactives(InactivesLocal inactive) {

try {

Collection inactives = getInactives();

inactives.add(inactive);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropInactives(InactivesLocal inactive) {

try {

Collection inactives = getInactives();

inactives.remove(inactive);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void addNews(NewsLocal news) {

try {

Collection newsS = getNews();

newsS.add(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropNews(NewsLocal news) {

try {

Collection newsS = getNews();

newsS.remove(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public Long ejbCreate(PlayerDetails details) throws CreateException {

setPlayerId(details.getPlayerId());

setTeamId(details.getTeamId());

setCity(details.getCity());

setState(details.getState());

setStatus(details.getStatus());

setNamePlayer(details.getNamePlayer());

setSurname(details.getSurname());

setNickname(details.getNickname());

setPosition(details.getPosition());

setBirthdate(details.getBirthdate());

setExperience(details.getExperience());

System.out.println("PlayerDetailBean–>New PlayerDetail was created ");

return null;

}

public PlayerDetails getPlayerDetails(){

PlayerDetails playerDetails=new PlayerDetails();

playerDetails.setTeamId(this.getTeamId());

playerDetails.setPlayerId(this.getPlayerId());

playerDetails.setStatus(this.getStatus());

playerDetails.setNamePlayer(this.getNamePlayer());

playerDetails.setSurname(this.getSurname());

playerDetails.setNickname(this.getNickname());

playerDetails.setCity(this.getCity());

playerDetails.setState(this.getState());

playerDetails.setPosition(this.getPosition());

playerDetails.setBirthdate(this.getBirthdate());

playerDetails.setExperience(this.getExperience());

System.out.println("PlayerDetailBean–>Playerdetail get details "+ this.getPlayerId());

return playerDetails;

}

public void modifyPlayerDetails(PlayerDetails details){

this.setTeamId(details.getTeamId());

this.setStatus(details.getStatus());

this.setNamePlayer(details.getNamePlayer());

this.setSurname(details.getSurname());

this.setNickname(details.getNickname());

this.setCity(details.getCity());

this.setState(details.getState());

this.setPosition(details.getPosition());

this.setBirthdate(details.getBirthdate());

this.setExperience(details.getExperience());

System.out.println("PlayerDetailBean–>Playeretail was modify "+ this.getPlayerId());

}

public void ejbPostCreate(PlayerDetails details) throws CreateException { }

public void setEntityContext(EntityContext context){this.context = context; }

public void unsetEntityContext(){context = null; }

public void ejbActivate() { }

public void ejbPassivate() { }

public void ejbLoad() {}

public void ejbStore() { }

public void ejbRemove() {}

}

package ejburi.league;

import java.rmi.RemoteException;

import ejburi.util.*;

import javax.ejb.*;

import java.util.*;

import javax.ejb.EJBObject;

import javax.naming.*;

/**

* Created 08.05.2003 19:31:42

*/

public interface PlayerLocal extends EJBLocalObject {

public long getPlayerId()throws java.rmi.RemoteException;

public long getTeamId()throws java.rmi.RemoteException;

public String getCity()throws java.rmi.RemoteException;

public String getState()throws java.rmi.RemoteException;

public String getStatus()throws java.rmi.RemoteException;

public String getNamePlayer()throws java.rmi.RemoteException;

public String getSurname()throws java.rmi.RemoteException;

public String getNickname()throws java.rmi.RemoteException;

public String getPosition()throws java.rmi.RemoteException;

public long getBirthdate()throws java.rmi.RemoteException;

public int getExperience()throws java.rmi.RemoteException;

//select methods relationships

public Collection getInactives()throws java.rmi.RemoteException;

public TeamLocal getTeam()throws java.rmi.RemoteException;

public Collection getNews()throws RemoteException;

public TransactionLocal getTransaction()throws RemoteException;

public void addInactives(InactivesLocal inactive)throws java.rmi.RemoteException;

public void dropInactives(InactivesLocal inactive)throws java.rmi.RemoteException;

public void modifyPlayerDetails(PlayerDetails details)throws java.rmi.RemoteException;

public PlayerDetails getPlayerDetails()throws java.rmi.RemoteException;

public void dropNews(NewsLocal news)throws java.rmi.RemoteException;

public void addNews(NewsLocal news)throws java.rmi.RemoteException;

}

package ejburi.league;

import java.rmi.RemoteException;

import javax.ejb.CreateException;

import javax.ejb.EJBHome;

import javax.ejb.FinderException;

import ejburi.util.*;

import javax.ejb.*;

import java.util.*;

/**

* Created 08.05.2003 19:31:42

*/

public interface PlayerLocalHome extends EJBLocalHome {

public PlayerLocal findByPrimaryKey(Long aKey)throws RemoteException, FinderException;

public PlayerLocal create(PlayerDetails details) throws CreateException;

public Collection findLikeNamePlayer (String namePlayer) throws FinderException;

public Collection findAllPlayersFantasy (long fantasyId) throws FinderException;

public Collection findAllPlayersTeamFantasy (long fantasyId,String nameTeam) throws FinderException;

public Collection findAllPlayersPos (long fantasyId,String position) throws FinderException;

public Collection findAllPlayersPosName (long fantasyId,String position,String namePlayer) throws FinderException;

public Collection findAllPlayers() throws FinderException;

public Collection findAllPlayersTeam (long teamId) throws FinderException;

public Collection findAllPlayersTransaction (long transactionId) throws FinderException;

public Collection findPlayersByPositionTeamFantasy (long fantasyId,String nameTeam,String position) throws FinderException;

}

package ejburi.league;

import javax.ejb.CreateException;

import javax.ejb.EntityBean;

import javax.ejb.EntityContext;

import javax.ejb.FinderException;

import javax.ejb.*;

import java.util.*;

import ejburi.util.*;

/**

* Created 08.05.2003 20:19:39

*/

public abstract class InactivesBean implements EntityBean {

private transient EntityContext context;

public abstract long getInjuryId();

public abstract void setInjuryId(long injuryId);

public abstract long getPlayerId();

public abstract void setPlayerId(long playerId);

public abstract long getDate();

public abstract void setDate(long date);

public abstract long getDateB();

public abstract void setDateB(long dateB);

public abstract long getDateF();

public abstract void setDateF(long dateF);

public abstract String getMotiv();

public abstract void setMotiv(String motiv);

public InactivesBean() {}

//select methods relationships

public abstract Collection getPlayers();

public abstract void setPlayers(Collection players);

public abstract Collection getNews();

public abstract void setNews(Collection news);

public void addNews(NewsLocal news) {

try {

Collection newsS = getNews();

newsS.add(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropNews(NewsLocal news) {

try {

Collection newsS = getNews();

newsS.remove(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public Long ejbCreate(InactivesDetails details) throws CreateException {

setInjuryId(details.getInjuryId());

setPlayerId(details.getPlayerId());

setDate(details.getDate());

setDateB(details.getDateB());

setDateF(details.getDateF());

setMotiv(details.getMotiv());

System.out.println("InactivesDetailBean–>New InactivesDetail was created ");

return null;

}

public InactivesDetails getInactivesDetails(){

InactivesDetails inactivesDetails=new InactivesDetails();

inactivesDetails.setInjuryId(this.getInjuryId());

inactivesDetails.setPlayerId(this.getPlayerId());

inactivesDetails.setDate(this.getDate());

inactivesDetails.setDateB(this.getDateB());

inactivesDetails.setDateF(this.getDateF());

inactivesDetails.setMotiv(this.getMotiv());

System.out.println("InactivesDetailBean–>Inactivesdetail get details "+ this.getInjuryId());

return inactivesDetails;

}

public void modifyInactivesDetails(InactivesDetails details){

this.setPlayerId(details.getPlayerId());

this.setDate(details.getDate());

this.setDateB(details.getDateB());

this.setDateF(details.getDateF());

this.setMotiv(details.getMotiv());

System.out.println("InactivesDetailBean–>Inactivesetail was modify "+ this.getInjuryId());

}

public void ejbPostCreate(InactivesDetails details) throws CreateException { }

public void setEntityContext(EntityContext context){this.context = context;}

public void unsetEntityContext(){context = null;}

public void ejbActivate() {}

public void ejbPassivate() {}

public void ejbLoad() {}

public void ejbStore() {}

public void ejbRemove() {}

}

package ejburi.league;

import java.rmi.RemoteException;

import javax.ejb.EJBObject;

import javax.ejb.*;

import java.util.*;

import ejburi.util.*;

/**

* Created 08.05.2003 20:19:39

*/

public interface InactivesLocal extends EJBLocalObject {

public long getInjuryId()throws java.rmi.RemoteException;

public long getPlayerId()throws java.rmi.RemoteException;

public long getDate()throws java.rmi.RemoteException;

public long getDateB()throws java.rmi.RemoteException;

public long getDateF()throws java.rmi.RemoteException;

public String getMotiv()throws java.rmi.RemoteException;

public Collection getPlayers()throws java.rmi.RemoteException;

public Collection getNews()throws RemoteException;

public void modifyInactivesDetails(InactivesDetails details)throws java.rmi.RemoteException;

public InactivesDetails getInactivesDetails()throws java.rmi.RemoteException;

public void dropNews(NewsLocal news)throws java.rmi.RemoteException;

public void addNews(NewsLocal news)throws java.rmi.RemoteException;

}

package ejburi.league;

import java.rmi.RemoteException;

import javax.ejb.CreateException;

import javax.ejb.EJBHome;

import javax.ejb.FinderException;

import javax.ejb.*;

import java.util.*;

import ejburi.util.*;

/**

* Created 08.05.2003 20:19:39

*/

public interface InactivesLocalHome extends EJBLocalHome {

public InactivesLocal findByPrimaryKey(Long aKey)

throws RemoteException, FinderException;

public InactivesLocal create (InactivesDetails details) throws CreateException;

public Collection findAllInactives () throws FinderException;

public Collection findPlayerInactives(long fantasyId,String namePlayer) throws FinderException;

public Collection findPlayerInactives(long playerId) throws FinderException;

}

package ejburi.league;

import javax.ejb.CreateException;

import javax.ejb.EntityBean;

import javax.ejb.EntityContext;

import javax.ejb.FinderException;

import ejburi.util.*;

import javax.ejb.*;

import java.util.*;

/**

* Created 08.05.2003 20:38:21

*/

public abstract class TransactionBean implements EntityBean {

private transient EntityContext context;

public abstract long getTransactionId();

public abstract void setTransactionId(long transactionId);

public abstract long getPlayerId();

public abstract void setPlayerId(long transactionId);

public abstract long getTeamSellerId();

public abstract void setTeamSellerId(long teamSellerId);

public abstract long getTeamBuyerId();

public abstract void setTeamBuyerId(long teamBuyerId);

public abstract long getDateContract();

public abstract void setDateContract(long dateContract);

public abstract String getPeriod();

public abstract void setPeriod(String period);

//select methods

public abstract Collection getPlayers();

public abstract void setPlayers(Collection players);

public abstract TeamLocal getTeamSeller();

public abstract void setTeamSeller(TeamLocal teamSeller);

public abstract TeamLocal getTeamBuyer();

public abstract void setTeamBuyer(TeamLocal teamBuyer);

public abstract Collection getNews();

public abstract void setNews(Collection news);

public void addNews(NewsLocal news) {

try {

Collection newsS = getNews();

newsS.add(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropNews(NewsLocal news) {

try {

Collection newsS = getNews();

newsS.remove(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void addPlayer(PlayerLocal player) {

try {

Collection players = getPlayers();

players.add(player);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropPlayer(PlayerLocal player) {

try {

Collection players = getPlayers();

players.remove(player);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public Long ejbCreate(TransactionDetails details) throws CreateException {

setTransactionId(details.getTransactionId());

setPlayerId(details.getPlayerId());

setTeamSellerId(details.getTeamSellerId());

setTeamBuyerId(details.getTeamBuyerId());

setDateContract(details.getDateContract());

setPeriod(details.getPeriod());

return null;

}

public TransactionDetails getTransactionDetails(){

TransactionDetails transactionDetails=new TransactionDetails();

transactionDetails.setTransactionId(this.getTransactionId());

transactionDetails.setPlayerId(this.getPlayerId());

transactionDetails.setTeamSellerId(this.getTeamSellerId());

transactionDetails.setTeamBuyerId(this.getTeamBuyerId());

transactionDetails.setDateContract(this.getDateContract());

transactionDetails.setPeriod(this.getPeriod());

System.out.println("InactivesDetailBean–>Inactivesdetail get details "+ this.getTransactionId());

return transactionDetails;

}

public void modifyTransactionDetails(TransactionDetails details){

this.setPlayerId(details.getPlayerId());

this.setTeamSellerId(details.getTeamSellerId());

this.setTeamBuyerId(details.getTeamBuyerId());

this.setDateContract(details.getDateContract());

this.setPeriod(details.getPeriod());

System.out.println("InactivesDetailBean–>Inactivesetail was modify "+ this.getTransactionId());

}

public void ejbPostCreate(TransactionDetails details) throws CreateException { }

public TransactionBean() { }

public void setEntityContext(EntityContext context){ this.context = context; }

public void unsetEntityContext(){context = null;}

public void ejbActivate() {}

public void ejbPassivate() {}

public void ejbLoad() {}

public void ejbStore() {}

public void ejbRemove() {}

}

package ejburi.league;

import java.rmi.RemoteException;

import javax.ejb.*;

import java.util.*;

import ejburi.util.*;

import javax.ejb.EJBObject;

/**

* Created 08.05.2003 20:38:21

*/

public interface TransactionLocal extends EJBLocalObject {

public long getTransactionId()throws java.rmi.RemoteException;

public long getPlayerId()throws java.rmi.RemoteException;

public long getTeamSellerId()throws java.rmi.RemoteException;

public long getTeamBuyerId()throws java.rmi.RemoteException;

public long getDateContract()throws java.rmi.RemoteException;

public String getPeriod()throws java.rmi.RemoteException;

//select methods

public Collection getPlayers()throws java.rmi.RemoteException;

public TeamLocal getTeamSeller()throws java.rmi.RemoteException;

public TeamLocal getTeamBuyer()throws java.rmi.RemoteException;

public Collection getNews()throws RemoteException;

public void modifyTransactionDetails(TransactionDetails details)throws java.rmi.RemoteException;

public TransactionDetails getTransactionDetails()throws java.rmi.RemoteException;

public void dropNews(NewsLocal news)throws java.rmi.RemoteException;

public void addNews(NewsLocal news)throws java.rmi.RemoteException;

public void dropPlayer(PlayerLocal player) throws java.rmi.RemoteException;

public void addPlayer(PlayerLocal player) throws java.rmi.RemoteException;

}

package ejburi.league;

import java.rmi.RemoteException;

import javax.ejb.CreateException;

import javax.ejb.EJBHome;

import javax.ejb.FinderException;

import javax.ejb.*;

import java.util.*;

import ejburi.util.*;

/**

* Created 08.05.2003 20:38:21

*/

public interface TransactionLocalHome extends EJBLocalHome {

public TransactionLocal findByPrimaryKey(Long aKey)

throws RemoteException, FinderException;

public TransactionLocal create (TransactionDetails details) throws CreateException;

public Collection findLikePeriod (String period) throws FinderException;

public Collection findAllTransactions () throws FinderException;

}

package ejburi.league;

import java.sql.Timestamp;

import javax.ejb.CreateException;

import javax.ejb.EntityBean;

import javax.ejb.EntityContext;

import javax.ejb.FinderException;

import ejburi.util.*;

import java.util.*;

import javax.ejb.*;

/**

* Created 08.05.2003 21:31:43

*/

public abstract class NewsBean implements EntityBean {

private transient EntityContext context;

public abstract long getNewsId();

public abstract void setNewsId(long newsId);

public abstract long getFantasyId();

public abstract void setFantasyId(long fantasyId);

public abstract long getTeamId();

public abstract void setTeamId(long teamId);

public abstract long getPlayerId();

public abstract void setPlayerId(long playerId);

public abstract long getInactiveId();

public abstract void setInactiveId(long injuryId);

public abstract long getTransactionId();

public abstract void setTransactionId(long transactionId);

public abstract long getDate();

public abstract void setDate(long date);

public abstract String getNews();

public abstract void setNews(String news);

public abstract String getHeadline();

public abstract void setHeadline(String headline);

public abstract int getStatus();

public abstract void setStatus(int status);

//select methods relationships

//select methods relationships

public abstract FantasyLocal getFantasy();

public abstract void setFantasy(FantasyLocal fantasy);

public abstract Collection getPlayers();

public abstract void setPlayers(Collection players);

public abstract Collection getTeams();

public abstract void setTeams(Collection teams);

public abstract InactivesLocal getInactives();

public abstract void setInactives(InactivesLocal inactive);

public abstract TransactionLocal getTransaction();

public abstract void setTransaction(TransactionLocal transaction);

public Long ejbCreate(NewsDetails details) throws CreateException {

setTransactionId(details.getTransactionId());

setPlayerId(details.getPlayerId());

setInactiveId(details.getInjuryId());

setTeamId(details.getTeamId());

setFantasyId(details.getFantasyId());

setNewsId(details.getNewsId());

setDate(details.getDate());

setNews(details.getNews());

setHeadline(details.getHeadline());

setStatus(details.getStatus());

System.out.println("InactivesDetailBean–>New InactivesDetail was created ");

return null;

}

public NewsDetails getNewsDetails(){

NewsDetails newsDetails=new NewsDetails();

newsDetails.setTransactionId(this.getTransactionId());

newsDetails.setPlayerId(this.getPlayerId());

newsDetails.setTeamId(this.getTeamId());

newsDetails.setFantasyId(this.getFantasyId());

newsDetails.setNewsId(this.getNewsId());

newsDetails.setInjuryId(this.getInactiveId());

newsDetails.setNews(this.getNews());

newsDetails.setDate(this.getDate());

newsDetails.setHeadline(this.getHeadline());

newsDetails.setStatus(this.getStatus());

System.out.println("InactivesDetailBean–>Inactivesdetail get details "+ this.getTransactionId());

return newsDetails;

}

public void modifyNewsDetails(NewsDetails details){

this.setTransactionId(details.getTransactionId());

this.setPlayerId(details.getPlayerId());

this.setTeamId(details.getTeamId());

this.setFantasyId(details.getFantasyId());

this.setInactiveId(details.getInjuryId());

this.setNews(details.getNews());

this.setDate(details.getDate());

this.setHeadline(details.getHeadline());

this.setStatus(details.getStatus());

System.out.println("InactivesDetailBean–>Inactivesetail was modify "+ this.getNewsId());

}

public void ejbPostCreate(NewsDetails details) throws CreateException { }

public NewsBean() { }

public void setEntityContext(EntityContext context){this.context = context; }

public void unsetEntityContext(){context = null;}

public void ejbActivate() {}

public void ejbPassivate() { }

public void ejbLoad() {}

public void ejbStore() {}

public void ejbRemove() {}

}

package ejburi.league;

import java.rmi.RemoteException;

import ejburi.util.*;

import java.util.*;

import javax.ejb.*;

import javax.ejb.EJBObject;

/**

* Created 08.05.2003 21:31:43

*/

public interface NewsLocal extends EJBLocalObject {

public long getNewsId()throws java.rmi.RemoteException;

public long getFantasyId()throws java.rmi.RemoteException;

public long getTeamId()throws java.rmi.RemoteException;

public long getPlayerId()throws java.rmi.RemoteException;

public long getInactiveId()throws java.rmi.RemoteException;

public long getTransactionId()throws java.rmi.RemoteException;

public long getDate()throws java.rmi.RemoteException;

public int getStatus()throws java.rmi.RemoteException;

public String getNews()throws java.rmi.RemoteException;

public String getHeadline()throws java.rmi.RemoteException;

public void modifyNewsDetails(NewsDetails details)throws java.rmi.RemoteException;

public NewsDetails getNewsDetails()throws java.rmi.RemoteException;

//select methods

public FantasyLocal getFantasy()throws java.rmi.RemoteException;

public Collection getPlayers()throws java.rmi.RemoteException;

public Collection getTeams()throws java.rmi.RemoteException;

public InactivesLocal getInactives()throws java.rmi.RemoteException;

public TransactionLocal getTransaction()throws java.rmi.RemoteException;

}

package ejburi.league;

import java.rmi.RemoteException;

import ejburi.util.*;

import java.util.*;

import javax.ejb.*;

import javax.ejb.CreateException;

import javax.ejb.EJBHome;

import javax.ejb.FinderException;

/**

* Created 08.05.2003 21:31:43

*/

public interface NewsLocalHome extends EJBLocalHome {

public NewsLocal findByPrimaryKey(Long aKey)throws RemoteException, FinderException;

public NewsLocal create (NewsDetails details) throws CreateException;

public Collection findLikeBetweenDate (long dateB,long dateF,int status,long fantasyId) throws FinderException;

public Collection findTransactionBetDate(long dateB,long dateF,long fantasyId)throws FinderException;

public Collection findInactiveBetDate(long dateB,long dateF,long fantasyId)throws FinderException;

public Collection findAllBetweenDate (long dateB,long dateF,long fantasyId) throws FinderException;

public Collection findTeamBetDate(long dateB,long dateF,long fantasyId,String nameTeam)throws FinderException;

public Collection findPlayerBetDate(long dateB,long dateF,long fantasyId,String nameTeam,String namePlayer)throws FinderException;

public Collection findPlayerPosName(long dateB,long dateF,long fantasyId,String position,String namePlayer)throws FinderException;

public Collection findAll()throws FinderException;

public Collection findPlayerNews(long dateB,long dateF,long playerId)throws FinderException;

public Collection findLikeKeyword(String keyword)throws FinderException;

}

package ejburi.league; import javax.ejb.CreateException;

import javax.ejb.SessionBean;

import javax.ejb.SessionContext;

import javax.ejb.SessionSynchronization;

import ejburi.util.*;

import java.util.*;

import javax.ejb.*;

import javax.naming.*;

/**

/**

* Created 09.05.2003 22:14:26

*/

public class FantasyAdmEJB implements SessionBean {

private SessionContext context;

FantasyLocalHome fantasyHome=null;

TeamLocalHome teamHome=null;

PlayerLocalHome playerHome=null;

InactivesLocalHome inactiveHome=null;

TransactionLocalHome transactionHome=null;

NewsLocalHome newsHome=null;

// League business methods

public void createFantasy(FantasyDetails details) {

System.out.println("FantasyAdmEJB createLeague");

try {

FantasyLocal fantasy = fantasyHome.create(details);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void removeFantasy(long fantasyId) {

System.out.println("FantasyAdmEJB removeLeague");

try {

Long uKey=new Long(fantasyId);

FantasyLocal fantasy = fantasyHome.findByPrimaryKey(uKey);

fantasy.remove();

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void modifyFantasy(FantasyDetails details) {

System.out.println("FantasyAdmEJB modifyFantasy");

try {

Long uKey=new Long(details.getFantasyId());

FantasyLocal fantasy = fantasyHome.findByPrimaryKey(uKey);

fantasy.modifyFantasyDetails(details);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public FantasyDetails getFantasy(long fantasyId) {

System.out.print("RosterBean getFantasy");

FantasyDetails details = null;

try {

Long uKey=new Long(fantasyId);

FantasyLocal fantasy = fantasyHome.findByPrimaryKey(uKey);

details = new FantasyDetails(fantasyId,fantasy.getNameFantasy(),fantasy.getSport());

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

return details;

}

// Team business methods

public void createTeamInFantasy(long fantasyId,TeamDetails details) {

System.out.println("FantasyAdmEJB createTeam");

try {

Long uKey=new Long(fantasyId);

FantasyLocal fantasy = fantasyHome.findByPrimaryKey(uKey);

TeamLocal team=teamHome.create(details);

fantasy.addTeam(team);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropTeamFromFantasy(long fantasyId,TeamDetails details) {

System.out.println("FantasyAdmEJB createTeam");

try {

Long uKey=new Long(fantasyId);

Long uKeyDet=new Long(details.getTeamId());

FantasyLocal fantasy = fantasyHome.findByPrimaryKey(uKey);

TeamLocal team=teamHome.findByPrimaryKey(uKeyDet);

fantasy.dropTeam(team);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void removeTeam(long teamId) {

System.out.println("FantasyAdmEJB removeTeam");

try {

Long uKey=new Long(teamId);

TeamLocal team = teamHome.findByPrimaryKey(uKey);

team.remove();

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void modifyTeam(TeamDetails details) {

System.out.println("FantasyAdmEJB modifyTeam");

try {

Long uKey=new Long(details.getTeamId());

TeamLocal team = teamHome.findByPrimaryKey(uKey);

team.modifyTeamDetails(details);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public TeamDetails getTeam(long teamId) {

System.out.print("RosterBean getTeam");

TeamDetails details = null;

try {

Long uKey=new Long(teamId);

TeamLocal team = teamHome.findByPrimaryKey(uKey);

details = new TeamDetails(teamId,team.getFantasyId(),team.getNameTeam(),team.getCoach(),team.getDoctor(),team.getState(),team.getCity(),

team.getNrVictoriesHome(),team.getNrVictoriesAway(),team.getNrGames(),team.getPlaceInLeague(),team.getBirth());

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

return details;

}

// Player business methods

public void createPlayerInTeam(long teamId,PlayerDetails details) {

System.out.println("FantasyAdmEJB createPlayer");

try {

Long uKey=new Long(teamId);

TeamLocal team = teamHome.findByPrimaryKey(uKey);

PlayerLocal player=playerHome.create(details);

team.addPlayer(player);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void addPlayerInTeam(long teamId,long playerId) {

System.out.println("FantasyAdmEJB createPlayer");

try {

Long uKey=new Long(teamId);

Long ukey=new Long(playerId);

TeamLocal team = teamHome.findByPrimaryKey(uKey);

PlayerLocal player=playerHome.findByPrimaryKey(ukey);

team.addPlayer(player);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropPlayerFromTeam(long teamId,PlayerDetails details) {

System.out.println("FantasyAdmEJB createPlayer");

try {

Long uKey=new Long(teamId);

Long uKeyDet=new Long(details.getPlayerId());

TeamLocal team = teamHome.findByPrimaryKey(uKey);

PlayerLocal player=playerHome.findByPrimaryKey(uKeyDet);

team.dropPlayer(player);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void removePlayer(long playerId) {

System.out.println("FantasyAdmEJB removePlayer");

try {

Long uKey=new Long(playerId);

PlayerLocal player = playerHome.findByPrimaryKey(uKey);

player.remove();

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void modifyPlayer(PlayerDetails details) {

System.out.println("FantasyAdmEJB modifyPlayer");

try {

Long uKey=new Long(details.getPlayerId());

PlayerLocal player = playerHome.findByPrimaryKey(uKey);

player.modifyPlayerDetails(details);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public PlayerDetails getPlayer(long playerId) {

System.out.print("RosterBean getPlayer");

PlayerDetails details = null;

try {

Long uKey=new Long(playerId);

PlayerLocal player = playerHome.findByPrimaryKey(uKey);

details = new PlayerDetails(player.getTeamId(),playerId,player.getNamePlayer(),player.getSurname(),player.getNickname(),player.getPosition(),player.getStatus(),

player.getExperience(),player.getBirthdate(),player.getState(),player.getCity());

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

return details;

}

// Inactive business methods

public void createInactiveForPlayer(long playerId,InactivesDetails details) {

System.out.println("FantasyAdmEJB createPlayer");

try {

Long uKey=new Long(playerId);

PlayerLocal player = playerHome.findByPrimaryKey(uKey);

InactivesLocal inactive=inactiveHome.create(details);

player.addInactives(inactive);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropInactiveForPlayer(long playerId,InactivesDetails details) {

System.out.println("FantasyAdmEJB dropInactive");

try {

Long uKey=new Long(playerId);

Long uKeyDet=new Long(details.getInjuryId());

PlayerLocal player = playerHome.findByPrimaryKey(uKey);

InactivesLocal inactive=inactiveHome.findByPrimaryKey(uKeyDet);

player.dropInactives(inactive);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void removeInactive(long inactiveId) {

System.out.println("FantasyAdmEJB removeInactive");

try {

Long uKey=new Long(inactiveId);

InactivesLocal inactive = inactiveHome.findByPrimaryKey(uKey);

inactive.remove();

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void modifyInactive(InactivesDetails details) {

System.out.println("FantasyAdmEJB modifyInactive");

try {

Long uKey=new Long(details.getInjuryId());

InactivesLocal inactive = inactiveHome.findByPrimaryKey(uKey);

inactive.modifyInactivesDetails(details);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public InactivesDetails getInactive(long inactiveId) {

InactivesDetails details = null;

try {

Long uKey=new Long(inactiveId);

InactivesLocal inactive = inactiveHome.findByPrimaryKey(uKey);

details = new InactivesDetails(inactiveId,inactive.getPlayerId(),inactive.getDateB(),inactive.getDateF(),

inactive.getDate(),inactive.getMotiv());

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

return details;

}

public ArrayList getAllInactives() {

ArrayList detailsList = new ArrayList();

Collection inactivities=null;

try{

inactivities=inactiveHome.findAllInactives ();

Iterator i = inactivities.iterator();

while (i.hasNext()) {

InactivesLocal inactive = (InactivesLocal) i.next();

InactivesDetails details = new InactivesDetails(inactive.getInjuryId(),inactive.getPlayerId(),inactive.getDateB(),inactive.getDateF(),

inactive.getDate(),inactive.getMotiv());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

//Transaction Business methods

public TransactionDetails getTransaction(long transactionId) {

TransactionDetails details = null;

try {

Long uKey=new Long(transactionId);

TransactionLocal transaction = transactionHome.findByPrimaryKey(uKey);

details = new TransactionDetails(transactionId,transaction.getTeamSellerId(),transaction.getTeamBuyerId(),

transaction.getPlayerId(),transaction.getDateContract(),transaction.getPeriod());

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

return details;

}

public void modifyTransaction(TransactionDetails details) {

System.out.println("FantasyAdmEJB modifyTransaction");

try {

Long uKey=new Long(details.getTransactionId());

TransactionLocal transaction = transactionHome.findByPrimaryKey(uKey);

transaction.modifyTransactionDetails(details);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void removeTransaction(long transactionId) {

System.out.println("FantasyAdmEJB removeInactive");

try {

Long uKey=new Long(transactionId);

TransactionLocal transaction = transactionHome.findByPrimaryKey(uKey);

transaction.remove();

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getAllTransactions() {

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection transactions=null;

try{

transactions=transactionHome.findAllTransactions ();

Iterator i = transactions.iterator();

while (i.hasNext()) {

TransactionLocal transaction = (TransactionLocal) i.next();

TransactionDetails details = new TransactionDetails(transaction.getTransactionId(),transaction.getTeamSellerId(),transaction.getTeamBuyerId(),

transaction.getPlayerId(),transaction.getDateContract(),transaction.getPeriod());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage()); }

}

public void createTransaction(TransactionDetails details,long teamS,long teamB,long playerId) {

System.out.println("FantasyAdmEJB createTransaction");

try {

if(details.getTeamSellerId()!=details.getTeamBuyerId()){

if ( getPlayer(playerId).getTeamId()==teamS){

dropPlayerFromTeam(teamS,getPlayer(playerId));

addPlayerInTeam(teamB,playerId);

PlayerDetails det=getPlayer(playerId);

PlayerDetails newDet=new PlayerDetails(teamB,playerId,det.getNamePlayer(),det.getSurname(),det.getNickname(),det.getPosition(),

det.getStatus(),det.getExperience(),det.getBirthdate(),det.getState(),det.getCity());

modifyPlayer(newDet);

TransactionLocal transaction = transactionHome.create(details);

addPlayerToTransaction(details.getTransactionId(),playerId);

}else System.out.println("Jucatorul nu apartine echipei vanzatoare");

}else System.out.println("Echipa vanzatoare este aceeasi cu echipa cumparatoare");

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void addPlayerToTransaction(long transactionId,long playerId) {

System.out.println("FantasyAdmEJB createPlayer");

try {

Long uKey=new Long(transactionId);

Long uKeyDet=new Long(playerId);

TransactionLocal transaction = transactionHome.findByPrimaryKey(uKey);

PlayerLocal player=playerHome.findByPrimaryKey(uKeyDet);

transaction.addPlayer(player);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropPlayerFromTransaction(long transactionId,long playerId) {

System.out.println("FantasyAdmEJB createPlayer");

try {

Long uKey=new Long(transactionId);

Long uKeyDet=new Long(playerId);

TransactionLocal transaction = transactionHome.findByPrimaryKey(uKey);

PlayerLocal player=playerHome.findByPrimaryKey(uKeyDet);

transaction.dropPlayer(player);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList findAllFantasy(){

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection fantasies=null;

try{

fantasies=fantasyHome.findAllFantasy ();

Iterator i = fantasies.iterator();

while (i.hasNext()) {

FantasyLocal fantasy = (FantasyLocal) i.next();

FantasyDetails details = new FantasyDetails(fantasy.getFantasyId(),fantasy.getNameFantasy(),fantasy.getSport());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList findAllTeams(){

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection teams=null;

try{

teams=teamHome.findAllTeams ();

Iterator i = teams.iterator();

while (i.hasNext()) {

TeamLocal team = (TeamLocal) i.next();

TeamDetails details = new TeamDetails(team.getTeamId(),team.getFantasyId(),team.getNameTeam(),team.getCoach(),team.getDoctor(),team.getState(),team.getCity(),

team.getNrVictoriesHome(),team.getNrVictoriesAway(),team.getNrGames(),team.getPlaceInLeague(),team.getBirth());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList findAllPlayers(){

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection players=null;

try{

players=playerHome.findAllPlayers ();

Iterator i = players.iterator();

while (i.hasNext()) {

PlayerLocal player = (PlayerLocal) i.next();

PlayerDetails details = new PlayerDetails(player.getTeamId(),player.getPlayerId(),player.getNamePlayer(),player.getSurname(),player.getNickname(),player.getPosition(),player.getStatus(),

player.getExperience(),player.getBirthdate(),player.getState(),player.getCity());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public int CalculatePoints(long teamId){

int nrPoints=0;

System.out.println("FantasyAdmEJB calculatePoints");

try {

Long uKey=new Long(teamId);

TeamLocal team = teamHome.findByPrimaryKey(uKey);

TeamDetails det=getTeam(teamId);

nrPoints=(det.getNrVictoriesHome()*3)+(det.getNrGames()-det.getNrVictoriesHome()-det.getNrVictoriesAway());

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

return nrPoints;

}

public FantasyAdmEJB() {}

public void ejbCreate() {

System.out.println("FantasyAdmEjB ejbCreate()");

try {

playerHome = lookupPlayer();

teamHome = lookupTeam();

fantasyHome = lookupFantasy();

inactiveHome = lookupInactive();

transactionHome = lookupTransaction();

newsHome = lookupNews();

} catch (NamingException ex) {

throw new EJBException(ex.getMessage());

}

}

public void setSessionContext(SessionContext context){this.context = context;}

public void ejbActivate() {

System.out.println("FantasyAdmEjB ejbActivate()");

try {

playerHome = lookupPlayer();

teamHome = lookupTeam();

fantasyHome = lookupFantasy();

inactiveHome = lookupInactive();

transactionHome = lookupTransaction();

newsHome = lookupNews();

} catch (NamingException ex) {

throw new EJBException(ex.getMessage());

}

}

public void ejbPassivate() {

fantasyHome=null;

teamHome=null;

playerHome=null;

inactiveHome=null;

transactionHome=null;

newsHome=null;

}

public void ejbRemove() {}

// Private methods

private NewsLocalHome lookupNews()throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleNews");

return (NewsLocalHome) objref;

}

private TransactionLocalHome lookupTransaction()throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleTransaction");

return (TransactionLocalHome) objref;

}

private InactivesLocalHome lookupInactive() throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleInactive");

return (InactivesLocalHome) objref;

}

private PlayerLocalHome lookupPlayer() throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimplePlayer");

return (PlayerLocalHome) objref;

}

private TeamLocalHome lookupTeam() throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleTeam");

return (TeamLocalHome) objref;

}

private FantasyLocalHome lookupFantasy() throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleFantasy");

return (FantasyLocalHome) objref;

}

public ArrayList getAllTeamsFantasy(long fantasyId) {

ArrayList detailsList = new ArrayList();

Collection teams=null;

try{

teams=teamHome.findAllTeamsFantasy (fantasyId);

Iterator i = teams.iterator();

while (i.hasNext()) {

TeamLocal team = (TeamLocal) i.next();

TeamDetails details = new TeamDetails(team.getTeamId(),fantasyId,team.getNameTeam(),team.getCoach(),

team.getDoctor(),team.getState(),team.getCity(),team.getNrVictoriesHome(),team.getNrVictoriesAway(),

team.getNrGames(),team.getPlaceInLeague(),team.getBirth());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getAllPlayersTeam(long teamId) {

ArrayList detailsList = new ArrayList();

Collection players=null;

try{

players=playerHome.findAllPlayersTeam (teamId);

Iterator i = players.iterator();

while (i.hasNext()) {

PlayerLocal player = (PlayerLocal) i.next();

PlayerDetails details = new PlayerDetails(teamId,player.getPlayerId(),player.getNamePlayer(),player.getSurname(),player.getNickname(),player.getPosition(),player.getStatus(),

player.getExperience(),player.getBirthdate(),player.getState(),player.getCity());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getAllPlayersTransaction(long transactionId) {

ArrayList detailsList = new ArrayList();

Collection players=null;

try{

players=playerHome.findAllPlayersTransaction (transactionId);

Iterator i = players.iterator();

while (i.hasNext()) {

PlayerLocal player = (PlayerLocal) i.next();

PlayerDetails details = new PlayerDetails(player.getTeamId(),player.getPlayerId(),player.getNamePlayer(),player.getSurname(),player.getNickname(),player.getPosition(),player.getStatus(),

player.getExperience(),player.getBirthdate(),player.getState(),player.getCity());

detailsist.add(details);

} return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getAllInactivesPlayer(long playerId) {

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection inactives=null;

try{

inactives=inactiveHome.findPlayerInactives (playerId);

Iterator i = inactives.iterator();

while (i.hasNext()) {

InactivesLocal inactive = (InactivesLocal) i.next();

InactivesDetails details = new InactivesDetails(inactive.getInjuryId(),playerId,inactive.getDateB(),inactive.getDateF(),

inactive.getDate(),inactive.getMotiv());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

package ejburi.league;

import java.rmi.RemoteException;

import ejburi.util.*;

import java.util.*;

import javax.ejb.*;

/**

import javax.ejb.EJBObject;

/**

* Created 09.05.2003 22:14:26

*/

public interface FantasyAdm extends EJBObject {

//fantasy's administrator functions

public void createFantasy(FantasyDetails details) throws RemoteException;

public void removeFantasy(long fantasyId)throws RemoteException;

public FantasyDetails getFantasy(long fantasyId)throws RemoteException;

public void modifyFantasy(FantasyDetails details)throws RemoteException;

public ArrayList findAllFantasy()throws RemoteException;

//team's administrator functions

public void createTeamInFantasy(long fantasyId,TeamDetails details) throws RemoteException;

public void dropTeamFromFantasy(long fantasyId,TeamDetails details)throws RemoteException;

public void removeTeam(long teamId)throws RemoteException;

public TeamDetails getTeam(long teamId)throws RemoteException;

public void modifyTeam(TeamDetails details)throws RemoteException;

public ArrayList findAllTeams()throws RemoteException;

public int CalculatePoints(long teamId)throws RemoteException;

//player's administrator functions

public void createPlayerInTeam(long teamId,PlayerDetails details) throws RemoteException;

public void dropPlayerFromTeam(long teamId,PlayerDetails details)throws RemoteException;

public void removePlayer(long playerId)throws RemoteException;

public PlayerDetails getPlayer(long playerId)throws RemoteException;

public void modifyPlayer(PlayerDetails details)throws RemoteException;

public void addPlayerInTeam(long teamId,long playerId)throws RemoteException;

public ArrayList findAllPlayers()throws RemoteException;

//inactive's administrator functions

public void createInactiveForPlayer(long playerId,InactivesDetails details)throws RemoteException;

public void dropInactiveForPlayer(long playerId,InactivesDetails details)throws RemoteException;

public void removeInactive(long inactiveId)throws RemoteException;

public void modifyInactive(InactivesDetails details)throws RemoteException;

public InactivesDetails getInactive(long inactiveId)throws RemoteException;

public ArrayList getAllInactives() throws RemoteException;

//transaction's administrator functions

public TransactionDetails getTransaction(long transactionId)throws RemoteException;

public void modifyTransaction(TransactionDetails details) throws RemoteException;

public void removeTransaction(long transactionId) throws RemoteException;

public void dropPlayerFromTransaction(long transactionId,long playerId)throws RemoteException;

public void addPlayerToTransaction(long transactionId,long playerId)throws RemoteException;

public void createTransaction(TransactionDetails details,long teamS,long teamB,long playerId)throws RemoteException;

public ArrayList getAllTransactions()throws RemoteException;

//find Functions

public ArrayList getAllTeamsFantasy(long fantasyId)throws RemoteException;

public ArrayList getAllPlayersTeam(long teamId)throws RemoteException;

public ArrayList getAllPlayersTransaction(long transaction)throws RemoteException;

public ArrayList getAllInactivesPlayer(long playerId)throws RemoteException;

}}

package ejburi.league;

import java.rmi.RemoteException;

import javax.ejb.CreateException;

import javax.ejb.EJBHome;

public interface FantasyAdmHome extends EJBHome {

public FantasyAdm create() throws RemoteException,CreateException;

}

package ejburi.league;

import javax.ejb.CreateException;

import javax.ejb.SessionBean;

import javax.ejb.SessionContext;

import javax.ejb.SessionSynchronization;

import ejburi.util.*;

import java.util.*;

import javax.ejb.*;

import javax.naming.*;

/**

* Created 11.05.2003 09:04:05

*/

public class FantasyNewsAdmEJB implements SessionBean {

private SessionContext context;

FantasyLocalHome fantasyHome=null;

TeamLocalHome teamHome=null;

PlayerLocalHome playerHome=null;

InactivesLocalHome inactiveHome=null;

TransactionLocalHome transactionHome=null;

NewsLocalHome newsHome=null;

//Fantasy's administrator news methods

public void createNews(NewsDetails details) {

System.out.println("FantasyNewsAdmEJB createNews");

try {

NewsLocal news=newsHome.create(details);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void createNewsFromFantasy(long fantasyId,long newsId) {

System.out.println("FantasyNewsAdmEJB createTeam");

try {

Long uKey=new Long(fantasyId);

Long uKeyNews=new Long(newsId);

FantasyLocal fantasy = fantasyHome.findByPrimaryKey(uKey);

NewsLocal news=newsHome.findByPrimaryKey(uKeyNews);

fantasy.addNews(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropNewsFromFantasy(long fantasyId,NewsDetails details) {

System.out.println("FantasyNewsAdmEJB dropNewsFromFantasy");

try {

Long uKey=new Long(fantasyId);

Long uKeyDet=new Long(details.getNewsId());

System.out.println("FantasyNewsAdmEJB dropNewsFromFantasy");

FantasyLocal fantasy = fantasyHome.findByPrimaryKey(uKey);

NewsLocal news=newsHome.findByPrimaryKey(uKeyDet);

fantasy.dropNews(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

//Team's administrator news methods

public void createNewsFromTeam(long teamId,long newsId) {

System.out.println("FantasyAdmEJB createTeam");

try {

Long uKey=new Long(teamId);

Long uKeyNews=new Long(newsId);

TeamLocal team = teamHome.findByPrimaryKey(uKey);

NewsLocal news=newsHome.findByPrimaryKey(uKeyNews);

team.addNews(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropNewsFromTeam(long teamId,NewsDetails details) {

System.out.println("FantasyAdmEJB createTeam");

try {

Long uKey=new Long(teamId);

Long uKeyDet=new Long(details.getNewsId());

TeamLocal team = teamHome.findByPrimaryKey(uKey);

NewsLocal news=newsHome.findByPrimaryKey(uKeyDet);

team.dropNews(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

//Player's administrator news methods

public void createNewsFromPlayer(long playerId,long newsId) {

System.out.println("FantasyAdmEJB createTeam");

try {

Long uKey=new Long(playerId);

Long uKeyNews=new Long(newsId);

PlayerLocal player = playerHome.findByPrimaryKey(uKey);

NewsLocal news=newsHome.findByPrimaryKey(uKeyNews);

player.addNews(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropNewsFromPlayer(long playerId,NewsDetails details) {

Long uKey=new Long(playerId);

Long uKeyDet=new Long(details.getNewsId());

try{

PlayerLocal player = playerHome.findByPrimaryKey(uKey);

NewsLocal news=newsHome.findByPrimaryKey(uKeyDet);

player.dropNews(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

//Inactive's administrator news methods

public void createNewsFromInactive(long inactiveId,long newsId) {

System.out.println("FantasyAdmEJB createTeam");

try {

Long uKey=new Long(inactiveId);

Long uKeyNews=new Long(newsId);

InactivesLocal inactive = inactiveHome.findByPrimaryKey(uKey);

NewsLocal news=newsHome.findByPrimaryKey(uKeyNews);

inactive.addNews(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropNewsFromInactive(long inactiveId,NewsDetails details) {

System.out.println("FantasyAdmEJB dropNews from Inactive");

try {

Long uKey=new Long(inactiveId);

Long uKeyDet=new Long(details.getNewsId());

InactivesLocal inactive = inactiveHome.findByPrimaryKey(uKey);

NewsLocal news=newsHome.findByPrimaryKey(uKeyDet);

inactive.dropNews(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

//Transaction's administrator news methods

public void createNewsFromTransaction(long transactionId,long newsId) {

System.out.println("FantasyAdmEJB createTeam");

try {

Long uKey=new Long(transactionId);

Long uKeyNews=new Long(newsId);

TransactionLocal transaction = transactionHome.findByPrimaryKey(uKey);

NewsLocal news=newsHome.findByPrimaryKey(uKeyNews);

transaction.addNews(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropNewsFromTransaction(long transactionId,NewsDetails details) {

System.out.println("FantasyAdmEJB dropNews from Inactive");

try {

Long uKey=new Long(transactionId);

Long uKeyDet=new Long(details.getNewsId());

TransactionLocal transaction = transactionHome.findByPrimaryKey(uKey);

NewsLocal news=newsHome.findByPrimaryKey(uKeyDet);

transaction.dropNews(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

//news's administrator functions

public void removeNews(long newsId) {

System.out.println("FantasyAdmEJB removeInactive");

try {

Long uKey=new Long(newsId);

NewsLocal news = newsHome.findByPrimaryKey(uKey);

news.remove();

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void modifyNews(NewsDetails details) {

System.out.println("FantasyNewsAdmEJB modifyNews");

try {

Long uKey=new Long(details.getNewsId());

NewsLocal news = newsHome.findByPrimaryKey(uKey);

news.modifyNewsDetails(details);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public NewsDetails getNews(long newsId) {

System.out.print("FantasyNewsAdmEJB getNews");

NewsDetails details = null;

try {

Long uKey=new Long(newsId);

NewsLocal news = newsHome.findByPrimaryKey(uKey);

details = new NewsDetails(newsId,news.getFantasyId(),news.getTeamId(),news.getPlayerId(),news.getInactiveId(),

news.getTransactionId(),news.getDate(),news.getNews(),news.getHeadline(),news.getStatus());

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

return details;

}

public FantasyNewsAdmEJB() {}

public void ejbCreate() {

System.out.println("FantasyAdmEjB ejbCreate()");

try {

playerHome = lookupPlayer();

teamHome = lookupTeam();

fantasyHome = lookupFantasy();

inactiveHome = lookupInactive();

transactionHome = lookupTransaction();

newsHome = lookupNews();

} catch (NamingException ex) {

throw new EJBException(ex.getMessage());

}

}

public void setSessionContext(SessionContext context){this.context = context;}

public void ejbActivate() {

System.out.println("FantasyAdmEjB ejbActivate()");

try {

playerHome = lookupPlayer();

teamHome = lookupTeam();

fantasyHome = lookupFantasy();

inactiveHome = lookupInactive();

transactionHome = lookupTransaction();

newsHome = lookupNews();

} catch (NamingException ex) {

throw new EJBException(ex.getMessage());

}

}

public void ejbPassivate() {

fantasyHome=null;

teamHome=null;

playerHome=null;

inactiveHome=null;

transactionHome=null;

newsHome=null;

}

public void ejbRemove() {}

// Private methods

private NewsLocalHome lookupNews()throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleNews");

return (NewsLocalHome) objref;

}

private TransactionLocalHome lookupTransaction()throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleTransaction");

return (TransactionLocalHome) objref;

}

private InactivesLocalHome lookupInactive() throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleInactive");

return (InactivesLocalHome) objref;

}

private PlayerLocalHome lookupPlayer() throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimplePlayer");

return (PlayerLocalHome) objref;

}

private TeamLocalHome lookupTeam() throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleTeam");

return (TeamLocalHome) objref;

}

private FantasyLocalHome lookupFantasy() throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleFantasy");

return (FantasyLocalHome) objref;

}

}

package ejburi.league;

import java.rmi.RemoteException;

import ejburi.util.*;

import java.util.*;

import javax.ejb.*;

import javax.ejb.EJBObject;

/**

* Created 11.05.2003 09:04:05

*/

public interface FantasyNewsAdm extends EJBObject {

//news's administrator functions

public void createNews(NewsDetails details)throws java.rmi.RemoteException;

public void removeNews(long newsId)throws java.rmi.RemoteException;

public void modifyNews(NewsDetails details)throws java.rmi.RemoteException;

public NewsDetails getNews(long newsId)throws java.rmi.RemoteException;

//Fantasy's administrator news methods

public void createNewsFromFantasy(long fantasyId,long newsId) throws java.rmi.RemoteException;

public void dropNewsFromFantasy(long fantasyId,NewsDetails details)throws java.rmi.RemoteException;

//Team's administrator news methods

public void createNewsFromTeam(long teamId,long newsId)throws java.rmi.RemoteException;

public void dropNewsFromTeam(long teamId,NewsDetails details)throws java.rmi.RemoteException;

//Player's administrator news methods

public void createNewsFromPlayer(long playerId,long newsId)throws java.rmi.RemoteException;

public void dropNewsFromPlayer(long playerId,NewsDetails details)throws java.rmi.RemoteException;

//Inactive's administrator news methods

public void createNewsFromInactive(long inactiveId,long newsId)throws java.rmi.RemoteException;

public void dropNewsFromInactive(long inactiveId,NewsDetails details)throws java.rmi.RemoteException;

//Transaction's administrator news methods

public void createNewsFromTransaction(long transactionId,long newsId) throws java.rmi.RemoteException;

public void dropNewsFromTransaction(long transactionId,NewsDetails details) throws java.rmi.RemoteException;

}

package ejburi.league;

import java.rmi.RemoteException;

import javax.ejb.CreateException;

import javax.ejb.EJBHome;

public interface FantasyNewsAdmHome extends EJBHome {

public FantasyNewsAdm create() throws RemoteException,CreateException;

}

package ejburi.league;

import javax.ejb.CreateException;

import javax.ejb.SessionBean;

import javax.ejb.SessionContext;

import javax.ejb.SessionSynchronization;

import ejburi.util.*;

import java.util.*;

import javax.ejb.*;

import javax.naming.*;

/**

* Created 12.05.2003 15:19:57

*/

public class SelectNewsSessionEJB implements SessionBean {

private SessionContext context;

FantasyLocalHome fantasyHome=null;

TeamLocalHome teamHome=null;

PlayerLocalHome playerHome=null;

InactivesLocalHome inactiveHome=null;

TransactionLocalHome transactionHome=null;

NewsLocalHome newsHome=null;

public int var=0;

public ArrayList getNewsByStatus(long dateB, long dateF, int status,long fantasyId) {

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection newsS=null;

try{

newsS=newsHome.findLikeBetweenDate (dateB,dateF,status,fantasyId);

Iterator i = newsS.iterator();

while (i.hasNext()) {

NewsLocal news = (NewsLocal) i.next();

NewsDetails details = new NewsDetails(news.getNewsId(),news.getFantasyId(),news.getTeamId(),

news.getPlayerId(),news.getInactiveId(),news.getTransactionId(),news.getDate(),

news.getNews(),news.getHeadline(),news.getStatus());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getTransactionNews(long dateB, long dateF,long fantasyId) {

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection newsS=null;

try{

newsS=newsHome.findTransactionBetDate(dateB,dateF,fantasyId);

Iterator i = newsS.iterator();

while (i.hasNext()) {

NewsLocal news = (NewsLocal) i.next();

NewsDetails details = new NewsDetails(news.getNewsId(),news.getFantasyId(),news.getTeamId(),

news.getPlayerId(),news.getInactiveId(),news.getTransactionId(),news.getDate(),

news.getNews(),news.getHeadline(),news.getStatus());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getInactiveNews(long dateB, long dateF,long fantasyId){

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection newsS=null;

try{

newsS=newsHome.findInactiveBetDate(dateB,dateF,fantasyId);

Iterator i = newsS.iterator();

while (i.hasNext()) {

NewsLocal news = (NewsLocal) i.next();

NewsDetails details = new NewsDetails(news.getNewsId(),news.getFantasyId(),news.getTeamId(),

news.getPlayerId(),news.getInactiveId(),news.getTransactionId(),news.getDate(),

news.getNews(),news.getHeadline(),news.getStatus());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getTeamNews(long dateB,long dateF,long fantasyId,String nameTeam){

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection newsS=null;

try{

newsS=newsHome.findTeamBetDate(dateB,dateF,fantasyId,nameTeam);

Iterator i = newsS.iterator();

while (i.hasNext()) {

NewsLocal news = (NewsLocal) i.next();

NewsDetails details = new NewsDetails(news.getNewsId(),fantasyId,news.getTeamId(),

news.getPlayerId(),news.getInactiveId(),news.getTransactionId(),news.getDate(),

news.getNews(),news.getHeadline(),news.getStatus());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getPlayerNews(long dateB,long dateF,long fantasyId,String nameTeam,String namePlayer){

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection newsS=null;

try{

newsS=newsHome.findPlayerBetDate(dateB,dateF,fantasyId,nameTeam,namePlayer);

Iterator i = newsS.iterator();

while (i.hasNext()) {

NewsLocal news = (NewsLocal) i.next();

NewsDetails details = new NewsDetails(news.getNewsId(),fantasyId,news.getTeamId(),

news.getPlayerId(),news.getInactiveId(),news.getTransactionId(),news.getDate(),

news.getNews(),news.getHeadline(),news.getStatus());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getPlayerPosNameNews(long dateB,long dateF,long fantasyId,String position,String namePlayer){

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection newsS=null;

try{

newsS=newsHome.findPlayerPosName(dateB,dateF,fantasyId,position,namePlayer);

Iterator i = newsS.iterator();

while (i.hasNext()) {

NewsLocal news = (NewsLocal) i.next();

NewsDetails details = new NewsDetails(news.getNewsId(),fantasyId,news.getTeamId(),

news.getPlayerId(),news.getInactiveId(),news.getTransactionId(),news.getDate(),

news.getNews(),news.getHeadline(),news.getStatus());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getAllNews(long dateB, long dateF,long fantasyId) {

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection newsS=null;

try{

newsS=newsHome.findAllBetweenDate (dateB,dateF,fantasyId);

Iterator i = newsS.iterator();

while (i.hasNext()) {

NewsLocal news = (NewsLocal) i.next();

NewsDetails details = new NewsDetails(news.getNewsId(),news.getFantasyId(),news.getTeamId(),

news.getPlayerId(),news.getInactiveId(),news.getTransactionId(),news.getDate(),

news.getNews(),news.getHeadline(),news.getStatus());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getPlayerNews(long dateB, long dateF,long playerId) {

System.out.println("SelectNewsSessionEJB ->getPlayerNews");

ArrayList detailsList = new ArrayList();

Collection newsS=null;

try{

newsS=newsHome.findPlayerNews (dateB,dateF,playerId);

Iterator i = newsS.iterator();

while (i.hasNext()) {

NewsLocal news = (NewsLocal) i.next();

NewsDetails details = new NewsDetails(news.getNewsId(),news.getFantasyId(),news.getTeamId(),

news.getPlayerId(),news.getInactiveId(),news.getTransactionId(),news.getDate(),

news.getNews(),news.getHeadline(),news.getStatus());

detailsList.add(details);

} return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getAll() {

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection newsS=null;

try{

newsS=newsHome.findAll();

Iterator i = newsS.iterator();

while (i.hasNext()) {

NewsLocal news = (NewsLocal) i.next();

NewsDetails details = new NewsDetails(news.getNewsId(),news.getFantasyId(),news.getTeamId(),

news.getPlayerId(),news.getInactiveId(),news.getTransactionId(),news.getDate(),

news.getNews(),news.getHeadline(),news.getStatus());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getPlayersByPositionTeamFantasy(long fantasyId,String nameTeam,String position) {

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection players=null;

try{

players=playerHome.findPlayersByPositionTeamFantasy (fantasyId,nameTeam,position);

Iterator i = players.iterator();

while (i.hasNext()) {

PlayerLocal player = (PlayerLocal) i.next();

PlayerDetails details = new PlayerDetails(player.getTeamId(),player.getPlayerId(),player.getNamePlayer(),

player.getSurname(),player.getNickname(),position,player.getStatus(),

player.getExperience(),player.getBirthdate(),player.getState(),player.getCity());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getAllTeamsFantasy(long fantasyId) {

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection teams=null;

try{

teams=teamHome.findAllTeamsFantasy (fantasyId);

Iterator i = teams.iterator();

while (i.hasNext()) {

TeamLocal team = (TeamLocal) i.next();

TeamDetails details = new TeamDetails(team.getTeamId(),fantasyId,team.getNameTeam(),team.getCoach(), team.getDoctor(),team.getState(),team.getCity(),team.getNrVictoriesHome(),team.getNrVictoriesAway(),

team.getNrGames(),team.getPlaceInLeague(),team.getBirth());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getAllPlayersFantasy(long fantasyId) {

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection players=null;

try{

players=playerHome.findAllPlayersFantasy (fantasyId);

Iterator i = players.iterator();

while (i.hasNext()) {

PlayerLocal player = (PlayerLocal) i.next();

PlayerDetails details = new PlayerDetails(player.getTeamId(),player.getPlayerId(),player.getNamePlayer(),

player.getSurname(),player.getNickname(),player.getPosition(),player.getStatus(),

player.getExperience(),player.getBirthdate(),player.getState(),player.getCity());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getAllPlayersTeamFantasy (long fantasyId,String nameTeam) {

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection players=null;

try{

players=playerHome.findAllPlayersTeamFantasy (fantasyId,nameTeam);

Iterator i = players.iterator();

while (i.hasNext()) {

PlayerLocal player = (PlayerLocal) i.next();

PlayerDetails details = new PlayerDetails(player.getTeamId(),player.getPlayerId(),player.getNamePlayer(),

player.getSurname(),player.getNickname(),player.getPosition(),player.getStatus(),

player.getExperience(),player.getBirthdate(),player.getState(),player.getCity());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getAllInjuryForPlayer(long fantasyId,String namePlayer) {

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection inactives=null;

try{

inactives=inactiveHome.findPlayerInactives(fantasyId,namePlayer);

Iterator i = inactives.iterator();

while (i.hasNext()) {

InactivesLocal inactive = (InactivesLocal) i.next();

InactivesDetails details = new InactivesDetails(inactive.getInjuryId(),inactive.getPlayerId(),inactive.getDateB(),inactive.getDateF(),inactive.getDate(),inactive.getMotiv());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getAllPositionFantasy(long fantasyId,String position) {

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection players=null;

try{

players=playerHome.findAllPlayersPos (fantasyId,position);

Iterator i = players.iterator();

while (i.hasNext()) {

PlayerLocal player = (PlayerLocal) i.next();

PlayerDetails details = new PlayerDetails(player.getTeamId(),player.getPlayerId(),player.getNamePlayer(),

player.getSurname(),player.getNickname(),position,player.getStatus(),

player.getExperience(),player.getBirthdate(),player.getState(),player.getCity());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getAllPositionNameFantasy(long fantasyId,String position,String namePlayer) {

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection players=null;

try{

players=playerHome.findAllPlayersPosName (fantasyId,position,namePlayer);

Iterator i = players.iterator();

while (i.hasNext()) {

PlayerLocal player = (PlayerLocal) i.next();

PlayerDetails details = new PlayerDetails(player.getTeamId(),player.getPlayerId(),player.getNamePlayer(),

player.getSurname(),player.getNickname(),position,player.getStatus(),

player.getExperience(),player.getBirthdate(),player.getState(),player.getCity());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getKeyword(String keyword) {

System.out.println("Start for keyword serch function.WITH A TWIST 3 Time.");

ArrayList detailsList = new ArrayList();

Collection newsS=null;

String keywordTrans = keyword.toString();

int writeBlock = 0;//stop scriere duplicate

try{

newsS=newsHome.findAll();

StringTokenizer st=null;

Iterator i = newsS.iterator();

while (i.hasNext()) {

NewsLocal news = (NewsLocal) i.next();

NewsDetails details = new NewsDetails(news.getNewsId(),news.getFantasyId(),news.getTeamId(),

news.getPlayerId(),news.getInactiveId(),news.getTransactionId(),news.getDate(),

news.getNews(),news.getHeadline(),news.getStatus());

st =new StringTokenizer(details.getNews());

while(st.hasMoreTokens()){

System.out.println("KewordSearch ->in while st");

String tokenKeyDB = st.nextToken().toString();

StringTokenizer keyToken=new StringTokenizer(keyword);

while(keyToken.hasMoreTokens()){

String tokeyKeyJSP = keyToken.nextToken().toString();

System.out.println("Token form JSP: "+tokeyKeyJSP);

System.out.println("Token from DB: "+tokenKeyDB);

System.out.println("Have variable, will compare!!");

if(tokeyKeyJSP.equalsIgnoreCase(tokenKeyDB)){

System.out.println("Found 2 equal tokens");

writeBlock++;

}

}

}

if(writeBlock>0) {

writeBlock=0;

detailsList.add(details);

}

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public SelectNewsSessionEJB() {}

public void ejbCreate() {

System.out.println("SelectNewsSessionEJB ejbCreate()");

try {

playerHome = lookupPlayer();

teamHome = lookupTeam();

fantasyHome = lookupFantasy();

inactiveHome = lookupInactive();

transactionHome = lookupTransaction();

newsHome = lookupNews();

} catch (NamingException ex) {

throw new EJBException(ex.getMessage());

}

}

public void setSessionContext(SessionContext context){this.context = context;}

public void ejbActivate() {

System.out.println("SelectNewsSessionEJB ejbActivate()");

try {

playerHome = lookupPlayer();

teamHome = lookupTeam();

fantasyHome = lookupFantasy();

inactiveHome = lookupInactive();

transactionHome = lookupTransaction();

newsHome = lookupNews();

} catch (NamingException ex) {

throw new EJBException(ex.getMessage());

}

}

public void ejbPassivate() {

fantasyHome=null;

teamHome=null;

playerHome=null;

inactiveHome=null;

transactionHome=null;

newsHome=null;

}

public void ejbRemove() {}

// Private methods

private NewsLocalHome lookupNews()throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleNews");

return (NewsLocalHome) objref;

}

private TransactionLocalHome lookupTransaction()throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleTransaction");

return (TransactionLocalHome) objref;

}

private InactivesLocalHome lookupInactive() throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleInactive");

return (InactivesLocalHome) objref;

}

private PlayerLocalHome lookupPlayer() throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimplePlayer");

return (PlayerLocalHome) objref;

}

private TeamLocalHome lookupTeam() throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleTeam");

return (TeamLocalHome) objref;

} private FantasyLocalHome lookupFantasy() throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleFantasy");

return (FantasyLocalHome) objref;

}

}

package ejburi.league;

import java.rmi.RemoteException;

import ejburi.util.*;

import java.util.*;

import javax.ejb.*;

import javax.naming.*;

import javax.ejb.EJBObject;

/**

* Created 12.05.2003 15:19:57

*/

public interface SelectNewsSession extends EJBObject {

public ArrayList getNewsByStatus(long dateB,long dateF,int status,long fantasyId) throws RemoteException;

public ArrayList getTransactionNews(long dateB,long dateF,long fantasyId)throws RemoteException;

public ArrayList getInactiveNews(long dateB,long dateF,long fantasyId)throws RemoteException;

public ArrayList getAllNews(long dateB, long dateF,long fantasyId) throws RemoteException;

public ArrayList getAllTeamsFantasy(long fantasyId) throws RemoteException;

public ArrayList getAllPlayersFantasy(long fantasyId)throws RemoteException;

public ArrayList getAllPlayersTeamFantasy (long fantasyId,String nameTeam)throws RemoteException;

public ArrayList getTeamNews(long dateB,long dateF,long fantasyId,String nameTeam)throws RemoteException;

public ArrayList getPlayerNews(long dateB,long dateF,long fantasyId,String nameTeam,String namePlayer)throws RemoteException;

public ArrayList getAll()throws RemoteException;

public ArrayList getAllInjuryForPlayer(long fantasyId,String namePlayer)throws RemoteException;

public ArrayList getAllPositionFantasy(long fantasyId,String position) throws RemoteException;

public ArrayList getAllPositionNameFantasy(long fantasyId,String position,String namePlayer) throws RemoteException;

public ArrayList getKeyword(String keyword)throws RemoteException;

public ArrayList getPlayerPosNameNews(long dateB,long dateF,long fantasyId,String position,String namePlayer)throws RemoteException;

public ArrayList getPlayerNews(long dateB, long dateF,long playerId) throws RemoteException;

public ArrayList getPlayersByPositionTeamFantasy(long fantasyId,String nameTeam,String position)throws RemoteException;

}

package ejburi.league;

import java.rmi.RemoteException;

import javax.ejb.CreateException;

import javax.ejb.EJBHome;

/**

* Created 12.05.2003 15:19:57

*/

public interface SelectNewsSessionHome extends EJBHome {

public SelectNewsSession create() throws RemoteException,CreateException;

}

ANEXA

Pachetul –ejburi.util

Datorita faptului ca este foarte mare se va prezenta doar fisierul UserDetails pentru exemplificare(celelelate :OrderCartDetails, CategoryDetails, ProductDetails, FantasyDetails, TeamDetails, PlayerDetails, InactiveDetails, TransactionDetails, NewsDetails, TopicDetails, MesageDetails, ReturnNewsClass,ReturnPlayer fiind definite in mod asemantor).

package ejburi.util;

import java.util.*;

import java.beans.*;

/*

* UserDetails.java

*

* Created on 07 aprilie 2003, 07:08

*/

package ejburi.util;

import java.util.*;

import java.beans.*;

import ejburi.user.*;

public class UserDetails implements java.io.Serializable {

private long userId;

private String firstname;

private String surname;

private String country;

private String state;

private String city;

private String email;

private String username;

private String password;

private String address;

private String cellphone;

private String fax;

private String zip;

private long birthdate;

private String phone;

private String creditCard;

public UserDetails(){}

public UserDetails(long userId,String firstname,String surname,String country,String state,String city,String email,

String username,String password,String address,String cellphone,String fax, String zip, long birthdate,String phone,String creditCard){

this.userId= userId;

this.username=username;

this.password=password;

this.firstname=firstname;

this.surname=surname;

this.country=country;

this.city=city;

this.state=state;

this.zip=zip;

this.address=address;

this.birthdate=birthdate;

this.cellphone=cellphone;

this.phone=phone;

this.fax=fax;

this.email =email;

this.crdeitCard=crdeitCard;

System.out.println("UserDetailBean–>New UserDetail was created "+ this.userId);

}

public long getUserId(){return userId;}

public void setUserId(long userId){this.userId=userId;}

public String getFirstname(){return this.firstname;}

public void setFirstname(String firstName){this.firstname=firstname;}

public String getSurname(){return this.surname;}

public void setSurname(String surname){this.surname=surname;}

public String getCountry(){return this.country;}

public void setCountry(String country){this.country=country;}

public String getCity(){return this.city;}

public void setCity(String city){this.city=city;}

public String getState(){return this.state;}

public void setState(String state){this.state=state;}

public String getZip(){return this.zip;}

public void setZip(String zip){this.zip=zip;}

public String getAddress(){return this.address;}

public void setAddress(String address){this.address=address;}

public long getBirthdate(){return this.birthdate;}

public void setBirthdate(long birthdate){this.birthdate=birthdate;}

public String getCellphone(){return this.cellphone;}

public void setCellphone(String cellphone){this.cellphone=cellphone;}

public String getPhone(){return this.phone;}

public void setPhone(String phone){this.phone=phone;}

public String getUsername(){return this.username;}

public void setUsername(String username){this.username=username;}

public String getPassword(){return this.password;}

public void setPassword(String password){this.password=password;}

public String getEmail(){return this.email;}

public void setEmail(String email){this.email=email;}

public String getFax(){return this.fax;}

public void setFax(String fax){this.fax=fax;}

public String getFreeAmount(){return this.freeAmount;}

public void setFreeAmount(String freeAmount){this.freeAmount=freeAmount;}

public Hashtable getHashtable(){

Hashtable ht=new Hashtable();

ht.put("firstname",(this.firstname==null)?"":this.firstname);ht.put("surname",(this.surname==null)?"":this.surname); ht.put("username",(this.username==null)?"":this.username);

ht.put("password",(this.password==null)?"":this.password);

ht.put("country",(this.country==null)?"":this.country);

ht.put("city",(this.city==null)?"":this.city);

ht.put("state",(this.state==null)?"":this.state);

ht.put("zip",(this.zip==null)?"":this.zip);

ht.put("address",(this.address==null)?"":this.address);

ht.put("birthdate",String.valueOf(this.birthdate));

ht.put("cellphone",(this.cellphone==null)?"":this.cellphone);

ht.put("email",(this.email==null)?"":this.email);

ht.put("fax",(this.fax==null)?"":this.fax);

ht.put("phone",(this.phone==null)?"":this.phone);

ht.put("crdeitCard",(this.creditCard==null)?"":this.crdeitCard);

return ht;

}

public String detailString(){

StringBuffer sb=new StringBuffer();

sb.append("userId: "+this.userId+"\n");

sb.append("firstname: "+this.firstname+"\n");

sb.append("surname: "+this.surname+"\n");

sb.append("username: "+this.username+"\n");

sb.append("password: "+this.password+"\n");

sb.append("country: "+this. country+"\n");

sb.append("city: "+this.city+"\n");

sb.append("state: "+this. state+"\n");

sb.append("zip: "+this.zip+"\n");

sb.append("address: "+this.address+"\n");

sb.append("birthdate: "+this. birthdate+"\n");

sb.append("cellphone: "+this.cellphone+"\n");

sb.append("email : "+this.email+"\n");

sb.append("fax: "+this.fax+"\n");

sb.append("phone: "+this.phone+"\n");

sb.append("creditCard: "+this.creditCard+"\n");

sb.append("random: "+this.random+"\n");

sb.append("status: "+this.status+"\n");

return sb.toString();

}

}

Pachetul ejburi.user

package ejburi.user;

import javax.ejb.CreateException;

import javax.ejb.EntityBean;

import javax.ejb.EntityContext;

import javax.ejb.FinderException;

import java.util.*;

import javax.ejb.*;

import javax.naming.*;

import ejburi.store.*;

import web.cart.*;

import web.database.*;

import ejburi.util.*;

public abstract class UsersBean implements EntityBean {

private transient EntityContext context;

// Access methods for persistent fields

public abstract long getUserId();

public abstract void setUserId(long userId);

public abstract String getFirstname();

public abstract void setFirstname(String firstname);

public abstract String getSurname();

public abstract void setSurname(String surname);

public abstract String getCountry();

public abstract void setCountry(String country);

public abstract String getCity();

public abstract void setCity(String city);

public abstract String getState();

public abstract void setState(String state);

public abstract String getZip();

public abstract void setZip(String zip);

public abstract String getAddress();

public abstract void setAddress(String address);

public abstract long getBirthdate();

public abstract void setBirthdate(long birthdate);

public abstract String getCellphone();

public abstract void setCellphone(String cellphone);

public abstract String getPhone();

public abstract void setPhone(String phone);

public abstract String getUsername();

public abstract void setUsername(String username);

public abstract String getPassword();

public abstract void setPassword(String password);

public abstract String getEmail();

public abstract void setEmail(String email);

public abstract String getFax();

public abstract void setFax(String fax);

public abstract String getCreditCard();

public abstract void setCreditCard(String creditCard);

public abstract Collection getOrdersCarts();

public abstract void setOrdersCarts(Collection ordersCarts);

public UsersBean() { }

// Business methods

public void addOrderCart(LocalOrderCart orderCart) {

System.out.println("ProductBean addProduct");

try {

Collection orderCarts = getOrdersCarts();

orderCarts.add(orderCart);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropOrderCart(LocalOrderCart orderCart) {

System.out.print("ProductBean dropProduct");

try {

Collection orderCarts = getOrdersCarts();

orderCarts.remove(orderCart);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public Long ejbCreate(UserDetails details) throws CreateException {

setUserId(details.getUserId());

setUsername(details.getUsername());

setPassword(details.getPassword());

setFirstname(details.getFirstname());

setSurname(details.getSurname());

setCountry(details.getCountry());

setCity(details.getCity());

setState(details.getState());

setZip(details.getZip());

setAddress(details.getAddress());

setBirthdate(details.getBirthdate());

setCellphone(details.getCellphone());

setPhone(details.getPhone());

setFax(details.getFax());

setEmail (details.getEmail());

setCreditCard(details.getCreditCard());

System.out.println("UserDetailBean–>New UserDetail was created ");

return null;

}

public UserDetails getUserDetails(){

UserDetails userDetails=new UserDetails();

userDetails.setUserId(this.getUserId());

userDetails.setFirstname(this.getFirstname());

userDetails.setSurname(this.getSurname());

userDetails.setCountry(this.getCountry());

userDetails.setState(this.getState());

userDetails.setCity(this.getCity());

userDetails.setEmail(this.getEmail());

userDetails.setUsername(this.getUsername());

userDetails.setPassword(this.getPassword());

userDetails.setAddress(this.getAddress());

userDetails.setCellphone(this.getCellphone());

userDetails.setFax(this.getFax());

userDetails.setZip(this.getZip());

userDetails.setBirthdate(this.getBirthdate());

userDetails.setPhone(this.getPhone());

userDetails.setFreeAmount(this.getFreeAmount());

System.out.println("UserDetailBean–>User detail get details "+ this.getUserId());

return userDetails;

}

public void modifyUserDetails(UserDetails details){

this.setUsername(details.getUsername());

this.setPassword(details.getPassword());

this.setFirstname(details.getFirstname());

this.setSurname(details.getSurname());

this.setCountry(details.getCountry());

this.setCity(details.getCity());

this.setState(details.getState());

this.setZip(details.getZip());

this.setAddress(details.getAddress());

this.setBirthdate(details.getBirthdate());

this.setCellphone(details.getCellphone());

this.setPhone(details.getPhone());

this.setFax(details.getFax());

this.setEmail (details.getEmail());

this.setFreeAmount(details.getFreeAmount());

System.out.println("UserDetailBean–>User detail was modify "+ this.getUserId());

}

public void modifyPassword(Long userId,String password){

this.setPassword(password);

}

public void ejbPostCreate(UserDetails details) throws CreateException { }

public void setEntityContext(EntityContext ctx) {context = ctx;}

public void unsetEntityContext() {context = null;}

public void ejbRemove() { }

public void ejbLoad() {}

public void ejbStore() {}

public void ejbPassivate() { }

public void ejbActivate() { }

}

package ejburi.user;

import java.util.*;

import java.rmi.RemoteException;

import javax.ejb.*;

import javax.ejb.EJBObject;

import ejburi.store.*;

import web.cart.*;

import web.database.*;

import ejburi.util.*;

public interface LocalUsers extends EJBLocalObject {

public long getUserId()throws java.rmi.RemoteException;

public String getFirstname()throws java.rmi.RemoteException;

public String getSurname()throws java.rmi.RemoteException;

public String getCountry()throws java.rmi.RemoteException;

public String getCity()throws java.rmi.RemoteException;

public String getState()throws java.rmi.RemoteException;

public String getZip()throws java.rmi.RemoteException;

public String getAddress()throws java.rmi.RemoteException;

public long getBirthdate()throws java.rmi.RemoteException;

public String getCellphone()throws java.rmi.RemoteException;

public String getPhone()throws java.rmi.RemoteException;

public String getUsername()throws java.rmi.RemoteException;

public String getPassword()throws java.rmi.RemoteException;

public String getEmail()throws java.rmi.RemoteException;

public String getFax()throws java.rmi.RemoteException;

public String getCreditCard()throws java.rmi.RemoteException;

public UserDetails getUserDetails() throws RemoteException;

ublic void modifyUserDetails(UserDetails details) throws RemoteException;

public void modifyPassword(Long userId,String password)throws java.rmi.RemoteException;

public Collection getOrdersCarts()throws RemoteException;

//business methods

public void addOrderCart(LocalOrderCart orderCart) throws RemoteException;

public void dropOrderCart(LocalOrderCart orderCart)throws RemoteException;

}

package ejburi.user;

import java.rmi.RemoteException;

import java.util.*;

import javax.ejb.*;

import javax.ejb.CreateException;

import javax.ejb.EJBHome;

import javax.ejb.FinderException;

import ejburi.store.*;

import web.cart.*;

import web.database.*;

import ejburi.util.*;

public interface LocalUsersHome extends EJBLocalHome {

public LocalUsers findByPrimaryKey(Long userId) throws FinderException;

public LocalUsers create (UserDetails details) throws CreateException;

public Collection findLikeUsername (String username) throws FinderException;

}

OrderCartEJB-implementare

package ejburi.user;

import java.math.BigDecimal;

import javax.ejb.CreateException;

import javax.ejb.EntityBean;

import javax.ejb.EntityContext;

import javax.ejb.FinderException;

import ejburi.store.*;

import web.cart.*;

import web.database.*;

import ejburi.util.*;

/**

* Created 04.05.2003 13:50:10

* Code generated by the Forte for Java EJB Module

* @author USER

*/

public abstract class OrderCartBean implements EntityBean {

private transient EntityContext context;

/* Container managed fields */

// Access methods for persistent fields

public abstract long getUserId();

public abstract void setUserId(long userId);

public abstract long getOrderId();

public abstract void setOrderId(long orderId);

public abstract String getStatus();

public abstract void setStatus(String status);

public abstract double getTotalPrice();

public abstract void setTotalPrice(double totalPrice);

public abstract String getProductIdCart();

public abstract void setProductIdCart(String productIdCart);

public abstract String getQuantityIdCart();

public abstract void setQuantityIdCart(String quantityIdCart);

//select methods relationships

public abstract LocalUsers getUser();

public abstract void setUser(LocalUsers user);

public Long ejbCreate(OrderCartDetails details) throws CreateException {

setUserId(details.getUserId());

setOrderId(details.getOrderId());

setStatus(details.getStatus());

setTotalPrice(details.getTotalPrice());

setProductIdCart(details.getProductIdCart());

setQuantityIdCart(details.getQuantityIdCart());

System.out.println("OrderCartDetailBean–>New OrderCartDetail was created ");

return null;

}

public OrderCartDetails getOrderDetails(){

OrderCartDetails orderCartDetails=new OrderCartDetails();

orderCartDetails.setUserId(this.getUserId());

orderCartDetails.setOrderId(this.getOrderId());

orderCartDetails.setStatus(this.getStatus());

orderCartDetails.setTotalPrice(this.getTotalPrice());

orderCartDetails.setProductIdCart(this.getProductIdCart());

orderCartDetails.setQuantityIdCart(this.getQuantityIdCart());

System.out.println("OrderCartDetailBean–>OrderCartDetail get details "+ this.getOrderId());

return orderCartDetails;

}

/**

* No argument constructor required by container.

*/

public OrderCartBean() {}

/* Methods required for EntityBean interface. EJB 1.1 section 9.4 */

public void ejbPostCreate(OrderCartDetails details) throws CreateException { }

public void setEntityContext(EntityContext context){this.context = context;}

public void unsetEntityContext(){context = null;}

public void ejbActivate() {}

public void ejbPassivate() {}

public void ejbLoad() {}

public void ejbStore() {}

public void ejbRemove() { }

}

package ejburi.user;

import java.rmi.RemoteException;

import javax.ejb.*;

import javax.ejb.EJBObject;

import ejburi.util.*;

import ejburi.store.*;

import web.cart.*;

import web.database.*;

/**

* Created 04.05.2003 13:50:11

* Code generated by the Forte for Java EJB Module

* @author USER

*/

public interface LocalOrderCart extends EJBLocalObject {

public long getUserId()throws java.rmi.RemoteException;

public long getOrderId()throws java.rmi.RemoteException;

public String getStatus()throws java.rmi.RemoteException;

public double getTotalPrice()throws java.rmi.RemoteException;

public String getProductIdCart()throws java.rmi.RemoteException;

public String getQuantityIdCart()throws java.rmi.RemoteException;

public OrderCartDetails getOrderDetails()throws java.rmi.RemoteException;

public LocalUsers getUser();

}

package ejburi.user;

import java.rmi.RemoteException;

import javax.ejb.*;

import javax.ejb.EJBObject;

import ejburi.util.*;

import ejburi.store.*;

import ejburi.user.*;

import web.cart.*;

import web.database.*;

import javax.ejb.CreateException;

import javax.ejb.EJBHome;

import javax.ejb.FinderException;

import java.util.*;

public interface OrderCartLocalHome extends EJBLocalHome {

public LocalOrderCart create (OrderCartDetails details) throws CreateException;

public LocalOrderCart findByPrimaryKey(Long aKey)

throws RemoteException, FinderException;

public Collection findALL() throws RemoteException, FinderException;

public Collection findALLOrdersofUser(long userId) throws RemoteException, FinderException;

}

package ejburi.user;

import java.util.*;

import javax.ejb.*;

import javax.naming.*;

import javax.ejb.CreateException;

import javax.ejb.SessionBean;

import javax.ejb.SessionContext;

import javax.ejb.SessionSynchronization;

import javax.ejb.EJBObject;

import javax.rmi.*;

import ejburi.user.OrderCartLocalHome;

import ejburi.util.*;

public class AuthEJB implements SessionBean {

private SessionContext context;

private LocalUsersHome userHome = null;

private OrderCartLocalHome orderCartHome=null;

public AuthEJB() {}

public void addRecord(UserDetails details) {

System.out.println("AuthBean addRecord");

try {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/TheSimpleUser");

userHome = (LocalUsersHome)PortableRemoteObject.narrow(objref,LocalUsersHome.class);

System.out.println("AuthBean addRecord inainte LocalUsers user");

LocalUsers user = userHome.create(details);

System.out.println("AuthBean addRecord dupa LocalUsers user");

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

private LocalUsersHome lookupUser() throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/TheSimpleUser");

return (LocalUsersHome) objref;

}

public UserDetails getUserDetails(Long userId){

try{

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/TheSimpleUser");

userHome = (LocalUsersHome)PortableRemoteObject.narrow(objref,LocalUsersHome.class);

System.out.println("AuthBean getUserDetails inainte LocalUsers user");

LocalUsers user = userHome.findByPrimaryKey(userId);

System.out.println("AuthBean getUserDetails dupa LocalUsers user");

return user.getUserDetails();

}catch (Exception ex) {

throw new EJBException("AuthBean->getUserDetails: "+ex.getMessage());}

}

public void modifyUserDetails(UserDetails userDetails){

try{

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/TheSimpleUser");

userHome = (LocalUsersHome)PortableRemoteObject.narrow(objref,LocalUsersHome.class);

System.out.println("AuthBean modifyUserDetails inainte LocalUsers user");

Long uKey=new Long(userDetails.getUserId());

LocalUsers user = userHome.findByPrimaryKey(uKey);

user.modifyUserDetails(userDetails);

}catch (Exception e) {

throw new EJBException("AuthBean->modifyeUserDetails: "+e.getMessage());}

}

public ArrayList getUniqueUsername(String username,String firstname,String lastname,int year,boolean useBase) {

int noRasp=0;

String search;

ArrayList al=new ArrayList();

ArrayList found=new ArrayList();

try {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/TheSimpleUser");

userHome = (LocalUsersHome)PortableRemoteObject.narrow(objref,LocalUsersHome.class);

Collection cx = userHome.findLikeUsername(username+"%");

System.out.println("Found in UserBeanTable("+username+") : "+cx.size());

for(Iterator i=cx.iterator();i.hasNext();found.add( (String)((LocalUsers)i.next()).getUsername()));

for(Iterator i=found.iterator();i.hasNext();System.out.println((String)i.next()));

if (useBase){

search=username+firstname.charAt(0);

if ((!found.contains(search) )&&(!al.contains(search))){

System.out.println(" 1.."+search);

al.add(search);

}

search=username+lastname.charAt(0);

if ( (!found.contains(search))&&(!al.contains(search))){

System.out.println(" 2.."+search);

al.add(search);

}

search=username+(year%100);

if ((al.size()<4)&& (!found.contains(search))&&(!al.contains(search))){

System.out.println(" 3.."+search);

al.add(search);

}

search=username+firstname+lastname;

if ( (!found.contains(search))&&(!al.contains(search))){

System.out.println(" 4.."+search);

al.add(search);

}

search=username+lastname+firstname;

if ((al.size()<4)&& (!found.contains(search))&&(!al.contains(search))){

System.out.println(" 5.."+search);

al.add(search);

}

search=username+firstname+lastname.charAt(0);

if ((al.size()<4)&& (!found.contains(search))&&(!al.contains(search))){

System.out.println(" 7.."+search);

al.add(search);

}

search=username+lastname+firstname.charAt(0);

if ((al.size()<4)&& (!found.contains(search))&&(!al.contains(search))){

System.out.println("8.."+search);

al.add(search);

}

search=username+lastname+firstname+(year%100);

if ((al.size()<4)&& (!found.contains(search))&&(!al.contains(search))){

System.out.println(" 9.."+search);

al.add(search);

}

search=username+firstname+lastname+(year%100);

if ((al.size()<4)&& (!found.contains(search))&&(!al.contains(search))){

System.out.println(" 10.."+search);

al.add(search);

}

}

if (al.size()==4) return al;

Random rand=new Random(System.currentTimeMillis());

while (al.size()<4) {

int next=Math.abs(rand.nextInt()); //3 cifre

System.out.println("rand.nextInt()"+next+" next "+next%1000) ;

next=next%1000;

search=username+next;//firstname+lastname+next;

if ( (!found.contains(search))&&(!al.contains(search))){

System.out.println(" –>11.."+search);

al.add(search);

}

/*

search=username+lastname+firstname+next;

if ((al.size()<4)&& (!found.contains(search))&&(!al.contains(search))){

System.out.println(" –>10.."+search);

al.add(search);

}

*/

}

} catch (Exception e) {

System.out.println("AuthBean-> getUniqueUsername: Exception"+e.getMessage()); e.printStackTrace();

throw new EJBException("AuthBean-> getUniqueUsername: Exception"+e.getMessage());}

return al;

}

public void addRecordOrderCart(OrderCartDetails details,long userId) {

System.out.println("AuthBean addRecordOrderCart");

try {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/TheSimpleOrderCart");

Object objref1 = initial.lookup("java:comp/env/ejb/TheSimpleUser");

orderCartHome = (OrderCartLocalHome)PortableRemoteObject.narrow(objref,OrderCartLocalHome.class);

userHome = (LocalUsersHome)PortableRemoteObject.narrow(objref1,LocalUsersHome.class);

System.out.println("AuthBean addRecordOrderCart dupa objref");

Long uKey=new Long(userId);

LocalUsers user = userHome.findByPrimaryKey(uKey);

System.out.println("AuthBean addRecordOrderCart dupa findbyprimarykey");

LocalOrderCart orderCart = orderCartHome.create(details);

System.out.println("AuthBean addRecordOrderCart dupa create");

user.addOrderCart(orderCart);

System.out.println("AuthBean addRecordOrderCart dupa add");

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public OrderCartDetails getOrderCartDetails(Long orderId){

try{

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/TheSimpleOrderCart");

orderCartHome = (OrderCartLocalHome)PortableRemoteObject.narrow(objref,OrderCartLocalHome.class);

LocalOrderCart orderCart = orderCartHome.findByPrimaryKey(orderId);

return orderCart.getOrderDetails();

}catch (Exception ex) {

throw new EJBException("AuthBean->getOrderCartDetails: "+ex.getMessage());}

}

public ArrayList getUserByUsername(String username){

ArrayList detailsList = new ArrayList();

Collection users = null;

try {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/TheSimpleUser");

userHome = (LocalUsersHome)PortableRemoteObject.narrow(objref,LocalUsersHome.class);

System.out.println("AuthBean dupa ObjrefSimpleUser getUserByUsername");

users=userHome.findLikeUsername(username);

UserDetails userDetails = null;

Iterator i = users.iterator();

while (i.hasNext()) {

System.out.println("AuthBean dupa in while in try getUserByUsername");

LocalUsers user = (LocalUsers) i.next();

UserDetails details = new UserDetails(user.getUserId(),user.getFirstname(),user.getSurname(),user.getCountry(),user.getState(),user.getCity(),user.getEmail(),

username,user.getPassword(),user.getAddress(),user.getCellphone(),user.getFax(), user.getZip(), user.getBirthdate(),user.getPhone(),

user.getRandom(),user.getFreeAmount(),user.getStatus());

System.out.println("AuthBean dupa inainte de add in detailsList in try getUserByUsername");

detailsList.add(details);

System.out.println("dupa adaugare");

}

System.out.println("NO PRODUSE"+detailsList.size());

return detailsList;

}catch (Exception ex) {

throw new EJBException("AuthBean->getUserByUsername: "+ex.getMessage());}

}

public void modifyPassword(Long userId,String password){

try{

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/TheSimpleUser");

userHome = (LocalUsersHome)PortableRemoteObject.narrow(objref,LocalUsersHome.class);

System.out.println("AuthBean modifyPassword inainte LocalUsers user");

LocalUsers user = userHome.findByPrimaryKey(userId);

user.modifyPassword(userId,password);

}catch (Exception e) {

throw new EJBException("AuthBean->modifyPassword: "+e.getMessage());}

}

public ArrayList getAll() {

ArrayList detailsList = new ArrayList();

Collection orders = null;

System.out.println("StoreSessionBean getProductsOfCategory");

try{

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/TheSimpleOrderCart");

Object objref1 = initial.lookup("java:comp/env/ejb/TheSimpleUser");

orderCartHome = (OrderCartLocalHome)PortableRemoteObject.narrow(objref,OrderCartLocalHome.class);

userHome = (LocalUsersHome)PortableRemoteObject.narrow(objref1,LocalUsersHome.class);

System.out.println("AuthBean findallofuser dupa objref");

orders=orderCartHome.findALL();

Iterator i = orders.iterator();

while (i.hasNext()) {

LocalOrderCart order = (LocalOrderCart) i.next();

OrderCartDetails details = new OrderCartDetails(order.getOrderId(),order.getUserId(),order.getTotalPrice(),

order.getStatus(),order.getProductIdCart(),order.getQuantityIdCart());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException("StoreSessionBean->getProductsOfCategory: "+ex.getMessage());}

} // getProductsofCategory

public ArrayList getAllOrdersUser(long userId) {

ArrayList detailsList = new ArrayList();

Collection orders = null;

System.out.println("StoreSessionBean getProductsOfCategory");

try{

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/TheSimpleOrderCart");

Object objref1 = initial.lookup("java:comp/env/ejb/TheSimpleUser");

orderCartHome = (OrderCartLocalHome)PortableRemoteObject.narrow(objref,OrderCartLocalHome.class);

userHome = (LocalUsersHome)PortableRemoteObject.narrow(objref1,LocalUsersHome.class);

System.out.println("AuthBean findallofuser dupa objref");

orders=orderCartHome.findALLOrdersofUser(userId);

Iterator i = orders.iterator();

while (i.hasNext()) {

LocalOrderCart order = (LocalOrderCart) i.next();

OrderCartDetails details = new OrderCartDetails(order.getOrderId(),userId,order.getTotalPrice(),

order.getStatus(),order.getProductIdCart(),order.getQuantityIdCart());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException("StoreSessionBean->getProductsOfCategory: "+ex.getMessage());}

} // getProductsofCategory

public void removeOrder(long orderId) {

System.out.println("StoreSessionBean removeOrder");

try {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/TheSimpleOrderCart");

Object objref1 = initial.lookup("java:comp/env/ejb/TheSimpleUser");

orderCartHome = (OrderCartLocalHome)PortableRemoteObject.narrow(objref,OrderCartLocalHome.class);

userHome = (LocalUsersHome)PortableRemoteObject.narrow(objref1,LocalUsersHome.class);

Long uKey=new Long(orderId);

LocalOrderCart order = orderCartHome.findByPrimaryKey(uKey);

order.remove();

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void ejbCreate() throws CreateException {}

public void ejbRemove() {}

public void ejbActivate() {}

public void ejbPassivate() {}

public void setSessionContext(SessionContext context) {this.context = context;}

}

package ejburi.user;

import java.util.*;

import java.rmi.RemoteException;

import ejburi.util.*;

import javax.ejb.EJBObject;

public interface Auth extends EJBObject {

public void addRecord(UserDetails details) throws RemoteException;

public UserDetails getUserDetails(Long userId) throws RemoteException;

public void modifyUserDetails(UserDetails userDetails) throws RemoteException;

public ArrayList getUniqueUsername(String username,String firstname,String lastname,int year,boolean useBase) throws RemoteException;

public OrderCartDetails getOrderCartDetails(Long orderId)throws RemoteException;

public void addRecordOrderCart(OrderCartDetails details,long userId)throws RemoteException;

public ArrayList getUserByUsername(String username)throws RemoteException;

public void modifyPassword(Long userId,String password)throws RemoteException;

public ArrayList getAll()throws RemoteException;

public ArrayList getAllOrdersUser(long userId)throws RemoteException;

public void removeOrder(long orderId)throws RemoteException;

}

package ejburi.user;

import java.io.Serializable;

import java.rmi.RemoteException;

import javax.ejb.CreateException;

import javax.ejb.EJBHome;

import ejburi.util.*;

public interface AuthHome extends EJBHome {

public Auth create() throws RemoteException,CreateException;

}

package ejburi.user;

import javax.ejb.CreateException;

import javax.ejb.EntityBean;

import javax.ejb.EntityContext;

import javax.ejb.FinderException;

import java.util.*;

import javax.ejb.*;

import javax.naming.*;

import ejburi.util.*;

/**

* Created 20.05.2003 20:56:16

* Code generated by the Forte for Java EJB Module

* @author USER

*/

public abstract class MessageBean implements EntityBean {

private transient EntityContext context;

public abstract void setMsgId(long msgId);

public abstract long getMsgId( );

public abstract void setTopicId(long topicId);

public abstract long getTopicId( );

public abstract void setStartDate(long startDate);

public abstract long getStartDate( );

public abstract void setMessage(String message);

public abstract String getMessage( );

public abstract void setStartedBy(String startedby);

public abstract String getStartedBy( );

//select methods relationships

public abstract TopicLocal getTopic();

public abstract void setTopic(TopicLocal topic);

public Long ejbCreate(MessageDetails details) throws CreateException {

setMsgId(details.getMsgId());

setTopicId(details.getTopicId());

setStartDate(details.getStartDate());

setMessage(details.getMessage());

setStartedBy(details.getStartedBy());

System.out.println("MessageDetailBean–>New MessageDetail was created ");

return null;

}

public MessageDetails getMessageDetails(){

MessageDetails messageDetails=new MessageDetails();

messageDetails.setMsgId(this.getMsgId());

messageDetails.setTopicId(this.getTopicId());

messageDetails.setStartDate(this.getStartDate());

messageDetails.setMessage(this.getMessage());

messageDetails.setStartedBy(this.getStartedBy());

System.out.println("TopicrDetailBean–>Topic detail get details "+ this.getMsgId());

return messageDetails;

}

public void modifyMessageDetails(MessageDetails details){

// setUserId(details.getUserId());

this.setTopicId(details.getTopicId());

this.setStartDate(details.getStartDate());

this.setMessage(details.getMessage());

this.setStartedBy(details.getStartedBy());

System.out.println("TopicDetailBean–>Topicdetail was modify "+ this.getMsgId());

}

public MessageBean() {}

public void ejbPostCreate(MessageDetails details) throws CreateException { }

public void setEntityContext(EntityContext context){this.context = context; }

public void unsetEntityContext(){context = null;}

public void ejbActivate() {}

public void ejbPassivate() {}

public void ejbLoad() { }

public void ejbStore() { }

public void ejbRemove() { }

}

package ejburi.user;

import java.util.*;

import java.rmi.RemoteException;

import javax.ejb.*;

import javax.ejb.EJBObject;

import ejburi.util.*;

/**

* Created 20.05.2003 20:56:16

* Code generated by the Forte for Java EJB Module

* @author USER

*/

public interface MessageLocal extends EJBLocalObject {

public long getMsgId( );

public long getTopicId( );

public long getStartDate( );

public String getMessage( );

public String getStartedBy( );

public MessageDetails getMessageDetails()throws java.rmi.RemoteException;

public void modifyMessageDetails(MessageDetails details)throws java.rmi.RemoteException;

public TopicLocal getTopic()throws java.rmi.RemoteException;

}

package ejburi.user;

import java.rmi.RemoteException;

import java.util.*;

import javax.ejb.*;

import javax.ejb.CreateException;

import javax.ejb.EJBHome;

import javax.ejb.FinderException;

import ejburi.util.*;

/**

* Created 20.05.2003 20:56:16

* Code generated by the Forte for Java EJB Module

* @author USER

*/

public interface MessageLocalHome extends EJBLocalHome {

public MessageLocal findByPrimaryKey(Long aKey) throws RemoteException, FinderException;

public MessageLocal create (MessageDetails details) throws CreateException;

public Collection findAll () throws FinderException;

public Collection findMessageTopicId (long topicId) throws FinderException;

public Collection findMessageTopicById (long id) throws FinderException;

public MessageLocal create(UserDetails details) throws RemoteException, CreateException, CreateException;

}

package ejburi.user;

import javax.ejb.CreateException;

import javax.ejb.EntityBean;

import javax.ejb.EntityContext;

import javax.ejb.FinderException;

import java.util.*;

import javax.ejb.*;

import javax.naming.*;

import ejburi.util.*;

/**

* Created 20.05.2003 16:10:13

* Code generated by the Forte for Java EJB Module

* @author USER

*/

public abstract class TopicBean implements EntityBean {

private transient EntityContext context;

public abstract void setId(long id);

public abstract long getId();

public abstract void setTopicId(long topicId);

public abstract long getTopicId();

public abstract void setNameTopic(String nameTopic);

public abstract String getNameTopic();

public abstract void setStartDate(long startDate);

public abstract long getStartDate();

public abstract void setStatus(int status);

public abstract int getStatus();

public abstract void setFromId(long fromId);

public abstract long getFromId();

public abstract void setUsernameFrom(String usernameFrom);

public abstract String getUsernameFrom();

public abstract Collection getMessages();

public abstract void setMessages(Collection messages);

public TopicBean() {}

// Business methods

public void addMessage(MessageLocal message) {

System.out.println("TopicBean addMessage");

try {

Collection messages = getMessages();

messages.add(message);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropMessage(MessageLocal message) {

System.out.print("TopicBean dropMessage");

try {

Collection messages = getMessages();

messages.remove(message);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public Long ejbCreate(TopicDetails details) throws CreateException {

setId(details.getId());

setTopicId(details.getTopicId());

setFromId(details.getFromId());

setStartDate(details.getStartDate());

setStatus(details.getStatus());

setNameTopic(details.getNameTopic());

setUsernameFrom(details.getUsernameFrom());

System.out.println("TopicDetailBean–>New TopicDetail was created ");

return null;

}

public TopicDetails getTopicDetails(){

TopicDetails topicDetails=new TopicDetails();

topicDetails.setId(this.getId());

topicDetails.setTopicId(this.getTopicId());

topicDetails.setFromId(this.getFromId());

topicDetails.setStartDate(this.getStartDate());

topicDetails.setStatus(this.getStatus());

topicDetails.setNameTopic(this.getNameTopic());

topicDetails.setUsernameFrom(this.getUsernameFrom());

System.out.println("TopicrDetailBean–>Topic detail get details "+ this.getId());

return topicDetails;

}

public void modifyTopicDetails(TopicDetails details){

// setUserId(details.getUserId());

this.setId(details.getId());

this.setFromId(details.getFromId());

this.setStartDate(details.getStartDate());

this.setStatus(details.getStatus());

this.setNameTopic(details.getNameTopic());

this.setUsernameFrom(details.getUsernameFrom());

System.out.println("TopicDetailBean–>Topicdetail was modify "+ this.getId());

}

public void ejbPostCreate(TopicDetails details) throws CreateException { }

public void setEntityContext(EntityContext context){ this.context = context; }

public void unsetEntityContext(){context = null;}

public void ejbActivate() {}

public void ejbPassivate() { }

public void ejbLoad() {}

public void ejbStore() { }

public void ejbRemove() { }

}

package ejburi.user;

import java.util.*;

import java.rmi.RemoteException;

import javax.ejb.*;

import javax.ejb.EJBObject;

import ejburi.util.*;

/**

* Created 20.05.2003 16:10:13

*/

public interface TopicLocal extends EJBLocalObject {

public long getId();

public long getTopicId();

public String getNameTopic();

public long getStartDate();

public int getStatus();

public long getFromId();

public String getUsernameFrom();

public TopicDetails getTopicDetails()throws java.rmi.RemoteException;

public void modifyTopicDetails(TopicDetails details)throws java.rmi.RemoteException;

public void addMessage(MessageLocal message)throws java.rmi.RemoteException;

public void dropMessage(MessageLocal message)throws java.rmi.RemoteException;

public Collection getMessages()throws java.rmi.RemoteException;

}

package ejburi.user;

import java.rmi.RemoteException;

import java.util.*;

import javax.ejb.*;

import javax.ejb.CreateException;

import javax.ejb.EJBHome;

import javax.ejb.FinderException;

import ejburi.util.*;

/**

* Created 20.05.2003 16:10:13

*/

public interface TopicLocalHome extends EJBLocalHome {

/**

* Reference EJB specification 1.1 section 9.2.8

*/

public TopicLocal findByPrimaryKey(Long aKey)

throws RemoteException, FinderException;

public TopicLocal create (TopicDetails details) throws CreateException;

public Collection findAllForumTopics(long id) throws FinderException;

public Collection findAllTopics() throws FinderException;

}

package ejburi.user;

import javax.ejb.CreateException;

import javax.ejb.SessionBean;

import javax.ejb.SessionContext;

import javax.ejb.SessionSynchronization;

import ejburi.util.*;

import javax.naming.*;

import javax.ejb.*;

import java.util.*;

/**

* Created 20.05.2003 21:30:58

*/

public class MessageSessionEJB implements SessionBean {

private SessionContext context;

TopicLocalHome topicHome=null;

MessageLocalHome messageHome=null;

// League business methods

public void createTopic(TopicDetails details) {

System.out.println("MessageSession createTopic");

try {

TopicLocal topic = topicHome.create(details);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void removeTopic(long topicId) {

System.out.println("MessageSession removeTopic");

try {

Long uKey=new Long(topicId);

TopicLocal topic = topicHome.findByPrimaryKey(uKey);

topic.remove();

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void modifyTopic(TopicDetails details) {

System.out.println("MessageSession modifyTopic");

try {

Long uKey=new Long(details.getTopicId());

TopicLocal topic = topicHome.findByPrimaryKey(uKey);

topic.modifyTopicDetails(details);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public TopicDetails getTopic(long topicId) {

System.out.print("MessageSession getTopic");

TopicDetails details = null;

try {

Long uKey=new Long(topicId);

TopicLocal topic = topicHome.findByPrimaryKey(uKey);

details = new TopicDetails(topic.getId(),topicId,topic.getNameTopic(),topic.getStartDate(),

topic.getStatus(),topic.getFromId(),topic.getUsernameFrom());

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

return details;

}

// Message business methods

public void createMessageInTopic(long topicId,MessageDetails details) {

System.out.println("MessageSessionEJB createMessage");

try {

Long uKey=new Long(topicId);

TopicLocal topic = topicHome.findByPrimaryKey(uKey);

MessageLocal message=messageHome.create(details);

topic.addMessage(message);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropMessageFromTopic(long topicId,MessageDetails details) {

System.out.println("MessageSessionEJB createMessage");

try {

Long uKey=new Long(topicId);

Long uKeyDet=new Long(details.getMsgId());

TopicLocal topic = topicHome.findByPrimaryKey(uKey);

MessageLocal message=messageHome.findByPrimaryKey(uKeyDet);

topic.dropMessage(message);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void removeMessage(long messageId) {

System.out.println("MessageSessionEJB removeMessage");

try {

Long uKey=new Long(messageId);

MessageLocal message = messageHome.findByPrimaryKey(uKey);

message.remove();

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void modifyMessage(MessageDetails details) {

System.out.println("MessageSessionEJB modifyMessage");

try {

Long uKey=new Long(details.getMsgId());

MessageLocal message = messageHome.findByPrimaryKey(uKey);

message.modifyMessageDetails(details);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public MessageDetails getMessage(long messageId) {

System.out.print("MessageSessionEJB getMessage");

MessageDetails details = null;

try {

Long uKey=new Long(messageId);

MessageLocal message = messageHome.findByPrimaryKey(uKey);

details = new MessageDetails(message.getTopicId(),message.getMessage(),message.getStartDate(),

messageId, message.getStartedBy());

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

return details;

}

public ArrayList getAllMessagesTopic(long topicId){

System.out.println("MessageSessionEJB ->getAllMessagesTopic");

ArrayList detailsList = new ArrayList();

Collection messages=null;

try{

messages=messageHome.findMessageTopicId(topicId);

Iterator i = messages.iterator();

while (i.hasNext()) {

MessageLocal message = (MessageLocal) i.next();

MessageDetails details = new MessageDetails(message.getTopicId(),message.getMessage(),message.getStartDate(),

message.getMsgId(), message.getStartedBy());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getAllForumTopics(long id){

System.out.println("MessageSessionEJB ->getAllForumTopics");

ArrayList detailsList = new ArrayList();

Collection topics=null;

try{

topics=topicHome.findAllForumTopics(id);

Iterator i = topics.iterator();

while (i.hasNext()) {

TopicLocal topic = (TopicLocal) i.next();

TopicDetails details = new TopicDetails(id,topic.getTopicId(),topic.getNameTopic(),topic.getStartDate(),topic.getStatus(),

topic.getFromId(),topic.getUsernameFrom());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getAllTopics(){

System.out.println("MessageSessionEJB ->getAllForumTopics");

ArrayList detailsList = new ArrayList();

Collection topics=null;

try{

topics=topicHome.findAllTopics();

Iterator i = topics.iterator();

while (i.hasNext()) {

TopicLocal topic = (TopicLocal) i.next();

TopicDetails details = new TopicDetails(topic.getId(),topic.getTopicId(),topic.getNameTopic(),topic.getStartDate(),topic.getStatus(),

topic.getFromId(),topic.getUsernameFrom());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getAllMessagesTopicById(long id){

System.out.println("MessageSessionEJB ->getAllMessagesTopic");

ArrayList detailsList = new ArrayList();

Collection messages=null;

try{

messages=messageHome.findMessageTopicById(id);

Iterator i = messages.iterator();

while (i.hasNext()) {

MessageLocal message = (MessageLocal) i.next();

MessageDetails details = new MessageDetails(message.getTopicId(),message.getMessage(),message.getStartDate(),

message.getMsgId(), message.getStartedBy());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public MessageSessionEJB() { }

public void ejbCreate() {

System.out.println("MessageSessionEJB ejbCreate()");

try {

topicHome = lookupTopic();

messageHome = lookupMessage();

} catch (NamingException ex) {

throw new EJBException(ex.getMessage());

}

}

public void setSessionContext(SessionContext context){this.context = context;}

public void ejbActivate() {

System.out.println("MessageSessionEJB ejbActivate()");

try {

topicHome = lookupTopic();

messageHome = lookupMessage();

} catch (NamingException ex) {

throw new EJBException(ex.getMessage());

}

}

public void ejbPassivate() {

topicHome=null;

messageHome=null;

}

public void ejbRemove() {}

private TopicLocalHome lookupTopic()throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleTopic");

return (TopicLocalHome) objref;

}

private MessageLocalHome lookupMessage()throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleMessage");

return (MessageLocalHome) objref;

}

}

package ejburi.user;

import java.util.*;

import java.rmi.RemoteException;

import javax.ejb.*;

import javax.ejb.EJBObject;

import ejburi.util.*;

/**

* Created 20.05.2003 21:30:58

*/

public interface MessageSession extends EJBObject {

public void createTopic(TopicDetails details)throws java.rmi.RemoteException;

public void removeTopic(long topicId)throws java.rmi.RemoteException;

public void modifyTopic(TopicDetails details)throws java.rmi.RemoteException;

public TopicDetails getTopic(long topicId)throws java.rmi.RemoteException;

public void createMessageInTopic(long topicId,MessageDetails details)throws java.rmi.RemoteException;

public void dropMessageFromTopic(long topicId,MessageDetails details)throws java.rmi.RemoteException;

public void removeMessage(long messageId)throws java.rmi.RemoteException;

public void modifyMessage(MessageDetails details)throws java.rmi.RemoteException;

public MessageDetails getMessage(long messageId)throws java.rmi.RemoteException;

public ArrayList getAllMessagesTopic(long topicId)throws java.rmi.RemoteException;

public ArrayList getAllMessagesTopicById(long id)throws java.rmi.RemoteException;

public ArrayList getAllForumTopics(long id)throws java.rmi.RemoteException;

public ArrayList getAllTopics()throws java.rmi.RemoteException;

}

package ejburi.user;

import java.rmi.RemoteException;import javax.ejb.CreateException;

import javax.ejb.EJBHome;

/**

* Created 20.05.2003 21:30:58

*/

public interface MessageSessionHome extends EJBHome {

public MessageSession create() throws RemoteException,CreateException;

}

package advancedSearch;

import java.sql.*;

import javax.sql.*;

import java.util.*;

import java.math.*;

import javax.ejb.*;

import javax.naming.*;

import ejburi.util.*;

/**

* Created 03.06.2003 12:45:55

*/

public class SearchAdvEJB implements EntityBean {

private String id;

private transient EntityContext context;

private Connection con;

private String dbName = "java:comp/env/jdbc/SearchAdvancedDB";

public String ejbCreate() throws CreateException {

id=String.valueOf(System.currentTimeMillis());

System.out.println("Create AuctionSelectBean "+id);

return id;

}

public String ejbFindByPrimaryKey(String primaryKey) throws FinderException {

return primaryKey;

}

public void ejbRemove() {}

public void setEntityContext(EntityContext context) {

this.context = context;

try {

makeConnection("dbNameSearch");

System.out.println("Create context: AuctionSelectBean");

} catch (Exception ex) {throw new EJBException("Unable to connect to database. " +ex.getMessage());}

}

public void unsetEntityContext() {

if(con!=null){

try {

con.close();

con=null;

System.out.println("Delete context: AuctionSelectBean");

} catch (SQLException ex) {throw new EJBException("unsetEntityContext: " + ex.getMessage());}

}

}

public void ejbActivate() {}

public void ejbPassivate(){

if(con!=null){

try {

con.close();

con=null;

System.out.println("Delete context: AuctionSelectBean");

} catch (SQLException ex) {throw new EJBException("unsetEntityContext: " + ex.getMessage());}

}

}

public void ejbLoad(){}

public void ejbStore() {}

public void ejbPostCreate(){}

/*********************** Database Routines *************************/

private void makeConnection(String dbNameDataBase) throws NamingException, SQLException {

InitialContext ic = new InitialContext();

Context environment = (Context)ic.lookup("java:comp/env");

dbName = (String)environment.lookup(dbNameDataBase);

DataSource ds = (DataSource) ic.lookup(dbName);

con = ds.getConnection();

}

private boolean selectByPrimaryKey(String primaryKey) throws SQLException {

return true;

}

public ArrayList ejbHomeSelectByAll(String namePlayer ,String surname,String nameTeam,String nickname,String position,long index,int count,long dateExpL,long dateExpR) throws SQLException {

ArrayList al=new ArrayList();

PreparedStatement pstmt = null;

System.out.println("Call : selectByAll("+namePlayer+" , "+surname+" , "+nameTeam+" , "+nickname+" , "+position+" , "+ index+" , "+ count+" , "+ dateExpL+" , "+ dateExpR+")");

if (con==null){

System.out.println("NULL before called");

try{

makeConnection("dbNameSearch");

}catch (NamingException e) {

System.out.println("AuctionSelectBean ->ejbHomeSelectByAll Eroare la stabilirea conexiunii ejbHomeSelectByAll : NamingException"+e.getMessage()); e.printStackTrace();

throw new EJBException("AuctionSelectBean ->ejbHomeSelectByAll Eroare la stabilirea conexiunii ejbHomeSelectByAll : NamingException"+e.getMessage());}

System.out.println("After NULL, init connection");

}

StringBuffer sb=new StringBuffer();

String and=" AND ";

sb.append("SELECT \"headline\",\"news\",\"date\" from NEWSBEANTABLE as n ,PLAYERBEANTABLE as p,TEAMBEANTABLE as t WHERE p.playerId=n.playerId and p.teamId=t.teamId ");

if (namePlayer!=null){sb.append( and +" \"namePlayer\"= ?");}

if (surname!=null){sb.append( and +" \"surname\"= ?");}

if (nameTeam!=null){sb.append( and +" \"nameTeam\"= ?");}

if (nickname!=null){sb.append( and +" \"nickname\"= ?");}

if (position!=null){sb.append( and +" \"position\"= ?");}

if ((dateExpL!=0) && (dateExpR!=0)) {sb.append(and +" \"date\" BETWEEN ? AND ? ");}

else if (dateExpL!=0) {sb.append(and +" \"date\" > ? ");}

System.out.println("Query: "+sb.toString());

pstmt = con.prepareStatement(sb.toString());System.out.println("iar pstmt");

int k=1;

if (namePlayer!=null){pstmt.setString(k, namePlayer);k++;}

System.out.println("dupa pstmt");

if (surname!=null){pstmt.setString(k, surname);k++;}

if (nameTeam!=null){pstmt.setString(k, nameTeam);k++;}

if (nickname!=null){pstmt.setString(k, nickname);k++;}

if (position!=null){pstmt.setString(k, position);k++;}

System.out.println("iar if");

if ((dateExpL!=0) && (dateExpR!=0)) {pstmt.setLong(k, dateExpL);k++;pstmt.setLong(k, dateExpR);k++;}

else if (dateExpL!=0) {pstmt.setLong(k, dateExpL);k++;}

ResultSet rs = pstmt.executeQuery();

long lcount=0;

if(rs.next()){

while (rs.next()){

if ( (index<=lcount) && (lcount<index+count)){ ReturnClassNews aReturn=new ReturnClassNews(rs.getString("Headline"),rs.getString("News"),rs.getLong("Date") ); al.add(aReturn);

}

lcount++;

}}else

System.out.println("aReturn.No: "+al.size());

al.add(0,new Long(lcount));

//al.trimToSize();

return al;

}

public ArrayList ejbHomeSelectPlayer(String namePlayer ,String surname,String nameTeam,String nickname,String position,String status,long index,int count) throws SQLException {

ArrayList al=new ArrayList();

PreparedStatement pstmt = null;

System.out.println("Call : ejbHomeSelectPlayer("+namePlayer+" , "+surname+" , "+nameTeam+" , "+nickname+" , "+position+" , "+ index+" , "+ count+" , "+ status+")");

if (con==null){

System.out.println("NULL before called");

try{

makeConnection("dbNameSearch");

}catch (NamingException e) {

System.out.println("AuctionSelectBean ->ejbHomeSelectPlayer Eroare la stabilirea conexiunii ejbHomeSelectByAll : NamingException"+e.getMessage()); e.printStackTrace();

throw new EJBException("AuctionSelectBean ->ejbHomeSelectPlayer Eroare la stabilirea conexiunii ejbHomeSelectByAll : NamingException"+e.getMessage());}

System.out.println("After NULL, init connection");

}

StringBuffer sb=new StringBuffer();

String and=" AND ";

sb.append("SELECT \"playerId\",\"namePlayer\",\"surname\" ,\"nickname\",\"position\", \"status\",\"experience\",\"birthdate\" from PLAYERBEANTABLE as k,TEAMBEANTABLE as t WHERE k.teamId=t.teamId ");

if (namePlayer!=null){sb.append( and +" \"namePlayer\"= ?");}

if (surname!=null){sb.append( and +" \"surname\"= ?");}

if (nameTeam!=null){sb.append( and +" \"nameTeam\"= ?");}

if (nickname!=null){sb.append( and +" \"nickname\"= ?");}

if (position!=null){sb.append( and +" \"position\"= ?");}

if (status!=null){sb.append( and +" \"status\"= ?");}

System.out.println("Query: "+sb.toString());

pstmt = con.prepareStatement(sb.toString());System.out.println("iar pstmt");

int k=1;

if (namePlayer!=null){pstmt.setString(k, namePlayer);k++;}

System.out.println("dupa pstmt");

if (surname!=null){pstmt.setString(k, surname);k++;}

if (nameTeam!=null){pstmt.setString(k, nameTeam);k++;}

if (nickname!=null){pstmt.setString(k, nickname);k++;}

if (position!=null){pstmt.setString(k, position);k++;}

if (status!=null){pstmt.setString(k, status);k++;}

ResultSet rs = pstmt.executeQuery();

long lcount=0;

if(rs.next()){

while (rs.next()){

if ( (index<=lcount) && (lcount<index+count)){ ReturnPlayer aReturn=new ReturnPlayer (rs.getString (" namePlayer"),

rs.getString("surname"),rs.getString("nickname"),rs.getString("position"),rs.getString("status"),

rs.getLong("playerId"),rs.getLong("birthdate"), rs.getInt("experience"));

al.add(aReturn); }

lcount++;

}}else

System.out.println("aReturn.No: "+al.size());

al.add(0,new Long(lcount));

//al.trimToSize();

return al;

}

}

package advancedSearch;

import javax.ejb.*;

import java.rmi.RemoteException;

import java.util.*;

import java.sql.SQLException;

/**

* Created 03.06.2003 12:45:55

*/

public interface SearchAdvHome extends EJBHome {

public SearchAdv findByPrimaryKey(String aKey)

throws RemoteException, FinderException;

public SearchAdv create() throws RemoteException, CreateException;

public ArrayList selectByAll(String namePlayer ,String surname,String nameTeam,

String nickname,String position,long index,int count,long dateExpL,

long dateExpR)throws FinderException ,RemoteException ;

public ArrayList selectPlayer(String namePlayer ,String surname,String nameTeam,String nickname,

String position,String status,long index,int count)throws FinderException ,RemoteException ;

}

Pachetul ejburi.store:

package ejburi.store;

import java.math.BigDecimal;

import ejburi.util.*;

import javax.ejb.CreateException;

import javax.ejb.EntityBean;

import javax.ejb.EntityContext;

import javax.ejb.FinderException;

import java.util.*;

import javax.ejb.*;

/**

* Created 29.04.2003 16:04:56

* Code generated by the Forte for Java EJB Module

* @author USER

*/

public abstract class CategoryBean implements EntityBean {

private transient EntityContext context;

public abstract long getCategoryId();

public abstract void setCategoryId(long categoryId);

public abstract String getNameCategory();

public abstract void setNameCategory(String nameCategory);

public CategoryBean() {}

public Long ejbCreate(CategoryDetails categoryDetails) throws CreateException {

setCategoryId(categoryDetails.getCategoryId());

setNameCategory(categoryDetails.getNameCategory());

System.out.println("categoryDetails–>New CategoryDetail was created ");

return null;

}

public CategoryDetails getCategoryDetails(){

CategoryDetails categoryDetails=new CategoryDetails();

categoryDetails.setCategoryId(this.getCategoryId());

categoryDetails.setNameCategory(this.getNameCategory());

System.out.println("categoryDetailsBean–>User detail get details "+ this.getCategoryId());

return categoryDetails;

}

public void modifyCategoryDetails(CategoryDetails details){

//this.setCategoryId(details.getCategoryId());

this.setNameCategory(details.getNameCategory());

System.out.println("CategoryDetailBean–>Category detail was modify "+ this.getCategoryId());

}

public abstract Collection getProducts();

public abstract void setProducts(Collection products);

// Business methods

public void addProduct(ProductLocal product) {

System.out.println("ProductBean addProduct");

try {

Collection products = getProducts();

products.add(product);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropProduct(ProductLocal product) {

System.out.print("ProductBean dropProduct");

try {

Collection products = getProducts();

products.remove(product);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void ejbPostCreate(CategoryDetails categoryDetails) throws CreateException { }

public void setEntityContext(EntityContext context){this.context = context; }

public void unsetEntityContext(){context = null;}

public void ejbActivate() {}

public void ejbPassivate() {}

public void ejbLoad() {}

public void ejbStore() {}

public void ejbRemove() {

}}

package ejburi.store;

import java.rmi.RemoteException;

import ejburi.util.*;

import javax.ejb.EJBObject;

import javax.ejb.*;

import java.util.*;

/**

* Created 29.04.2003 16:04:56

* Code generated by the Forte for Java EJB Module

* @author USER

*/

public interface CategoryLocal extends EJBLocalObject {

public long getCategoryId()throws RemoteException;

public String getNameCategory()throws RemoteException;

public Collection getProducts()throws RemoteException;

public CategoryDetails getCategoryDetails() throws RemoteException;

public void modifyCategoryDetails(CategoryDetails details)throws RemoteException;

public void addProduct(ProductLocal product);

public void dropProduct(ProductLocal product);

package ejburi.store;

import java.rmi.RemoteException;

import javax.ejb.CreateException;

import javax.ejb.EJBHome;

import javax.ejb.FinderException;

import ejburi.util.*;

import javax.ejb.*;

import java.util.*;

/**

* Created 29.04.2003 16:04:56

* Code generated by the Forte for Java EJB Module

* @author USER

*/

public interface CategoryLocalHome extends EJBLocalHome {

public CategoryLocal findByPrimaryKey(Long aKey)

throws RemoteException, FinderException;

public CategoryLocal create (CategoryDetails categoryDetails) throws CreateException;

public Collection findLikeNameCategory (String nameCategory) throws FinderException;

public Collection findAllCategories() throws FinderException;

public CategoryLocal findByNameCategory (String nameCategory) throws FinderException;

}

package ejburi.store;

import java.math.BigDecimal;

import ejburi.util.*;

import javax.ejb.CreateException;

import javax.ejb.EntityBean;

import javax.ejb.EntityContext;

import javax.ejb.FinderException;

public abstract class ProductBean implements EntityBean {

private transient EntityContext context;

public abstract long getProductId();

public abstract void setProductId(long productId) ;

public abstract long getCategoryId();

public abstract void setCategoryId(long categoryId);

public abstract String getProductName();

public abstract void setProductName(String productName);

public abstract String getProductDescription();

public abstract void setProductDescription(String productDescription);

public abstract double getPrice() ;

public abstract void setPrice(double price);

public abstract int getStatus() ;

public abstract void setStatus(int status) ;

public abstract String getManufacturer() ;

public abstract void setManufacturer(String manufacturer);

public abstract int getQuantityStock() ;

public abstract void setQuantityStock(int quantityStock) ;

// Access methods for relationship fields

public abstract CategoryLocal getCategory();

public abstract void setCategory(CategoryLocal category);

//Business Method

public ProductDetails getProductDetails(){

ProductDetails productDetails=new ProductDetails();

productDetails.setProductId(this.getProductId());

productDetails.setCategoryId(this.getCategoryId());

productDetails.setProductName(this.getProductName());

productDetails.setProductDescription(this.getProductDescription());

productDetails.setManufacturer(this.getManufacturer());

productDetails.setPrice(this.getPrice());

productDetails.setStatus(this.getStatus());

productDetails.setQuantityStock(this.getQuantityStock());

System.out.println("categoryDetailsBean–>User detail get details "+ this.getProductId());

return productDetails;

}

public void modifyProductDetails(ProductDetails productDetails){

this.setCategoryId(productDetails.getCategoryId());

this.setProductName(productDetails.getProductName());

this.setProductDescription(productDetails.getProductDescription());

this.setManufacturer(productDetails.getManufacturer());

this.setPrice(productDetails.getPrice());

this.setStatus(productDetails.getStatus());

this.setQuantityStock(productDetails.getQuantityStock());

System.out.println("categoryDetailsBean–>User detail get details "+ this.getProductId());

}

public ProductBean() {}

public Long ejbCreate(ProductDetails productDetails) throws CreateException {

setCategoryId(productDetails.getCategoryId());

setProductId(productDetails.getProductId());

setProductName(productDetails.getProductName());

setProductDescription(productDetails.getProductDescription());

setManufacturer(productDetails.getManufacturer());

setPrice(productDetails.getPrice());

setStatus(productDetails.getStatus());

setQuantityStock(productDetails.getQuantityStock());

System.out.println("productDetails–>New ProductDetail was created ");

return null;

}

public void setQuantity(int quantity){

this.setQuantityStock(quantity);

}

public void ejbPostCreate(ProductDetails productDetails) throws CreateException { }

public void setEntityContext(EntityContext context){this.context = context; }

public void unsetEntityContext(){context = null;}

public void ejbActivate() {}

public void ejbPassivate() {}

public void ejbLoad() {}

public void ejbStore() {}

public void ejbRemove() {

}

}

package ejburi.store;

import java.rmi.RemoteException;

import ejburi.util.*;

import javax.ejb.EJBObject;

import javax.ejb.*;

/**

* Created 28.04.2003 21:31:31

* Code generated by the Forte for Java EJB Module

* @author USER

*/

public interface ProductLocal extends EJBLocalObject {

public long getProductId()throws RemoteException;

public long getCategoryId()throws RemoteException;

public String getProductName()throws RemoteException;

public String getProductDescription()throws RemoteException;

public double getPrice()throws RemoteException;

public int getStatus()throws RemoteException;

public String getManufacturer()throws RemoteException;

public int getQuantityStock()throws RemoteException;

public void setQuantity(int quantity)throws RemoteException;

public ProductDetails getProductDetails() throws RemoteException;

public void modifyProductDetails(ProductDetails productDetails)throws RemoteException;

public CategoryLocal getCategory()throws RemoteException;

}

package ejburi.store;

import java.rmi.RemoteException;

import javax.ejb.CreateException;

import javax.ejb.EJBHome;

import javax.ejb.FinderException;

import ejburi.util.*;

import javax.ejb.*;

import java.util.*;

/**

* Created 28.04.2003 21:31:31

* Code generated by the Forte for Java EJB Module

* @author USER

*/

public interface ProductLocalHome extends EJBLocalHome {

public ProductLocal findByPrimaryKey(Long productId)

throws RemoteException, FinderException;

public ProductLocal create (ProductDetails productDetails) throws CreateException;

public ProductLocal findLikeNameProduct (String productName) throws FinderException;

public Collection findLikeCategory(String nameCategory)throws FinderException;

public Collection findAllProducts()throws FinderException;

public Collection findByStatusProducts(int status)throws FinderException;

}

package ejburi.store;

import javax.ejb.EJBObject;

import javax.rmi.*;

import javax.ejb.*;

import javax.naming.*;

import javax.ejb.CreateException;

import javax.ejb.SessionBean;

import javax.ejb.SessionContext;

import javax.ejb.SessionSynchronization;

import ejburi.util.*;

import java.util.*;

/**

* Created 30.04.2003 15:14:36

*/

public class StoreSessionEJB implements SessionBean {

private SessionContext context;

private CategoryLocalHome categoryHome = null;

private ProductLocalHome productHome = null;

//look for product by name

public ProductDetails getProductDetails(Long productId) {

System.out.println("StoreSessionBean getProductDetails");

try {

Context initial = new InitialContext();

Object objref1 = initial.lookup("java:comp/env/ejb/SimpleProduct");

productHome =(ProductLocalHome)PortableRemoteObject.narrow(objref1,ProductLocalHome.class);

System.out.println("StoreSessionBean dupa ObjrefSimpleProduct getProduct");

ProductDetails productDetails = null;

ProductLocal product = productHome.findByPrimaryKey(productId);

return product.getProductDetails();

}catch (Exception ex) {

throw new EJBException("StoreSessionBean->getProduct: "+ex.getMessage());}

} // getProduct

public void modifyProductDetails(ProductDetails productDetails) {

System.out.println("StoreSessionBean getProductDetails");

try {

Context initial = new InitialContext();

Object objref1 = initial.lookup("java:comp/env/ejb/SimpleProduct");

productHome =(ProductLocalHome)PortableRemoteObject.narrow(objref1,ProductLocalHome.class);

System.out.println("StoreSessionBean dupa ObjrefSimpleProduct modifyProductDetails");

Long uKey=new Long(productDetails.getProductId());

ProductLocal product = productHome.findByPrimaryKey(uKey);

product.modifyProductDetails(productDetails);

}catch (Exception ex) {

throw new EJBException("StoreSessionBean->getProduct: "+ex.getMessage());}

} // modifyProduct

//create Product

public void createProduct(ProductDetails productDetails) {

System.out.println("StoreSessionBean createCategory");

try {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleCategory");

productHome = (ProductLocalHome)PortableRemoteObject.narrow(objref,ProductLocalHome.class);

ProductLocal product = productHome.create(productDetails);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropProductFromCategory(long categoryId,ProductDetails productDetails) {

System.out.println("FantasyAdmEJB createTeam");

try {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleCategory");

Object objref1 = initial.lookup("java:comp/env/ejb/SimpleProduct");

categoryHome = (CategoryLocalHome)PortableRemoteObject.narrow(objref,CategoryLocalHome.class);

productHome = (ProductLocalHome)PortableRemoteObject.narrow(objref1,ProductLocalHome.class);

Long uKey=new Long(categoryId);

Long uKeyDet=new Long(productDetails.getProductId());

CategoryLocal category = categoryHome.findByPrimaryKey(uKey);

ProductLocal product=productHome.findByPrimaryKey(uKeyDet);

category.dropProduct(product);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getProductsByStatus(int status) {

ArrayList detailsList = new ArrayList();

Collection products = null;

System.out.println("StoreSessionBean getProductsOfCategory");

try{

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleCategory");

Object objref1 = initial.lookup("java:comp/env/ejb/SimpleProduct");

categoryHome = (CategoryLocalHome)PortableRemoteObject.narrow(objref,CategoryLocalHome.class);

productHome =(ProductLocalHome)PortableRemoteObject.narrow(objref1,ProductLocalHome.class);

products=productHome.findByStatusProducts(status);

Iterator i = products.iterator();

while (i.hasNext()) {

ProductLocal product = (ProductLocal) i.next();

ProductDetails details = new ProductDetails(product.getProductId(),product.getCategoryId(),product.getProductName(),product.getProductDescription(),

product.getPrice(),product.getStatus(),product.getManufacturer(),product.getQuantityStock());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException("StoreSessionBean->getProductsOfCategory: "+ex.getMessage());}

} // getProductsoByStatus

//look for product from a specific category

public ArrayList getProductsOfCategory(String nameCategory) {

ArrayList detailsList = new ArrayList();

Collection products = null;

System.out.println("StoreSessionBean getProductsOfCategory");

try{

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleCategory");

Object objref1 = initial.lookup("java:comp/env/ejb/SimpleProduct");

categoryHome = (CategoryLocalHome)PortableRemoteObject.narrow(objref,CategoryLocalHome.class);

productHome =(ProductLocalHome)PortableRemoteObject.narrow(objref1,ProductLocalHome.class);

products=productHome.findLikeCategory(nameCategory);

Iterator i = products.iterator();

while (i.hasNext()) {

ProductLocal product = (ProductLocal) i.next();

ProductDetails details = new ProductDetails(product.getProductId(),product.getCategoryId(),product.getProductName(),product.getProductDescription(),

product.getPrice(),product.getStatus(),product.getManufacturer(),product.getQuantityStock());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException("StoreSessionBean->getProductsOfCategory: "+ex.getMessage());}

} // getProductsofCategory

public int getNumberOfProducts(){

ArrayList detailsList = new ArrayList();

Collection products = null;

try {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleCategory");

Object objref1 = initial.lookup("java:comp/env/ejb/SimpleProduct");

categoryHome = (CategoryLocalHome)PortableRemoteObject.narrow(objref,CategoryLocalHome.class);

productHome =(ProductLocalHome)PortableRemoteObject.narrow(objref1,ProductLocalHome.class);

products=productHome.findAllProducts();

ProductDetails productDetails = null;

Iterator i = products.iterator();

while (i.hasNext()) {

ProductLocal product = (ProductLocal) i.next();

ProductDetails details = new ProductDetails(product.getProductId(),product.getCategoryId(),product.getProductName(),product.getProductDescription(),

product.getPrice(),product.getStatus(),product.getManufacturer(),product.getQuantityStock());

detailsList.add(details);

}

return detailsList.size();

}catch (Exception ex) {

throw new EJBException("StoreSessionBean->getProductsOfCategory: "+ex.getMessage());}

}

// Category business methods

public void createCategory(CategoryDetails details) {

System.out.println("StoreSessionBean createCategory");

try {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleCategory");

categoryHome = (CategoryLocalHome)PortableRemoteObject.narrow(objref,CategoryLocalHome.class);

CategoryLocal category = categoryHome.create(details);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void removeCategory(long categoryId) {

System.out.println("StoreSessionBean removeCategory");

try {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleCategory");

categoryHome = (CategoryLocalHome)PortableRemoteObject.narrow(objref,CategoryLocalHome.class);

Long uKey=new Long(categoryId);

CategoryLocal category = categoryHome.findByPrimaryKey(uKey);

category.remove();

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public CategoryDetails getCategoryDetails(long categoryId) {

System.out.println("StoreSessionBean getCategory");

try {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleCategory");

categoryHome = (CategoryLocalHome)PortableRemoteObject.narrow(objref,CategoryLocalHome.class);

Long uKey=new Long(categoryId);

CategoryLocal category = categoryHome.findByPrimaryKey(uKey);

return category.getCategoryDetails();

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void modifyCategoryDetails(CategoryDetails details){

try{

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleCategory");

categoryHome = (CategoryLocalHome)PortableRemoteObject.narrow(objref,CategoryLocalHome.class);

System.out.println("StoreSessionBean modifyCategoryDetails ");

Long uKey=new Long(details.getCategoryId());

CategoryLocal category = categoryHome.findByPrimaryKey(uKey);

category.modifyCategoryDetails(details);

}catch (Exception e) {

throw new EJBException("AuthBean->modifyeUserDetails: "+e.getMessage());}

}

// Product business methods

public void createProductInCategory(ProductDetails details, long categoryId) {

System.out.println("StoreSessionBean createProductInCategory");

try {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleCategory");

Object objref1 = initial.lookup("java:comp/env/ejb/SimpleProduct");

categoryHome = (CategoryLocalHome)PortableRemoteObject.narrow(objref,CategoryLocalHome.class);

productHome =(ProductLocalHome)PortableRemoteObject.narrow(objref1,ProductLocalHome.class);

Long uKey=new Long(categoryId);

CategoryLocal category = categoryHome.findByPrimaryKey(uKey);

ProductLocal product = productHome.create(details);

category.addProduct(product);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void removeProduct(long productId) {

System.out.println("StoreSessionBean removeProduct");

try {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleCategory");

Object objref1 = initial.lookup("java:comp/env/ejb/SimpleProduct");

categoryHome = (CategoryLocalHome)PortableRemoteObject.narrow(objref,CategoryLocalHome.class);

productHome =(ProductLocalHome)PortableRemoteObject.narrow(objref1,ProductLocalHome.class);

Long uKey=new Long(productId);

ProductLocal product = productHome.findByPrimaryKey(uKey);

product.remove();

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void modifyProductQuantity(long productId,int quantity){

try{

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleCategory");

Object objref1 = initial.lookup("java:comp/env/ejb/SimpleProduct");

categoryHome = (CategoryLocalHome)PortableRemoteObject.narrow(objref,CategoryLocalHome.class);

productHome =(ProductLocalHome)PortableRemoteObject.narrow(objref1,ProductLocalHome.class);

Long uKey=new Long(productId);

ProductLocal product = productHome.findByPrimaryKey(uKey);

product.setQuantity(quantity);

}catch (Exception e) {

throw new EJBException("AuthBean->modifyeUserDetails: "+e.getMessage());}

}

public Collection getProducts() {

ArrayList detailsList = new ArrayList();

Collection products = null;

try {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleCategory");

Object objref1 = initial.lookup("java:comp/env/ejb/SimpleProduct");

categoryHome = (CategoryLocalHome)PortableRemoteObject.narrow(objref,CategoryLocalHome.class);

productHome =(ProductLocalHome)PortableRemoteObject.narrow(objref1,ProductLocalHome.class);

System.out.println("StoreSessionBean dupa ObjrefSimpleProduct getNumberOfProducts");

products=productHome.findAllProducts();

ProductDetails productDetails = null;

Iterator i = products.iterator();

while (i.hasNext()) {

ProductLocal product = (ProductLocal) i.next();

ProductDetails details = new ProductDetails(product.getProductId(),product.getCategoryId(),product.getProductName(),product.getProductDescription(),

product.getPrice(),product.getStatus(),product.getManufacturer(),product.getQuantityStock());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException("StoreSessionBean->getProducts: "+ex.getMessage());}

}

public Collection getCategories() {

ArrayList detailsList = new ArrayList();

Collection categories = null;

try {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleCategory");

categoryHome = (CategoryLocalHome)PortableRemoteObject.narrow(objref,CategoryLocalHome.class);

System.out.println("StoreSessionBean dupa ObjrefSimpleProduct getCategories");

categories=categoryHome.findAllCategories();

CategoryDetails categoryDetails = null;

Iterator i = categories.iterator();

while (i.hasNext()) {

CategoryLocal category = (CategoryLocal) i.next();

CategoryDetails details = new CategoryDetails(category.getCategoryId(),category.getNameCategory());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException("StoreSessionBean->getProducts: "+ex.getMessage());}

}

public StoreSessionEJB() {}

public void ejbCreate() throws CreateException {}

public void ejbRemove() {}

public void ejbActivate() {}

public void ejbPassivate() {}

public void setSessionContext(SessionContext context) {this.context = context;}

}}

package ejburi.store;

import java.rmi.RemoteException;

import java.util.*;

import javax.ejb.EJBObject;

import ejburi.util.*;

/**

* Created 30.04.2003 15:14:36

*/

public interface StoreSession extends EJBObject {

//products

public ArrayList getProductsOfCategory(String nameCategory)throws RemoteException;

public ProductDetails getProductDetails(Long productId)throws RemoteException;

public void modifyProductDetails(ProductDetails productDetails)throws RemoteException;

public int getNumberOfProducts() throws RemoteException;

public Collection getProducts()throws RemoteException;

public void createProduct(ProductDetails productDetails)throws RemoteException;

public void removeProduct(long productId)throws RemoteException;

public void createProductInCategory(ProductDetails details, long categoryId)throws RemoteException;

public void dropProductFromCategory(long categoryId,ProductDetails productDetails) throws RemoteException;

public ArrayList getProductsByStatus(int status)throws RemoteException;

public void modifyProductQuantity(long productId,int quantity)throws RemoteException;

//category

public void modifyCategoryDetails(CategoryDetails details)throws RemoteException;

public CategoryDetails getCategoryDetails(long categoryId)throws RemoteException;

public void removeCategory(long categoryId)throws RemoteException;

public void createCategory(CategoryDetails details)throws RemoteException;

public Collection getCategories()throws RemoteException;

}

package ejburi.store;

import java.rmi.RemoteException;

import javax.ejb.CreateException;

import javax.ejb.EJBHome;

public interface StoreSessionHome extends EJBHome {

public StoreSession create() throws RemoteException,CreateException;

}

Pachetul ejburi.league

package ejburi.league;

import javax.ejb.CreateException;

import javax.ejb.EntityBean;

import javax.ejb.EntityContext;

import javax.ejb.FinderException;

import ejburi.util.*;

import java.util.*;

import javax.ejb.*;

/**

* Created 08.05.2003 17:37:32

*/

public abstract class FantasyBean implements EntityBean {

private transient EntityContext context;

public abstract long getFantasyId();

public abstract void setFantasyId(long fantasyId);

public abstract String getNameFantasy();

public abstract void setNameFantasy(String nameFantasy);

public abstract String getSport();

public abstract void setSport(String sport);

public abstract Collection getTeams();

public abstract void setTeams(Collection teams);

public abstract Collection getNews();

public abstract void setNews(Collection news);

public FantasyBean() { }

public void addTeam(TeamLocal team) {

try {

Collection teams = getTeams();

teams.add(team);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropTeam(TeamLocal team) {

try {

Collection teams = getTeams();

teams.remove(team);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void addNews(NewsLocal news) {

try {

Collection newsS = getNews();

newsS.add(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropNews(NewsLocal news) {

try {

Collection newsS = getNews();

newsS.remove(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public Long ejbCreate(FantasyDetails details) throws CreateException {

setFantasyId(details.getFantasyId());

setNameFantasy(details.getNameFantasy());

setSport(details.getSport());

System.out.println("FantasyDetailBean–>New FantasyDetail was created ");

return null;

}

public FantasyDetails getFantasyDetails(){

FantasyDetails fantasyDetails=new FantasyDetails();

fantasyDetails.setFantasyId(this.getFantasyId());

fantasyDetails.setNameFantasy(this.getNameFantasy());

fantasyDetails.setSport(this.getSport());

System.out.println("FantasyDetailBean–>Fantasy detail get details "+ this.getFantasyId());

return fantasyDetails;

}

public void modifyFantasyDetails(FantasyDetails details){

this.setNameFantasy(details.getNameFantasy());

this.setSport(details.getSport());

System.out.println("FantasyDetailBean–>Fantasydetail was modify "+ this.getFantasyId());

}

public void ejbPostCreate(FantasyDetails details) throws CreateException { }

public void setEntityContext(EntityContext context){ this.context = context; }

public void unsetEntityContext(){context = null;}

public void ejbActivate() {}

public void ejbPassivate() { }

public void ejbLoad() {}

public void ejbStore() {}

public void ejbRemove() {}

}

package ejburi.league;

import java.rmi.RemoteException;

import javax.ejb.*;

import javax.ejb.EJBObject;

import javax.ejb.*;

import ejburi.util.*;

import java.util.*;

/**

* Created 08.05.2003 17:37:32

*/

public interface FantasyLocal extends EJBLocalObject {

public long getFantasyId()throws java.rmi.RemoteException;

public String getNameFantasy()throws java.rmi.RemoteException;

public String getSport()throws java.rmi.RemoteException;

public FantasyDetails getFantasyDetails()throws java.rmi.RemoteException;

public void modifyFantasyDetails(FantasyDetails details)throws java.rmi.RemoteException;

public Collection getTeams()throws RemoteException;

public Collection getNews()throws RemoteException;

public void addTeam(TeamLocal team)throws java.rmi.RemoteException;

public void dropTeam(TeamLocal team)throws java.rmi.RemoteException;

public void dropNews(NewsLocal news)throws java.rmi.RemoteException;

public void addNews(NewsLocal news)throws java.rmi.RemoteException;

}

package ejburi.league;

import java.rmi.RemoteException;

import javax.ejb.*;

import javax.ejb.CreateException;

import javax.ejb.EJBHome;

import javax.ejb.FinderException;

import javax.ejb.*;

import ejburi.util.*;

import java.util.*;

/**

* Created 08.05.2003 17:37:32

*/

public interface FantasyLocalHome extends EJBLocalHome {

public FantasyLocal findByPrimaryKey(Long aKey)

throws RemoteException, FinderException;

public FantasyLocal create (FantasyDetails details) throws CreateException;

public Collection findLikeNameFantasy (String nameFantasy) throws FinderException;

public Collection findAllFantasy () throws FinderException;

}

package ejburi.league;

import javax.ejb.CreateException;

import javax.ejb.EntityBean;

import javax.ejb.EntityContext;

import javax.ejb.FinderException;

import ejburi.util.*;

import java.util.*;

import javax.ejb.*;

/**

* Created 08.05.2003 18:05:53

*/

public abstract class TeamBean implements EntityBean {

private transient EntityContext context;

public abstract long getTeamId();

public abstract void setTeamId(long teamId);

public abstract long getFantasyId();

public abstract void setFantasyId(long fantasyId);

public abstract long getBirth();

public abstract void setBirth(long birth);

public abstract String getNameTeam();

public abstract void setNameTeam(String nameTeam);

public abstract String getCoach();

public abstract void setCoach(String coach);

public abstract String getPlaceInLeague();

public abstract void setPlaceInLeague(String placeInLeague);

public abstract String getCity();

public abstract void setCity(String city);

public abstract String getState();

public abstract void setState(String state);

public abstract String getDoctor();

public abstract void setDoctor(String doctor);

public abstract int getNrVictoriesHome();

public abstract void setNrVictoriesHome(int nrVictoriesHome);

public abstract int getNrVictoriesAway();

public abstract void setNrVictoriesAway(int nrVictoriesAway);

public abstract int getNrGames();

public abstract void setNrGames(int nrGames);

//select methods relationships

public abstract Collection getPlayers();

public abstract void setPlayers(Collection players);

public abstract FantasyLocal getFantasy();

public abstract void setFantasy(FantasyLocal fantasy);

public abstract TransactionLocal getTransactionSeller();

public abstract void setTransactionSeller(TransactionLocal transactionSeller);

public abstract TransactionLocal getTransactionBuyer() ;

public abstract void setTransactionBuyer(TransactionLocal transactionBuyer);

public abstract Collection getNews();

public abstract void setNews(Collection news);

public TeamBean() {}

public void addPlayer(PlayerLocal player) {

try {

Collection players = getPlayers();

players.add(player);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropPlayer(PlayerLocal player) {

try {

Collection players = getPlayers();

players.remove(player);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void addNews(NewsLocal news) {

try {

Collection newsS = getNews();

newsS.add(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropNews(NewsLocal news) {

try {

Collection newsS = getNews();

newsS.remove(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public Long ejbCreate(TeamDetails details) throws CreateException {

setTeamId(details.getTeamId());

setFantasyId(details.getFantasyId());

setBirth(details.getBirth());

setNameTeam(details.getNameTeam());

setCoach(details.getCoach());

setPlaceInLeague(details.getPlaceInLeague());

setCity(details.getCity());

setState(details.getState());

setDoctor(details.getDoctor());

setNrVictoriesHome(details.getNrVictoriesHome());

setNrVictoriesAway(details.getNrVictoriesAway());

setNrGames(details.getNrGames());

System.out.println("TeamdDetailBean–>New TeamdDetail was created ");

return null;

}

public TeamDetails getTeamDetails(){

TeamDetails teamDetails=new TeamDetails();

teamDetails.setTeamId(this.getTeamId());

teamDetails.setFantasyId(this.getFantasyId());

teamDetails.setNameTeam(this.getNameTeam());

teamDetails.setCoach(this.getCoach());

teamDetails.setBirth(this.getBirth());

teamDetails.setPlaceInLeague(this.getPlaceInLeague());

teamDetails.setCity(this.getCity());

teamDetails.setState(this.getState());

teamDetails.setDoctor(this.getDoctor());

teamDetails.setNrVictoriesHome(this.getNrVictoriesHome());

teamDetails.setNrVictoriesAway(this.getNrVictoriesAway());

teamDetails.setNrGames(this.getNrGames());

System.out.println("TeamdDetailBean–>Teamddetail get details "+ this.getTeamId());

return teamDetails;

}

public void modifyTeamDetails(TeamDetails details){

this.setFantasyId(details.getFantasyId());

this.setNameTeam(details.getNameTeam());

this.setCoach(details.getCoach());

this.setBirth(details.getBirth());

this.setPlaceInLeague(details.getPlaceInLeague());

this.setCity(details.getCity());

this.setState(details.getState());

this.setDoctor(details.getDoctor());

this.setNrVictoriesHome(details.getNrVictoriesHome());

this.setNrVictoriesAway(details.getNrVictoriesAway());

this.setNrGames(details.getNrGames());

System.out.println("TeamdDetailBean–>Teamdetail was modify "+ this.getTeamId());

}

public void ejbPostCreate(TeamDetails details) throws CreateException { }

public void setEntityContext(EntityContext context){this.context = context; }

public void unsetEntityContext(){context = null; }

public void ejbActivate() {}

public void ejbPassivate() {}

public void ejbLoad() { }

public void ejbStore() {}

public void ejbRemove() {}

}

package ejburi.league;

import java.rmi.RemoteException;

import ejburi.util.*;

import java.util.*;

import javax.ejb.*;

import javax.ejb.EJBObject;

/**

* Created 08.05.2003 18:05:53

*/

public interface TeamLocal extends EJBLocalObject {

public long getTeamId()throws java.rmi.RemoteException;

public long getFantasyId()throws java.rmi.RemoteException;

public long getBirth()throws java.rmi.RemoteException;

public String getNameTeam()throws java.rmi.RemoteException;

public String getCoach()throws java.rmi.RemoteException;

public String getPlaceInLeague()throws java.rmi.RemoteException;

public String getCity()throws java.rmi.RemoteException;

public String getState()throws java.rmi.RemoteException;

public String getDoctor()throws java.rmi.RemoteException;

public int getNrVictoriesHome()throws java.rmi.RemoteException;

public int getNrVictoriesAway()throws java.rmi.RemoteException;

public int getNrGames()throws java.rmi.RemoteException;

public abstract Collection getPlayers()throws java.rmi.RemoteException;

public FantasyLocal getFantasy()throws java.rmi.RemoteException;

public Collection getNews()throws RemoteException;

public abstract TransactionLocal getTransactionBuyer()throws RemoteException;

public abstract TransactionLocal getTransactionSeller()throws RemoteException;

public void addPlayer(PlayerLocal player) throws java.rmi.RemoteException;

public void dropPlayer(PlayerLocal player)throws java.rmi.RemoteException;

public TeamDetails getTeamDetails()throws java.rmi.RemoteException;

public void modifyTeamDetails(TeamDetails details)throws java.rmi.RemoteException;

public void dropNews(NewsLocal news)throws java.rmi.RemoteException;

public void addNews(NewsLocal news)throws java.rmi.RemoteException;

}

package ejburi.league;

import java.rmi.RemoteException;

import javax.ejb.CreateException;

import javax.ejb.EJBHome;

import javax.ejb.FinderException;

import ejburi.util.*;

import java.util.*;

import javax.ejb.*;

/**

Created 08.05.2003 18:05:53*/

public interface TeamLocalHome extends EJBLocalHome {

public TeamLocal findByPrimaryKey(Long aKey)

throws RemoteException, FinderException;

public TeamLocal create (TeamDetails details) throws CreateException;

public Collection findLikeNameTeam (String nameTeam) throws FinderException;

public Collection findAllTeamsFantasy (long fantasyId) throws FinderException;

public Collection findAllTeams() throws FinderException;

}

package ejburi.league;

import java.math.BigDecimal;

import javax.ejb.CreateException;

import javax.ejb.EntityBean;

import javax.ejb.EntityContext;

import javax.ejb.FinderException;

import ejburi.util.*;

import javax.ejb.*;

import java.util.*;

/**

* Created 08.05.2003 19:31:42

*/

public abstract class PlayerBean implements EntityBean {

private transient EntityContext context;

public abstract long getPlayerId();

public abstract void setPlayerId(long playerId);

public abstract long getTeamId();

public abstract void setTeamId(long teamId);

public abstract String getCity();

public abstract void setCity(String city);

public abstract String getState();

public abstract void setState(String state);

public abstract String getStatus();

public abstract void setStatus(String status);

public abstract String getNamePlayer();

public abstract void setNamePlayer(String namePlayer);

public abstract String getSurname();

public abstract void setSurname(String surname);

public abstract String getNickname();

public abstract void setNickname(String nickname);

public abstract String getPosition();

public abstract void setPosition(String position);

public abstract long getBirthdate();

public abstract void setBirthdate(long birthdate);

public abstract int getExperience();

public abstract void setExperience(int experience);

public PlayerBean() { }

//select methods relationships

public abstract Collection getInactives();

public abstract void setInactives(Collection inactives);

public abstract TeamLocal getTeam();

public abstract void setTeam(TeamLocal team);

public abstract TransactionLocal getTransaction();

public abstract void setTransaction(TransactionLocal transaction);

public abstract Collection getNews();

public abstract void setNews(Collection news);

public void addInactives(InactivesLocal inactive) {

try {

Collection inactives = getInactives();

inactives.add(inactive);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropInactives(InactivesLocal inactive) {

try {

Collection inactives = getInactives();

inactives.remove(inactive);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void addNews(NewsLocal news) {

try {

Collection newsS = getNews();

newsS.add(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropNews(NewsLocal news) {

try {

Collection newsS = getNews();

newsS.remove(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public Long ejbCreate(PlayerDetails details) throws CreateException {

setPlayerId(details.getPlayerId());

setTeamId(details.getTeamId());

setCity(details.getCity());

setState(details.getState());

setStatus(details.getStatus());

setNamePlayer(details.getNamePlayer());

setSurname(details.getSurname());

setNickname(details.getNickname());

setPosition(details.getPosition());

setBirthdate(details.getBirthdate());

setExperience(details.getExperience());

System.out.println("PlayerDetailBean–>New PlayerDetail was created ");

return null;

}

public PlayerDetails getPlayerDetails(){

PlayerDetails playerDetails=new PlayerDetails();

playerDetails.setTeamId(this.getTeamId());

playerDetails.setPlayerId(this.getPlayerId());

playerDetails.setStatus(this.getStatus());

playerDetails.setNamePlayer(this.getNamePlayer());

playerDetails.setSurname(this.getSurname());

playerDetails.setNickname(this.getNickname());

playerDetails.setCity(this.getCity());

playerDetails.setState(this.getState());

playerDetails.setPosition(this.getPosition());

playerDetails.setBirthdate(this.getBirthdate());

playerDetails.setExperience(this.getExperience());

System.out.println("PlayerDetailBean–>Playerdetail get details "+ this.getPlayerId());

return playerDetails;

}

public void modifyPlayerDetails(PlayerDetails details){

this.setTeamId(details.getTeamId());

this.setStatus(details.getStatus());

this.setNamePlayer(details.getNamePlayer());

this.setSurname(details.getSurname());

this.setNickname(details.getNickname());

this.setCity(details.getCity());

this.setState(details.getState());

this.setPosition(details.getPosition());

this.setBirthdate(details.getBirthdate());

this.setExperience(details.getExperience());

System.out.println("PlayerDetailBean–>Playeretail was modify "+ this.getPlayerId());

}

public void ejbPostCreate(PlayerDetails details) throws CreateException { }

public void setEntityContext(EntityContext context){this.context = context; }

public void unsetEntityContext(){context = null; }

public void ejbActivate() { }

public void ejbPassivate() { }

public void ejbLoad() {}

public void ejbStore() { }

public void ejbRemove() {}

}

package ejburi.league;

import java.rmi.RemoteException;

import ejburi.util.*;

import javax.ejb.*;

import java.util.*;

import javax.ejb.EJBObject;

import javax.naming.*;

/**

* Created 08.05.2003 19:31:42

*/

public interface PlayerLocal extends EJBLocalObject {

public long getPlayerId()throws java.rmi.RemoteException;

public long getTeamId()throws java.rmi.RemoteException;

public String getCity()throws java.rmi.RemoteException;

public String getState()throws java.rmi.RemoteException;

public String getStatus()throws java.rmi.RemoteException;

public String getNamePlayer()throws java.rmi.RemoteException;

public String getSurname()throws java.rmi.RemoteException;

public String getNickname()throws java.rmi.RemoteException;

public String getPosition()throws java.rmi.RemoteException;

public long getBirthdate()throws java.rmi.RemoteException;

public int getExperience()throws java.rmi.RemoteException;

//select methods relationships

public Collection getInactives()throws java.rmi.RemoteException;

public TeamLocal getTeam()throws java.rmi.RemoteException;

public Collection getNews()throws RemoteException;

public TransactionLocal getTransaction()throws RemoteException;

public void addInactives(InactivesLocal inactive)throws java.rmi.RemoteException;

public void dropInactives(InactivesLocal inactive)throws java.rmi.RemoteException;

public void modifyPlayerDetails(PlayerDetails details)throws java.rmi.RemoteException;

public PlayerDetails getPlayerDetails()throws java.rmi.RemoteException;

public void dropNews(NewsLocal news)throws java.rmi.RemoteException;

public void addNews(NewsLocal news)throws java.rmi.RemoteException;

}

package ejburi.league;

import java.rmi.RemoteException;

import javax.ejb.CreateException;

import javax.ejb.EJBHome;

import javax.ejb.FinderException;

import ejburi.util.*;

import javax.ejb.*;

import java.util.*;

/**

* Created 08.05.2003 19:31:42

*/

public interface PlayerLocalHome extends EJBLocalHome {

public PlayerLocal findByPrimaryKey(Long aKey)throws RemoteException, FinderException;

public PlayerLocal create(PlayerDetails details) throws CreateException;

public Collection findLikeNamePlayer (String namePlayer) throws FinderException;

public Collection findAllPlayersFantasy (long fantasyId) throws FinderException;

public Collection findAllPlayersTeamFantasy (long fantasyId,String nameTeam) throws FinderException;

public Collection findAllPlayersPos (long fantasyId,String position) throws FinderException;

public Collection findAllPlayersPosName (long fantasyId,String position,String namePlayer) throws FinderException;

public Collection findAllPlayers() throws FinderException;

public Collection findAllPlayersTeam (long teamId) throws FinderException;

public Collection findAllPlayersTransaction (long transactionId) throws FinderException;

public Collection findPlayersByPositionTeamFantasy (long fantasyId,String nameTeam,String position) throws FinderException;

}

package ejburi.league;

import javax.ejb.CreateException;

import javax.ejb.EntityBean;

import javax.ejb.EntityContext;

import javax.ejb.FinderException;

import javax.ejb.*;

import java.util.*;

import ejburi.util.*;

/**

* Created 08.05.2003 20:19:39

*/

public abstract class InactivesBean implements EntityBean {

private transient EntityContext context;

public abstract long getInjuryId();

public abstract void setInjuryId(long injuryId);

public abstract long getPlayerId();

public abstract void setPlayerId(long playerId);

public abstract long getDate();

public abstract void setDate(long date);

public abstract long getDateB();

public abstract void setDateB(long dateB);

public abstract long getDateF();

public abstract void setDateF(long dateF);

public abstract String getMotiv();

public abstract void setMotiv(String motiv);

public InactivesBean() {}

//select methods relationships

public abstract Collection getPlayers();

public abstract void setPlayers(Collection players);

public abstract Collection getNews();

public abstract void setNews(Collection news);

public void addNews(NewsLocal news) {

try {

Collection newsS = getNews();

newsS.add(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropNews(NewsLocal news) {

try {

Collection newsS = getNews();

newsS.remove(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public Long ejbCreate(InactivesDetails details) throws CreateException {

setInjuryId(details.getInjuryId());

setPlayerId(details.getPlayerId());

setDate(details.getDate());

setDateB(details.getDateB());

setDateF(details.getDateF());

setMotiv(details.getMotiv());

System.out.println("InactivesDetailBean–>New InactivesDetail was created ");

return null;

}

public InactivesDetails getInactivesDetails(){

InactivesDetails inactivesDetails=new InactivesDetails();

inactivesDetails.setInjuryId(this.getInjuryId());

inactivesDetails.setPlayerId(this.getPlayerId());

inactivesDetails.setDate(this.getDate());

inactivesDetails.setDateB(this.getDateB());

inactivesDetails.setDateF(this.getDateF());

inactivesDetails.setMotiv(this.getMotiv());

System.out.println("InactivesDetailBean–>Inactivesdetail get details "+ this.getInjuryId());

return inactivesDetails;

}

public void modifyInactivesDetails(InactivesDetails details){

this.setPlayerId(details.getPlayerId());

this.setDate(details.getDate());

this.setDateB(details.getDateB());

this.setDateF(details.getDateF());

this.setMotiv(details.getMotiv());

System.out.println("InactivesDetailBean–>Inactivesetail was modify "+ this.getInjuryId());

}

public void ejbPostCreate(InactivesDetails details) throws CreateException { }

public void setEntityContext(EntityContext context){this.context = context;}

public void unsetEntityContext(){context = null;}

public void ejbActivate() {}

public void ejbPassivate() {}

public void ejbLoad() {}

public void ejbStore() {}

public void ejbRemove() {}

}

package ejburi.league;

import java.rmi.RemoteException;

import javax.ejb.EJBObject;

import javax.ejb.*;

import java.util.*;

import ejburi.util.*;

/**

* Created 08.05.2003 20:19:39

*/

public interface InactivesLocal extends EJBLocalObject {

public long getInjuryId()throws java.rmi.RemoteException;

public long getPlayerId()throws java.rmi.RemoteException;

public long getDate()throws java.rmi.RemoteException;

public long getDateB()throws java.rmi.RemoteException;

public long getDateF()throws java.rmi.RemoteException;

public String getMotiv()throws java.rmi.RemoteException;

public Collection getPlayers()throws java.rmi.RemoteException;

public Collection getNews()throws RemoteException;

public void modifyInactivesDetails(InactivesDetails details)throws java.rmi.RemoteException;

public InactivesDetails getInactivesDetails()throws java.rmi.RemoteException;

public void dropNews(NewsLocal news)throws java.rmi.RemoteException;

public void addNews(NewsLocal news)throws java.rmi.RemoteException;

}

package ejburi.league;

import java.rmi.RemoteException;

import javax.ejb.CreateException;

import javax.ejb.EJBHome;

import javax.ejb.FinderException;

import javax.ejb.*;

import java.util.*;

import ejburi.util.*;

/**

* Created 08.05.2003 20:19:39

*/

public interface InactivesLocalHome extends EJBLocalHome {

public InactivesLocal findByPrimaryKey(Long aKey)

throws RemoteException, FinderException;

public InactivesLocal create (InactivesDetails details) throws CreateException;

public Collection findAllInactives () throws FinderException;

public Collection findPlayerInactives(long fantasyId,String namePlayer) throws FinderException;

public Collection findPlayerInactives(long playerId) throws FinderException;

}

package ejburi.league;

import javax.ejb.CreateException;

import javax.ejb.EntityBean;

import javax.ejb.EntityContext;

import javax.ejb.FinderException;

import ejburi.util.*;

import javax.ejb.*;

import java.util.*;

/**

* Created 08.05.2003 20:38:21

*/

public abstract class TransactionBean implements EntityBean {

private transient EntityContext context;

public abstract long getTransactionId();

public abstract void setTransactionId(long transactionId);

public abstract long getPlayerId();

public abstract void setPlayerId(long transactionId);

public abstract long getTeamSellerId();

public abstract void setTeamSellerId(long teamSellerId);

public abstract long getTeamBuyerId();

public abstract void setTeamBuyerId(long teamBuyerId);

public abstract long getDateContract();

public abstract void setDateContract(long dateContract);

public abstract String getPeriod();

public abstract void setPeriod(String period);

//select methods

public abstract Collection getPlayers();

public abstract void setPlayers(Collection players);

public abstract TeamLocal getTeamSeller();

public abstract void setTeamSeller(TeamLocal teamSeller);

public abstract TeamLocal getTeamBuyer();

public abstract void setTeamBuyer(TeamLocal teamBuyer);

public abstract Collection getNews();

public abstract void setNews(Collection news);

public void addNews(NewsLocal news) {

try {

Collection newsS = getNews();

newsS.add(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropNews(NewsLocal news) {

try {

Collection newsS = getNews();

newsS.remove(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void addPlayer(PlayerLocal player) {

try {

Collection players = getPlayers();

players.add(player);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropPlayer(PlayerLocal player) {

try {

Collection players = getPlayers();

players.remove(player);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public Long ejbCreate(TransactionDetails details) throws CreateException {

setTransactionId(details.getTransactionId());

setPlayerId(details.getPlayerId());

setTeamSellerId(details.getTeamSellerId());

setTeamBuyerId(details.getTeamBuyerId());

setDateContract(details.getDateContract());

setPeriod(details.getPeriod());

return null;

}

public TransactionDetails getTransactionDetails(){

TransactionDetails transactionDetails=new TransactionDetails();

transactionDetails.setTransactionId(this.getTransactionId());

transactionDetails.setPlayerId(this.getPlayerId());

transactionDetails.setTeamSellerId(this.getTeamSellerId());

transactionDetails.setTeamBuyerId(this.getTeamBuyerId());

transactionDetails.setDateContract(this.getDateContract());

transactionDetails.setPeriod(this.getPeriod());

System.out.println("InactivesDetailBean–>Inactivesdetail get details "+ this.getTransactionId());

return transactionDetails;

}

public void modifyTransactionDetails(TransactionDetails details){

this.setPlayerId(details.getPlayerId());

this.setTeamSellerId(details.getTeamSellerId());

this.setTeamBuyerId(details.getTeamBuyerId());

this.setDateContract(details.getDateContract());

this.setPeriod(details.getPeriod());

System.out.println("InactivesDetailBean–>Inactivesetail was modify "+ this.getTransactionId());

}

public void ejbPostCreate(TransactionDetails details) throws CreateException { }

public TransactionBean() { }

public void setEntityContext(EntityContext context){ this.context = context; }

public void unsetEntityContext(){context = null;}

public void ejbActivate() {}

public void ejbPassivate() {}

public void ejbLoad() {}

public void ejbStore() {}

public void ejbRemove() {}

}

package ejburi.league;

import java.rmi.RemoteException;

import javax.ejb.*;

import java.util.*;

import ejburi.util.*;

import javax.ejb.EJBObject;

/**

* Created 08.05.2003 20:38:21

*/

public interface TransactionLocal extends EJBLocalObject {

public long getTransactionId()throws java.rmi.RemoteException;

public long getPlayerId()throws java.rmi.RemoteException;

public long getTeamSellerId()throws java.rmi.RemoteException;

public long getTeamBuyerId()throws java.rmi.RemoteException;

public long getDateContract()throws java.rmi.RemoteException;

public String getPeriod()throws java.rmi.RemoteException;

//select methods

public Collection getPlayers()throws java.rmi.RemoteException;

public TeamLocal getTeamSeller()throws java.rmi.RemoteException;

public TeamLocal getTeamBuyer()throws java.rmi.RemoteException;

public Collection getNews()throws RemoteException;

public void modifyTransactionDetails(TransactionDetails details)throws java.rmi.RemoteException;

public TransactionDetails getTransactionDetails()throws java.rmi.RemoteException;

public void dropNews(NewsLocal news)throws java.rmi.RemoteException;

public void addNews(NewsLocal news)throws java.rmi.RemoteException;

public void dropPlayer(PlayerLocal player) throws java.rmi.RemoteException;

public void addPlayer(PlayerLocal player) throws java.rmi.RemoteException;

}

package ejburi.league;

import java.rmi.RemoteException;

import javax.ejb.CreateException;

import javax.ejb.EJBHome;

import javax.ejb.FinderException;

import javax.ejb.*;

import java.util.*;

import ejburi.util.*;

/**

* Created 08.05.2003 20:38:21

*/

public interface TransactionLocalHome extends EJBLocalHome {

public TransactionLocal findByPrimaryKey(Long aKey)

throws RemoteException, FinderException;

public TransactionLocal create (TransactionDetails details) throws CreateException;

public Collection findLikePeriod (String period) throws FinderException;

public Collection findAllTransactions () throws FinderException;

}

package ejburi.league;

import java.sql.Timestamp;

import javax.ejb.CreateException;

import javax.ejb.EntityBean;

import javax.ejb.EntityContext;

import javax.ejb.FinderException;

import ejburi.util.*;

import java.util.*;

import javax.ejb.*;

/**

* Created 08.05.2003 21:31:43

*/

public abstract class NewsBean implements EntityBean {

private transient EntityContext context;

public abstract long getNewsId();

public abstract void setNewsId(long newsId);

public abstract long getFantasyId();

public abstract void setFantasyId(long fantasyId);

public abstract long getTeamId();

public abstract void setTeamId(long teamId);

public abstract long getPlayerId();

public abstract void setPlayerId(long playerId);

public abstract long getInactiveId();

public abstract void setInactiveId(long injuryId);

public abstract long getTransactionId();

public abstract void setTransactionId(long transactionId);

public abstract long getDate();

public abstract void setDate(long date);

public abstract String getNews();

public abstract void setNews(String news);

public abstract String getHeadline();

public abstract void setHeadline(String headline);

public abstract int getStatus();

public abstract void setStatus(int status);

//select methods relationships

//select methods relationships

public abstract FantasyLocal getFantasy();

public abstract void setFantasy(FantasyLocal fantasy);

public abstract Collection getPlayers();

public abstract void setPlayers(Collection players);

public abstract Collection getTeams();

public abstract void setTeams(Collection teams);

public abstract InactivesLocal getInactives();

public abstract void setInactives(InactivesLocal inactive);

public abstract TransactionLocal getTransaction();

public abstract void setTransaction(TransactionLocal transaction);

public Long ejbCreate(NewsDetails details) throws CreateException {

setTransactionId(details.getTransactionId());

setPlayerId(details.getPlayerId());

setInactiveId(details.getInjuryId());

setTeamId(details.getTeamId());

setFantasyId(details.getFantasyId());

setNewsId(details.getNewsId());

setDate(details.getDate());

setNews(details.getNews());

setHeadline(details.getHeadline());

setStatus(details.getStatus());

System.out.println("InactivesDetailBean–>New InactivesDetail was created ");

return null;

}

public NewsDetails getNewsDetails(){

NewsDetails newsDetails=new NewsDetails();

newsDetails.setTransactionId(this.getTransactionId());

newsDetails.setPlayerId(this.getPlayerId());

newsDetails.setTeamId(this.getTeamId());

newsDetails.setFantasyId(this.getFantasyId());

newsDetails.setNewsId(this.getNewsId());

newsDetails.setInjuryId(this.getInactiveId());

newsDetails.setNews(this.getNews());

newsDetails.setDate(this.getDate());

newsDetails.setHeadline(this.getHeadline());

newsDetails.setStatus(this.getStatus());

System.out.println("InactivesDetailBean–>Inactivesdetail get details "+ this.getTransactionId());

return newsDetails;

}

public void modifyNewsDetails(NewsDetails details){

this.setTransactionId(details.getTransactionId());

this.setPlayerId(details.getPlayerId());

this.setTeamId(details.getTeamId());

this.setFantasyId(details.getFantasyId());

this.setInactiveId(details.getInjuryId());

this.setNews(details.getNews());

this.setDate(details.getDate());

this.setHeadline(details.getHeadline());

this.setStatus(details.getStatus());

System.out.println("InactivesDetailBean–>Inactivesetail was modify "+ this.getNewsId());

}

public void ejbPostCreate(NewsDetails details) throws CreateException { }

public NewsBean() { }

public void setEntityContext(EntityContext context){this.context = context; }

public void unsetEntityContext(){context = null;}

public void ejbActivate() {}

public void ejbPassivate() { }

public void ejbLoad() {}

public void ejbStore() {}

public void ejbRemove() {}

}

package ejburi.league;

import java.rmi.RemoteException;

import ejburi.util.*;

import java.util.*;

import javax.ejb.*;

import javax.ejb.EJBObject;

/**

* Created 08.05.2003 21:31:43

*/

public interface NewsLocal extends EJBLocalObject {

public long getNewsId()throws java.rmi.RemoteException;

public long getFantasyId()throws java.rmi.RemoteException;

public long getTeamId()throws java.rmi.RemoteException;

public long getPlayerId()throws java.rmi.RemoteException;

public long getInactiveId()throws java.rmi.RemoteException;

public long getTransactionId()throws java.rmi.RemoteException;

public long getDate()throws java.rmi.RemoteException;

public int getStatus()throws java.rmi.RemoteException;

public String getNews()throws java.rmi.RemoteException;

public String getHeadline()throws java.rmi.RemoteException;

public void modifyNewsDetails(NewsDetails details)throws java.rmi.RemoteException;

public NewsDetails getNewsDetails()throws java.rmi.RemoteException;

//select methods

public FantasyLocal getFantasy()throws java.rmi.RemoteException;

public Collection getPlayers()throws java.rmi.RemoteException;

public Collection getTeams()throws java.rmi.RemoteException;

public InactivesLocal getInactives()throws java.rmi.RemoteException;

public TransactionLocal getTransaction()throws java.rmi.RemoteException;

}

package ejburi.league;

import java.rmi.RemoteException;

import ejburi.util.*;

import java.util.*;

import javax.ejb.*;

import javax.ejb.CreateException;

import javax.ejb.EJBHome;

import javax.ejb.FinderException;

/**

* Created 08.05.2003 21:31:43

*/

public interface NewsLocalHome extends EJBLocalHome {

public NewsLocal findByPrimaryKey(Long aKey)throws RemoteException, FinderException;

public NewsLocal create (NewsDetails details) throws CreateException;

public Collection findLikeBetweenDate (long dateB,long dateF,int status,long fantasyId) throws FinderException;

public Collection findTransactionBetDate(long dateB,long dateF,long fantasyId)throws FinderException;

public Collection findInactiveBetDate(long dateB,long dateF,long fantasyId)throws FinderException;

public Collection findAllBetweenDate (long dateB,long dateF,long fantasyId) throws FinderException;

public Collection findTeamBetDate(long dateB,long dateF,long fantasyId,String nameTeam)throws FinderException;

public Collection findPlayerBetDate(long dateB,long dateF,long fantasyId,String nameTeam,String namePlayer)throws FinderException;

public Collection findPlayerPosName(long dateB,long dateF,long fantasyId,String position,String namePlayer)throws FinderException;

public Collection findAll()throws FinderException;

public Collection findPlayerNews(long dateB,long dateF,long playerId)throws FinderException;

public Collection findLikeKeyword(String keyword)throws FinderException;

}

package ejburi.league; import javax.ejb.CreateException;

import javax.ejb.SessionBean;

import javax.ejb.SessionContext;

import javax.ejb.SessionSynchronization;

import ejburi.util.*;

import java.util.*;

import javax.ejb.*;

import javax.naming.*;

/**

/**

* Created 09.05.2003 22:14:26

*/

public class FantasyAdmEJB implements SessionBean {

private SessionContext context;

FantasyLocalHome fantasyHome=null;

TeamLocalHome teamHome=null;

PlayerLocalHome playerHome=null;

InactivesLocalHome inactiveHome=null;

TransactionLocalHome transactionHome=null;

NewsLocalHome newsHome=null;

// League business methods

public void createFantasy(FantasyDetails details) {

System.out.println("FantasyAdmEJB createLeague");

try {

FantasyLocal fantasy = fantasyHome.create(details);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void removeFantasy(long fantasyId) {

System.out.println("FantasyAdmEJB removeLeague");

try {

Long uKey=new Long(fantasyId);

FantasyLocal fantasy = fantasyHome.findByPrimaryKey(uKey);

fantasy.remove();

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void modifyFantasy(FantasyDetails details) {

System.out.println("FantasyAdmEJB modifyFantasy");

try {

Long uKey=new Long(details.getFantasyId());

FantasyLocal fantasy = fantasyHome.findByPrimaryKey(uKey);

fantasy.modifyFantasyDetails(details);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public FantasyDetails getFantasy(long fantasyId) {

System.out.print("RosterBean getFantasy");

FantasyDetails details = null;

try {

Long uKey=new Long(fantasyId);

FantasyLocal fantasy = fantasyHome.findByPrimaryKey(uKey);

details = new FantasyDetails(fantasyId,fantasy.getNameFantasy(),fantasy.getSport());

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

return details;

}

// Team business methods

public void createTeamInFantasy(long fantasyId,TeamDetails details) {

System.out.println("FantasyAdmEJB createTeam");

try {

Long uKey=new Long(fantasyId);

FantasyLocal fantasy = fantasyHome.findByPrimaryKey(uKey);

TeamLocal team=teamHome.create(details);

fantasy.addTeam(team);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropTeamFromFantasy(long fantasyId,TeamDetails details) {

System.out.println("FantasyAdmEJB createTeam");

try {

Long uKey=new Long(fantasyId);

Long uKeyDet=new Long(details.getTeamId());

FantasyLocal fantasy = fantasyHome.findByPrimaryKey(uKey);

TeamLocal team=teamHome.findByPrimaryKey(uKeyDet);

fantasy.dropTeam(team);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void removeTeam(long teamId) {

System.out.println("FantasyAdmEJB removeTeam");

try {

Long uKey=new Long(teamId);

TeamLocal team = teamHome.findByPrimaryKey(uKey);

team.remove();

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void modifyTeam(TeamDetails details) {

System.out.println("FantasyAdmEJB modifyTeam");

try {

Long uKey=new Long(details.getTeamId());

TeamLocal team = teamHome.findByPrimaryKey(uKey);

team.modifyTeamDetails(details);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public TeamDetails getTeam(long teamId) {

System.out.print("RosterBean getTeam");

TeamDetails details = null;

try {

Long uKey=new Long(teamId);

TeamLocal team = teamHome.findByPrimaryKey(uKey);

details = new TeamDetails(teamId,team.getFantasyId(),team.getNameTeam(),team.getCoach(),team.getDoctor(),team.getState(),team.getCity(),

team.getNrVictoriesHome(),team.getNrVictoriesAway(),team.getNrGames(),team.getPlaceInLeague(),team.getBirth());

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

return details;

}

// Player business methods

public void createPlayerInTeam(long teamId,PlayerDetails details) {

System.out.println("FantasyAdmEJB createPlayer");

try {

Long uKey=new Long(teamId);

TeamLocal team = teamHome.findByPrimaryKey(uKey);

PlayerLocal player=playerHome.create(details);

team.addPlayer(player);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void addPlayerInTeam(long teamId,long playerId) {

System.out.println("FantasyAdmEJB createPlayer");

try {

Long uKey=new Long(teamId);

Long ukey=new Long(playerId);

TeamLocal team = teamHome.findByPrimaryKey(uKey);

PlayerLocal player=playerHome.findByPrimaryKey(ukey);

team.addPlayer(player);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropPlayerFromTeam(long teamId,PlayerDetails details) {

System.out.println("FantasyAdmEJB createPlayer");

try {

Long uKey=new Long(teamId);

Long uKeyDet=new Long(details.getPlayerId());

TeamLocal team = teamHome.findByPrimaryKey(uKey);

PlayerLocal player=playerHome.findByPrimaryKey(uKeyDet);

team.dropPlayer(player);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void removePlayer(long playerId) {

System.out.println("FantasyAdmEJB removePlayer");

try {

Long uKey=new Long(playerId);

PlayerLocal player = playerHome.findByPrimaryKey(uKey);

player.remove();

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void modifyPlayer(PlayerDetails details) {

System.out.println("FantasyAdmEJB modifyPlayer");

try {

Long uKey=new Long(details.getPlayerId());

PlayerLocal player = playerHome.findByPrimaryKey(uKey);

player.modifyPlayerDetails(details);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public PlayerDetails getPlayer(long playerId) {

System.out.print("RosterBean getPlayer");

PlayerDetails details = null;

try {

Long uKey=new Long(playerId);

PlayerLocal player = playerHome.findByPrimaryKey(uKey);

details = new PlayerDetails(player.getTeamId(),playerId,player.getNamePlayer(),player.getSurname(),player.getNickname(),player.getPosition(),player.getStatus(),

player.getExperience(),player.getBirthdate(),player.getState(),player.getCity());

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

return details;

}

// Inactive business methods

public void createInactiveForPlayer(long playerId,InactivesDetails details) {

System.out.println("FantasyAdmEJB createPlayer");

try {

Long uKey=new Long(playerId);

PlayerLocal player = playerHome.findByPrimaryKey(uKey);

InactivesLocal inactive=inactiveHome.create(details);

player.addInactives(inactive);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropInactiveForPlayer(long playerId,InactivesDetails details) {

System.out.println("FantasyAdmEJB dropInactive");

try {

Long uKey=new Long(playerId);

Long uKeyDet=new Long(details.getInjuryId());

PlayerLocal player = playerHome.findByPrimaryKey(uKey);

InactivesLocal inactive=inactiveHome.findByPrimaryKey(uKeyDet);

player.dropInactives(inactive);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void removeInactive(long inactiveId) {

System.out.println("FantasyAdmEJB removeInactive");

try {

Long uKey=new Long(inactiveId);

InactivesLocal inactive = inactiveHome.findByPrimaryKey(uKey);

inactive.remove();

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void modifyInactive(InactivesDetails details) {

System.out.println("FantasyAdmEJB modifyInactive");

try {

Long uKey=new Long(details.getInjuryId());

InactivesLocal inactive = inactiveHome.findByPrimaryKey(uKey);

inactive.modifyInactivesDetails(details);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public InactivesDetails getInactive(long inactiveId) {

InactivesDetails details = null;

try {

Long uKey=new Long(inactiveId);

InactivesLocal inactive = inactiveHome.findByPrimaryKey(uKey);

details = new InactivesDetails(inactiveId,inactive.getPlayerId(),inactive.getDateB(),inactive.getDateF(),

inactive.getDate(),inactive.getMotiv());

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

return details;

}

public ArrayList getAllInactives() {

ArrayList detailsList = new ArrayList();

Collection inactivities=null;

try{

inactivities=inactiveHome.findAllInactives ();

Iterator i = inactivities.iterator();

while (i.hasNext()) {

InactivesLocal inactive = (InactivesLocal) i.next();

InactivesDetails details = new InactivesDetails(inactive.getInjuryId(),inactive.getPlayerId(),inactive.getDateB(),inactive.getDateF(),

inactive.getDate(),inactive.getMotiv());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

//Transaction Business methods

public TransactionDetails getTransaction(long transactionId) {

TransactionDetails details = null;

try {

Long uKey=new Long(transactionId);

TransactionLocal transaction = transactionHome.findByPrimaryKey(uKey);

details = new TransactionDetails(transactionId,transaction.getTeamSellerId(),transaction.getTeamBuyerId(),

transaction.getPlayerId(),transaction.getDateContract(),transaction.getPeriod());

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

return details;

}

public void modifyTransaction(TransactionDetails details) {

System.out.println("FantasyAdmEJB modifyTransaction");

try {

Long uKey=new Long(details.getTransactionId());

TransactionLocal transaction = transactionHome.findByPrimaryKey(uKey);

transaction.modifyTransactionDetails(details);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void removeTransaction(long transactionId) {

System.out.println("FantasyAdmEJB removeInactive");

try {

Long uKey=new Long(transactionId);

TransactionLocal transaction = transactionHome.findByPrimaryKey(uKey);

transaction.remove();

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getAllTransactions() {

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection transactions=null;

try{

transactions=transactionHome.findAllTransactions ();

Iterator i = transactions.iterator();

while (i.hasNext()) {

TransactionLocal transaction = (TransactionLocal) i.next();

TransactionDetails details = new TransactionDetails(transaction.getTransactionId(),transaction.getTeamSellerId(),transaction.getTeamBuyerId(),

transaction.getPlayerId(),transaction.getDateContract(),transaction.getPeriod());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage()); }

}

public void createTransaction(TransactionDetails details,long teamS,long teamB,long playerId) {

System.out.println("FantasyAdmEJB createTransaction");

try {

if(details.getTeamSellerId()!=details.getTeamBuyerId()){

if ( getPlayer(playerId).getTeamId()==teamS){

dropPlayerFromTeam(teamS,getPlayer(playerId));

addPlayerInTeam(teamB,playerId);

PlayerDetails det=getPlayer(playerId);

PlayerDetails newDet=new PlayerDetails(teamB,playerId,det.getNamePlayer(),det.getSurname(),det.getNickname(),det.getPosition(),

det.getStatus(),det.getExperience(),det.getBirthdate(),det.getState(),det.getCity());

modifyPlayer(newDet);

TransactionLocal transaction = transactionHome.create(details);

addPlayerToTransaction(details.getTransactionId(),playerId);

}else System.out.println("Jucatorul nu apartine echipei vanzatoare");

}else System.out.println("Echipa vanzatoare este aceeasi cu echipa cumparatoare");

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void addPlayerToTransaction(long transactionId,long playerId) {

System.out.println("FantasyAdmEJB createPlayer");

try {

Long uKey=new Long(transactionId);

Long uKeyDet=new Long(playerId);

TransactionLocal transaction = transactionHome.findByPrimaryKey(uKey);

PlayerLocal player=playerHome.findByPrimaryKey(uKeyDet);

transaction.addPlayer(player);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropPlayerFromTransaction(long transactionId,long playerId) {

System.out.println("FantasyAdmEJB createPlayer");

try {

Long uKey=new Long(transactionId);

Long uKeyDet=new Long(playerId);

TransactionLocal transaction = transactionHome.findByPrimaryKey(uKey);

PlayerLocal player=playerHome.findByPrimaryKey(uKeyDet);

transaction.dropPlayer(player);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList findAllFantasy(){

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection fantasies=null;

try{

fantasies=fantasyHome.findAllFantasy ();

Iterator i = fantasies.iterator();

while (i.hasNext()) {

FantasyLocal fantasy = (FantasyLocal) i.next();

FantasyDetails details = new FantasyDetails(fantasy.getFantasyId(),fantasy.getNameFantasy(),fantasy.getSport());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList findAllTeams(){

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection teams=null;

try{

teams=teamHome.findAllTeams ();

Iterator i = teams.iterator();

while (i.hasNext()) {

TeamLocal team = (TeamLocal) i.next();

TeamDetails details = new TeamDetails(team.getTeamId(),team.getFantasyId(),team.getNameTeam(),team.getCoach(),team.getDoctor(),team.getState(),team.getCity(),

team.getNrVictoriesHome(),team.getNrVictoriesAway(),team.getNrGames(),team.getPlaceInLeague(),team.getBirth());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList findAllPlayers(){

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection players=null;

try{

players=playerHome.findAllPlayers ();

Iterator i = players.iterator();

while (i.hasNext()) {

PlayerLocal player = (PlayerLocal) i.next();

PlayerDetails details = new PlayerDetails(player.getTeamId(),player.getPlayerId(),player.getNamePlayer(),player.getSurname(),player.getNickname(),player.getPosition(),player.getStatus(),

player.getExperience(),player.getBirthdate(),player.getState(),player.getCity());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public int CalculatePoints(long teamId){

int nrPoints=0;

System.out.println("FantasyAdmEJB calculatePoints");

try {

Long uKey=new Long(teamId);

TeamLocal team = teamHome.findByPrimaryKey(uKey);

TeamDetails det=getTeam(teamId);

nrPoints=(det.getNrVictoriesHome()*3)+(det.getNrGames()-det.getNrVictoriesHome()-det.getNrVictoriesAway());

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

return nrPoints;

}

public FantasyAdmEJB() {}

public void ejbCreate() {

System.out.println("FantasyAdmEjB ejbCreate()");

try {

playerHome = lookupPlayer();

teamHome = lookupTeam();

fantasyHome = lookupFantasy();

inactiveHome = lookupInactive();

transactionHome = lookupTransaction();

newsHome = lookupNews();

} catch (NamingException ex) {

throw new EJBException(ex.getMessage());

}

}

public void setSessionContext(SessionContext context){this.context = context;}

public void ejbActivate() {

System.out.println("FantasyAdmEjB ejbActivate()");

try {

playerHome = lookupPlayer();

teamHome = lookupTeam();

fantasyHome = lookupFantasy();

inactiveHome = lookupInactive();

transactionHome = lookupTransaction();

newsHome = lookupNews();

} catch (NamingException ex) {

throw new EJBException(ex.getMessage());

}

}

public void ejbPassivate() {

fantasyHome=null;

teamHome=null;

playerHome=null;

inactiveHome=null;

transactionHome=null;

newsHome=null;

}

public void ejbRemove() {}

// Private methods

private NewsLocalHome lookupNews()throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleNews");

return (NewsLocalHome) objref;

}

private TransactionLocalHome lookupTransaction()throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleTransaction");

return (TransactionLocalHome) objref;

}

private InactivesLocalHome lookupInactive() throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleInactive");

return (InactivesLocalHome) objref;

}

private PlayerLocalHome lookupPlayer() throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimplePlayer");

return (PlayerLocalHome) objref;

}

private TeamLocalHome lookupTeam() throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleTeam");

return (TeamLocalHome) objref;

}

private FantasyLocalHome lookupFantasy() throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleFantasy");

return (FantasyLocalHome) objref;

}

public ArrayList getAllTeamsFantasy(long fantasyId) {

ArrayList detailsList = new ArrayList();

Collection teams=null;

try{

teams=teamHome.findAllTeamsFantasy (fantasyId);

Iterator i = teams.iterator();

while (i.hasNext()) {

TeamLocal team = (TeamLocal) i.next();

TeamDetails details = new TeamDetails(team.getTeamId(),fantasyId,team.getNameTeam(),team.getCoach(),

team.getDoctor(),team.getState(),team.getCity(),team.getNrVictoriesHome(),team.getNrVictoriesAway(),

team.getNrGames(),team.getPlaceInLeague(),team.getBirth());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getAllPlayersTeam(long teamId) {

ArrayList detailsList = new ArrayList();

Collection players=null;

try{

players=playerHome.findAllPlayersTeam (teamId);

Iterator i = players.iterator();

while (i.hasNext()) {

PlayerLocal player = (PlayerLocal) i.next();

PlayerDetails details = new PlayerDetails(teamId,player.getPlayerId(),player.getNamePlayer(),player.getSurname(),player.getNickname(),player.getPosition(),player.getStatus(),

player.getExperience(),player.getBirthdate(),player.getState(),player.getCity());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getAllPlayersTransaction(long transactionId) {

ArrayList detailsList = new ArrayList();

Collection players=null;

try{

players=playerHome.findAllPlayersTransaction (transactionId);

Iterator i = players.iterator();

while (i.hasNext()) {

PlayerLocal player = (PlayerLocal) i.next();

PlayerDetails details = new PlayerDetails(player.getTeamId(),player.getPlayerId(),player.getNamePlayer(),player.getSurname(),player.getNickname(),player.getPosition(),player.getStatus(),

player.getExperience(),player.getBirthdate(),player.getState(),player.getCity());

detailsist.add(details);

} return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getAllInactivesPlayer(long playerId) {

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection inactives=null;

try{

inactives=inactiveHome.findPlayerInactives (playerId);

Iterator i = inactives.iterator();

while (i.hasNext()) {

InactivesLocal inactive = (InactivesLocal) i.next();

InactivesDetails details = new InactivesDetails(inactive.getInjuryId(),playerId,inactive.getDateB(),inactive.getDateF(),

inactive.getDate(),inactive.getMotiv());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

package ejburi.league;

import java.rmi.RemoteException;

import ejburi.util.*;

import java.util.*;

import javax.ejb.*;

/**

import javax.ejb.EJBObject;

/**

* Created 09.05.2003 22:14:26

*/

public interface FantasyAdm extends EJBObject {

//fantasy's administrator functions

public void createFantasy(FantasyDetails details) throws RemoteException;

public void removeFantasy(long fantasyId)throws RemoteException;

public FantasyDetails getFantasy(long fantasyId)throws RemoteException;

public void modifyFantasy(FantasyDetails details)throws RemoteException;

public ArrayList findAllFantasy()throws RemoteException;

//team's administrator functions

public void createTeamInFantasy(long fantasyId,TeamDetails details) throws RemoteException;

public void dropTeamFromFantasy(long fantasyId,TeamDetails details)throws RemoteException;

public void removeTeam(long teamId)throws RemoteException;

public TeamDetails getTeam(long teamId)throws RemoteException;

public void modifyTeam(TeamDetails details)throws RemoteException;

public ArrayList findAllTeams()throws RemoteException;

public int CalculatePoints(long teamId)throws RemoteException;

//player's administrator functions

public void createPlayerInTeam(long teamId,PlayerDetails details) throws RemoteException;

public void dropPlayerFromTeam(long teamId,PlayerDetails details)throws RemoteException;

public void removePlayer(long playerId)throws RemoteException;

public PlayerDetails getPlayer(long playerId)throws RemoteException;

public void modifyPlayer(PlayerDetails details)throws RemoteException;

public void addPlayerInTeam(long teamId,long playerId)throws RemoteException;

public ArrayList findAllPlayers()throws RemoteException;

//inactive's administrator functions

public void createInactiveForPlayer(long playerId,InactivesDetails details)throws RemoteException;

public void dropInactiveForPlayer(long playerId,InactivesDetails details)throws RemoteException;

public void removeInactive(long inactiveId)throws RemoteException;

public void modifyInactive(InactivesDetails details)throws RemoteException;

public InactivesDetails getInactive(long inactiveId)throws RemoteException;

public ArrayList getAllInactives() throws RemoteException;

//transaction's administrator functions

public TransactionDetails getTransaction(long transactionId)throws RemoteException;

public void modifyTransaction(TransactionDetails details) throws RemoteException;

public void removeTransaction(long transactionId) throws RemoteException;

public void dropPlayerFromTransaction(long transactionId,long playerId)throws RemoteException;

public void addPlayerToTransaction(long transactionId,long playerId)throws RemoteException;

public void createTransaction(TransactionDetails details,long teamS,long teamB,long playerId)throws RemoteException;

public ArrayList getAllTransactions()throws RemoteException;

//find Functions

public ArrayList getAllTeamsFantasy(long fantasyId)throws RemoteException;

public ArrayList getAllPlayersTeam(long teamId)throws RemoteException;

public ArrayList getAllPlayersTransaction(long transaction)throws RemoteException;

public ArrayList getAllInactivesPlayer(long playerId)throws RemoteException;

}}

package ejburi.league;

import java.rmi.RemoteException;

import javax.ejb.CreateException;

import javax.ejb.EJBHome;

public interface FantasyAdmHome extends EJBHome {

public FantasyAdm create() throws RemoteException,CreateException;

}

package ejburi.league;

import javax.ejb.CreateException;

import javax.ejb.SessionBean;

import javax.ejb.SessionContext;

import javax.ejb.SessionSynchronization;

import ejburi.util.*;

import java.util.*;

import javax.ejb.*;

import javax.naming.*;

/**

* Created 11.05.2003 09:04:05

*/

public class FantasyNewsAdmEJB implements SessionBean {

private SessionContext context;

FantasyLocalHome fantasyHome=null;

TeamLocalHome teamHome=null;

PlayerLocalHome playerHome=null;

InactivesLocalHome inactiveHome=null;

TransactionLocalHome transactionHome=null;

NewsLocalHome newsHome=null;

//Fantasy's administrator news methods

public void createNews(NewsDetails details) {

System.out.println("FantasyNewsAdmEJB createNews");

try {

NewsLocal news=newsHome.create(details);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void createNewsFromFantasy(long fantasyId,long newsId) {

System.out.println("FantasyNewsAdmEJB createTeam");

try {

Long uKey=new Long(fantasyId);

Long uKeyNews=new Long(newsId);

FantasyLocal fantasy = fantasyHome.findByPrimaryKey(uKey);

NewsLocal news=newsHome.findByPrimaryKey(uKeyNews);

fantasy.addNews(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropNewsFromFantasy(long fantasyId,NewsDetails details) {

System.out.println("FantasyNewsAdmEJB dropNewsFromFantasy");

try {

Long uKey=new Long(fantasyId);

Long uKeyDet=new Long(details.getNewsId());

System.out.println("FantasyNewsAdmEJB dropNewsFromFantasy");

FantasyLocal fantasy = fantasyHome.findByPrimaryKey(uKey);

NewsLocal news=newsHome.findByPrimaryKey(uKeyDet);

fantasy.dropNews(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

//Team's administrator news methods

public void createNewsFromTeam(long teamId,long newsId) {

System.out.println("FantasyAdmEJB createTeam");

try {

Long uKey=new Long(teamId);

Long uKeyNews=new Long(newsId);

TeamLocal team = teamHome.findByPrimaryKey(uKey);

NewsLocal news=newsHome.findByPrimaryKey(uKeyNews);

team.addNews(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropNewsFromTeam(long teamId,NewsDetails details) {

System.out.println("FantasyAdmEJB createTeam");

try {

Long uKey=new Long(teamId);

Long uKeyDet=new Long(details.getNewsId());

TeamLocal team = teamHome.findByPrimaryKey(uKey);

NewsLocal news=newsHome.findByPrimaryKey(uKeyDet);

team.dropNews(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

//Player's administrator news methods

public void createNewsFromPlayer(long playerId,long newsId) {

System.out.println("FantasyAdmEJB createTeam");

try {

Long uKey=new Long(playerId);

Long uKeyNews=new Long(newsId);

PlayerLocal player = playerHome.findByPrimaryKey(uKey);

NewsLocal news=newsHome.findByPrimaryKey(uKeyNews);

player.addNews(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropNewsFromPlayer(long playerId,NewsDetails details) {

Long uKey=new Long(playerId);

Long uKeyDet=new Long(details.getNewsId());

try{

PlayerLocal player = playerHome.findByPrimaryKey(uKey);

NewsLocal news=newsHome.findByPrimaryKey(uKeyDet);

player.dropNews(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

//Inactive's administrator news methods

public void createNewsFromInactive(long inactiveId,long newsId) {

System.out.println("FantasyAdmEJB createTeam");

try {

Long uKey=new Long(inactiveId);

Long uKeyNews=new Long(newsId);

InactivesLocal inactive = inactiveHome.findByPrimaryKey(uKey);

NewsLocal news=newsHome.findByPrimaryKey(uKeyNews);

inactive.addNews(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropNewsFromInactive(long inactiveId,NewsDetails details) {

System.out.println("FantasyAdmEJB dropNews from Inactive");

try {

Long uKey=new Long(inactiveId);

Long uKeyDet=new Long(details.getNewsId());

InactivesLocal inactive = inactiveHome.findByPrimaryKey(uKey);

NewsLocal news=newsHome.findByPrimaryKey(uKeyDet);

inactive.dropNews(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

//Transaction's administrator news methods

public void createNewsFromTransaction(long transactionId,long newsId) {

System.out.println("FantasyAdmEJB createTeam");

try {

Long uKey=new Long(transactionId);

Long uKeyNews=new Long(newsId);

TransactionLocal transaction = transactionHome.findByPrimaryKey(uKey);

NewsLocal news=newsHome.findByPrimaryKey(uKeyNews);

transaction.addNews(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void dropNewsFromTransaction(long transactionId,NewsDetails details) {

System.out.println("FantasyAdmEJB dropNews from Inactive");

try {

Long uKey=new Long(transactionId);

Long uKeyDet=new Long(details.getNewsId());

TransactionLocal transaction = transactionHome.findByPrimaryKey(uKey);

NewsLocal news=newsHome.findByPrimaryKey(uKeyDet);

transaction.dropNews(news);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

//news's administrator functions

public void removeNews(long newsId) {

System.out.println("FantasyAdmEJB removeInactive");

try {

Long uKey=new Long(newsId);

NewsLocal news = newsHome.findByPrimaryKey(uKey);

news.remove();

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public void modifyNews(NewsDetails details) {

System.out.println("FantasyNewsAdmEJB modifyNews");

try {

Long uKey=new Long(details.getNewsId());

NewsLocal news = newsHome.findByPrimaryKey(uKey);

news.modifyNewsDetails(details);

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public NewsDetails getNews(long newsId) {

System.out.print("FantasyNewsAdmEJB getNews");

NewsDetails details = null;

try {

Long uKey=new Long(newsId);

NewsLocal news = newsHome.findByPrimaryKey(uKey);

details = new NewsDetails(newsId,news.getFantasyId(),news.getTeamId(),news.getPlayerId(),news.getInactiveId(),

news.getTransactionId(),news.getDate(),news.getNews(),news.getHeadline(),news.getStatus());

} catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

return details;

}

public FantasyNewsAdmEJB() {}

public void ejbCreate() {

System.out.println("FantasyAdmEjB ejbCreate()");

try {

playerHome = lookupPlayer();

teamHome = lookupTeam();

fantasyHome = lookupFantasy();

inactiveHome = lookupInactive();

transactionHome = lookupTransaction();

newsHome = lookupNews();

} catch (NamingException ex) {

throw new EJBException(ex.getMessage());

}

}

public void setSessionContext(SessionContext context){this.context = context;}

public void ejbActivate() {

System.out.println("FantasyAdmEjB ejbActivate()");

try {

playerHome = lookupPlayer();

teamHome = lookupTeam();

fantasyHome = lookupFantasy();

inactiveHome = lookupInactive();

transactionHome = lookupTransaction();

newsHome = lookupNews();

} catch (NamingException ex) {

throw new EJBException(ex.getMessage());

}

}

public void ejbPassivate() {

fantasyHome=null;

teamHome=null;

playerHome=null;

inactiveHome=null;

transactionHome=null;

newsHome=null;

}

public void ejbRemove() {}

// Private methods

private NewsLocalHome lookupNews()throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleNews");

return (NewsLocalHome) objref;

}

private TransactionLocalHome lookupTransaction()throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleTransaction");

return (TransactionLocalHome) objref;

}

private InactivesLocalHome lookupInactive() throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleInactive");

return (InactivesLocalHome) objref;

}

private PlayerLocalHome lookupPlayer() throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimplePlayer");

return (PlayerLocalHome) objref;

}

private TeamLocalHome lookupTeam() throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleTeam");

return (TeamLocalHome) objref;

}

private FantasyLocalHome lookupFantasy() throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleFantasy");

return (FantasyLocalHome) objref;

}

}

package ejburi.league;

import java.rmi.RemoteException;

import ejburi.util.*;

import java.util.*;

import javax.ejb.*;

import javax.ejb.EJBObject;

/**

* Created 11.05.2003 09:04:05

*/

public interface FantasyNewsAdm extends EJBObject {

//news's administrator functions

public void createNews(NewsDetails details)throws java.rmi.RemoteException;

public void removeNews(long newsId)throws java.rmi.RemoteException;

public void modifyNews(NewsDetails details)throws java.rmi.RemoteException;

public NewsDetails getNews(long newsId)throws java.rmi.RemoteException;

//Fantasy's administrator news methods

public void createNewsFromFantasy(long fantasyId,long newsId) throws java.rmi.RemoteException;

public void dropNewsFromFantasy(long fantasyId,NewsDetails details)throws java.rmi.RemoteException;

//Team's administrator news methods

public void createNewsFromTeam(long teamId,long newsId)throws java.rmi.RemoteException;

public void dropNewsFromTeam(long teamId,NewsDetails details)throws java.rmi.RemoteException;

//Player's administrator news methods

public void createNewsFromPlayer(long playerId,long newsId)throws java.rmi.RemoteException;

public void dropNewsFromPlayer(long playerId,NewsDetails details)throws java.rmi.RemoteException;

//Inactive's administrator news methods

public void createNewsFromInactive(long inactiveId,long newsId)throws java.rmi.RemoteException;

public void dropNewsFromInactive(long inactiveId,NewsDetails details)throws java.rmi.RemoteException;

//Transaction's administrator news methods

public void createNewsFromTransaction(long transactionId,long newsId) throws java.rmi.RemoteException;

public void dropNewsFromTransaction(long transactionId,NewsDetails details) throws java.rmi.RemoteException;

}

package ejburi.league;

import java.rmi.RemoteException;

import javax.ejb.CreateException;

import javax.ejb.EJBHome;

public interface FantasyNewsAdmHome extends EJBHome {

public FantasyNewsAdm create() throws RemoteException,CreateException;

}

package ejburi.league;

import javax.ejb.CreateException;

import javax.ejb.SessionBean;

import javax.ejb.SessionContext;

import javax.ejb.SessionSynchronization;

import ejburi.util.*;

import java.util.*;

import javax.ejb.*;

import javax.naming.*;

/**

* Created 12.05.2003 15:19:57

*/

public class SelectNewsSessionEJB implements SessionBean {

private SessionContext context;

FantasyLocalHome fantasyHome=null;

TeamLocalHome teamHome=null;

PlayerLocalHome playerHome=null;

InactivesLocalHome inactiveHome=null;

TransactionLocalHome transactionHome=null;

NewsLocalHome newsHome=null;

public int var=0;

public ArrayList getNewsByStatus(long dateB, long dateF, int status,long fantasyId) {

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection newsS=null;

try{

newsS=newsHome.findLikeBetweenDate (dateB,dateF,status,fantasyId);

Iterator i = newsS.iterator();

while (i.hasNext()) {

NewsLocal news = (NewsLocal) i.next();

NewsDetails details = new NewsDetails(news.getNewsId(),news.getFantasyId(),news.getTeamId(),

news.getPlayerId(),news.getInactiveId(),news.getTransactionId(),news.getDate(),

news.getNews(),news.getHeadline(),news.getStatus());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getTransactionNews(long dateB, long dateF,long fantasyId) {

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection newsS=null;

try{

newsS=newsHome.findTransactionBetDate(dateB,dateF,fantasyId);

Iterator i = newsS.iterator();

while (i.hasNext()) {

NewsLocal news = (NewsLocal) i.next();

NewsDetails details = new NewsDetails(news.getNewsId(),news.getFantasyId(),news.getTeamId(),

news.getPlayerId(),news.getInactiveId(),news.getTransactionId(),news.getDate(),

news.getNews(),news.getHeadline(),news.getStatus());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getInactiveNews(long dateB, long dateF,long fantasyId){

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection newsS=null;

try{

newsS=newsHome.findInactiveBetDate(dateB,dateF,fantasyId);

Iterator i = newsS.iterator();

while (i.hasNext()) {

NewsLocal news = (NewsLocal) i.next();

NewsDetails details = new NewsDetails(news.getNewsId(),news.getFantasyId(),news.getTeamId(),

news.getPlayerId(),news.getInactiveId(),news.getTransactionId(),news.getDate(),

news.getNews(),news.getHeadline(),news.getStatus());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getTeamNews(long dateB,long dateF,long fantasyId,String nameTeam){

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection newsS=null;

try{

newsS=newsHome.findTeamBetDate(dateB,dateF,fantasyId,nameTeam);

Iterator i = newsS.iterator();

while (i.hasNext()) {

NewsLocal news = (NewsLocal) i.next();

NewsDetails details = new NewsDetails(news.getNewsId(),fantasyId,news.getTeamId(),

news.getPlayerId(),news.getInactiveId(),news.getTransactionId(),news.getDate(),

news.getNews(),news.getHeadline(),news.getStatus());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getPlayerNews(long dateB,long dateF,long fantasyId,String nameTeam,String namePlayer){

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection newsS=null;

try{

newsS=newsHome.findPlayerBetDate(dateB,dateF,fantasyId,nameTeam,namePlayer);

Iterator i = newsS.iterator();

while (i.hasNext()) {

NewsLocal news = (NewsLocal) i.next();

NewsDetails details = new NewsDetails(news.getNewsId(),fantasyId,news.getTeamId(),

news.getPlayerId(),news.getInactiveId(),news.getTransactionId(),news.getDate(),

news.getNews(),news.getHeadline(),news.getStatus());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getPlayerPosNameNews(long dateB,long dateF,long fantasyId,String position,String namePlayer){

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection newsS=null;

try{

newsS=newsHome.findPlayerPosName(dateB,dateF,fantasyId,position,namePlayer);

Iterator i = newsS.iterator();

while (i.hasNext()) {

NewsLocal news = (NewsLocal) i.next();

NewsDetails details = new NewsDetails(news.getNewsId(),fantasyId,news.getTeamId(),

news.getPlayerId(),news.getInactiveId(),news.getTransactionId(),news.getDate(),

news.getNews(),news.getHeadline(),news.getStatus());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getAllNews(long dateB, long dateF,long fantasyId) {

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection newsS=null;

try{

newsS=newsHome.findAllBetweenDate (dateB,dateF,fantasyId);

Iterator i = newsS.iterator();

while (i.hasNext()) {

NewsLocal news = (NewsLocal) i.next();

NewsDetails details = new NewsDetails(news.getNewsId(),news.getFantasyId(),news.getTeamId(),

news.getPlayerId(),news.getInactiveId(),news.getTransactionId(),news.getDate(),

news.getNews(),news.getHeadline(),news.getStatus());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getPlayerNews(long dateB, long dateF,long playerId) {

System.out.println("SelectNewsSessionEJB ->getPlayerNews");

ArrayList detailsList = new ArrayList();

Collection newsS=null;

try{

newsS=newsHome.findPlayerNews (dateB,dateF,playerId);

Iterator i = newsS.iterator();

while (i.hasNext()) {

NewsLocal news = (NewsLocal) i.next();

NewsDetails details = new NewsDetails(news.getNewsId(),news.getFantasyId(),news.getTeamId(),

news.getPlayerId(),news.getInactiveId(),news.getTransactionId(),news.getDate(),

news.getNews(),news.getHeadline(),news.getStatus());

detailsList.add(details);

} return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getAll() {

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection newsS=null;

try{

newsS=newsHome.findAll();

Iterator i = newsS.iterator();

while (i.hasNext()) {

NewsLocal news = (NewsLocal) i.next();

NewsDetails details = new NewsDetails(news.getNewsId(),news.getFantasyId(),news.getTeamId(),

news.getPlayerId(),news.getInactiveId(),news.getTransactionId(),news.getDate(),

news.getNews(),news.getHeadline(),news.getStatus());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getPlayersByPositionTeamFantasy(long fantasyId,String nameTeam,String position) {

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection players=null;

try{

players=playerHome.findPlayersByPositionTeamFantasy (fantasyId,nameTeam,position);

Iterator i = players.iterator();

while (i.hasNext()) {

PlayerLocal player = (PlayerLocal) i.next();

PlayerDetails details = new PlayerDetails(player.getTeamId(),player.getPlayerId(),player.getNamePlayer(),

player.getSurname(),player.getNickname(),position,player.getStatus(),

player.getExperience(),player.getBirthdate(),player.getState(),player.getCity());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getAllTeamsFantasy(long fantasyId) {

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection teams=null;

try{

teams=teamHome.findAllTeamsFantasy (fantasyId);

Iterator i = teams.iterator();

while (i.hasNext()) {

TeamLocal team = (TeamLocal) i.next();

TeamDetails details = new TeamDetails(team.getTeamId(),fantasyId,team.getNameTeam(),team.getCoach(), team.getDoctor(),team.getState(),team.getCity(),team.getNrVictoriesHome(),team.getNrVictoriesAway(),

team.getNrGames(),team.getPlaceInLeague(),team.getBirth());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getAllPlayersFantasy(long fantasyId) {

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection players=null;

try{

players=playerHome.findAllPlayersFantasy (fantasyId);

Iterator i = players.iterator();

while (i.hasNext()) {

PlayerLocal player = (PlayerLocal) i.next();

PlayerDetails details = new PlayerDetails(player.getTeamId(),player.getPlayerId(),player.getNamePlayer(),

player.getSurname(),player.getNickname(),player.getPosition(),player.getStatus(),

player.getExperience(),player.getBirthdate(),player.getState(),player.getCity());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getAllPlayersTeamFantasy (long fantasyId,String nameTeam) {

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection players=null;

try{

players=playerHome.findAllPlayersTeamFantasy (fantasyId,nameTeam);

Iterator i = players.iterator();

while (i.hasNext()) {

PlayerLocal player = (PlayerLocal) i.next();

PlayerDetails details = new PlayerDetails(player.getTeamId(),player.getPlayerId(),player.getNamePlayer(),

player.getSurname(),player.getNickname(),player.getPosition(),player.getStatus(),

player.getExperience(),player.getBirthdate(),player.getState(),player.getCity());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getAllInjuryForPlayer(long fantasyId,String namePlayer) {

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection inactives=null;

try{

inactives=inactiveHome.findPlayerInactives(fantasyId,namePlayer);

Iterator i = inactives.iterator();

while (i.hasNext()) {

InactivesLocal inactive = (InactivesLocal) i.next();

InactivesDetails details = new InactivesDetails(inactive.getInjuryId(),inactive.getPlayerId(),inactive.getDateB(),inactive.getDateF(),inactive.getDate(),inactive.getMotiv());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getAllPositionFantasy(long fantasyId,String position) {

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection players=null;

try{

players=playerHome.findAllPlayersPos (fantasyId,position);

Iterator i = players.iterator();

while (i.hasNext()) {

PlayerLocal player = (PlayerLocal) i.next();

PlayerDetails details = new PlayerDetails(player.getTeamId(),player.getPlayerId(),player.getNamePlayer(),

player.getSurname(),player.getNickname(),position,player.getStatus(),

player.getExperience(),player.getBirthdate(),player.getState(),player.getCity());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getAllPositionNameFantasy(long fantasyId,String position,String namePlayer) {

System.out.println("SelectNewsSessionEJB ->getNewsByStatus");

ArrayList detailsList = new ArrayList();

Collection players=null;

try{

players=playerHome.findAllPlayersPosName (fantasyId,position,namePlayer);

Iterator i = players.iterator();

while (i.hasNext()) {

PlayerLocal player = (PlayerLocal) i.next();

PlayerDetails details = new PlayerDetails(player.getTeamId(),player.getPlayerId(),player.getNamePlayer(),

player.getSurname(),player.getNickname(),position,player.getStatus(),

player.getExperience(),player.getBirthdate(),player.getState(),player.getCity());

detailsList.add(details);

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public ArrayList getKeyword(String keyword) {

System.out.println("Start for keyword serch function.WITH A TWIST 3 Time.");

ArrayList detailsList = new ArrayList();

Collection newsS=null;

String keywordTrans = keyword.toString();

int writeBlock = 0;//stop scriere duplicate

try{

newsS=newsHome.findAll();

StringTokenizer st=null;

Iterator i = newsS.iterator();

while (i.hasNext()) {

NewsLocal news = (NewsLocal) i.next();

NewsDetails details = new NewsDetails(news.getNewsId(),news.getFantasyId(),news.getTeamId(),

news.getPlayerId(),news.getInactiveId(),news.getTransactionId(),news.getDate(),

news.getNews(),news.getHeadline(),news.getStatus());

st =new StringTokenizer(details.getNews());

while(st.hasMoreTokens()){

System.out.println("KewordSearch ->in while st");

String tokenKeyDB = st.nextToken().toString();

StringTokenizer keyToken=new StringTokenizer(keyword);

while(keyToken.hasMoreTokens()){

String tokeyKeyJSP = keyToken.nextToken().toString();

System.out.println("Token form JSP: "+tokeyKeyJSP);

System.out.println("Token from DB: "+tokenKeyDB);

System.out.println("Have variable, will compare!!");

if(tokeyKeyJSP.equalsIgnoreCase(tokenKeyDB)){

System.out.println("Found 2 equal tokens");

writeBlock++;

}

}

}

if(writeBlock>0) {

writeBlock=0;

detailsList.add(details);

}

}

return detailsList;

}catch (Exception ex) {

throw new EJBException(ex.getMessage());

}

}

public SelectNewsSessionEJB() {}

public void ejbCreate() {

System.out.println("SelectNewsSessionEJB ejbCreate()");

try {

playerHome = lookupPlayer();

teamHome = lookupTeam();

fantasyHome = lookupFantasy();

inactiveHome = lookupInactive();

transactionHome = lookupTransaction();

newsHome = lookupNews();

} catch (NamingException ex) {

throw new EJBException(ex.getMessage());

}

}

public void setSessionContext(SessionContext context){this.context = context;}

public void ejbActivate() {

System.out.println("SelectNewsSessionEJB ejbActivate()");

try {

playerHome = lookupPlayer();

teamHome = lookupTeam();

fantasyHome = lookupFantasy();

inactiveHome = lookupInactive();

transactionHome = lookupTransaction();

newsHome = lookupNews();

} catch (NamingException ex) {

throw new EJBException(ex.getMessage());

}

}

public void ejbPassivate() {

fantasyHome=null;

teamHome=null;

playerHome=null;

inactiveHome=null;

transactionHome=null;

newsHome=null;

}

public void ejbRemove() {}

// Private methods

private NewsLocalHome lookupNews()throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleNews");

return (NewsLocalHome) objref;

}

private TransactionLocalHome lookupTransaction()throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleTransaction");

return (TransactionLocalHome) objref;

}

private InactivesLocalHome lookupInactive() throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleInactive");

return (InactivesLocalHome) objref;

}

private PlayerLocalHome lookupPlayer() throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimplePlayer");

return (PlayerLocalHome) objref;

}

private TeamLocalHome lookupTeam() throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleTeam");

return (TeamLocalHome) objref;

} private FantasyLocalHome lookupFantasy() throws NamingException {

Context initial = new InitialContext();

Object objref = initial.lookup("java:comp/env/ejb/SimpleFantasy");

return (FantasyLocalHome) objref;

}

}

package ejburi.league;

import java.rmi.RemoteException;

import ejburi.util.*;

import java.util.*;

import javax.ejb.*;

import javax.naming.*;

import javax.ejb.EJBObject;

/**

* Created 12.05.2003 15:19:57

*/

public interface SelectNewsSession extends EJBObject {

public ArrayList getNewsByStatus(long dateB,long dateF,int status,long fantasyId) throws RemoteException;

public ArrayList getTransactionNews(long dateB,long dateF,long fantasyId)throws RemoteException;

public ArrayList getInactiveNews(long dateB,long dateF,long fantasyId)throws RemoteException;

public ArrayList getAllNews(long dateB, long dateF,long fantasyId) throws RemoteException;

public ArrayList getAllTeamsFantasy(long fantasyId) throws RemoteException;

public ArrayList getAllPlayersFantasy(long fantasyId)throws RemoteException;

public ArrayList getAllPlayersTeamFantasy (long fantasyId,String nameTeam)throws RemoteException;

public ArrayList getTeamNews(long dateB,long dateF,long fantasyId,String nameTeam)throws RemoteException;

public ArrayList getPlayerNews(long dateB,long dateF,long fantasyId,String nameTeam,String namePlayer)throws RemoteException;

public ArrayList getAll()throws RemoteException;

public ArrayList getAllInjuryForPlayer(long fantasyId,String namePlayer)throws RemoteException;

public ArrayList getAllPositionFantasy(long fantasyId,String position) throws RemoteException;

public ArrayList getAllPositionNameFantasy(long fantasyId,String position,String namePlayer) throws RemoteException;

public ArrayList getKeyword(String keyword)throws RemoteException;

public ArrayList getPlayerPosNameNews(long dateB,long dateF,long fantasyId,String position,String namePlayer)throws RemoteException;

public ArrayList getPlayerNews(long dateB, long dateF,long playerId) throws RemoteException;

public ArrayList getPlayersByPositionTeamFantasy(long fantasyId,String nameTeam,String position)throws RemoteException;

}

package ejburi.league;

import java.rmi.RemoteException;

import javax.ejb.CreateException;

import javax.ejb.EJBHome;

/**

* Created 12.05.2003 15:19:57

*/

public interface SelectNewsSessionHome extends EJBHome {

public SelectNewsSession create() throws RemoteException,CreateException;

}

Similar Posts