package com.intrbiz.bergamot.ui.action; import org.apache.log4j.Logger; import com.intrbiz.bergamot.config.model.TimePeriodCfg; import com.intrbiz.bergamot.data.BergamotDB; import com.intrbiz.bergamot.model.Config; import com.intrbiz.bergamot.model.Site; import com.intrbiz.bergamot.model.TimePeriod; import com.intrbiz.metadata.Action; public class TimePeriodActions { private Logger logger = Logger.getLogger(TimePeriodActions.class); @Action("create-time-period") public TimePeriod createTimePeriod(TimePeriodCfg config) { if (config.getId() == null) throw new IllegalArgumentException("Config must have a valid ID"); try (BergamotDB db = BergamotDB.connect()) { // resolve the config db.getConfigResolver(Site.getSiteId(config.getId())).computeInheritenance(config); // store the config db.setConfig(new Config(config.getId(), Site.getSiteId(config.getId()), config)); // create the time period TimePeriod timePeriod = new TimePeriod(); timePeriod.configure(config); // store it? if (! config.getTemplateBooleanValue()) { logger.info("Storing TimePeriod: " + timePeriod.toJSON()); db.setTimePeriod(timePeriod); } return timePeriod; } } }