2 * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
3 * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
5 * This file is part of Jalview.
7 * Jalview is free software: you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
11 * Jalview is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty
13 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14 * PURPOSE. See the GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License along with Jalview. If not, see <http://www.gnu.org/licenses/>.
18 package jalview.ws.gui;
20 import static org.junit.Assert.assertTrue;
21 import jalview.gui.WsJobParameters;
22 import jalview.ws.jws2.JabaPreset;
23 import jalview.ws.jws2.Jws2Discoverer;
24 import jalview.ws.jws2.jabaws2.Jws2Instance;
26 import java.awt.BorderLayout;
27 import java.awt.event.WindowEvent;
28 import java.awt.event.WindowListener;
29 import java.util.ArrayList;
30 import java.util.Iterator;
31 import java.util.List;
32 import java.util.Vector;
34 import javax.swing.JFrame;
35 import javax.swing.JPanel;
37 import org.junit.Test;
39 import compbio.metadata.Option;
40 import compbio.metadata.Parameter;
41 import compbio.metadata.Preset;
42 import compbio.metadata.PresetManager;
44 public class Jws2ParamView
49 public static String[] serviceUrls = new String[]
50 { "http://localhost:8080/jabaws" };
53 * which services to test
55 public static List<String> serviceTests = new ArrayList<String>();
58 * which presets to test for services
60 public static List<String> presetTests = new ArrayList<String>();
63 serviceTests.add("AAConWS".toLowerCase());
67 public void testJws2Gui()
69 jalview.ws.jws2.Jws2Discoverer disc = jalview.ws.jws2.Jws2Discoverer
73 Vector<String> services = new Vector<String>();
74 for (String url : serviceUrls)
80 Jws2Discoverer.setServiceUrls(services);
87 System.err.println("Aborting. Problem discovering services. Tried "+svcurls);
91 assertTrue("Failed to discover any services at ",
92 disc.getServices().size() > 0);
93 Jws2Instance lastserv = null;
94 Iterator<String> presetEnum = presetTests.iterator();
95 for (Jws2Instance service : disc.getServices())
98 if (serviceTests.size() == 0
99 || serviceTests.contains(service.serviceType.toLowerCase()))
101 if (lastserv != null)
103 List<Preset> prl = null;
105 if (presetEnum.hasNext())
107 PresetManager prman = lastserv.getPresets();
110 pr = prman.getPresetByName(presetEnum.next());
113 // just grab the last preset.
114 prl = prman.getPresets();
120 PresetManager prman = lastserv.getPresets();
123 prl = prman.getPresets();
126 Iterator<Preset> en = (prl == null) ? null : prl.iterator();
127 while (en != null && en.hasNext())
138 System.out.println("Testing opts dupes for "
139 + lastserv.getUri() + " : "
140 + lastserv.getActionText() + ":" + pr.getName());
141 List<Option> rg = lastserv.getRunnerConfig().getOptions();
146 Option cpy = jalview.ws.jws2.ParameterUtils.copyOption(o);
147 } catch (Exception e)
149 System.err.println("Failed to copy " + o.getName());
153 System.err.println("Failed to copy " + o.getName());
159 System.out.println("Testing param dupes:");
160 List<Parameter> rg = lastserv.getRunnerConfig()
162 for (Parameter o : rg)
166 Parameter cpy = jalview.ws.jws2.ParameterUtils
168 } catch (Exception e)
170 System.err.println("Failed to copy " + o.getName());
174 System.err.println("Failed to copy " + o.getName());
180 System.out.println("Testing param write:");
181 List<String> writeparam = null, readparam = null;
184 writeparam = jalview.ws.jws2.ParameterUtils
186 pr.getArguments(lastserv.getRunnerConfig()),
188 System.out.println("Testing param read :");
189 List<Option> pset = jalview.ws.jws2.ParameterUtils
190 .processParameters(writeparam,
191 lastserv.getRunnerConfig(), " ");
192 readparam = jalview.ws.jws2.ParameterUtils
193 .writeParameterSet(pset, " ");
194 Iterator<String> o = pr.getOptions().iterator(), s = writeparam
195 .iterator(), t = readparam.iterator();
196 boolean failed = false;
197 while (s.hasNext() && t.hasNext())
199 String on = o.next(), sn = s.next(), st = t.next();
202 System.out.println("Original was " + on
203 + " Phase 1 wrote " + sn + "\tPhase 2 wrote "
210 System.out.println("Original parameters:\n"
212 System.out.println("Wrote parameters in first set:\n"
214 System.out.println("Wrote parameters in second set:\n"
218 } catch (Exception e)
223 WsJobParameters pgui = new WsJobParameters(lastserv,
224 new JabaPreset(lastserv, pr));
225 JFrame jf = new JFrame("Parameters for "
226 + lastserv.getActionText());
227 JPanel cont = new JPanel(new BorderLayout());
229 cont.setPreferredSize(pgui.getPreferredSize());
230 cont.add(pgui, BorderLayout.CENTER);
231 jf.setLayout(new BorderLayout());
232 jf.add(cont, BorderLayout.CENTER);
234 final Thread thr = Thread.currentThread();
235 jf.addWindowListener(new WindowListener()
238 public void windowActivated(WindowEvent e)
240 // TODO Auto-generated method stub
244 public void windowClosed(WindowEvent e)
248 public void windowClosing(WindowEvent e)
254 public void windowDeactivated(WindowEvent e)
256 // TODO Auto-generated method stub
260 public void windowDeiconified(WindowEvent e)
262 // TODO Auto-generated method stub
266 public void windowIconified(WindowEvent e)
268 // TODO Auto-generated method stub
272 public void windowOpened(WindowEvent e)
274 // TODO Auto-generated method stub
280 boolean inter = false;
286 } catch (Exception e)