package edu.harvard.iq.dataverse.engine.command.impl; import edu.harvard.iq.dataverse.Dataset; 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; import edu.harvard.iq.dataverse.privateurl.PrivateUrl; import java.util.logging.Logger; @RequiredPermissions(Permission.ManageDatasetPermissions) public class GetPrivateUrlCommand extends AbstractCommand<PrivateUrl> { private static final Logger logger = Logger.getLogger(GetPrivateUrlCommand.class.getCanonicalName()); private final Dataset dataset; public GetPrivateUrlCommand(DataverseRequest aRequest, Dataset theDataset) { super(aRequest, theDataset); dataset = theDataset; } @Override public PrivateUrl execute(CommandContext ctxt) throws CommandException { logger.fine("GetPrivateUrlCommand called"); Long datasetId = dataset.getId(); if (datasetId == null) { // Perhaps a dataset is being created in the GUI. return null; } return ctxt.privateUrl().getPrivateUrlFromDatasetId(datasetId); } }