SlideShare a Scribd company logo
1 of 9
Download to read offline
JEE KURZUS 4. HÉT
SETENY.JANOS@TIGRA.HU
1
További példa kódok
https://github.com/javaee-samples/ ...
FileWatchingMDB.java

https://github.com/javaee-samples
2
Figure 1–4 Business and EIS Tiers
3
Message Driven Bean
@MessageDriven(activationConfig =
{ @ActivationConfigProperty(propertyName = "dir", propertyValue = "/tmp") })

public class FileWatchingMDB implements FileSystemWatcher {



@Inject

private Event<FileEvent> fileEvent;



@Created(".*.txt")

public void onNewTextFile(final File f) {

fileEvent.fire(new FileEvent(CREATED, f));

}
@RunWith(Arquillian.class)

public class FileWatcherTest {

private static FileEvent observedFileEvent;

public void notifyFileEvent(@Observes FileEvent fileEvent) {

observedFileEvent = fileEvent;

}
Fájl illetve mappa tartalmát figyelő példa osztály
és a hozzátartozó teszt kód
Entity öröklődés
@Entity

public abstract class Employee {

@Id

protected Integer employeeId; 





@Entity

public class FullTimeEmployee extends Employee {

protected Integer salary;



@Entity

public class PartTimeEmployee extends Employee {

protected Float hourlyWage;
Employee szerepelhet lekérdezésben: 

például entityManager.find(Employee.class, id); 

Az entity osztályok leszármazhatnak más entity osztályokból és
közönséges osztályokból

Az entity osztályokból leszármazhatnak más entity osztályok és
közönséges osztályok is 

Azt entity osztályok lehetnek absztraktak és konkrétak is
Mapped entity öröklődés
@MappedSuperclass

public abstract class Employee {

@Id

protected Integer employeeId; 





@Entity

public class FullTimeEmployee extends Employee {

protected Integer salary;



@Entity

public class PartTimeEmployee extends Employee {

protected Float hourlyWage;
Employee MappedSuperclass nem szerepelhet lekérdezésben és nem
használhatóak más EntityManager vagy Query metódusokkal sem

Nem használhatóak targetEntity-ként @OneToMany, @ManyToOne,
@OneToOne és @ManyToMany esetében

Az entity osztályok leszármazhatnak MappedSuperclass osztályokból

A javax.persistence.Inheritance annotációval meghatározható az
adatbázisban tárolás: SINGLE_TABLE, JOINED, TABLE_PER_CLASS 

1. Beadandó feladat
Határidő: 2016. 10. 12.

Egyszerű listakezelő létrehozása egyetlen terem foglalásának
kezelésére

A lista kezdési idő szerint legyen rendezve

Allocation Entity class létrehozása a következő mezőkkel

String subject - a teremfoglalás tárgya

String email - annak a címe, aki lefoglalta

Date start - foglalás kezdete

Date end - foglalás vége

Mindegyik mező kötelező

Github-on kell beadni a beadandó feladatokat
7
github.com
Sign up gomb jobb felül

https://github.com/jseteny/tigra-jee-kurzus, Fork gomb

IntelliJ-ben Close Project és Check out from Version Control, Github

Az új, fork-olás utáni címet adjuk meg neki és egy helyi mappát

Would you like to create … -re No-val válaszoljunk

Terminálban gittel nevezzük át a most keletkezett 1608 mappát:

git mv 1608 resource_allocator

git config --global user.name "John Doe" 

git config --global user.email johndoe@example.com 

IntelliJ-ben nyissuk meg a resource_allocator mappát

Bal oldalt lent: Frameworks detected: Configure, OK

Unregistered VCS root detected, klikk a pici ablak jobb alsó sarkába és Add root

Fontos: Ctrl + K, Reformat code és Optimize imports majd Commit Message utána
Commit gomb. Code Analisys ablakon Commit

Fontos: Ctrl + Shift + K, Push - evvel kerül föl a változtatás a github-ra és így folytatható
a munka egy másik számítógépen illetve egy másik programozó által
8
Segítség a feladathoz
Az előző lapon leírt módon a 1608-as projektből kell kiindulni

Átalakítani a szükséges részeket

Majd törölni a szükségtelenné váltakat

Amikor a megfelelő mezőket a megfelelő annotációkkal
létrehoztad a get/set metódusokat az alábbi módon készítsd

Ctr + Shift + A, Generate …

Getter and Setter, Ctrl + A, Enter

Ctr + Shift + A, Refactor This …, Rename

Ctr + Shift + A, Find in Path és Replace in Path
9

More Related Content

More from Janos Seteny

More from Janos Seteny (10)

Jee kurzus 14. het
Jee kurzus 14. hetJee kurzus 14. het
Jee kurzus 14. het
 
Jee kurzus 13. het
Jee kurzus 13. hetJee kurzus 13. het
Jee kurzus 13. het
 
Jee kurzus 12. het
Jee kurzus 12. hetJee kurzus 12. het
Jee kurzus 12. het
 
Jee kurzus 10. het
Jee kurzus 10. hetJee kurzus 10. het
Jee kurzus 10. het
 
Jee kurzus 9. het
Jee kurzus 9. hetJee kurzus 9. het
Jee kurzus 9. het
 
Jee kurzus 8. het
Jee kurzus 8. hetJee kurzus 8. het
Jee kurzus 8. het
 
Jee kurzus 6. het
Jee kurzus 6. hetJee kurzus 6. het
Jee kurzus 6. het
 
Jee kurzus 5. het
Jee kurzus 5. hetJee kurzus 5. het
Jee kurzus 5. het
 
Jee kurzus 3. het
Jee kurzus 3. hetJee kurzus 3. het
Jee kurzus 3. het
 
Jee kurzus 2. het
Jee kurzus 2. hetJee kurzus 2. het
Jee kurzus 2. het
 

Jee kurzus 4. het

