git://source.jalview.org
/
jalview.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
ce72594
)
JAL-3063 service param files read/saved using JAXB not Castor binding
author
gmungoc
<g.m.carstairs@dundee.ac.uk>
Fri, 28 Sep 2018 11:29:55 +0000
(12:29 +0100)
committer
gmungoc
<g.m.carstairs@dundee.ac.uk>
Fri, 28 Sep 2018 11:29:55 +0000
(12:29 +0100)
src/jalview/gui/WsParamSetManager.java
patch
|
blob
|
history
diff --git
a/src/jalview/gui/WsParamSetManager.java
b/src/jalview/gui/WsParamSetManager.java
index
d91775c
..
cb98856
100644
(file)
--- a/
src/jalview/gui/WsParamSetManager.java
+++ b/
src/jalview/gui/WsParamSetManager.java
@@
-27,8
+27,11
@@
import jalview.util.MessageManager;
import jalview.ws.params.ParamDatastoreI;
import jalview.ws.params.ParamManager;
import jalview.ws.params.WsParamSetI;
import jalview.ws.params.ParamDatastoreI;
import jalview.ws.params.ParamManager;
import jalview.ws.params.WsParamSetI;
+import jalview.xml.binding.jalview.ObjectFactory;
+import jalview.xml.binding.jalview.WebServiceParameterSet;
import java.io.File;
import java.io.File;
+import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
@@
-39,6
+42,12
@@
import java.util.Hashtable;
import java.util.List;
import java.util.StringTokenizer;
import java.util.List;
import java.util.StringTokenizer;
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.Marshaller;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamReader;
+
/**
* store and retrieve web service parameter sets.
*
/**
* store and retrieve web service parameter sets.
*
@@
-47,7
+56,7
@@
import java.util.StringTokenizer;
*/
public class WsParamSetManager implements ParamManager
{
*/
public class WsParamSetManager implements ParamManager
{
- Hashtable<String, ParamDatastoreI> paramparsers = new Hashtable<String, ParamDatastoreI>();
+ Hashtable<String, ParamDatastoreI> paramparsers = new Hashtable<>();
@Override
public WsParamSetI[] getParameterSet(String name, String serviceUrl,
@Override
public WsParamSetI[] getParameterSet(String name, String serviceUrl,
@@
-60,7
+69,7
@@
public class WsParamSetManager implements ParamManager
}
StringTokenizer st = new StringTokenizer(files, "|");
String pfile = null;
}
StringTokenizer st = new StringTokenizer(files, "|");
String pfile = null;
- ArrayList<WsParamSetI> params = new ArrayList<WsParamSetI>();
+ List<WsParamSetI> params = new ArrayList<>();
while (st.hasMoreTokens())
{
pfile = st.nextToken();
while (st.hasMoreTokens())
{
pfile = st.nextToken();
@@
-107,33
+116,39
@@
public class WsParamSetManager implements ParamManager
private WsParamSetI[] parseParamFile(String filename) throws IOException
{
private WsParamSetI[] parseParamFile(String filename) throws IOException
{
- List<WsParamSetI> psets = new ArrayList<WsParamSetI>();
+ List<WsParamSetI> psets = new ArrayList<>();
InputStreamReader is = new InputStreamReader(
InputStreamReader is = new InputStreamReader(
- new java.io.FileInputStream(new File(filename)), "UTF-8");
-
- jalview.schemabinding.version2.WebServiceParameterSet wspset = new jalview.schemabinding.version2.WebServiceParameterSet();
+ new FileInputStream(new File(filename)), "UTF-8");
- org.exolab.castor.xml.Unmarshaller unmar = new org.exolab.castor.xml.Unmarshaller(
- wspset);
- unmar.setWhitespacePreserve(true);
+ WebServiceParameterSet wspset = null;
try
{
try
{
- wspset = (jalview.schemabinding.version2.WebServiceParameterSet) unmar
- .unmarshal(is);
+ JAXBContext jc = JAXBContext
+ .newInstance("jalview.xml.binding.jalview");
+ javax.xml.bind.Unmarshaller um = jc.createUnmarshaller();
+ XMLStreamReader streamReader = XMLInputFactory.newInstance()
+ .createXMLStreamReader(is);
+ JAXBElement<WebServiceParameterSet> jbe = um.unmarshal(streamReader,
+ WebServiceParameterSet.class);
+ wspset = jbe.getValue();
} catch (Exception ex)
{
throw new IOException(ex);
}
} catch (Exception ex)
{
throw new IOException(ex);
}
+
if (wspset != null && wspset.getParameters().length() > 0)
{
if (wspset != null && wspset.getParameters().length() > 0)
{
- for (String url : wspset.getServiceURL())
+ List<String> urls = wspset.getServiceURL();
+ final String[] urlArray = urls.toArray(new String[urls.size()]);
+
+ for (String url : urls)
{
ParamDatastoreI parser = paramparsers.get(url);
if (parser != null)
{
WsParamSetI pset = parser.parseServiceParameterFile(
wspset.getName(), wspset.getDescription(),
{
ParamDatastoreI parser = paramparsers.get(url);
if (parser != null)
{
WsParamSetI pset = parser.parseServiceParameterFile(
wspset.getName(), wspset.getDescription(),
- wspset.getServiceURL(), wspset.getParameters());
+ urlArray, wspset.getParameters());
if (pset != null)
{
pset.setSourceFile(filename);
if (pset != null)
{
pset.setSourceFile(filename);
@@
-190,8
+205,7
@@
public class WsParamSetManager implements ParamManager
if (value == JalviewFileChooser.APPROVE_OPTION)
{
outfile = chooser.getSelectedFile();
if (value == JalviewFileChooser.APPROVE_OPTION)
{
outfile = chooser.getSelectedFile();
- jalview.bin.Cache.setProperty("LAST_DIRECTORY",
- outfile.getParent());
+ Cache.setProperty("LAST_DIRECTORY", outfile.getParent());
filename = outfile.getAbsolutePath();
if (!filename.endsWith(".wsparams"))
{
filename = outfile.getAbsolutePath();
if (!filename.endsWith(".wsparams"))
{
@@
-212,13
+226,16
@@
public class WsParamSetManager implements ParamManager
}
paramFiles = paramFiles.concat(filename);
}
}
paramFiles = paramFiles.concat(filename);
}
- jalview.bin.Cache.setProperty("WS_PARAM_FILES", paramFiles);
+ Cache.setProperty("WS_PARAM_FILES", paramFiles);
- jalview.schemabinding.version2.WebServiceParameterSet paramxml = new jalview.schemabinding.version2.WebServiceParameterSet();
+ WebServiceParameterSet paramxml = new WebServiceParameterSet();
paramxml.setName(parameterSet.getName());
paramxml.setDescription(parameterSet.getDescription());
paramxml.setName(parameterSet.getName());
paramxml.setDescription(parameterSet.getDescription());
- paramxml.setServiceURL(parameterSet.getApplicableUrls().clone());
+ for (String url : parameterSet.getApplicableUrls())
+ {
+ paramxml.getServiceURL().add(url);
+ }
paramxml.setVersion("1.0");
try
{
paramxml.setVersion("1.0");
try
{
@@
-226,7
+243,12
@@
public class WsParamSetManager implements ParamManager
parser.generateServiceParameterFile(parameterSet));
PrintWriter out = new PrintWriter(new OutputStreamWriter(
new FileOutputStream(outfile), "UTF-8"));
parser.generateServiceParameterFile(parameterSet));
PrintWriter out = new PrintWriter(new OutputStreamWriter(
new FileOutputStream(outfile), "UTF-8"));
- paramxml.marshal(out);
+ JAXBContext jaxbContext = JAXBContext
+ .newInstance(WebServiceParameterSet.class);
+ Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
+ jaxbMarshaller.marshal(
+ new ObjectFactory().createWebServiceParameterSet(paramxml),
+ out);
out.close();
parameterSet.setSourceFile(filename);
} catch (Exception e)
out.close();
parameterSet.setSourceFile(filename);
} catch (Exception e)