@Override
  public void updateModel() {
    super.updateModel();
    comp.updateModel();
    creatingTablesComponent.updateModel();
    propertyFileNameDDLComponent.updateModel();
    propertyFileNameDMLComponent.updateModel();
    JDBCSecurityServiceConfig config = (JDBCSecurityServiceConfig) configHelper.getConfig();
    JDBCConnectConfig c = comp.getModelObject();
    config.setJndiName(null);
    config.setDriverClassName(null);
    config.setConnectURL(null);
    config.setUserName(null);
    config.setPassword(null);

    config.setJndi(c.getType().equals(JDBCConnectConfig.TYPEJNDI));
    if (config.isJndi()) {
      config.setJndiName(c.getJndiName());
    } else {
      config.setDriverClassName(c.getDriverName());
      config.setConnectURL(c.getConnectURL());
      config.setUserName(c.getUsername());
      config.setPassword(c.getPassword());
    }
  }
  @Override
  protected void initializeComponents() {
    super.initializeComponents();
    JDBCSecurityServiceConfig config = (JDBCSecurityServiceConfig) configHelper.getConfig();
    if (config.isJndi()) {
      comp =
          new JDBCConnectFormComponent(
              "jdbcConnectFormComponent", Mode.DYNAMIC, config.getJndiName());
    } else {
      comp =
          new JDBCConnectFormComponent(
              "jdbcConnectFormComponent",
              Mode.DYNAMIC,
              config.getDriverClassName(),
              config.getConnectURL(),
              config.getUserName(),
              config.getPassword());
    }
    addOrReplace(comp);

    add(creatingTablesComponent = new CheckBox("config.creatingTables"));
    propertyFileNameDDLComponent = new TextField<String>("config.propertyFileNameDDL");
    add(propertyFileNameDDLComponent);
    propertyFileNameDMLComponent = new TextField<String>("config.propertyFileNameDML");
    add(propertyFileNameDMLComponent);
  };