  • 1. JEE KURZUS 4. HÉT SETENY.JANOS@TIGRA.HU 1
  • 2. További példa kódok https://github.com/javaee-samples/ ... FileWatchingMDB.java https://github.com/javaee-samples 2
  • 3. Figure 1–4 Business and EIS Tiers 3
  • 4. Message Driven Bean @MessageDriven(activationConfig = { @ActivationConfigProperty(propertyName = "dir", propertyValue = "/tmp") })
 public class FileWatchingMDB implements FileSystemWatcher {
 
 @Inject
 private Event<FileEvent> fileEvent;
 
 @Created(".*.txt")
 public void onNewTextFile(final File f) {
 fileEvent.fire(new FileEvent(CREATED, f));
 } @RunWith(Arquillian.class)
 public class FileWatcherTest {
 private static FileEvent observedFileEvent;
 public void notifyFileEvent(@Observes FileEvent fileEvent) {
 observedFileEvent = fileEvent;
 } Fájl illetve mappa tartalmát figyelő példa osztály és a hozzátartozó teszt kód
  • 5. Entity öröklődés @Entity
 public abstract class Employee {
 @Id
 protected Integer employeeId; 
 
 
 @Entity
 public class FullTimeEmployee extends Employee {
 protected Integer salary;
 
 @Entity
 public class PartTimeEmployee extends Employee {
 protected Float hourlyWage; Employee szerepelhet lekérdezésben: 
 például entityManager.find(Employee.class, id); Az entity osztályok leszármazhatnak más entity osztályokból és közönséges osztályokból Az entity osztályokból leszármazhatnak más entity osztályok és közönséges osztályok is Azt entity osztályok lehetnek absztraktak és konkrétak is
  • 6. Mapped entity öröklődés @MappedSuperclass
 public abstract class Employee {
 @Id
 protected Integer employeeId; 
 
 
 @Entity
 public class FullTimeEmployee extends Employee {
 protected Integer salary;
 
 @Entity
 public class PartTimeEmployee extends Employee {
 protected Float hourlyWage; Employee MappedSuperclass nem szerepelhet lekérdezésben és nem használhatóak más EntityManager vagy Query metódusokkal sem Nem használhatóak targetEntity-ként @OneToMany, @ManyToOne, @OneToOne és @ManyToMany esetében Az entity osztályok leszármazhatnak MappedSuperclass osztályokból A javax.persistence.Inheritance annotációval meghatározható az adatbázisban tárolás: SINGLE_TABLE, JOINED, TABLE_PER_CLASS 

  • 7. 1. Beadandó feladat Határidő: 2016. 10. 12. Egyszerű listakezelő létrehozása egyetlen terem foglalásának kezelésére A lista kezdési idő szerint legyen rendezve Allocation Entity class létrehozása a következő mezőkkel String subject - a teremfoglalás tárgya String email - annak a címe, aki lefoglalta Date start - foglalás kezdete Date end - foglalás vége Mindegyik mező kötelező Github-on kell beadni a beadandó feladatokat 7
  • 8. github.com Sign up gomb jobb felül https://github.com/jseteny/tigra-jee-kurzus, Fork gomb IntelliJ-ben Close Project és Check out from Version Control, Github Az új, fork-olás utáni címet adjuk meg neki és egy helyi mappát Would you like to create … -re No-val válaszoljunk Terminálban gittel nevezzük át a most keletkezett 1608 mappát:
 git mv 1608 resource_allocator git config --global user.name "John Doe" 
 git config --global user.email johndoe@example.com IntelliJ-ben nyissuk meg a resource_allocator mappát Bal oldalt lent: Frameworks detected: Configure, OK Unregistered VCS root detected, klikk a pici ablak jobb alsó sarkába és Add root Fontos: Ctrl + K, Reformat code és Optimize imports majd Commit Message utána Commit gomb. Code Analisys ablakon Commit Fontos: Ctrl + Shift + K, Push - evvel kerül föl a változtatás a github-ra és így folytatható a munka egy másik számítógépen illetve egy másik programozó által 8
  • 9. Segítség a feladathoz Az előző lapon leírt módon a 1608-as projektből kell kiindulni Átalakítani a szükséges részeket Majd törölni a szükségtelenné váltakat Amikor a megfelelő mezőket a megfelelő annotációkkal létrehoztad a get/set metódusokat az alábbi módon készítsd Ctr + Shift + A, Generate … Getter and Setter, Ctrl + A, Enter Ctr + Shift + A, Refactor This …, Rename Ctr + Shift + A, Find in Path és Replace in Path 9