示例#1
0
  public void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {

    // set up for response
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();

    if ((request.getParameter("persistenceID") != null)
        && (!request.getParameter("persistenceID").equals(""))) {

      Shepherd myShepherd = new Shepherd();

      Relationship rel = new Relationship();

      myShepherd.beginDBTransaction();

      Object identity =
          myShepherd
              .getPM()
              .newObjectIdInstance(
                  org.ecocean.social.Relationship.class, request.getParameter("persistenceID"));
      rel = (Relationship) myShepherd.getPM().getObjectById(identity);

      if (rel != null) {
        myShepherd.getPM().deletePersistent(rel);
        myShepherd.commitDBTransaction();
        myShepherd.beginDBTransaction();

        if (rel.getRelatedSocialUnitName() != null) {

          // delete the community too if it has no relationships
          if (myShepherd.getAllRelationshipsForCommunity(rel.getRelatedSocialUnitName()).size()
              == 0) {
            SocialUnit myComm = myShepherd.getCommunity(rel.getRelatedSocialUnitName());
            myShepherd.getPM().deletePersistent(myComm);
            myShepherd.commitDBTransaction();
            myShepherd.beginDBTransaction();
          }
        }
      }

      myShepherd.commitDBTransaction();
      myShepherd.closeDBTransaction();
      myShepherd = null;

      // output success statement
      out.println(ServletUtilities.getHeader(request));
      out.println(
          "<strong>Success:</strong> The relationship of type "
              + request.getParameter("type")
              + " between "
              + request.getParameter("markedIndividualName1")
              + " and "
              + request.getParameter("markedIndividualName2")
              + " was deleted.");

      out.println(
          "<p><a href=\"http://"
              + CommonConfiguration.getURLLocation(request)
              + "/individuals.jsp?number="
              + request.getParameter("markedIndividualName1")
              + "\">Return to Marked Individual "
              + request.getParameter("markedIndividualName1")
              + "</a></p>\n");
      out.println(
          "<p><a href=\"http://"
              + CommonConfiguration.getURLLocation(request)
              + "/individuals.jsp?number="
              + request.getParameter("markedIndividualName2")
              + "\">Return to Marked Individual "
              + request.getParameter("markedIndividualName2")
              + "</a></p>\n");
      out.println(ServletUtilities.getFooter());

    } else {
      out.println(ServletUtilities.getHeader(request));
      out.println("<strong>Failure:</strong> I did not have all of the information required.");

      out.println(
          "<p><a href=\"http://"
              + CommonConfiguration.getURLLocation(request)
              + "/individuals.jsp?number="
              + request.getParameter("markedIndividualName1")
              + "\">Return to Marked Individual "
              + request.getParameter("markedIndividualName1")
              + "</a></p>\n");
      out.println(
          "<p><a href=\"http://"
              + CommonConfiguration.getURLLocation(request)
              + "/individuals.jsp?number="
              + request.getParameter("markedIndividualName2")
              + "\">Return to Marked Individual "
              + request.getParameter("markedIndividualName2")
              + "</a></p>\n");
      out.println(ServletUtilities.getFooter());
    }

    out.close();
  }