[ismrmrd] 169/281: updating Java XML bindings for newest schema version.
Ghislain Vaillant
ghisvail-guest at moszumanska.debian.org
Wed Jan 14 20:01:10 UTC 2015
This is an automated email from the git hooks/post-receive script.
ghisvail-guest pushed a commit to annotated tag ismrmrd0.5
in repository ismrmrd.
commit 0f7dd648e6be31a8514929a39ce737a3d0a5275d
Author: Joseph Naegele <joseph.naegele at gmail.com>
Date: Fri Aug 23 11:42:57 2013 -0400
updating Java XML bindings for newest schema version.
---
bindings/java/XMLString.java | 32 +++++++++++++++++-------
examples/java/ismrmrd_test.java | 55 ++++++++++++++++++++++++-----------------
2 files changed, 55 insertions(+), 32 deletions(-)
diff --git a/bindings/java/XMLString.java b/bindings/java/XMLString.java
index d215e1d..8038712 100644
--- a/bindings/java/XMLString.java
+++ b/bindings/java/XMLString.java
@@ -1,6 +1,8 @@
package org.ismrm.ismrmrd.xmlhdr;
import javax.xml.bind.*;
+import javax.xml.namespace.QName;
+import javax.xml.transform.stream.*;
import java.io.StringReader;
import java.io.StringWriter;
@@ -8,21 +10,33 @@ import java.io.StringWriter;
public class XMLString {
public static IsmrmrdHeader StringToIsmrmrdHeader(String xmlstring) throws javax.xml.bind.JAXBException
{
- JAXBContext jc = JAXBContext.newInstance(IsmrmrdHeader.class);
- Unmarshaller u = jc.createUnmarshaller();
+ JAXBContext jaxbContext = JAXBContext.newInstance(IsmrmrdHeader.class);
+
+ Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
+
StringReader reader = new StringReader(xmlstring);
- IsmrmrdHeader hdr = (IsmrmrdHeader) u.unmarshal(reader);
- return hdr;
+
+ JAXBElement<IsmrmrdHeader> root = unmarshaller.unmarshal(new StreamSource(reader), IsmrmrdHeader.class);
+
+ return root.getValue();
}
public static String IsmrmrdHeaderToString(IsmrmrdHeader header) throws javax.xml.bind.JAXBException
{
- JAXBContext jc = JAXBContext.newInstance(IsmrmrdHeader.class);
- Marshaller m = jc.createMarshaller();
- m.setProperty(Marshaller.JAXB_SCHEMA_LOCATION, "http://www.ismrm.org/ISMRMRD ismrmrd.xsd");
- m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
+ JAXBContext jaxbContext = JAXBContext.newInstance(IsmrmrdHeader.class);
+
+ Marshaller marshaller = jaxbContext.createMarshaller();
+
+ marshaller.setProperty(Marshaller.JAXB_SCHEMA_LOCATION, "http://www.ismrm.org/ISMRMRD ismrmrd.xsd");
+ marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
+
StringWriter writer = new StringWriter();
- m.marshal(header, writer);
+
+ QName qname = new QName("http://www.ismrm.org/ISMRMRD", "ismrmrdHeader");
+ JAXBElement<IsmrmrdHeader> root = new JAXBElement(qname, IsmrmrdHeader.class, header);
+
+ marshaller.marshal(root, writer);
+
return writer.toString();
}
}
diff --git a/examples/java/ismrmrd_test.java b/examples/java/ismrmrd_test.java
index 07177ac..85b9fb7 100644
--- a/examples/java/ismrmrd_test.java
+++ b/examples/java/ismrmrd_test.java
@@ -5,42 +5,51 @@ public class ismrmrd_test {
public static void main(String argv[]) {
// Load the ISMRMRD JNI library
- try {
- JNILibLoader.load();
- }
- catch (java.net.URISyntaxException e) {
- System.err.println("JNI Library failed to load: " + e.getMessage());
+ try {
+ JNILibLoader.load();
+ }
+ catch (java.net.URISyntaxException e) {
+ System.err.println("JNI Library failed to load: " + e.getMessage());
System.exit(1);
- }
-
- String filename = "";
- if (argv.length == 1) {
- filename = argv[0];
- }
- else {
- System.err.println("Give me a filename.");
+ }
+
+ String filename = "";
+ if (argv.length == 1) {
+ filename = argv[0];
+ }
+ else {
+ System.err.println("Give me a filename.");
System.exit(1);
- }
-
+ }
+
IsmrmrdDataset f = new IsmrmrdDataset(filename, "/dataset");
String xmlstring = f.readHeader();
- System.out.println("The XML Header");
+
System.out.println(xmlstring);
- IsmrmrdHeader hdr = new IsmrmrdHeader();;
- try {
- hdr = XMLString.StringToIsmrmrdHeader(xmlstring);
- }
- catch (javax.xml.bind.JAXBException e){
- System.err.println("XML Header could not be parsed." + e.getMessage());
+ IsmrmrdHeader hdr = new IsmrmrdHeader();
+ try {
+ hdr = XMLString.StringToIsmrmrdHeader(xmlstring);
+ } catch (javax.xml.bind.JAXBException e) {
+ System.err.format("XML Header could not be parsed.%n%s", e.getMessage());
System.exit(1);
- }
+ }
+
long freq = hdr.getExperimentalConditions().getH1ResonanceFrequencyHz();
System.out.format("%n%n The resonance frequency is %d.%n", freq);
long nacq = f.getNumberOfAcquisitions();
System.out.format("%n%n The number of Acquisitions is %d.%n", nacq);
+ String xmlcopy = "";
+ try {
+ xmlcopy = XMLString.IsmrmrdHeaderToString(hdr);
+ } catch (javax.xml.bind.JAXBException e) {
+ System.err.format("XML Header could not be generated.%n%s", e.getMessage());
+ System.exit(1);
+ }
+
+ System.out.println(xmlcopy);
}
}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/ismrmrd.git
More information about the debian-science-commits
mailing list