package com.intrbiz.bergamot.ui.action;
import org.apache.log4j.Logger;
import com.intrbiz.bergamot.config.model.TeamCfg;
import com.intrbiz.bergamot.data.BergamotDB;
import com.intrbiz.bergamot.model.Config;
import com.intrbiz.bergamot.model.Site;
import com.intrbiz.bergamot.model.Team;
import com.intrbiz.metadata.Action;
public class TeamActions
{
private Logger logger = Logger.getLogger(TeamActions.class);
@Action("create-team")
public Team createTeam(TeamCfg 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 team
Team team = new Team();
team.configure(config);
// store it?
if (! config.getTemplateBooleanValue())
{
logger.info("Storing Team: " + team.toJSON());
db.setTeam(team);
}
return team;
}
}
}