public void postFields() { final String S_ProcName = "postFields"; ICFSecuritySecSessionObj focus = getSwingFocusAsSecSession(); ICFSecuritySecSessionEditObj editObj; if (focus != null) { editObj = (ICFSecuritySecSessionEditObj) (focus.getEdit()); } else { editObj = null; } if (editObj == null) { throw CFLib.getDefaultExceptionFactory() .newUsageException( getClass(), S_ProcName, "Panel is unfocused or is not editing the focus object"); } // You are not allowed to edit the Container or Owner references, so they're not retrieved swingParentSecProxyObj = (ICFDbTestSecUserObj) (swingReferenceParentSecProxy.getReferencedObject()); editObj.setRequiredParentSecProxy(swingParentSecProxyObj); editObj.setOptionalSecDevName(getSwingEditorSecDevName().getStringValue()); editObj.setRequiredStart(getSwingEditorStart().getTimestampValue()); editObj.setOptionalFinish(getSwingEditorFinish().getTimestampValue()); }
public void choseSecUser(ICFSecuritySecUserObj value) { Component cont = getParent(); while ((cont != null) && (!(cont instanceof JInternalFrame))) { cont = cont.getParent(); } if (cont != null) { if (!((JInternalFrame) cont).isClosed()) { if (swingReferenceContainerSecUser != null) { ICFSecuritySecSessionObj cur = getSwingFocusAsSecSession(); if (cur != null) { ICFSecuritySecSessionEditObj editObj = (ICFDbTestSecSessionEditObj) cur.getEdit(); if (null != editObj) { CFJPanel.PanelMode curMode = getPanelMode(); if ((curMode == CFJPanel.PanelMode.Add) || (curMode == CFJPanel.PanelMode.Edit)) { swingReferenceContainerSecUser.setReferencedObject(value); editObj.setRequiredContainerSecUser(value); } } } } } } }
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(); }