/* * 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 edu.harvard.iq.dataverse.engine.command.impl; import edu.harvard.iq.dataverse.Dataverse; import edu.harvard.iq.dataverse.authorization.Permission; import edu.harvard.iq.dataverse.engine.command.AbstractCommand; import edu.harvard.iq.dataverse.engine.command.CommandContext; import edu.harvard.iq.dataverse.engine.command.DataverseRequest; import edu.harvard.iq.dataverse.engine.command.RequiredPermissions; import edu.harvard.iq.dataverse.engine.command.exception.CommandException; /** * * @author skraffmi */ @RequiredPermissions(Permission.EditDataverse) public class UpdateDataverseGuestbookRootCommand extends AbstractCommand<Dataverse> { private final boolean newValue; private Dataverse dv; public UpdateDataverseGuestbookRootCommand(boolean newValue, DataverseRequest aRequest, Dataverse anAffectedDataverse) { super(aRequest, anAffectedDataverse); this.newValue = newValue; this.dv = anAffectedDataverse; } @Override public Dataverse execute(CommandContext ctxt) throws CommandException { if (dv.isGuestbookRoot() != newValue) { dv.setGuestbookRoot(newValue); dv = ctxt.dataverses().save(dv); } return dv; } }