public void actionPerformed(ActionEvent e) {
   final String S_ProcName = "actionPerformed";
   ICFFreeSwitchPbxIvrMenuObj focus = getSwingFocusAsPbxIvrMenu();
   if (focus != null) {
     ICFFreeSwitchPbxIvrMenuEditObj editObj = (ICFFreeSwitchPbxIvrMenuEditObj) focus.getEdit();
     if (editObj != null) {
       focus = editObj;
     }
     JInternalFrame frame = null;
     Container cont;
     JDesktopPane desktop;
     ICFFreeSwitchTenantObj referencedObj =
         (ICFFreeSwitchTenantObj) focus.getRequiredContainerTenant(swingIsInitializing);
     if (referencedObj != null) {
       String classCode = referencedObj.getClassCode();
       if ("TENT".equals(classCode)) {
         frame = swingSchema.getTenantFactory().newViewEditJInternalFrame(referencedObj);
         cont = getParent();
         while ((cont != null) && (!(cont instanceof JInternalFrame))) {
           cont = cont.getParent();
         }
         if (cont != null) {
           JInternalFrame myInternalFrame = (JInternalFrame) cont;
           myInternalFrame.getDesktopPane().add(frame);
           frame.setVisible(true);
           frame.show();
         }
       } else {
         throw CFLib.getDefaultExceptionFactory()
             .newUnsupportedClassException(
                 getClass(), S_ProcName, "swingFocus", focus, "ICFFreeSwitchTenantObj");
       }
     }
   }
 }
 public void actionPerformed(ActionEvent e) {
   final String S_ProcName = "actionPerformed";
   Container cont;
   JDesktopPane desktop;
   ICFFreeSwitchSchemaObj schemaObj = swingSchema.getSchema();
   ICFFreeSwitchPbxIvrMenuObj focus = getSwingFocusAsPbxIvrMenu();
   ICFFreeSwitchPbxIvrMenuEditObj editObj = (ICFFreeSwitchPbxIvrMenuEditObj) focus.getEdit();
   if (editObj != null) {
     focus = editObj;
   }
   ICFFreeSwitchTenantObj referencedObj =
       (ICFFreeSwitchTenantObj) focus.getRequiredContainerTenant(swingIsInitializing);
   java.util.List<ICFSecurityTenantObj> listOfTenant = null;
   CFSecurityAuthorization auth = schemaObj.getAuthorization();
   long containingClusterId = auth.getSecClusterId();
   listOfTenant = schemaObj.getTenantTableObj().readTenantByClusterIdx(containingClusterId);
   if (listOfTenant == null) {
     throw CFLib.getDefaultExceptionFactory()
         .newNullArgumentException(getClass(), S_ProcName, 0, "listOfTenant");
   }
   Collection<ICFSecurityTenantObj> cltn = listOfTenant;
   JInternalFrame frame =
       swingSchema
           .getTenantFactory()
           .newPickerJInternalFrame(
               referencedObj, null, cltn, new CallbackPbxIvrMenuTenantChosen());
   ((ICFFreeSwitchSwingTenantJPanelCommon) frame).setPanelMode(CFJPanel.PanelMode.View);
   cont = getParent();
   while ((cont != null) && (!(cont instanceof JInternalFrame))) {
     cont = cont.getParent();
   }
   if (cont != null) {
     JInternalFrame myInternalFrame = (JInternalFrame) cont;
     myInternalFrame.getDesktopPane().add(frame);
     frame.setVisible(true);
     frame.show();
   }
 }
 public void choseTenant(ICFSecurityTenantObj value) {
   Component cont = getParent();
   while ((cont != null) && (!(cont instanceof JInternalFrame))) {
     cont = cont.getParent();
   }
   if (cont != null) {
     if (!((JInternalFrame) cont).isClosed()) {
       if (swingReferenceContainerTenant != null) {
         ICFFreeSwitchPbxIvrMenuObj cur = getSwingFocusAsPbxIvrMenu();
         if (cur != null) {
           ICFFreeSwitchPbxIvrMenuEditObj editObj =
               (ICFFreeSwitchPbxIvrMenuEditObj) cur.getEdit();
           if (null != editObj) {
             CFJPanel.PanelMode curMode = getPanelMode();
             if ((curMode == CFJPanel.PanelMode.Add) || (curMode == CFJPanel.PanelMode.Edit)) {
               swingReferenceContainerTenant.setReferencedObject(value);
               editObj.setRequiredContainerTenant(value);
             }
           }
         }
       }
     }
   }
 }
  public void postFields() {
    final String S_ProcName = "postFields";
    ICFFreeSwitchPbxIvrMenuObj focus = getSwingFocusAsPbxIvrMenu();
    ICFFreeSwitchPbxIvrMenuEditObj editObj;
    if (focus != null) {
      editObj = (ICFFreeSwitchPbxIvrMenuEditObj) (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

    editObj.setRequiredName(getSwingEditorName().getStringValue());

    editObj.setRequiredGreetLong(getSwingEditorGreetLong().getStringValue());

    editObj.setRequiredGreetShort(getSwingEditorGreetShort().getStringValue());

    editObj.setRequiredInvalidSound(getSwingEditorInvalidSound().getStringValue());

    editObj.setRequiredExitSound(getSwingEditorExitSound().getStringValue());

    editObj.setRequiredTimeout(getSwingEditorTimeout().getInt32Value());

    editObj.setRequiredInterDigitTimeout(getSwingEditorInterDigitTimeout().getInt32Value());

    editObj.setRequiredMaxFailures(getSwingEditorMaxFailures().getInt32Value());

    editObj.setRequiredMaxTimeouts(getSwingEditorMaxTimeouts().getInt32Value());

    editObj.setRequiredDigitLen(getSwingEditorDigitLen().getInt32Value());
  }
  public void populateFields() {
    ICFFreeSwitchPbxIvrMenuObj popObj;
    ICFFreeSwitchPbxIvrMenuObj focus = getSwingFocusAsPbxIvrMenu();
    if (focus != null) {
      popObj = (ICFFreeSwitchPbxIvrMenuObj) (focus.getEdit());
      if (popObj == null) {
        popObj = focus;
      }
    } else {
      popObj = null;
    }
    if (getPanelMode() == CFJPanel.PanelMode.Unknown) {
      popObj = null;
    }
    if (popObj == null) {
      swingContainerTenantObj = null;
    } else {
      swingContainerTenantObj =
          (ICFFreeSwitchTenantObj) popObj.getRequiredContainerTenant(swingIsInitializing);
    }
    if (swingReferenceContainerTenant != null) {
      swingReferenceContainerTenant.setReferencedObject(swingContainerTenantObj);
    }

    if (popObj == null) {
      getSwingEditorMenuId().setInt64Value(null);
    } else {
      getSwingEditorMenuId().setInt64Value(popObj.getRequiredMenuId());
    }

    if (popObj == null) {
      getSwingEditorName().setStringValue(null);
    } else {
      getSwingEditorName().setStringValue(popObj.getRequiredName());
    }

    if (popObj == null) {
      getSwingEditorGreetLong().setStringValue(null);
    } else {
      getSwingEditorGreetLong().setStringValue(popObj.getRequiredGreetLong());
    }

    if (popObj == null) {
      getSwingEditorGreetShort().setStringValue(null);
    } else {
      getSwingEditorGreetShort().setStringValue(popObj.getRequiredGreetShort());
    }

    if (popObj == null) {
      getSwingEditorInvalidSound().setStringValue(null);
    } else {
      getSwingEditorInvalidSound().setStringValue(popObj.getRequiredInvalidSound());
    }

    if (popObj == null) {
      getSwingEditorExitSound().setStringValue(null);
    } else {
      getSwingEditorExitSound().setStringValue(popObj.getRequiredExitSound());
    }

    if (popObj == null) {
      getSwingEditorTimeout().setInt32Value(null);
    } else {
      getSwingEditorTimeout().setInt32Value(popObj.getRequiredTimeout());
    }

    if (popObj == null) {
      getSwingEditorInterDigitTimeout().setInt32Value(null);
    } else {
      getSwingEditorInterDigitTimeout().setInt32Value(popObj.getRequiredInterDigitTimeout());
    }

    if (popObj == null) {
      getSwingEditorMaxFailures().setInt32Value(null);
    } else {
      getSwingEditorMaxFailures().setInt32Value(popObj.getRequiredMaxFailures());
    }

    if (popObj == null) {
      getSwingEditorMaxTimeouts().setInt32Value(null);
    } else {
      getSwingEditorMaxTimeouts().setInt32Value(popObj.getRequiredMaxTimeouts());
    }

    if (popObj == null) {
      getSwingEditorDigitLen().setInt32Value(null);
    } else {
      getSwingEditorDigitLen().setInt32Value(popObj.getRequiredDigitLen());
    }
  }
 public void adjustComponentEnableStates() {
   CFJPanel.PanelMode mode = getPanelMode();
   boolean isEditing;
   switch (mode) {
     case Unknown:
     case View:
     case Delete:
       isEditing = false;
       break;
     case Add:
     case Edit:
     case Update:
       isEditing = true;
       break;
     default:
       isEditing = false;
       break;
   }
   if (isEditing) {
     ICFFreeSwitchPbxIvrMenuObj focus = getSwingFocusAsPbxIvrMenu();
     if (focus == null) {
       isEditing = false;
     } else if (null == focus.getEdit()) {
       isEditing = false;
     }
   }
   if (swingReferenceContainerTenant != null) {
     swingReferenceContainerTenant.setEnabled(false);
   }
   if (swingEditorMenuId != null) {
     swingEditorMenuId.setEnabled(false);
   }
   if (swingEditorName != null) {
     swingEditorName.setEnabled(isEditing);
   }
   if (swingEditorGreetLong != null) {
     swingEditorGreetLong.setEnabled(isEditing);
   }
   if (swingEditorGreetShort != null) {
     swingEditorGreetShort.setEnabled(isEditing);
   }
   if (swingEditorInvalidSound != null) {
     swingEditorInvalidSound.setEnabled(isEditing);
   }
   if (swingEditorExitSound != null) {
     swingEditorExitSound.setEnabled(isEditing);
   }
   if (swingEditorTimeout != null) {
     swingEditorTimeout.setEnabled(isEditing);
   }
   if (swingEditorInterDigitTimeout != null) {
     swingEditorInterDigitTimeout.setEnabled(isEditing);
   }
   if (swingEditorMaxFailures != null) {
     swingEditorMaxFailures.setEnabled(isEditing);
   }
   if (swingEditorMaxTimeouts != null) {
     swingEditorMaxTimeouts.setEnabled(isEditing);
   }
   if (swingEditorDigitLen != null) {
     swingEditorDigitLen.setEnabled(isEditing);
   }
 }
 public void setPanelMode(CFJPanel.PanelMode value) {
   final String S_ProcName = "setPanelMode";
   CFJPanel.PanelMode oldValue = getPanelMode();
   if (oldValue == value) {
     return;
   }
   ICFFreeSwitchPbxIvrMenuObj focus = getSwingFocusAsPbxIvrMenu();
   if ((value != CFJPanel.PanelMode.Unknown) && (value != CFJPanel.PanelMode.View)) {
     if (focus == null) {
       throw CFLib.getDefaultExceptionFactory()
           .newNullArgumentException(getClass(), S_ProcName, 0, "swingFocus");
     }
   }
   ICFFreeSwitchPbxIvrMenuEditObj editObj;
   if (focus != null) {
     editObj = (ICFFreeSwitchPbxIvrMenuEditObj) 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 = (ICFFreeSwitchPbxIvrMenuEditObj) 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 = (ICFFreeSwitchPbxIvrMenuEditObj) 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 = (ICFFreeSwitchPbxIvrMenuEditObj) 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 = (ICFFreeSwitchPbxIvrMenuEditObj) 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 = (ICFFreeSwitchPbxIvrMenuObj) 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 = (ICFFreeSwitchPbxIvrMenuEditObj) 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 = (ICFFreeSwitchPbxIvrMenuEditObj) 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 = (ICFFreeSwitchPbxIvrMenuEditObj) 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();
 }