2 * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
3 * Copyright (C) 2014 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 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/>.
17 * The Jalview Authors are detailed in the 'AUTHORS' file.
19 package jalview.ws.gui;
21 import static org.junit.Assert.*;
22 import jalview.gui.WsJobParameters;
23 import jalview.ws.jabaws.JalviewJabawsTestUtils;
24 import jalview.ws.jws2.JabaPreset;
25 import jalview.ws.jws2.Jws2Discoverer;
26 import jalview.ws.jws2.jabaws2.Jws2Instance;
28 import java.awt.BorderLayout;
29 import java.awt.event.WindowEvent;
30 import java.awt.event.WindowListener;
31 import java.util.ArrayList;
32 import java.util.Iterator;
33 import java.util.List;
35 import javax.swing.JFrame;
36 import javax.swing.JPanel;
38 import org.junit.BeforeClass;
39 import org.junit.Test;
41 import compbio.metadata.Option;
42 import compbio.metadata.Parameter;
43 import compbio.metadata.Preset;
44 import compbio.metadata.PresetManager;
46 public class Jws2ParamView
49 * which services to test
51 public static List<String> serviceTests = new ArrayList<String>();
54 * which presets to test for services
56 public static List<String> presetTests = new ArrayList<String>();
59 serviceTests.add("AAConWS".toLowerCase());
62 public static Jws2Discoverer disc=null;
64 public static void setUpBeforeClass() throws Exception
66 disc = JalviewJabawsTestUtils.getJabawsDiscoverer();
70 public void testJws2Gui()
72 Jws2Instance lastserv = null;
73 Iterator<String> presetEnum = presetTests.iterator();
74 for (Jws2Instance service : disc.getServices())
77 if (serviceTests.size() == 0
78 || serviceTests.contains(service.serviceType.toLowerCase()))
82 List<Preset> prl = null;
84 if (presetEnum.hasNext())
86 PresetManager prman = lastserv.getPresets();
89 pr = prman.getPresetByName(presetEnum.next());
92 // just grab the last preset.
93 prl = prman.getPresets();
99 PresetManager prman = lastserv.getPresets();
102 prl = prman.getPresets();
105 Iterator<Preset> en = (prl == null) ? null : prl.iterator();
106 while (en != null && en.hasNext())
117 System.out.println("Testing opts dupes for "
118 + lastserv.getUri() + " : "
119 + lastserv.getActionText() + ":" + pr.getName());
120 List<Option> rg = lastserv.getRunnerConfig().getOptions();
125 Option cpy = jalview.ws.jws2.ParameterUtils.copyOption(o);
126 } catch (Exception e)
128 System.err.println("Failed to copy " + o.getName());
132 System.err.println("Failed to copy " + o.getName());
138 System.out.println("Testing param dupes:");
139 List<Parameter> rg = lastserv.getRunnerConfig()
141 for (Parameter o : rg)
145 Parameter cpy = jalview.ws.jws2.ParameterUtils
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 write:");
160 List<String> writeparam = null, readparam = null;
163 writeparam = jalview.ws.jws2.ParameterUtils
165 pr.getArguments(lastserv.getRunnerConfig()),
167 System.out.println("Testing param read :");
168 List<Option> pset = jalview.ws.jws2.ParameterUtils
169 .processParameters(writeparam,
170 lastserv.getRunnerConfig(), " ");
171 readparam = jalview.ws.jws2.ParameterUtils
172 .writeParameterSet(pset, " ");
173 Iterator<String> o = pr.getOptions().iterator(), s = writeparam
174 .iterator(), t = readparam.iterator();
175 boolean failed = false;
176 while (s.hasNext() && t.hasNext())
178 String on = o.next(), sn = s.next(), st = t.next();
181 System.out.println("Original was " + on
182 + " Phase 1 wrote " + sn + "\tPhase 2 wrote "
189 System.out.println("Original parameters:\n"
191 System.out.println("Wrote parameters in first set:\n"
193 System.out.println("Wrote parameters in second set:\n"
197 } catch (Exception e)
202 WsJobParameters pgui = new WsJobParameters(lastserv,
203 new JabaPreset(lastserv, pr));
204 JFrame jf = new JFrame("Parameters for "
205 + lastserv.getActionText());
206 JPanel cont = new JPanel(new BorderLayout());
208 cont.setPreferredSize(pgui.getPreferredSize());
209 cont.add(pgui, BorderLayout.CENTER);
210 jf.setLayout(new BorderLayout());
211 jf.add(cont, BorderLayout.CENTER);
213 final Thread thr = Thread.currentThread();
214 jf.addWindowListener(new WindowListener()
217 public void windowActivated(WindowEvent e)
219 // TODO Auto-generated method stub
223 public void windowClosed(WindowEvent e)
227 public void windowClosing(WindowEvent e)
233 public void windowDeactivated(WindowEvent e)
235 // TODO Auto-generated method stub
239 public void windowDeiconified(WindowEvent e)
241 // TODO Auto-generated method stub
245 public void windowIconified(WindowEvent e)
247 // TODO Auto-generated method stub
251 public void windowOpened(WindowEvent e)
253 // TODO Auto-generated method stub
259 boolean inter = false;
265 } catch (Exception e)