2 * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3 * Copyright (C) $$Year-Rel$$ The Jalview Authors
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
10 * of the License, or (at your option) any later version.
12 * Jalview is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty
14 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 * PURPOSE. See the GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
19 * The Jalview Authors are detailed in the 'AUTHORS' file.
21 package jalview.ws.gui;
23 import java.awt.BorderLayout;
24 import java.awt.event.WindowEvent;
25 import java.awt.event.WindowListener;
26 import java.util.ArrayList;
27 import java.util.Iterator;
28 import java.util.List;
30 import javax.swing.JFrame;
31 import javax.swing.JPanel;
33 import org.junit.BeforeClass;
34 import org.junit.Test;
36 import compbio.metadata.Option;
37 import compbio.metadata.Parameter;
38 import compbio.metadata.Preset;
39 import compbio.metadata.PresetManager;
41 import jalview.bin.Cache;
42 import jalview.gui.WsJobParameters;
43 import jalview.util.MessageManager;
44 import jalview.ws.jabaws.JalviewJabawsTestUtils;
45 import jalview.ws.jws2.JabaPreset;
46 import jalview.ws.jws2.Jws2Discoverer;
47 import jalview.ws.jws2.jabaws2.Jws2Instance;
49 public class Jws2ParamView
52 * which services to test
54 public static List<String> serviceTests = new ArrayList<String>();
57 * which presets to test for services
59 public static List<String> presetTests = new ArrayList<String>();
62 serviceTests.add("AAConWS".toLowerCase());
65 public static Jws2Discoverer disc = null;
68 public static void setUpBeforeClass() throws Exception
71 disc = JalviewJabawsTestUtils.getJabawsDiscoverer();
76 public void testJws2Gui()
78 Jws2Instance lastserv = null;
79 Iterator<String> presetEnum = presetTests.iterator();
80 for (Jws2Instance service : disc.getServices())
83 if (serviceTests.size() == 0
84 || serviceTests.contains(service.serviceType.toLowerCase()))
88 List<Preset> prl = null;
90 if (presetEnum.hasNext())
92 PresetManager prman = lastserv.getPresets();
95 pr = prman.getPresetByName(presetEnum.next());
98 // just grab the last preset.
99 prl = prman.getPresets();
105 PresetManager prman = lastserv.getPresets();
108 prl = prman.getPresets();
111 Iterator<Preset> en = (prl == null) ? null : prl.iterator();
112 while (en != null && en.hasNext())
123 System.out.println("Testing opts dupes for "
124 + lastserv.getUri() + " : "
125 + lastserv.getActionText() + ":" + pr.getName());
126 List<Option> rg = lastserv.getRunnerConfig().getOptions();
131 Option cpy = jalview.ws.jws2.ParameterUtils.copyOption(o);
132 } catch (Exception e)
134 System.err.println("Failed to copy " + o.getName());
138 System.err.println("Failed to copy " + o.getName());
144 System.out.println("Testing param dupes:");
145 List<Parameter> rg = lastserv.getRunnerConfig()
147 for (Parameter o : rg)
151 Parameter cpy = jalview.ws.jws2.ParameterUtils
153 } catch (Exception e)
155 System.err.println("Failed to copy " + o.getName());
159 System.err.println("Failed to copy " + o.getName());
165 System.out.println("Testing param write:");
166 List<String> writeparam = null, readparam = null;
169 writeparam = jalview.ws.jws2.ParameterUtils
171 pr.getArguments(lastserv.getRunnerConfig()),
173 System.out.println("Testing param read :");
174 List<Option> pset = jalview.ws.jws2.ParameterUtils
175 .processParameters(writeparam,
176 lastserv.getRunnerConfig(), " ");
177 readparam = jalview.ws.jws2.ParameterUtils
178 .writeParameterSet(pset, " ");
179 Iterator<String> o = pr.getOptions().iterator(), s = writeparam
180 .iterator(), t = readparam.iterator();
181 boolean failed = false;
182 while (s.hasNext() && t.hasNext())
184 String on = o.next(), sn = s.next(), st = t.next();
187 System.out.println("Original was " + on
188 + " Phase 1 wrote " + sn + "\tPhase 2 wrote "
195 System.out.println("Original parameters:\n"
197 System.out.println("Wrote parameters in first set:\n"
199 System.out.println("Wrote parameters in second set:\n"
203 } catch (Exception e)
208 WsJobParameters pgui = new WsJobParameters(lastserv,
209 new JabaPreset(lastserv, pr));
210 JFrame jf = new JFrame(MessageManager.formatMessage("label.ws_parameters_for", new String[]{lastserv.getActionText()}));
211 JPanel cont = new JPanel(new BorderLayout());
213 cont.setPreferredSize(pgui.getPreferredSize());
214 cont.add(pgui, BorderLayout.CENTER);
215 jf.setLayout(new BorderLayout());
216 jf.add(cont, BorderLayout.CENTER);
218 final Thread thr = Thread.currentThread();
219 jf.addWindowListener(new WindowListener()
222 public void windowActivated(WindowEvent e)
224 // TODO Auto-generated method stub
228 public void windowClosed(WindowEvent e)
232 public void windowClosing(WindowEvent e)
238 public void windowDeactivated(WindowEvent e)
240 // TODO Auto-generated method stub
244 public void windowDeiconified(WindowEvent e)
246 // TODO Auto-generated method stub
250 public void windowIconified(WindowEvent e)
252 // TODO Auto-generated method stub
256 public void windowOpened(WindowEvent e)
258 // TODO Auto-generated method stub
264 boolean inter = false;
270 } catch (Exception e)