/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.dlect.update; import javax.annotation.Nonnull; import org.dlect.controller.MainController; import org.dlect.model.Database; import org.dlect.model.helper.CommonSettingNames; /** * * @author lee */ public class UpdateCheckingHelper { private final MainController mc; private final OnlineUpdateChecker updateChecker; private final UpdateExecutor updateExecutor; public UpdateCheckingHelper(MainController mc) { this(mc, new OnlineUpdateCheckerImpl(), new UpdateExecutorImpl()); } public UpdateCheckingHelper(MainController mc, OnlineUpdateChecker updateChecker, UpdateExecutor updateExecutor) { this.updateChecker = updateChecker; this.mc = mc; this.updateExecutor = updateExecutor; } public void doUpdate(@Nonnull UpdateStyle us) throws UpdateException { boolean update = updateChecker.isUpdateAvaliable(mc.getDatabaseHandler().getSetting(CommonSettingNames.PROVIDER_CODE), mc.getDatabaseHandler().getSetting(CommonSettingNames.UUID), mc.getDatabaseHandler().getSetting(CommonSettingNames.BBID)); if (update) { updateExecutor.executeUpdate(us); } } }