Examples of MagobalAuthorForm


Examples of si.unimb.cot.mgbl.gameauth.formbeans.MagobalAuthorForm

    //we use transactions here
    //super.defaultMethod(am, af, req, res);
   
    //TODO security
   
    MagobalAuthorForm form=(MagobalAuthorForm)af;
    if (req.getParameter("startAuthoring")!=null) form.reset();
   
    form.setMyUserId(webUser.getId());
   
    if (req.getParameter("cancelInsertSubmit")!=null) {
      return am.findForward("ok");
    }
   
    if (req.getParameter("cancelChangesSubmit")!=null) {
      form.reset();
      return am.findForward("cancel");
    }
   
    long id=Long.parseLong(req.getParameter("id"));
    GameHiber g=GameDao.findGameHiber(id,session);
    form.setGh(g);
    form.setG(GameDao.findGame(id,session));

    //hide event
    if (req.getParameter("hideEventContnt")!=null) {
      form.getHidenEvents().add(req.getParameter("hideEventContnt"));
      return am.findForward("ok");
    }

    //show event
    if (req.getParameter("showEventContnt")!=null) {
      form.getHidenEvents().remove(req.getParameter("showEventContnt"));
      return am.findForward("ok");
    }
   
    if (req.getParameter("change")!=null) {

      //TODO - Wo  what if some scores exist... scale them???
      //for now we just "forget" them...

      if (!SecurityCenter.canIEditGame(webUser.getId(), g.getId(),session)) {
        MessageBean.setMyMessage(req, ("Error: Insufficient privileges."));
        form.reset();
        return am.findForward("list");
      }
     
      g.setMaksimumScore(form.getMaxScores());
     
      //upload jar
     
      String message="Game content updated.";

      if (form.getJar().getFileName()!=null)
        if (!form.getJar().getFileName().equals("")) {
          try {
            Blob b=Hibernate.createBlob(form.getJar().getInputStream());
            g.setJarContent(b);
            message=message+" New JAR uploaded.";
          } catch (Exception e) {

          }
        }

      GameDao.updateGame(g,session);
      MessageBean.setMyMessage(req, (message));
//      form.reset();
//      return am.findForward("list");
    }
   
    //find and delete event
    if (req.getParameter("deleteEvent")!=null) {
      try {

        //set forward links to null...
        ArrayList<MogabalEventHiber> events=MogabalGameDao.getGameEvents(id, session);
        //first resolve all forward events
        for (MogabalEventHiber evt:events) {
          if (evt.getForward()!=null) if (evt.getForward().getId().equals(req.getParameter("deleteEvent"))) {
            evt.setForward(null);
            MogabalGameDao.updateMogabalGameEvent(evt, session);
          }
          for (MogabalEventOptionHiber oh:evt.getOptions()) {
            if (oh.getForward()!=null) if (oh.getForward().getId().equals(req.getParameter("deleteEvent"))) {
              oh.setForward(null);
              MogabalGameDao.updateMogabalGameEventOption(oh, session);
            }
          }
        }       
       
        //delete it!
        MogabalGameDao.deleteMogabalGameEvent(req.getParameter("deleteEvent"), session);
        MessageBean.setMyMessage(req, "Game event deleted.");
      } catch (Exception e) {
        MessageBean.setMyMessage(req, "Game event cannot be deleted.  ");
      }
    }
   
    //find and delete option
    if (req.getParameter("deleteOption")!=null) {
      MogabalGameDao.deleteMogabalGameEventOption(Long.parseLong(req.getParameter("deleteOption")), session);
      MessageBean.setMyMessage(req, "Event option deleted.");
    }
   
    //insert / change quiz event
    if (req.getParameter("insertQuiz")!=null) {
      MogabalEventHiber mh=new MogabalEventHiber();
      if (req.getParameter("modifyQuizEvent")!=null) {
        mh=MogabalGameDao.findMagobalGameEvent(req.getParameter("modifyQuizEvent"), session);
      }
      mh.setEventType(MogabalGameDao.EVENT_TYPE_QUIZ);
      mh.setGame(g);
      if (req.getParameter("modifyQuizEvent")==null) mh.setId(req.getParameter("qid"));
      mh.setPublicRepositoryName(req.getParameter("repname"));
      mh.setInPublicRepository(false);
      mh.setText(req.getParameter("qtext"));
      if (mh.getPublicRepositoryName()!=null)
        if (!mh.getPublicRepositoryName().equals(""))
          if (!mh.getPublicRepositoryName().equals("null"))
            mh.setInPublicRepository(true);
      mh.setCellType(req.getParameter("qcelltype"));
      //fill all options
      Set<MogabalEventOptionHiber> opts=mh.getOptions();
      for (MogabalEventOptionHiber op:opts) {
        op.setText(req.getParameter("text"+op.getId()));
        try {
          op.setEval(Integer.parseInt(req.getParameter("value"+op.getId())));
        } catch (Exception e) {
        }
        op.setHint(req.getParameter("hint"+op.getId()));
        op.setReward(req.getParameter("reward"+op.getId()));
        MogabalGameDao.updateMogabalGameEventOption(op, session);
      }
      //if add option add it and trigger editing
      if (req.getParameter("addOptionSubmit")!=null) {
        MogabalEventOptionHiber opt=new MogabalEventOptionHiber();
        opt.setText("");
        opt.setEval(0);
        opt.setHint("");
        opt.setReward("");
        if (req.getParameter("modifyQuizEvent")==null)
          MogabalGameDao.persistMogabalGameEventHiber(mh, session);
        MogabalGameDao.persistMogabalGameEventOption(opt, session);
        mh.getOptions().add(opt);
        MogabalGameDao.updateMogabalGameEvent(mh, session);
       
        try {
          res.sendRedirect("authMAGOBAL.do?id="+g.getId()+"&modifyQuestionEvent="+mh.getId()+"&jsp_insertNewQEvent=1&jsp_insertNewEvent=1");
        } catch (Exception e) {
        }
        MessageBean.setMyMessage(req, "Game content updated, new option inserted.");
      } else {
        MessageBean.setMyMessage(req, "Game content updated.");
        if (req.getParameter("modifyQuizEvent")==null) {
          MogabalGameDao.persistMogabalGameEventHiber(mh, session);
        } else {
          MogabalGameDao.updateMogabalGameEvent(mh, session);
        }
      }
     
      //if there is ID change request.. do it last
     
      if (req.getParameter("modifyQuizEvent")!=null)
        if (!mh.getId().equals(req.getParameter("qid")))
          changeEventId(mh,req.getParameter("qid"),session,req);
     
    }
   

   
    //insert / change game over event
    if (req.getParameter("insertGameOver")!=null) {
      MogabalEventHiber mh=new MogabalEventHiber();
      if (req.getParameter("modifyGameOverEvent")!=null) {
        mh=MogabalGameDao.findMagobalGameEvent(req.getParameter("modifyGameOverEvent"), session);
      }
      mh.setEventType(MogabalGameDao.EVENT_TYPE_GAME_OVER);
      mh.setGame(g);
      if (req.getParameter("modifyGameOverEvent")==null) mh.setId(req.getParameter("qid"));
      mh.setPublicRepositoryName(req.getParameter("repname"));
      mh.setInPublicRepository(false);
      mh.setText(req.getParameter("qtext"));
      if (mh.getPublicRepositoryName()!=null)
        if (!mh.getPublicRepositoryName().equals(""))
          if (!mh.getPublicRepositoryName().equals("null"))
            mh.setInPublicRepository(true);
      mh.setCellType(req.getParameter("qcelltype"));
      MessageBean.setMyMessage(req, "Game content updated.");
      if (req.getParameter("modifyGameOverEvent")==null) {
        MogabalGameDao.persistMogabalGameEventHiber(mh, session);
      } else {
        MogabalGameDao.updateMogabalGameEvent(mh, session);
      }
     
      //if there is ID change request.. do it last
     
      if (req.getParameter("modifyGameOverEvent")!=null)
        if (!mh.getId().equals(req.getParameter("qid")))
          changeEventId(mh,req.getParameter("qid"),session,req);
     
    }
   
   
    //insert / change simple event
    if (req.getParameter("insertSimple")!=null) {
      MogabalEventHiber mh=new MogabalEventHiber();
      if (req.getParameter("modifySimpleEvent")!=null) {
        mh=MogabalGameDao.findMagobalGameEvent(req.getParameter("modifySimpleEvent"), session);
      }
      mh.setEventType(MogabalGameDao.EVENT_TYPE_SIMPLE);
      mh.setGame(g);
      if (req.getParameter("modifySimpleEvent")==null) mh.setId(req.getParameter("qid"));
      mh.setPublicRepositoryName(req.getParameter("repname"));
      mh.setInPublicRepository(false);
      mh.setText(req.getParameter("qtext"));
      mh.setReward(req.getParameter("qreward"));
      if (mh.getPublicRepositoryName()!=null)
        if (!mh.getPublicRepositoryName().equals(""))
          if (!mh.getPublicRepositoryName().equals("null"))
            mh.setInPublicRepository(true);
      mh.setCellType(req.getParameter("qcelltype"));
      MessageBean.setMyMessage(req, "Game content updated.");
      if (req.getParameter("modifySimpleEvent")==null) {
        MogabalGameDao.persistMogabalGameEventHiber(mh, session);
      } else {
        MogabalGameDao.updateMogabalGameEvent(mh, session);
      }
     
      //if there is ID change request.. do it last
     
      if (req.getParameter("modifySimpleEvent")!=null)
        if (!mh.getId().equals(req.getParameter("qid")))
          changeEventId(mh,req.getParameter("qid"),session,req);
     
    }   
   
   
    //insert / change null event
    if (req.getParameter("insertNull")!=null) {
      MogabalEventHiber mh=new MogabalEventHiber();
      if (req.getParameter("modifyNullEvent")!=null) {
        mh=MogabalGameDao.findMagobalGameEvent(req.getParameter("modifyNullEvent"), session);
      }
      mh.setEventType(MogabalGameDao.EVENT_TYPE_NULL);
      mh.setGame(g);
      if (req.getParameter("modifyNullEvent")==null) mh.setId(req.getParameter("qid"));
      mh.setInPublicRepository(false);
      mh.setCellType(req.getParameter("qcelltype"));
      MessageBean.setMyMessage(req, "Game content updated.");
      if (req.getParameter("modifyNullEvent")==null) {
        MogabalGameDao.persistMogabalGameEventHiber(mh, session);
      } else {
        MogabalGameDao.updateMogabalGameEvent(mh, session);
      }
     
      //if there is ID change request.. do it last
     
      if (req.getParameter("modifyNullEvent")!=null)
        if (!mh.getId().equals(req.getParameter("qid")))
          changeEventId(mh,req.getParameter("qid"),session,req);
     
    }   
   
   
    //insert / change multimedia event
    if (req.getParameter("insertMultimedia")!=null) {
      MogabalEventHiber mh=new MogabalEventHiber();
      if (req.getParameter("modifyMMEvent")!=null) {
        mh=MogabalGameDao.findMagobalGameEvent(req.getParameter("modifyMMEvent"), session);
      }
      mh.setEventType(MogabalGameDao.EVENT_TYPE_MULTIMEDIA);
      mh.setGame(g);
      if (req.getParameter("modifyMMEvent")==null) mh.setId(req.getParameter("qid"));
      mh.setPublicRepositoryName(req.getParameter("repname"));
      mh.setInPublicRepository(false);
      mh.setText(req.getParameter("qtext"));
      mh.setMultimediaResource(req.getParameter("qresource"));
      //forward
      mh.setForward(null);
      try {
        mh.setForward(MogabalGameDao.findMagobalGameEvent(req.getParameter("qreward"), session));
      } catch (Exception e) {
      }

      if (mh.getPublicRepositoryName()!=null)
        if (!mh.getPublicRepositoryName().equals(""))
          if (!mh.getPublicRepositoryName().equals("null"))
            mh.setInPublicRepository(true);
      mh.setCellType(req.getParameter("qcelltype"));
      MessageBean.setMyMessage(req, "Game content updated.");
      if (req.getParameter("modifyMMEvent")==null) {
        MogabalGameDao.persistMogabalGameEventHiber(mh, session);
      } else {
        MogabalGameDao.updateMogabalGameEvent(mh, session);
      }
     
      //if there is ID change request.. do it last
     
      if (req.getParameter("modifyMMEvent")!=null)
        if (!mh.getId().equals(req.getParameter("qid")))
          changeEventId(mh,req.getParameter("qid"),session,req);
     
   
   
   
   
   
   
   
    //insert / change decision tree event
    if (req.getParameter("insertDecTree")!=null) {
      MogabalEventHiber mh=new MogabalEventHiber();
      if (req.getParameter("modifyDecTreeEvent")!=null) {
        mh=MogabalGameDao.findMagobalGameEvent(req.getParameter("modifyDecTreeEvent"), session);
      }
      mh.setEventType(MogabalGameDao.EVENT_TYPE_DECISION_TREE);
      mh.setGame(g);
      if (req.getParameter("modifyDecTreeEvent")==null) mh.setId(req.getParameter("qid"));
      mh.setPublicRepositoryName(req.getParameter("repname"));
      mh.setInPublicRepository(false);
      mh.setText(req.getParameter("qtext"));
      if (mh.getPublicRepositoryName()!=null)
        if (!mh.getPublicRepositoryName().equals(""))
          if (!mh.getPublicRepositoryName().equals("null"))
            mh.setInPublicRepository(true);
      mh.setCellType(req.getParameter("qcelltype"));
      //fill all options
      Set<MogabalEventOptionHiber> opts=mh.getOptions();
      for (MogabalEventOptionHiber op:opts) {
        op.setText(req.getParameter("text"+op.getId()));
        try {
          op.setEval(Integer.parseInt(req.getParameter("value"+op.getId())));
        } catch (Exception e) {
        }
        op.setHint(req.getParameter("hint"+op.getId()));
        op.setReward(req.getParameter("reward"+op.getId()));
        //forward
        op.setForward(null);
        try {
          op.setForward(MogabalGameDao.findMagobalGameEvent(req.getParameter("forward"+op.getId()), session));
        } catch (Exception e) {
        }
       
        MogabalGameDao.updateMogabalGameEventOption(op, session);
      }
      //if add option add it and trigger editing
      if (req.getParameter("addOptionSubmit")!=null) {
        MogabalEventOptionHiber opt=new MogabalEventOptionHiber();
        opt.setText("");
        opt.setEval(0);
        opt.setHint("");
        opt.setReward("");
        opt.setForward(null);
        if (req.getParameter("modifyDecTreeEvent")==null)
          MogabalGameDao.persistMogabalGameEventHiber(mh, session);
        MogabalGameDao.persistMogabalGameEventOption(opt, session);
        mh.getOptions().add(opt);
        MogabalGameDao.updateMogabalGameEvent(mh, session);
       
        try {
          res.sendRedirect("authMAGOBAL.do?id="+g.getId()+"&modifyDecTreeEvent="+mh.getId()+"&jsp_insertNewDTEvent=1&jsp_insertNewEvent=1");
        } catch (Exception e) {
        }
        MessageBean.setMyMessage(req, "Game content updated, new option inserted.");
      } else {
        MessageBean.setMyMessage(req, "Game content updated.");
        if (req.getParameter("modifyDecTreeEvent")==null) {
          MogabalGameDao.persistMogabalGameEventHiber(mh, session);
        } else {
          MogabalGameDao.updateMogabalGameEvent(mh, session);
        }
      }
     
      //if there is ID change request.. do it last
     
      if (req.getParameter("modifyDecTreeEvent")!=null)
        if (!mh.getId().equals(req.getParameter("qid")))
          changeEventId(mh,req.getParameter("qid"),session,req);
     
    }
   
   
   
   
   
   

   
   
    //insert / change conditional decision tree event
    if (req.getParameter("insertCondDecTree")!=null) {
      MogabalEventHiber mh=new MogabalEventHiber();
      if (req.getParameter("modifyCondDecTreeEvent")!=null) {
        mh=MogabalGameDao.findMagobalGameEvent(req.getParameter("modifyCondDecTreeEvent"), session);
      }
      mh.setEventType(MogabalGameDao.EVENT_TYPE_CONDITIONAL_DECISION_TREE);
      mh.setGame(g);
      if (req.getParameter("modifyCondDecTreeEvent")==null) mh.setId(req.getParameter("qid"));
      mh.setPublicRepositoryName(req.getParameter("repname"));
      mh.setInPublicRepository(false);
      mh.setText(req.getParameter("qtext"));
      if (mh.getPublicRepositoryName()!=null)
        if (!mh.getPublicRepositoryName().equals(""))
          if (!mh.getPublicRepositoryName().equals("null"))
            mh.setInPublicRepository(true);
      mh.setCellType(req.getParameter("qcelltype"));
      //fill all options
      Set<MogabalEventOptionHiber> opts=mh.getOptions();
      for (MogabalEventOptionHiber op:opts) {
        op.setText(req.getParameter("text"+op.getId()));
        try {
          op.setEval(Integer.parseInt(req.getParameter("value"+op.getId())));
        } catch (Exception e) {
        }
        op.setHint(req.getParameter("hint"+op.getId()));
        op.setReward(req.getParameter("reward"+op.getId()));
        op.setCondition(req.getParameter("condition"+op.getId()));
        //forward
        op.setForward(null);
        try {
          op.setForward(MogabalGameDao.findMagobalGameEvent(req.getParameter("forward"+op.getId()), session));
        } catch (Exception e) {
        }
       
        MogabalGameDao.updateMogabalGameEventOption(op, session);
      }
      //if add option add it and trigger editing
      if (req.getParameter("addOptionSubmit")!=null) {
        MogabalEventOptionHiber opt=new MogabalEventOptionHiber();
        opt.setText("");
        opt.setEval(0);
        opt.setHint("");
        opt.setReward("");
        opt.setCondition("");
        opt.setForward(null);
        if (req.getParameter("modifyCondDecTreeEvent")==null)
          MogabalGameDao.persistMogabalGameEventHiber(mh, session);
        MogabalGameDao.persistMogabalGameEventOption(opt, session);
        mh.getOptions().add(opt);
        MogabalGameDao.updateMogabalGameEvent(mh, session);
       
        try {
          res.sendRedirect("authMAGOBAL.do?id="+g.getId()+"&modifyCondDecTreeEvent="+mh.getId()+"&jsp_insertNewCDTEvent=1&jsp_insertNewEvent=1");
        } catch (Exception e) {
        }
        MessageBean.setMyMessage(req, "Game content updated, new option inserted.");
      } else {
        MessageBean.setMyMessage(req, "Game content updated.");
        if (req.getParameter("modifyCondDecTreeEvent")==null) {
          MogabalGameDao.persistMogabalGameEventHiber(mh, session);
        } else {
          MogabalGameDao.updateMogabalGameEvent(mh, session);
        }
      }
     
      //if there is ID change request.. do it last
     
      if (req.getParameter("modifyCondDecTreeEvent")!=null)
        if (!mh.getId().equals(req.getParameter("qid")))
          changeEventId(mh,req.getParameter("qid"),session,req);
     
    }
   
   
   
   
   
   
   
    //insert / change mini game event
    if (req.getParameter("insertMiniGame")!=null) {
      MogabalEventHiber mh=new MogabalEventHiber();
      if (req.getParameter("modifyMGameEvent")!=null) {
        mh=MogabalGameDao.findMagobalGameEvent(req.getParameter("modifyMGameEvent"), session);
      }
      mh.setEventType(MogabalGameDao.EVENT_TYPE_MINI_GAME);
      mh.setGame(g);
      if (req.getParameter("modifyMGameEvent")==null) mh.setId(req.getParameter("qid"));
      mh.setPublicRepositoryName(req.getParameter("repname"));
      mh.setInPublicRepository(false);
      mh.setText(req.getParameter("qtext"));
     
      mh.setMiniGameName(req.getParameter("qgname"));
      mh.setMiniGameResultype(req.getParameter("qrestype"));
     
      if (mh.getPublicRepositoryName()!=null)
        if (!mh.getPublicRepositoryName().equals(""))
          if (!mh.getPublicRepositoryName().equals("null"))
            mh.setInPublicRepository(true);
      mh.setCellType(req.getParameter("qcelltype"));
      MessageBean.setMyMessage(req, "Game content updated.");
      if (req.getParameter("modifyMGameEvent")==null) {
        MogabalGameDao.persistMogabalGameEventHiber(mh, session);
      } else {
        MogabalGameDao.updateMogabalGameEvent(mh, session);
      }
     
      //if there is ID change request.. do it last
     
      if (req.getParameter("modifyMGameEvent")!=null)
        if (!mh.getId().equals(req.getParameter("qid")))
          changeEventId(mh,req.getParameter("qid"),session,req);
     
    }     
   
   
   

   
       
   
   

    //insert / change conditional variable set event
    if (req.getParameter("insertVarSet")!=null) {
      MogabalEventHiber mh=new MogabalEventHiber();
      if (req.getParameter("modifyVarSetEvent")!=null) {
        mh=MogabalGameDao.findMagobalGameEvent(req.getParameter("modifyVarSetEvent"), session);
      }
      mh.setEventType(MogabalGameDao.EVENT_TYPE_VAR_SET);
      mh.setGame(g);
      if (req.getParameter("modifyVarSetEvent")==null) mh.setId(req.getParameter("qid"));
      mh.setPublicRepositoryName(req.getParameter("repname"));
      mh.setInPublicRepository(false);
      if (mh.getPublicRepositoryName()!=null)
        if (!mh.getPublicRepositoryName().equals(""))
          if (!mh.getPublicRepositoryName().equals("null"))
            mh.setInPublicRepository(true);
      mh.setCellType(req.getParameter("qcelltype"));
      //forward
      mh.setForward(null);
      try {
        mh.setForward(MogabalGameDao.findMagobalGameEvent(req.getParameter("qreward"), session));
      } catch (Exception e) {
      }

      //fill all options
      Set<MogabalEventOptionHiber> opts=mh.getOptions();
      for (MogabalEventOptionHiber op:opts) {
        op.setText("0");
        try {
          op.setText(""+Integer.parseInt(req.getParameter("text"+op.getId())));
        } catch (Exception e) {
        }
        op.setEval(0);
        try {
          op.setEval(Integer.parseInt(req.getParameter("value"+op.getId())));
        } catch (Exception e) {
        }
       
        MogabalGameDao.updateMogabalGameEventOption(op, session);
      }
      //if add option add it and trigger editing
      if (req.getParameter("addOptionSubmit")!=null) {
        MogabalEventOptionHiber opt=new MogabalEventOptionHiber();
        opt.setText("");
        opt.setEval(0);
        if (req.getParameter("modifyVarSetEvent")==null)
          MogabalGameDao.persistMogabalGameEventHiber(mh, session);
        MogabalGameDao.persistMogabalGameEventOption(opt, session);
        mh.getOptions().add(opt);
        MogabalGameDao.updateMogabalGameEvent(mh, session);
       
        try {
          res.sendRedirect("authMAGOBAL.do?id="+g.getId()+"&modifyVarSetEvent="+mh.getId()+"&jsp_insertNewVSEvent=1&jsp_insertNewEvent=1");
        } catch (Exception e) {
        }
        MessageBean.setMyMessage(req, "Game content updated, new variable set row inserted.");
      } else {
        MessageBean.setMyMessage(req, "Game content updated.");
        if (req.getParameter("modifyVarSetEvent")==null) {
          MogabalGameDao.persistMogabalGameEventHiber(mh, session);
        } else {
          MogabalGameDao.updateMogabalGameEvent(mh, session);
        }
      }
     
      //if there is ID change request.. do it last
     
      if (req.getParameter("modifyVarSetEvent")!=null)
        if (!mh.getId().equals(req.getParameter("qid")))
          changeEventId(mh,req.getParameter("qid"),session,req);
     
    }
   
   
   
   

    //insert / change case tree event
    if (req.getParameter("insertCase")!=null) {
      MogabalEventHiber mh=new MogabalEventHiber();
      if (req.getParameter("modifyCaseEvent")!=null) {
        mh=MogabalGameDao.findMagobalGameEvent(req.getParameter("modifyCaseEvent"), session);
      }
      mh.setEventType(MogabalGameDao.EVENT_TYPE_CASE);
      mh.setGame(g);
      if (req.getParameter("modifyCaseEvent")==null) mh.setId(req.getParameter("qid"));
      mh.setPublicRepositoryName(req.getParameter("repname"));
      mh.setInPublicRepository(false);
      if (mh.getPublicRepositoryName()!=null)
        if (!mh.getPublicRepositoryName().equals(""))
          if (!mh.getPublicRepositoryName().equals("null"))
            mh.setInPublicRepository(true);
      mh.setCellType(req.getParameter("qcelltype"));
      mh.setText("0");
      try {
        mh.setText(""+Integer.parseInt(req.getParameter("qtext")));
      } catch (Exception e) {
      }

      //fill all options
      Set<MogabalEventOptionHiber> opts=mh.getOptions();
      for (MogabalEventOptionHiber op:opts) {
        //forward
        op.setForward(null);
        try {
          op.setForward(MogabalGameDao.findMagobalGameEvent(req.getParameter("forward"+op.getId()), session));
        } catch (Exception e) {
        }
        op.setEval(0);
        try {
          op.setEval(Integer.parseInt(req.getParameter("value"+op.getId())));
        } catch (Exception e) {
        }
       
        MogabalGameDao.updateMogabalGameEventOption(op, session);
      }
      //if add option add it and trigger editing
      if (req.getParameter("addOptionSubmit")!=null) {
        MogabalEventOptionHiber opt=new MogabalEventOptionHiber();
        opt.setForward(null);
        opt.setEval(0);
        if (req.getParameter("modifyCaseEvent")==null)
          MogabalGameDao.persistMogabalGameEventHiber(mh, session);
        MogabalGameDao.persistMogabalGameEventOption(opt, session);
        mh.getOptions().add(opt);
        MogabalGameDao.updateMogabalGameEvent(mh, session);
       
        try {
          res.sendRedirect("authMAGOBAL.do?id="+g.getId()+"&modifyCaseEvent="+mh.getId()+"&jsp_insertNewCASEEvent=1&jsp_insertNewEvent=1");
        } catch (Exception e) {
        }
        MessageBean.setMyMessage(req, "Game content updated, new case row inserted.");
      } else {
        MessageBean.setMyMessage(req, "Game content updated.");
        if (req.getParameter("modifyCaseEvent")==null) {
          MogabalGameDao.persistMogabalGameEventHiber(mh, session);
        } else {
          MogabalGameDao.updateMogabalGameEvent(mh, session);
        }
      }
     
      //if there is ID change request.. do it last
     
      if (req.getParameter("modifyVarSetEvent")!=null)
        if (!mh.getId().equals(req.getParameter("qid")))
          changeEventId(mh,req.getParameter("qid"),session,req);
     
    }
   
   
 
   
   
    //copy events!
    if (req.getParameter("copyEvent")!=null) {
      MogabalEventHiber currentEvent=new MogabalEventHiber();
      currentEvent.setId("gm"+g.getId()+"_"+new Random().nextInt(1000)+"_copy");
      currentEvent.setInPublicRepository(false);
      currentEvent.setPublicRepositoryName("");

      MogabalEventHiber copyEvent=MogabalGameDao.findMagobalGameEvent(req.getParameter("copyEvent"),session);
     
      //persist & redirect
      currentEvent.setForward(null);
      currentEvent.setMiniGameName(copyEvent.getMiniGameName());
      currentEvent.setMiniGameResultype(copyEvent.getMiniGameResultype());
      currentEvent.setMultimediaResource(copyEvent.getMultimediaResource());
      currentEvent.setReward(copyEvent.getReward());
      currentEvent.setText(copyEvent.getText());
      currentEvent.setVarSetString(copyEvent.getVarSetString());
      currentEvent.setEventType(copyEvent.getEventType());
      currentEvent.setGame(g);
     
      MogabalGameDao.persistMogabalGameEventHiber(currentEvent,session);
   
      Set<MogabalEventOptionHiber> optns=copyEvent.getOptions();
      for (MogabalEventOptionHiber op : optns) {
       
        MogabalEventOptionHiber newOne=new MogabalEventOptionHiber();
        newOne.setText(op.getText());
        newOne.setHint(op.getHint());
        newOne.setReward(op.getReward());
        newOne.setEval(op.getEval());
        newOne.setCondition(op.getCondition());
        newOne.setForward(null);
       
        MogabalGameDao.persistMogabalGameEventOption(newOne,session);
        currentEvent.getOptions().add(newOne);
        MogabalGameDao.updateMogabalGameEventOption(newOne,session);
      }
     
      MogabalGameDao.updateMogabalGameEvent(currentEvent,session);             
     
      //send redirect
      try {
        if (currentEvent.getEventType()==MogabalGameDao.EVENT_TYPE_QUIZ) res.sendRedirect("authMAGOBAL.do?id="+g.getId()+"&modifyQuestionEvent="+currentEvent.getId()+"&jsp_insertNewQEvent=1&jsp_insertNewEvent=1");
        if (currentEvent.getEventType()==MogabalGameDao.EVENT_TYPE_GAME_OVER) res.sendRedirect("authMAGOBAL.do?id="+g.getId()+"&modifyGameOverEvent="+currentEvent.getId()+"&jsp_insertNewGOEvent=1&jsp_insertNewEvent=1");
        if (currentEvent.getEventType()==MogabalGameDao.EVENT_TYPE_SIMPLE) res.sendRedirect("authMAGOBAL.do?id="+g.getId()+"&modifySimpleEvent="+currentEvent.getId()+"&jsp_insertNewSIEvent=1&jsp_insertNewEvent=1");
        if (currentEvent.getEventType()==MogabalGameDao.EVENT_TYPE_NULL) res.sendRedirect("authMAGOBAL.do?id="+g.getId()+"&modifyNullEvent="+currentEvent.getId()+"&jsp_insertNewNULLEvent=1&jsp_insertNewEvent=1");
        if (currentEvent.getEventType()==MogabalGameDao.EVENT_TYPE_MULTIMEDIA) res.sendRedirect("authMAGOBAL.do?id="+g.getId()+"&modifyMMEvent="+currentEvent.getId()+"&jsp_insertNewMMEvent=1&jsp_insertNewEvent=1");
        if (currentEvent.getEventType()==MogabalGameDao.EVENT_TYPE_DECISION_TREE) res.sendRedirect("authMAGOBAL.do?id="+g.getId()+"&modifyDecTreeEvent="+currentEvent.getId()+"&jsp_insertNewDTEvent=1&jsp_insertNewEvent=1");
        if (currentEvent.getEventType()==MogabalGameDao.EVENT_TYPE_CONDITIONAL_DECISION_TREE) res.sendRedirect("authMAGOBAL.do?id="+g.getId()+"&modifyCondDecTreeEvent="+currentEvent.getId()+"&jsp_insertNewCDTEvent=1&jsp_insertNewEvent=1");
        if (currentEvent.getEventType()==MogabalGameDao.EVENT_TYPE_MINI_GAME) res.sendRedirect("authMAGOBAL.do?id="+g.getId()+"&modifyMGameEvent="+currentEvent.getId()+"&jsp_insertNewMGEvent=1&jsp_insertNewEvent=1");
        if (currentEvent.getEventType()==MogabalGameDao.EVENT_TYPE_VAR_SET) res.sendRedirect("authMAGOBAL.do?id="+g.getId()+"&modifyVarSetEvent="+currentEvent.getId()+"&jsp_insertNewVSEvent=1&jsp_insertNewEvent=1");
        if (currentEvent.getEventType()==MogabalGameDao.EVENT_TYPE_CASE) res.sendRedirect("authMAGOBAL.do?id="+g.getId()+"&modifyCaseEvent="+currentEvent.getId()+"&jsp_insertNewCASEEvent=1&jsp_insertNewEvent=1");
      } catch (Exception e) {
      }
     
    }
   
   
    form.setMaxScores((int)g.getMaksimumScore());
    form.setOrderedEvents(MogabalGameDao.getGameEvents(g.getId(), session));
   
    return am.findForward("ok");
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.