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(); }