Package com.madgnome.jira.plugins.jirachievements.data.upgrades.v1

Source Code of com.madgnome.jira.plugins.jirachievements.data.upgrades.v1.InitDatabaseTask

package com.madgnome.jira.plugins.jirachievements.data.upgrades.v1;

import com.atlassian.activeobjects.external.ActiveObjects;
import com.madgnome.jira.plugins.jirachievements.data.ao.*;
import com.madgnome.jira.plugins.jirachievements.data.services.IAchievementDaoService;
import com.madgnome.jira.plugins.jirachievements.data.services.IConfigDaoService;
import com.madgnome.jira.plugins.jirachievements.data.services.ILevelDaoService;
import com.madgnome.jira.plugins.jirachievements.data.services.IStatisticRefDaoService;
import com.madgnome.jira.plugins.jirachievements.data.services.impl.AchievementDaoService;
import com.madgnome.jira.plugins.jirachievements.data.services.impl.ConfigDaoService;
import com.madgnome.jira.plugins.jirachievements.data.services.impl.LevelDaoService;
import com.madgnome.jira.plugins.jirachievements.data.services.impl.StatisticRefDaoService;
import com.madgnome.jira.plugins.jirachievements.data.upgrades.AbstractUpgradeTask;
import com.madgnome.jira.plugins.jirachievements.utils.initializers.AchievementsInitializer;
import com.madgnome.jira.plugins.jirachievements.utils.initializers.ConfigsInitializer;
import com.madgnome.jira.plugins.jirachievements.utils.initializers.LevelsInitializer;
import com.madgnome.jira.plugins.jirachievements.utils.initializers.StatisticsRefInitializer;

public class InitDatabaseTask extends AbstractUpgradeTask
{
  private IAchievementDaoService achievementDaoService;
  private IStatisticRefDaoService statisticRefDaoService;
  private ILevelDaoService levelDaoService;
  private IConfigDaoService configDaoService;

  @Override
  protected int getVersion()
  {
    return 1;
  }

  @Override
  protected void doUpgrade(ActiveObjects ao)
  {
    try
    {
      initializeAO(ao);

      initializeAchievements();
      initializeStatistics();
      initializeConfigs();
      initializeLevels();
    }
    catch (Exception e)
    {
      logger.error("Failed to initialize JIRA Hero database", e);
    }
  }



  @SuppressWarnings({"unchecked"})
  private void initializeAO(ActiveObjects ao)
  {
    ao.migrate(Achievement.class,
               Config.class,
               Level.class,
               Statistic.class,
               StatisticRef.class,
               UserAchievement.class,
               UserWrapper.class);

    achievementDaoService = new AchievementDaoService(ao);
    statisticRefDaoService = new StatisticRefDaoService(ao);
    configDaoService = new ConfigDaoService(ao);
    levelDaoService = new LevelDaoService(ao, statisticRefDaoService);
  }

  private void initializeAchievements()
  {
    AchievementsInitializer achievementsInitializerinitializer = new AchievementsInitializer(achievementDaoService);
    achievementsInitializerinitializer.initialize();
  }

  private void initializeStatistics()
  {
    StatisticsRefInitializer statisticsRefInitializer = new StatisticsRefInitializer(statisticRefDaoService);
    statisticsRefInitializer.initialize();
  }

  private void initializeLevels()
  {
    LevelsInitializer levelsInitializer = new LevelsInitializer(levelDaoService);
    levelsInitializer.initialize();
  }

  private void initializeConfigs()
  {
    ConfigsInitializer configsInitializer = new ConfigsInitializer(configDaoService);
    configsInitializer.initialize();
  }
}
TOP

Related Classes of com.madgnome.jira.plugins.jirachievements.data.upgrades.v1.InitDatabaseTask

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.