X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FIdPanel.java;h=b03a638009795ce3af121dc9bc0d79cc41ad15a2;hb=9201765247470c08d366abef2713c1c736adf2cb;hp=feca8461cbd492a19e725a0e88eaee311fe506d1;hpb=a889a61789f15e79ecde7043cddfdea18ad00166;p=jalview.git diff --git a/src/jalview/appletgui/IdPanel.java b/src/jalview/appletgui/IdPanel.java index feca846..b03a638 100755 --- a/src/jalview/appletgui/IdPanel.java +++ b/src/jalview/appletgui/IdPanel.java @@ -24,8 +24,9 @@ import jalview.datamodel.Sequence; import jalview.datamodel.SequenceFeature; import jalview.datamodel.SequenceGroup; import jalview.datamodel.SequenceI; -import jalview.urls.UrlProvider; -import jalview.urls.UrlProviderI; +import jalview.urls.api.UrlProviderFactoryI; +import jalview.urls.api.UrlProviderI; +import jalview.urls.applet.AppletUrlProviderFactory; import jalview.viewmodel.AlignmentViewport; import java.awt.BorderLayout; @@ -36,7 +37,6 @@ import java.awt.event.MouseListener; import java.awt.event.MouseMotionListener; import java.util.HashMap; import java.util.List; -import java.util.Vector; public class IdPanel extends Panel implements MouseListener, MouseMotionListener @@ -78,14 +78,20 @@ public class IdPanel extends Panel implements MouseListener, label = av.applet.getParameter("linkLabel_" + i); url = av.applet.getParameter("linkURL_" + i); - urlList.put(label, url); + // only add non-null parameters + if (label != null) + { + urlList.put(label, url); + } } if (!urlList.isEmpty()) { // set default as first entry in list String defaultUrl = av.applet.getParameter("linkLabel_1"); - urlProvider = new UrlProvider(defaultUrl, urlList); + UrlProviderFactoryI factory = new AppletUrlProviderFactory( + defaultUrl, urlList); + urlProvider = factory.createUrlProvider(); } } } @@ -219,8 +225,8 @@ public class IdPanel extends Panel implements MouseListener, String id = sq.getName(); // get the default url with the sequence details filled in - String url = urlProvider.getDefaultUrl(id); - String target = urlProvider.getDefaultTarget(id); + String url = urlProvider.getPrimaryUrl(id); + String target = urlProvider.getPrimaryTarget(id); try { alignPanel.alignFrame.showURL(url, target); @@ -281,7 +287,7 @@ public class IdPanel extends Panel implements MouseListener, // build a new links menu based on the current links + any non-positional // features - Vector nlinks = urlProvider.getLinksForMenu(); + List nlinks = urlProvider.getLinksForMenu(); SequenceFeature sf[] = sq == null ? null : sq.getSequenceFeatures(); for (int sl = 0; sf != null && sl < sf.length; sl++) @@ -292,7 +298,7 @@ public class IdPanel extends Panel implements MouseListener, { for (int l = 0, lSize = sf[sl].links.size(); l < lSize; l++) { - nlinks.addElement(sf[sl].links.elementAt(l)); + nlinks.add(sf[sl].links.elementAt(l)); } } }