Skip to content

Instantly share code, notes, and snippets.

@yostane
Created January 27, 2021 21:40
Show Gist options
  • Select an option

  • Save yostane/93ec034d01ea4a715df86ca1efe81b29 to your computer and use it in GitHub Desktop.

Select an option

Save yostane/93ec034d01ea4a715df86ca1efe81b29 to your computer and use it in GitHub Desktop.
ejb
import javax.inject.Inject;
import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
@Path("amangousse")
public class AmongousseResource {
@Inject
private CrewBean crewBean;
@GET
@Produces(MediaType.APPLICATION_JSON)
public Response getMembers(){
return Response.ok(crewBean.getCrewMembers()).build();
}
@POST
@Produces(MediaType.TEXT_PLAIN)
@Consumes(MediaType.APPLICATION_JSON)
public Response addMember(CrewMember crewMember){
if (crewMember.getJob() == null || crewMember.getName() == null){
return Response.status(403).build();
}
crewBean.addMember(crewMember);
return Response.ok(crewBean.getCrewMembers().size()).build();
}
@DELETE
@Produces(MediaType.TEXT_PLAIN)
@Path("/{name}")
public Response deleteMember(@PathParam("name") String name){
if (name == null || name.length() == 0){
return Response.status(403).build();
}
crewBean.deleteMember(name);
// exo: supprimer un crewMember avec une boucle for
return Response.ok(crewBean.getCrewMembers().size()).build();
}
}
import javax.ejb.Stateless;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@Stateless
public class CrewBean {
public static List<CrewMember> getCrewMembers() {
return crewMembers;
}
private static List<CrewMember> crewMembers = new ArrayList<>();
public boolean addMember(CrewMember crewMember) {
/** autre façon de faire
var hasMatch = crewMembers.stream().anyMatch(cm -> cm.getName().equals(crewMember.getName()));
if (hasMatch){
return Response.status(409).build();
}*/
for (var cm : crewMembers) {
if (crewMember.getName().equals(cm.getName())) {
return false;
}
}
crewMembers.add(crewMember);
return true;
}
public void deleteMember(String name){
crewMembers = crewMembers.stream().filter(crewMember -> !crewMember.getName().equals(name)).collect(Collectors.toList());
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment