public void update() throws KExceptionClass {

    try {

      KBusinessObjectClass businessObject = pdcClassType.newInstance();

      KMetaUtilsClass.setProgressBarValue1(33);
      businessObject.materializeFromDisplay(
          visualWidgetContainer, nonVisibleWidgets, visualMappingMode);

      if (EventCallback != null) EventCallback.preUpdate(businessObject);

      KMetaUtilsClass.setProgressBarValue1(75);
      businessObject = persistentObjectManager.update4(businessObjectOID, businessObject);

      if (EventCallback != null) EventCallback.postUpdate(businessObject);

      edit();

    } catch (Exception error) {

      throw new KExceptionClass("Could not create new object", error);
    }

    KMetaUtilsClass.setProgressBarValue1(100);
  }
  public void newObject() throws KExceptionClass {
    try {

      if (EventCallback != null) EventCallback.preNewObject();

      KBusinessObjectClass businessObject = pdcClassType.newInstance();

      KMetaUtilsClass.setProgressBarValue1(25);
      businessObject = persistentObjectManager.createNew4(businessObject);

      // map foreing keys
      KMetaUtilsClass.setProgressBarValue1(50);
      if (buisnessObjectForeingOIDS != null) {
        Set listOfForeingKeys = buisnessObjectForeingOIDS.keySet();
        Iterator foreingKeyIterator = listOfForeingKeys.iterator();
        while (foreingKeyIterator.hasNext()) {
          String nextForeingKeyName = (String) foreingKeyIterator.next();
          businessObject.setField(
              nextForeingKeyName, buisnessObjectForeingOIDS.get(nextForeingKeyName));
        }
      }

      KMetaUtilsClass.setProgressBarValue1(75);
      businessObject.displayVisualize(visualWidgetContainer, nonVisibleWidgets, visualMappingMode);

      if (EventCallback != null) EventCallback.postNewObject(businessObject);

    } catch (Exception error) {
      throw new KExceptionClass("Could not create new object", error);
    }

    KMetaUtilsClass.setProgressBarValue1(100);
  }
  public long pushBack() throws KExceptionClass {

    try {

      KBusinessObjectClass businessObject = pdcClassType.newInstance();

      KMetaUtilsClass.setProgressBarValue1(25);
      businessObject.materializeFromDisplay(
          visualWidgetContainer, nonVisibleWidgets, visualMappingMode);

      if (EventCallback != null) EventCallback.prePushBack(businessObject);

      KMetaUtilsClass.setProgressBarValue1(50);
      businessObject = persistentObjectManager.push_back4(businessObject);
      businessObjectOID = businessObject.getOID();

      KMetaUtilsClass.setProgressBarValue1(75);
      dialogMode = KDialogInterface.EDIT_MODE;

      if (EventCallback != null) EventCallback.postPushBack(businessObject);

      edit();

    } catch (Exception error) {

      throw new KExceptionClass("Could not create new object", error);
    }

    KMetaUtilsClass.setProgressBarValue1(100);

    return (businessObjectOID);
  }
  private void jButton2ActionPerformed(
      java.awt.event.ActionEvent evt) { // GEN-FIRST:event_jButton2ActionPerformed
    try {
      ThreadBrowserClass ThreadBrowser =
          new ThreadBrowserClass(configuration, log, new javax.swing.JTable(), this);

      ThreadBrowser.initializeTable();

      selectDialogClass selector =
          new selectDialogClass(configuration, log, this, ThreadBrowser, "Select Thread");

      // dont want to allow this, for example
      selector.getNewButton().setEnabled(false);
      selector.getDeleteButton().setEnabled(false);
      parentID = selector.showDialog();

      if (parentID < 0) {
        throw new KExceptionClass("You must select a Thread !", null);

      } else {

        LblThreadID.setText(Long.toString(parentID));

        persistentObjectManagerClass persistentObjectManager =
            new persistentObjectManagerClass(configuration, log);

        ThreadClass Thread = new ThreadClass();

        Thread = (ThreadClass) persistentObjectManager.copy4(parentID, ThreadClass.class);

        LblThreadName.setText(Thread.getThread());

        LblSize.setText(Thread.getUkuran());
        LblPart.setText(Thread.getPart());
      }

    } catch (Exception error) {
      log.log(this, KMetaUtilsClass.getStackTrace(error));
      KMetaUtilsClass.showErrorMessageFromException(this, error);
    }
  } // GEN-LAST:event_jButton2ActionPerformed