Witam! 

Pliki i podkatalogi w tym katalogu naleza do przykladowej aplikacji Time
Expression. Do zbudowania aplikacji potrzebne sa:

- Spring Framework (http://springframework.org/)
- Hibernate (http://hibernate.org/)
- HSQLDB (http://hsqldb.org)
- Display Tag (http://displaytag.sourceforge.net)

...i inny narzedzia open source Javy.

Trzy kluczowe projekty znajduja sie w podkatalogach:

1. timex/ - Time Expression (podkatalog timex/ - do Rodzialu 7)
2. timex2/ - Time Expression, zrefaktoryzowana wersja (Rozdzial 10)
3. springhibernate/ - demonstracja Spring+Hibernate (Rozdzial 10)

Przyklady do ksiazki Anila Hemrajani "Java. Tworzenie aplikacji sieciowych za
pomocą Springa, Hibernate i Eclipse"

Pozdrawiam,
Anil Hemrajani

------------------------------------------------------------------------------------------------
Uwaga: Odwiedz visualpatterns.com i pobierz ewentualne aktualizacje kodu.
------------------------------------------------------------------------------------------------


1) timex/ and timex2/
=====================
Zobacz Rozdzial 2, "Przykładowa aplikacja: Time Expression"
Zobacz Rozdzial 3, "Metodologie XP i AMDD"

Ta czesc jest powiazana z przykladowa aplikacja Time Expression omowiona
w Rozdziale 2. tej ksiazki. Zauwaz ze timex2/ zawiera w wiekszosci te same pliki
co timex/, z wyjatkiem zrefektoryzowanych wersji, biblioteki displaytag itp.
Poniewaz oba katalogi sa bardzo podobne to ponizej wypisalem tylko najwazniesze
pliki i podkatalogi z timex/:

rapidjava/lib (umieszczone tutaj ze wzgledu na oszczedznosc miejsca - zwykle
               w katalogu timex/)
rapidjava/timex/antextras.xml
rapidjava/timex/build.xml
rapidjava/timex/local.properties
rapidjava/timex/README.txt
rapidjava/timex/timexhsqldb.xml
rapidjava/timex/data
rapidjava/timex/dist
rapidjava/timex/src/java/com/visualpatterns/timex/controller
rapidjava/timex/src/java/com/visualpatterns/timex/job
rapidjava/timex/src/java/com/visualpatterns/timex/model
rapidjava/timex/src/java/com/visualpatterns/timex/test
rapidjava/timex/src/java/com/visualpatterns/timex/util
rapidjava/timex/src/java/com/visualpatterns/timex/view

Katalog aplikacji:

rapidjava/timex/build/timex/WEB-INF/classes
rapidjava/timex/build/timex/WEB-INF/jsp
rapidjava/timex/build/timex/WEB-INF/lib


[Aby przestesowac aplikacje]

1. zmien katalog (cd) na rapidjava/timex/
2. zbuduj/umiesc timex.war na serwerze aplikacji:
   - ustaw deploy.dir w pliku local.properties jak pokazano ponizej:
     deploy.dir=/apache-tomcat-5.5.15/webapps (sciezka do katalogu aplikacji
                                               sieciowych)
   - uruchom "ant deploy"
3. uruchom serwer HSQLDB (ant -f timexhsqldb.xml starthsql)
       patrz Rozdzial 5., "Hibernate - zapewniamy trwałość obiektów"
4. uruchom Tomcata lub inny serwer aplikacji
       patrz Rozdzial 7., "Framework Spring Web MVC"
       patrz Rozdzial 8., "Fenomen środowiska Eclipsen"
5. polacz sie z serwerem http://localhost:8080/timex/
6. zaloguj sie korzystajac z danych:
   id pracownika: 1
   haslo: rapidjava
7. inne opcje:
   a. Uruchom menedzera HSQLDB aby moc przegladac baze:
      ant -f timexhsqldb.xml hsqldm
      type: Server
      URL: jdbc:hsqldb:hsql://localhost:9005/timex
   b. Zobacz Rozdzial 8. aby dowiedziec sie jak stworzyc projekt Eclipse
      z istniejacego pliku Ant. Eclipse umozliwia uruchomienie Tomacata
      zbudowanie i debugowanie aplikacji i wiele innych wszystko z poziomu
      jednego IDE! Na przyklad mozesz stworzyc 3 rozne projekt korzystajac
      z 3 roznych plikow build.xml z katalogow timex/, timex2/
      i springhibernate/. Jesli tworzysz projekty w Eclipsie (co zalecam) to
      upewnij sie, ze w widoku Package Explorer skorzystales z opcji "Add Spring
      Project Nature" dla kazdego z projektow (patrz Rozdzial 8).
   c. Uruchom ant -f timexhsqldb.xml execddl aby utworzyc dane testowe

------------------------------------------------------------------------------------------------



2) springhibernate/
===================
Patrz Rozdzial 10., "Elementy zaawansowane"

W tym katalogu znajdzie przyklad integracji Spring z Hibernate. Dzieki tej
integracji otrzymujesz wiele korzysci takich jak deklaratywne zarzadzanie
transakcjami, latwiejsze testowanie i wiele innych.

Ponizej znajduje sie lista kluczowych plikow/katalogow dla tego projektu:

rapidjava/lib (umieszczone tutaj ze wzgledu na oszczedznosc miejsca; zwykle
               w katalogu springhibernate/)
rapidjava/springhibernate/build
rapidjava/springhibernate/conf
rapidjava/springhibernate/src
rapidjava/springhibernate/build/springhibernate/WEB-INF/classes
rapidjava/springhibernate/build/springhibernate/WEB-INF/jsp
rapidjava/springhibernate/build/springhibernate/WEB-INF/lib
rapidjava/springhibernate/build/springhibernate/WEB-INF/classes/controller
rapidjava/springhibernate/build/springhibernate/WEB-INF/classes/model
rapidjava/springhibernate/build/springhibernate/WEB-INF/classes/view
rapidjava/springhibernate/src/controller
rapidjava/springhibernate/src/model
rapidjava/springhibernate/src/view

[Aby przestesowac aplikacje]

1. zmien katalog (cd) na rapidjava/springhibernate
2. zbuduj/umiesc springhibernate.war na serwerze aplikacj
   - ustaw deploy.dir w pliku build.xml jak pokazano ponizej:
         <property name="deploy.dir"
                   value="/home/szczepan/Java/apache-tomcat-5.5.23/webapps"/>
     (sciezka do katalogu aplikacji sieciowych)
   - uruchom "ant deploy"
3. uruchom serwer HSQLDB z katalogu timex/ lub timex2/
   (ant -f timexhsqldb.xml starthsql)
       patrz Rozdzial 5., "Hibernate - zapewniamy trwałość obiektów"
4. uruchom Tomcata lub inny serwer aplikacji
       patrz Rozdzial 7., "Framework Spring Web MVC"
       patrz Rozdzial 8., "Fenomen środowiska Eclipsen"
5. polacz sie z serwerem:
       http://localhost:8080/springhibernate/timesheetsave1.htm
       http://localhost:8080/springhibernate/timesheetsave2.htm

   Zauwaz, ze jesli wywolasz te adresy w tej kolejnosci, to bedziesz mogl
   zobaczyc jak dziala przekierowanie wyjatkow w Springu.

   Na przyklad:
   timesheetsave1.htm zapisuje rekord; timesheetsave2 probuje dodac ten
   sam rekord wywolujac wyjatek:

       org.springframework.dao.DataIntegrityViolationException

   Oczywiscie pokazuje tez zwykla obsluge bledow z uzyciem Spring.
------------------------------------------------------------------------------------------------
Odwiedz http://visualpatterns.com aby pobrac aktualizacje kodu.
