Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions src/main/java/library/domain/Author.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,15 @@
package library.domain;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity
public class Author implements IHaveId {

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id;
private String name;
private String secondName;
Expand Down
13 changes: 13 additions & 0 deletions src/main/java/library/domain/Book.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,22 @@

import java.sql.Date;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToOne;


@Entity


public class Book implements IHaveId{

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id;
@OneToOne
private Publisher publisher;
private Date releaseDate;
private Date additionDate;
Expand Down
34 changes: 33 additions & 1 deletion src/main/java/library/domain/Genre.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,41 @@
package library.domain;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToOne;
import javax.persistence.Table;

@Entity
@Table(name="gatunek")
@NamedQueries({
@NamedQuery(name="genres.all", query="SELECT g FROM Genre g"),
})

public class Genre {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id;
private String name;

public String getName() {
@OneToOne
private Section section;




public Section getSection() {
return section;
}

public void setSection(Section section) {
this.section = section;
}

public String getName() {
return name;
}

Expand Down
33 changes: 33 additions & 0 deletions src/main/java/library/domain/Publisher.java
Original file line number Diff line number Diff line change
@@ -1,13 +1,35 @@
package library.domain;

import java.util.List;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;

@Entity
@Table(name="wydawca")
@NamedQueries({
@NamedQuery(name="publishers.all", query="SELECT p FROM Publisher p"),
@NamedQuery(name="publishers.id", query="SELECT p FROM Publisher p WHERE p.id=:id")
})

public class Publisher implements IHaveId{

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id;
private String name;
private int phoneNumber;
private String emailAdress;
private String website;

@OneToMany(mappedBy="publisher")
private List<Book> books;

public Publisher(String name, int phoneNumber, String emailAdress,
String website) {
Expand All @@ -18,6 +40,17 @@ public Publisher(String name, int phoneNumber, String emailAdress,
this.website = website;
}


public List<Book> getBooks() {
return books;
}


public void setBooks(List<Book> books) {
this.books = books;
}


public Publisher() {
super();
}
Expand Down
22 changes: 22 additions & 0 deletions src/main/java/library/domain/Section.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,31 @@
package library.domain;

import java.util.List;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;

import javax.persistence.Table;

@Entity
@Table(name="sekcja")
@NamedQueries({
@NamedQuery(name="sections.all", query="SELECT s FROM Section s"),

})

public class Section {

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id;
private String name;

@OneToMany
private List<Genre> genres;

public List<Genre> getGenres() {
Expand Down
27 changes: 15 additions & 12 deletions src/main/java/library/web/rest/PublishersResources.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
import java.util.List;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
Expand All @@ -12,26 +14,23 @@
import javax.ws.rs.core.GenericEntity;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;

import library.dao.repositories.IPublisherRepository;
import library.dao.repositories.impl.HsqlCatalogFactory;
import library.domain.Publisher;

@Path("/Publishers")
@Stateless
public class PublishersResources{
IPublisherRepository _Publishers;

public PublishersResources() {
//_Publishers = new HsqlCatalogFactory().library().publishers();
}


@PersistenceContext
EntityManager mgr;

@GET
@Produces(MediaType.APPLICATION_JSON)
public Response getAll(@QueryParam("page") int page,@QueryParam("max") int max){

List<Publisher> Publishers = _Publishers.getPage(page, max);
List<Publisher> Publishers = mgr
.createNamedQuery("publishers.all", Publisher.class)
.getResultList();
if(Publishers.isEmpty())
return Response.status(404).build();
return Response.ok(new GenericEntity<List<Publisher>>(Publishers){}).build();
Expand All @@ -41,10 +40,14 @@ public Response getAll(@QueryParam("page") int page,@QueryParam("max") int max){
@Produces(MediaType.APPLICATION_JSON)
@Path("/{id}")
public Response get(@PathParam("id") int id){
Publisher publisher = _Publishers.get(id);
if(publisher==null)
List<Publisher> publishers = mgr
.createNamedQuery("publishers.id", Publisher.class)
.setParameter("id", id)
.getResultList();

if(publishers.size()==0)
return Response.status(404).build();
return Response.ok(publisher).build();
return Response.ok(publishers.get(0)).build();
}

@GET
Expand Down