Esempio n. 1
0
 /**
  * Erstellt eine neue Zuordnung zwischen einem Spiel und einem Spieler, falls diese noch nicht
  * existiert
  *
  * @param src
  * @throws JAXBException
  * @throws FileNotFoundException
  */
 @POST
 @Path("/spieler")
 @Consumes(MediaType.APPLICATION_XML)
 public void createSpielSpieler(SpielSpieler src)
     throws JAXBException, FileNotFoundException, DatatypeConfigurationException {
   SpieleSpieler spieleSpieler = (SpieleSpieler) XmlTools.unmarshal(SpieleSpieler.class);
   for (SpielSpieler ss : spieleSpieler.getSpielSpieler()) {
     // System.out.println("SpielSpieler iteration: ss.spielerid: " + ss.getSpielerId() + "
     // src.spielerid: " + src.getSpielerId() + " -- ss.spielid: " + ss.getSpielId() + "
     // src.spielid: " + src.getSpielId());
     if (ss.getSpielerId().intValue() == src.getSpielerId().intValue()
         && ss.getSpielId().intValue() == src.getSpielId().intValue()) {
       throw new WebApplicationException(Response.Status.CONFLICT);
     }
   }
   XMLGregorianCalendar xgc =
       DatatypeFactory.newInstance().newXMLGregorianCalendar(new GregorianCalendar());
   src.setDatumzeit(xgc);
   spieleSpieler.getSpielSpieler().add(src);
   XmlTools.marshal(SpieleSpieler.class, spieleSpieler);
   throw new WebApplicationException(Response.Status.CREATED);
 }
Esempio n. 2
0
 @DELETE
 @Path("/spieler/{spielid}/{spielerid}")
 public void deleteSpielSpieler(
     @PathParam("spielid") int spielid, @PathParam("spielerid") int spielerid)
     throws JAXBException, FileNotFoundException {
   SpieleSpieler ss = (SpieleSpieler) XmlTools.unmarshal(SpieleSpieler.class);
   for (SpielSpieler s : ss.getSpielSpieler()) {
     if (s.getSpielId().intValue() == spielid && s.getSpielerId().intValue() == spielerid) {
       ss.getSpielSpieler().remove(s);
       XmlTools.marshal(SpieleSpieler.class, ss);
       throw new WebApplicationException(Response.Status.NO_CONTENT);
     }
   }
   // Zwar nichts gelöscht, aber egal, nicht dramatisch
   throw new WebApplicationException(Response.Status.NO_CONTENT);
 }
Esempio n. 3
0
 /**
  * Liefert alle Spieler die ein bestimmtes Spiel spielen
  *
  * @param id ID des Spiels
  * @return
  * @throws JAXBException
  */
 @GET
 @Path("/{id}/spieler")
 @Produces(MediaType.APPLICATION_XML)
 public Spielerdaten getSpielSpieler(@PathParam("id") int id) throws JAXBException {
   SpieleSpieler spieleSpieler = (SpieleSpieler) XmlTools.unmarshal(SpieleSpieler.class);
   Spielerdaten spielerdaten = (Spielerdaten) XmlTools.unmarshal(Spielerdaten.class);
   Spielerdaten spielerdatenNew = new Spielerdaten();
   for (SpielSpieler ss : spieleSpieler.getSpielSpieler()) {
     if (ss.getSpielId().intValue() == id) {
       for (Spieler s : spielerdaten.getSpieler()) {
         if (s.getId().intValue() == ss.getSpielerId().intValue()) {
           spielerdatenNew.getSpieler().add(s);
           break;
         }
       }
     }
   }
   return spielerdatenNew;
 }