{
URL url = new URL(file);
in = new BufferedReader(new InputStreamReader(url.openStream()));
- baseUri = url.toURI().getPath();
+ String bs = url.toExternalForm();
+ baseUri = bs.substring(0, bs.indexOf(url.getHost())
+ + url.getHost().length());
+ baseUri += url.toURI().getPath();
if (baseUri.lastIndexOf("/") > -1)
{
baseUri = baseUri.substring(0, baseUri.lastIndexOf("/")) + "/";
private boolean add_structmodel(AlignmentI al, SequenceI refSeq2, String tempId,
String urlToModel, String urlToPairwise)
{
- String warningMessage=null;
+ String warningMessage = null, modelPath = null, modelProt = null, aliPath = null, aliProt = null;
boolean added = false;
try {
// locate tempId. if it exists, will need to merge, otherwise:
SequenceI templateSeq = al.findName(tempId);
// 1. load urlToModel
- // TODO: get base for current import operation and resolve against it
- // transfer to local temp file ?
- PDBEntry modelpe = new PDBEntry(tempId,null,Type.FILE,urlToModel);
- PDBEntry templpe = new PDBEntry(tempId, null, Type.FILE, urlToModel);
+ modelPath = resolveAbsolute(urlToModel);
+ modelProt = AppletFormatAdapter.checkProtocol(modelPath);
+ // need to transfer to local temp file ?
+ PDBEntry modelpe = new PDBEntry(tempId, null, Type.FILE, modelPath);
+ PDBEntry templpe = new PDBEntry(tempId, null, Type.FILE, modelPath);
refSeq2.addPDBId(modelpe);
-
+ aliPath = resolveAbsolute(urlToPairwise);
+ aliProt = AppletFormatAdapter.checkProtocol(aliPath);
// 2. load urlToPairwise
- AlignmentI pwa = new AppletFormatAdapter().readFile(urlToPairwise,
- AppletFormatAdapter.checkProtocol(urlToPairwise), "FASTA");
+ AlignmentI pwa = new AppletFormatAdapter().readFile(aliPath, aliProt,
+ "FASTA");
SequenceI qPw = null, tPw = null;
if (pwa != null)
{
}
}
+ private String resolveAbsolute(String relURI)
+ {
+ if (relURI.indexOf(":/") > -1 || relURI.startsWith("/")
+ || "".equals(baseUri) || relURI.startsWith(baseUri))
+ {
+ return relURI;
+ }
+ return baseUri + relURI;
+ }
+
private void parseHideCols(ColumnSelection colSel, String nextToken)
{
StringTokenizer inval = new StringTokenizer(nextToken, ",");