コード例 #1
0
  /**
   * Settings conversion from entity object to jaxb model.
   *
   * @param data Settings entity object
   * @return jaxb model of Settings
   */
  public static Settings transformSettingsToModel(
      org.kaleta.scheduler.backend.entity.Settings data) {
    Settings model = new Settings();

    Settings.AppSettings appSettings = new Settings.AppSettings();
    Settings.AppSettings.FirstUse firstUse = new Settings.AppSettings.FirstUse();
    firstUse.setValue(String.valueOf(data.getFirstUse()));
    appSettings.setFirstUse(firstUse);
    model.setAppSettings(appSettings);

    Settings.UserSettings userSettings = new Settings.UserSettings();
    Settings.UserSettings.Value userName = new Settings.UserSettings.Value();
    userName.setValue(data.getUserName());
    userSettings.setUserName(userName);
    Settings.UserSettings.LastSelected lastSelected = new Settings.UserSettings.LastSelected();
    lastSelected.setMonth_id(String.valueOf(data.getLastMonthSelectedId()));
    lastSelected.setDay(String.valueOf(data.getLastDaySelected()));
    userSettings.setLastSelected(lastSelected);
    Settings.UserSettings.Value uiScheme = new Settings.UserSettings.Value();
    uiScheme.setValue(data.getUiSchemeSelected());
    userSettings.setUiScheme(uiScheme);
    Settings.UserSettings.Value language = new Settings.UserSettings.Value();
    language.setValue(data.getLanguage());
    userSettings.setLanguage(language);
    Settings.UserSettings.Value currency = new Settings.UserSettings.Value();
    currency.setValue(data.getCurrency());
    userSettings.setCurrency(currency);
    model.setUserSettings(userSettings);

    Settings.TypesSettings typesSettings = new Settings.TypesSettings();
    Settings.TypesSettings.ItemTypes itemTypes = new Settings.TypesSettings.ItemTypes();
    for (UserType type : data.getItemTypes()) {
      Settings.TypesSettings.Type itemType = new Settings.TypesSettings.Type();
      itemType.setName(type.getName());
      itemType.setColor(String.valueOf(type.getColor().getRGB()));
      itemType.setSign((type.getSign()) ? "+" : "-"); // diff -/+
      for (String desc : type.getPreparedDescriptions()) {
        Settings.TypesSettings.Description description = new Settings.TypesSettings.Description();
        description.setValue(desc);
        itemType.getDescriptions().add(description);
      }
      itemTypes.getItemTypes().add(itemType);
    }
    typesSettings.setItemTypes(itemTypes);
    Settings.TypesSettings.TaskTypes taskTypes = new Settings.TypesSettings.TaskTypes();
    for (UserType type : data.getTaskTypes()) {
      Settings.TypesSettings.Type taskType = new Settings.TypesSettings.Type();
      taskType.setName(type.getName());
      taskType.setColor(String.valueOf(type.getColor().getRGB()));
      taskType.setSign("?"); // not supported
      for (String desc : type.getPreparedDescriptions()) {
        Settings.TypesSettings.Description description = new Settings.TypesSettings.Description();
        description.setValue(desc);
        taskType.getDescriptions().add(description);
      }
      taskTypes.getTaskTypes().add(taskType);
    }
    typesSettings.setTaskTypes(taskTypes);
    Settings.TypesSettings.GlobalTaskTypes globalTaskTypes =
        new Settings.TypesSettings.GlobalTaskTypes();
    for (UserType type : data.getGlobalTaskTypes()) {
      Settings.TypesSettings.Type globalTaskType = new Settings.TypesSettings.Type();
      globalTaskType.setName(type.getName());
      globalTaskType.setColor(String.valueOf(type.getColor().getRGB()));
      globalTaskType.setSign("?"); // not supported
      for (String desc : type.getPreparedDescriptions()) {
        Settings.TypesSettings.Description description = new Settings.TypesSettings.Description();
        description.setValue(desc);
        globalTaskType.getDescriptions().add(description);
      }
      globalTaskTypes.getGlobalTaskTypes().add(globalTaskType);
    }
    typesSettings.setGlobalTaskTypes(globalTaskTypes);
    model.setTypesSettings(typesSettings);

    return model;
  }