package org.jboss.resteasy.test.cdi.inheritence.resource;
import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.util.logging.Logger;
@Path("/")
@RequestScoped
public class CDIInheritenceInheritanceResource {
@Inject
private Logger log;
@Inject
@CDIInheritenceSelectBook
private CDIInheritenceBook book;
@GET
@Path("vanilla")
@Produces(MediaType.TEXT_PLAIN)
public Response vanilla() {
log.info("vanilla(): book is " + book.getClass());
if (book.getClass().equals(CDIInheritenceBook.class)) {
return Response.ok().build();
} else {
return Response.serverError().build();
}
}
@GET
@Path("alternative/vanilla")
@Produces(MediaType.TEXT_PLAIN)
public Response alternativeVanilla() {
log.info("alternativeVanilla(): book is " + book.getClass());
if (book.getClass().equals(CDIInheritenceBook.class)) {
return Response.ok().build();
} else {
return Response.serverError().build();
}
}
@GET
@Path("alternative/selected")
@Produces(MediaType.TEXT_PLAIN)
public Response alternativeSelected() {
log.info("alternativeSelected(): book is " + book.getClass());
if (book.getClass().equals(CDIInheritenceBookSelectedAlternative.class)) {
return Response.ok().build();
} else {
return Response.serverError().build();
}
}
@GET
@Path("specialized")
@Produces(MediaType.TEXT_PLAIN)
public Response specialized() {
log.info("specialized(): book is " + book.getClass());
if (book.getClass().equals(CDIInheritenceBookSpecialized.class)) {
return Response.ok().build();
} else {
return Response.serverError().build();
}
}
}