Example #1
0
  private DynamicForm getServerDetails() {
    final DynamicForm form = new LocatableDynamicForm(extendLocatorId("serverDetails"));
    form.setWidth100();
    form.setExtraSpace(15);
    form.setIsGroup(true);
    form.setGroupTitle(MSG.view_admin_systemSettings_serverDetails());

    final StaticTextItem productName = new StaticTextItem("productname", MSG.common_title_name());
    final StaticTextItem productVersion =
        new StaticTextItem("productversion", MSG.common_title_version());
    final StaticTextItem productBuildNumber =
        new StaticTextItem(
            "productbuild", MSG.view_admin_systemSettings_serverDetails_buildNumber());

    final StaticTextItem serverTimezone =
        new StaticTextItem("timezone", MSG.view_admin_systemSettings_serverDetails_tz());
    final StaticTextItem serverTime =
        new StaticTextItem("localtime", MSG.view_admin_systemSettings_serverDetails_time());
    final StaticTextItem serverInstallDir =
        new StaticTextItem("installdir", MSG.view_admin_systemSettings_serverDetails_installDir());
    final StaticTextItem dbUrl =
        new StaticTextItem("dbUrl", MSG.view_admin_systemSettings_serverDetails_dbUrl());
    final StaticTextItem dbProductName =
        new StaticTextItem("dbProductName", MSG.view_admin_systemSettings_serverDetails_dbName());
    final StaticTextItem dbProductVersion =
        new StaticTextItem(
            "dbProductVersion", MSG.view_admin_systemSettings_serverDetails_dbVersion());
    final StaticTextItem dbDriverName =
        new StaticTextItem(
            "dbDriverName", MSG.view_admin_systemSettings_serverDetails_dbDriverName());
    final StaticTextItem dbDriverVersion =
        new StaticTextItem(
            "dbDriverVersion", MSG.view_admin_systemSettings_serverDetails_dbDriverVersion());
    final StaticTextItem currentMeasRawTable =
        new StaticTextItem(
            "currentMeasRawTable", MSG.view_admin_systemSettings_serverDetails_currentTable());
    final StaticTextItem nextMeasTableRotation =
        new StaticTextItem(
            "nextMeasTableRotation", MSG.view_admin_systemSettings_serverDetails_nextRotation());

    productName.setWrapTitle(false);
    productVersion.setWrapTitle(false);
    productBuildNumber.setWrapTitle(false);
    serverTimezone.setWrapTitle(false);
    serverTime.setWrapTitle(false);
    serverInstallDir.setWrapTitle(false);
    dbUrl.setWrapTitle(false);
    dbProductName.setWrapTitle(false);
    dbProductVersion.setWrapTitle(false);
    dbDriverName.setWrapTitle(false);
    dbDriverVersion.setWrapTitle(false);
    currentMeasRawTable.setWrapTitle(false);
    nextMeasTableRotation.setWrapTitle(false);

    form.setItems(
        productName,
        productVersion,
        productBuildNumber,
        serverTimezone,
        serverTime,
        serverInstallDir,
        dbUrl,
        dbProductName,
        dbProductVersion,
        dbDriverName,
        dbDriverVersion,
        currentMeasRawTable,
        nextMeasTableRotation);

    GWTServiceLookup.getSystemService()
        .getServerDetails(
            new AsyncCallback<ServerDetails>() {

              @Override
              public void onSuccess(ServerDetails result) {
                ProductInfo productInfo = result.getProductInfo();
                form.setValue(productName.getName(), productInfo.getName());
                form.setValue(productVersion.getName(), productInfo.getVersion());
                form.setValue(productBuildNumber.getName(), productInfo.getBuildNumber());

                Map<Detail, String> details = result.getDetails();
                form.setValue(
                    serverTimezone.getName(), details.get(ServerDetails.Detail.SERVER_TIMEZONE));
                form.setValue(
                    serverTime.getName(), details.get(ServerDetails.Detail.SERVER_LOCAL_TIME));
                form.setValue(
                    serverInstallDir.getName(),
                    details.get(ServerDetails.Detail.SERVER_INSTALL_DIR));
                form.setValue(
                    dbUrl.getName(), details.get(ServerDetails.Detail.DATABASE_CONNECTION_URL));
                form.setValue(
                    dbProductName.getName(),
                    details.get(ServerDetails.Detail.DATABASE_PRODUCT_NAME));
                form.setValue(
                    dbProductVersion.getName(),
                    details.get(ServerDetails.Detail.DATABASE_PRODUCT_VERSION));
                form.setValue(
                    dbDriverName.getName(), details.get(ServerDetails.Detail.DATABASE_DRIVER_NAME));
                form.setValue(
                    dbDriverVersion.getName(),
                    details.get(ServerDetails.Detail.DATABASE_DRIVER_VERSION));
                form.setValue(
                    currentMeasRawTable.getName(),
                    details.get(ServerDetails.Detail.CURRENT_MEASUREMENT_TABLE));
                form.setValue(
                    nextMeasTableRotation.getName(),
                    details.get(ServerDetails.Detail.NEXT_MEASUREMENT_TABLE_ROTATION));
              }

              @Override
              public void onFailure(Throwable caught) {
                CoreGUI.getErrorHandler()
                    .handleError(MSG.view_admin_systemSettings_cannotLoadServerDetails(), caught);
              }
            });

    return form;
  }