/** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { final String S_ProcName = "doGet"; ICFInternetSchemaObj schemaObj; HttpSession sess = request.getSession(false); if (sess == null) { sess = request.getSession(true); schemaObj = new CFInternetSchemaPooledObj(); sess.setAttribute("SchemaObj", schemaObj); } else { schemaObj = (ICFInternetSchemaObj) sess.getAttribute("SchemaObj"); if (schemaObj == null) { schemaObj = new CFInternetSchemaPooledObj(); sess.setAttribute("SchemaObj", schemaObj); } } ICFInternetSchema dbSchema = null; try { CFSecurityAuthorization auth = schemaObj.getAuthorization(); if (auth != null) { response.sendRedirect("CFInternetSMWarSecurityMainHtml"); return; } dbSchema = (ICFInternetSchema) CFInternetSchemaPool.getSchemaPool().getInstance(); schemaObj.setBackingStore(dbSchema); schemaObj.beginTransaction(); ICFSecuritySecUserObj systemUser = schemaObj.getSecUserTableObj().readSecUserByULoginIdx("system"); String passwordHash = systemUser.getRequiredPasswordHash(); if ((passwordHash == null) || (passwordHash.length() <= 0) || passwordHash.equals("bootstrap")) { response.sendRedirect("CFInternetSMWarSetSystemPasswordHtml"); return; } ICFSecuritySysClusterObj sysCluster = schemaObj.getSysClusterTableObj().readSysClusterByIdIdx(1, false); if (sysCluster == null) { throw CFLib.getDefaultExceptionFactory() .newNullArgumentException(getClass(), S_ProcName, 0, "sysCluster"); } ICFSecurityClusterObj resolvedCluster = sysCluster.getRequiredContainerCluster(); if (resolvedCluster == null) { throw CFLib.getDefaultExceptionFactory() .newNullArgumentException(getClass(), S_ProcName, "resolvedCluster"); } String clusterDomainName = resolvedCluster.getRequiredFullDomainName(); String clusterDescription = resolvedCluster.getRequiredDescription(); String confirmationUUIDStr = (String) request.getParameter("ConfirmationUUID"); if ((confirmationUUIDStr == null) || (confirmationUUIDStr.length() <= 0)) { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">"); out.println("<HTML>"); out.println("<BODY>"); out.println("<form method=\"post\" formaction=\"CFInternetSMWarConfirmEMailAddressHtml\">"); out.println( "<H1 style=\"text-align:center\">" + clusterDescription + " Security Manager</H1>"); out.println("<H2 style=\"text-align:center\">ERROR</H2>"); out.println("<p>"); out.println("<center>"); out.println("<p>"); out.println( "The ConfirmationUUID parameter was missing in your request. Please use the link provided by your confirmation email."); out.println("</BODY>"); out.println("</HTML>"); return; } UUID confirmationUUID = UUID.fromString(confirmationUUIDStr); if (confirmationUUID == null) { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">"); out.println("<HTML>"); out.println("<BODY>"); out.println("<form method=\"post\" formaction=\"CFInternetSMWarConfirmEMailAddressHtml\">"); out.println( "<H1 style=\"text-align:center\">" + clusterDescription + " Security Manager</H1>"); out.println("<H2 style=\"text-align:center\">ERROR</H2>"); out.println("<p>"); out.println("<center>"); out.println("<p>"); out.println( "Invalid ConfirmationUUID \"" + confirmationUUIDStr + "\". Please use the link provided by your confirmation email."); out.println("</BODY>"); out.println("</HTML>"); return; } ICFSecuritySecUserObj confirmUser = null; Iterator<ICFSecuritySecUserObj> secUserForUUID = schemaObj.getSecUserTableObj().readSecUserByEMConfIdx(confirmationUUID).iterator(); if (secUserForUUID.hasNext()) { confirmUser = secUserForUUID.next(); if (secUserForUUID.hasNext()) { throw CFLib.getDefaultExceptionFactory() .newRuntimeException( getClass(), S_ProcName, "Multiple SecUser instances found for ConfirmationUUID \"" + confirmationUUIDStr + "\""); } } else { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">"); out.println("<HTML>"); out.println("<BODY>"); out.println("<form method=\"post\" formaction=\"CFInternetSMWarConfirmEMailAddressHtml\">"); out.println( "<H1 style=\"text-align:center\">" + clusterDescription + " Security Manager</H1>"); out.println("<H2 style=\"text-align:center\">ERROR</H2>"); out.println("<p>"); out.println("<center>"); out.println("<p>"); out.println( "Invalid ConfirmationUUID \"" + confirmationUUIDStr + "\". Please use the link provided by your confirmation email."); out.println("</BODY>"); out.println("</HTML>"); return; } ICFSecurityClusterObj systemCluster = schemaObj.getClusterTableObj().readClusterByUDomainNameIdx("system"); ICFSecurityTenantObj systemTenant = schemaObj .getTenantTableObj() .readTenantByUNameIdx(systemCluster.getRequiredId(), "system"); ICFSecuritySecSessionObj systemSession = schemaObj.getSecSessionTableObj().newInstance(); ICFSecuritySecSessionEditObj editSystemSession = (ICFSecuritySecSessionEditObj) systemSession.beginEdit(); editSystemSession.setRequiredContainerSecUser(systemUser); editSystemSession.setRequiredStart(Calendar.getInstance()); systemSession = editSystemSession.create(); editSystemSession.endEdit(); auth = new CFSecurityAuthorization(); auth.setSecCluster(systemCluster); auth.setSecTenant(systemTenant); auth.setSecSession(systemSession); schemaObj.setAuthorization(auth); ICFSecuritySecUserEditObj editConfirmUser = confirmUser.beginEdit(); editConfirmUser.setOptionalEMailConfirmationUuid(null); editConfirmUser.update(); editConfirmUser.endEdit(); editSystemSession = (ICFSecuritySecSessionEditObj) systemSession.beginEdit(); editSystemSession.setOptionalFinish(Calendar.getInstance()); editSystemSession.update(); editSystemSession.endEdit(); schemaObj.commit(); schemaObj.setAuthorization(null); response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">"); out.println("<HTML>"); out.println("<BODY>"); out.println("<form method=\"post\" formaction=\"CFInternetSMWarConfirmEMailAddressHtml\">"); out.println( "<H1 style=\"text-align:center\">" + clusterDescription + " Security Manager</H1>"); out.println("<H2 style=\"text-align:center\">EMail Address Confirmed</H2>"); out.println("<p>"); out.println("<center>"); out.println("<table style=\"width:75%\">"); out.println( "<tr><th style=\"text-align:left\">Confirmation UUID:</th><td><input type=\"text\" name=\"ConfirmationUUID\" value=\"" + confirmationUUID.toString() + "\"/></td></tr>"); out.println( "<tr><td colSpan=\"2\" style=\"text-align:center\">You may now <A HRef=\"CFInternetSMWarLoginHtml\">log in</A> to the " + clusterDescription + " Security Manager</td></tr>"); out.println("</table>"); out.println("</center>"); out.println("</form>"); out.println("</BODY>"); out.println("</HTML>"); } catch (RuntimeException e) { throw CFLib.getDefaultExceptionFactory() .newRuntimeException( getClass(), S_ProcName, "Caught RuntimeException -- " + e.getMessage(), e); } finally { if (dbSchema != null) { try { if (schemaObj.isTransactionOpen()) { schemaObj.rollback(); } } catch (RuntimeException e) { } schemaObj.setBackingStore(null); CFInternetSchemaPool.getSchemaPool().releaseInstance(dbSchema); } } }
public void setPanelMode(CFJPanel.PanelMode value) { final String S_ProcName = "setPanelMode"; CFJPanel.PanelMode oldValue = getPanelMode(); if (oldValue == value) { return; } ICFSecuritySecSessionObj focus = getSwingFocusAsSecSession(); if ((value != CFJPanel.PanelMode.Unknown) && (value != CFJPanel.PanelMode.View)) { if (focus == null) { throw CFLib.getDefaultExceptionFactory() .newNullArgumentException(getClass(), S_ProcName, 0, "swingFocus"); } } ICFSecuritySecSessionEditObj editObj; if (focus != null) { editObj = (ICFSecuritySecSessionEditObj) focus.getEdit(); } else { editObj = null; } switch (value) { case Unknown: switch (oldValue) { case Unknown: break; default: if (editObj != null) { editObj.endEdit(); } break; } break; case Add: switch (oldValue) { case Unknown: case Add: case View: if (editObj == null) { if (focus != null) { if (!focus.getIsNew()) { throw CFLib.getDefaultExceptionFactory() .newUsageException( getClass(), S_ProcName, "Transitioning to PanelMode Add requires Focus.getIsNew() to be true"); } editObj = (ICFSecuritySecSessionEditObj) focus.beginEdit(); if (editObj == null) { throw CFLib.getDefaultExceptionFactory() .newUsageException( getClass(), S_ProcName, "Expected beginEdit() to return a new edition of the focus object"); } } else { throw CFLib.getDefaultExceptionFactory() .newNullArgumentException(getClass(), S_ProcName, 0, "focus"); } } break; case Edit: throw CFLib.getDefaultExceptionFactory() .newUsageException( getClass(), S_ProcName, "Cannot transition PanelMode Edit to Add"); case Update: throw CFLib.getDefaultExceptionFactory() .newUsageException( getClass(), S_ProcName, "Cannot transition PanelMode Update to Add"); case Delete: throw CFLib.getDefaultExceptionFactory() .newUsageException( getClass(), S_ProcName, "Cannot transition PanelMode Delete to Add"); default: throw CFLib.getDefaultExceptionFactory() .newUsageException( getClass(), S_ProcName, "Cannot transition PanelMode default to Add"); } break; case View: switch (oldValue) { case Unknown: break; case View: break; case Edit: break; case Update: break; case Delete: break; default: throw CFLib.getDefaultExceptionFactory() .newUsageException( getClass(), S_ProcName, "Cannot transition PanelMode " + oldValue + " to View"); } if (editObj != null) { editObj.endEdit(); } break; case Edit: switch (oldValue) { case Unknown: if (editObj == null) { editObj = (ICFSecuritySecSessionEditObj) focus.beginEdit(); if (editObj == null) { throw CFLib.getDefaultExceptionFactory() .newUsageException( getClass(), S_ProcName, "Expected beginEdit() to return a new edition of the focus object"); } } break; case View: if (editObj == null) { editObj = (ICFSecuritySecSessionEditObj) focus.beginEdit(); if (editObj == null) { throw CFLib.getDefaultExceptionFactory() .newUsageException( getClass(), S_ProcName, "Expected beginEdit() to return a new edition of the focus object"); } } break; case Edit: if (editObj == null) { editObj = (ICFSecuritySecSessionEditObj) focus.beginEdit(); if (editObj == null) { throw CFLib.getDefaultExceptionFactory() .newUsageException( getClass(), S_ProcName, "Expected beginEdit() to return a new edition of the focus object"); } } break; default: throw CFLib.getDefaultExceptionFactory() .newUsageException( getClass(), S_ProcName, "Cannot transition PanelMode " + oldValue + " to Edit"); } break; case Update: if ((oldValue != CFJPanel.PanelMode.Edit) && (oldValue != CFJPanel.PanelMode.Add)) { throw CFLib.getDefaultExceptionFactory() .newUsageException( getClass(), S_ProcName, "Cannot transition from mode " + oldValue + " to Update"); } super.setPanelMode(value); if (editObj != null) { postFields(); if (editObj.getIsNew()) { focus = (ICFDbTestSecSessionObj) editObj.create(); setSwingFocus(focus); } else { editObj.update(); } editObj.endEdit(); editObj = null; } setPanelMode(CFJPanel.PanelMode.View); break; case Delete: switch (oldValue) { case View: if (focus != null) { if (editObj == null) { editObj = (ICFSecuritySecSessionEditObj) focus.beginEdit(); if (editObj == null) { throw CFLib.getDefaultExceptionFactory() .newUsageException( getClass(), S_ProcName, "Expected beginEdit() to return a new edition of the focus object"); } } } break; case Edit: if (focus != null) { if (editObj == null) { editObj = (ICFSecuritySecSessionEditObj) focus.beginEdit(); if (editObj == null) { throw CFLib.getDefaultExceptionFactory() .newUsageException( getClass(), S_ProcName, "Expected beginEdit() to return a new edition of the focus object"); } } } break; case Update: throw CFLib.getDefaultExceptionFactory() .newUsageException( getClass(), S_ProcName, "Cannot transition PanelMode Update to Delete"); case Delete: if (editObj == null) { editObj = (ICFSecuritySecSessionEditObj) focus.beginEdit(); if (editObj == null) { throw CFLib.getDefaultExceptionFactory() .newUsageException( getClass(), S_ProcName, "Expected beginEdit() to return a new edition of the focus object"); } } break; default: throw CFLib.getDefaultExceptionFactory() .newUsageException( getClass(), S_ProcName, "Cannot transition PanelMode " + oldValue + " to Delete"); } editObj.delete(); editObj.endEdit(); setSwingFocus(null); setPanelMode(CFJPanel.PanelMode.Unknown); break; default: switch (oldValue) { case Unknown: break; default: if (editObj != null) { editObj.endEdit(); } break; } break; } super.setPanelMode(value); populateFields(); adjustComponentEnableStates(); }