package org.broad.igv.ga4gh;
import org.apache.log4j.Logger;
import org.broad.igv.exceptions.HttpResponseException;
import org.broad.igv.ui.action.LoadFromURLMenuAction;
import org.broad.igv.ui.util.MessageUtils;
import org.broad.igv.util.HttpUtils;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
/**
* Created by jrobinson on 7/15/16.
*/
public class GoogleUtils {
private static Logger log = Logger.getLogger(GoogleUtils.class);
/**
* gs://igv-bam-test/NA12878.bam
* https://www.googleapis.com/storage/v1/b/igv-bam-test/o/NA12878.bam
*
* @param gsUrl
* @return
*/
public static String translateGoogleCloudURL(String gsUrl) {
int i = gsUrl.indexOf('/', 5);
if (i < 0) {
log.error("Invalid gs url: " + gsUrl);
return gsUrl;
}
String bucket = gsUrl.substring(5, i);
String object = gsUrl.substring(i + 1);
try {
object = URLEncoder.encode(object, "UTF8");
} catch (UnsupportedEncodingException e) {
// This isn't going to happen
log.error(e);
}
return "https://www.googleapis.com/storage/v1/b/" + bucket + "/o/" + object + "?alt=media";
}
}