package edu.harvard.iq.dataverse.privateurl; import edu.harvard.iq.dataverse.Dataset; import edu.harvard.iq.dataverse.RoleAssignment; /** * Dataset authors can create and send a Private URL to a reviewer to see the * lasted draft of their dataset (even if the dataset has never been published) * without having to create an account. When the dataset is published, the * Private URL is deleted. */ public class PrivateUrl { private final Dataset dataset; private final RoleAssignment roleAssignment; /** * The unique string of characters in the Private URL that associates it * (the link) with a particular dataset. * * The token is also available at roleAssignment.getPrivateUrlToken(). */ private final String token; /** * This is the link that the reviewer will click. * * @todo This link should probably be some sort of URL object rather than a * String. */ private final String link; public PrivateUrl(RoleAssignment roleAssignment, Dataset dataset, String dataverseSiteUrl) { this.token = roleAssignment.getPrivateUrlToken(); this.link = dataverseSiteUrl + "/privateurl.xhtml?token=" + token; this.dataset = dataset; this.roleAssignment = roleAssignment; } public Dataset getDataset() { return dataset; } public RoleAssignment getRoleAssignment() { return roleAssignment; } public String getToken() { return token; } public String getLink() { return link; } }