package edu.harvard.iq.dataverse.api.datadeposit;
import edu.harvard.iq.dataverse.Dataset;
import edu.harvard.iq.dataverse.DatasetLock;
import org.swordapp.server.SwordError;
import org.swordapp.server.UriRegistry;
/**
* @todo move all this to the newer SwordService Bean
*/
public class SwordUtil {
static String DCTERMS = "http://purl.org/dc/terms/";
/**
* @todo get rid of this method
*/
public static SwordError throwSpecialSwordErrorWithoutStackTrace(String SwordUriRegistryError, String error) {
if (SwordUriRegistryError == null) {
SwordUriRegistryError = UriRegistry.ERROR_BAD_REQUEST;
}
if (error == null) {
error = "UNKNOWN";
}
SwordError swordError = new SwordError(SwordUriRegistryError, error);
StackTraceElement[] emptyStackTrace = new StackTraceElement[0];
swordError.setStackTrace(emptyStackTrace);
return swordError;
}
/**
* @todo get rid of this method
*/
public static SwordError throwRegularSwordErrorWithoutStackTrace(String error) {
if (error == null) {
error = "UNKNOWN";
}
SwordError swordError = new SwordError(error);
StackTraceElement[] emptyStackTrace = new StackTraceElement[0];
swordError.setStackTrace(emptyStackTrace);
return swordError;
}
public static void datasetLockCheck(Dataset dataset) throws SwordError {
DatasetLock datasetLock = dataset.getDatasetLock();
if (datasetLock != null) {
String message = "Please try again later. Unable to perform operation due to dataset lock: " + datasetLock.getInfo();
throw new SwordError(UriRegistry.ERROR_BAD_REQUEST, message);
}
}
}