Experimental OGF Usage Record Format 2.0 bindings
derived from https://www.ogf.org/documents/GFD.204.pdf
diff --git a/NOTICE b/NOTICE
index 70207fd..341ce0c 100644
--- a/NOTICE
+++ b/NOTICE
@@ -39,3 +39,27 @@
information herein will not infringe any rights or any implied
warranties of merchantability or fitness for a particular purpose.
---------------------------------------------------------
+org.apache.taverna.server.usagerecord.xml.urf2 classes are
+derived from https://www.ogf.org/documents/GFD.204.pdf
+
+ Copyright © Open Grid Forum (2006-2013). Some Rights Reserved.
+
+ This document and translations of it may be copied and furnished to others,
+ and derivative works that comment on or otherwise explain it or assist in its
+ implementation may be prepared, copied, published and distributed, in whole
+ or in part, without restriction of any kind, provided that the above
+ copyright notice and this paragraph are included as references to the derived
+ portions on all such copies and derivative works. The published OGF document
+ from which such works are derived, however, may not be modified in any way,
+ such as by removing the copyright notice or references to the OGF or other
+ organizations, except as needed for the purpose of developing new or updated
+ OGF documents in conformance with the procedures defined in the OGF Document
+ Process, or as required to translate it into languages other than English.
+ OGF, with the approval of its board, may remove this restriction for
+ inclusion of OGF document content for the purpose of producing standards in
+ cooperation with other international standards bodies.
+
+ The limited permissions granted above are perpetual and will not be revoked
+ by the OGF or its successors or assignees.
+ ---------------------------------------------------------
+
\ No newline at end of file
diff --git a/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/package-info.java b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/package-info.java
index 55b378f..4326ba9 100644
--- a/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/package-info.java
+++ b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/package-info.java
@@ -15,10 +15,10 @@
* limitations under the License.
*/
/**
- * Open Grid Forum GFD.98 Usage Record
+ * Open Grid Forum GFD.98 Usage Record Format
* <p>
- * JAXB bean for a a <em>Usage Record</em> as described by Open Grid Forum's
- * specification <a href="https://www.ogf.org/documents/GFD.98.pdf">GFD.98</a>.
+ * JAXB bean for the <em>Usage Record Format 1.0</em> as described by Open Grid Forum (OGF)
+ * specification <a href="https://www.ogf.org/documents/GFD.98.pdf">GFD-R-P.098</a>.
* <p>
* The main class {@link org.apache.taverna.server.usagerecord.JobUsageRecord}
* represents the outer <code><UsageRecord></code> element
@@ -28,9 +28,15 @@
* the packages {@link org.apache.taverna.server.usagerecord.xml.urf} representing
* the namespace <code>http://schema.ogf.org/urf/2003/09/urf</code> and
* {@link org.apache.taverna.server.usagerecord.xml.dsig} representing
- * the namespace <code>http://www.w3.org/2000/09/xmldsig#</code>
+ * the namespace <code>http://www.w3.org/2000/09/xmldsig#</code>.
+ * <p>
+ * The package {@link org.apache.taverna.server.usagerecord.xml.urf2} provides
+ * experimental bindings for the <em>Usage Record Format 2.0</em>
+ * as specified by the superseding OGF specification
+ * <a href="https://www.ogf.org/documents/GFD.204.pdf">GFD-R-P.204</a>.
*
- * @see <a href="https://www.ogf.org/documents/GFD.98.pdf">Open Grid Forum specification GFD.98 (Usage Record)</a>
+ * @see <a href="https://www.ogf.org/documents/GFD.98.pdf">Open Grid Forum specification GFD.98</a>
+ * @see <a href="https://www.ogf.org/documents/GFD.204.pdf">Open Grid Forum specification GFD.204</a>
* @see <a href="https://www.w3.org/TR/xmldsig-core1/">W3C Recommendation XML Signature Syntax and Processing Version 1.1</a>
*/
@javax.xml.bind.annotation.XmlSchema(namespace = "http://schema.ogf.org/urf/2003/09/urf", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
diff --git a/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/BenchmarkType.java b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/BenchmarkType.java
new file mode 100644
index 0000000..353cb20
--- /dev/null
+++ b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/BenchmarkType.java
@@ -0,0 +1,91 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2018.01.04 at 04:15:49 PM GMT
+//
+
+
+package org.apache.taverna.server.usagerecord.xml.urf2;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+
+
+/**
+ * Open Grid Forum GFD.204 Usage Record type <code>BenchmarkType</code>
+ *
+ * @see <a href="https://www.ogf.org/documents/GFD.204.pdf#subsubsection.5.5.3">GFD.204 section 5.5.3</a>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "BenchmarkType", propOrder = {
+ "value"
+})
+public class BenchmarkType {
+
+ @XmlValue
+ protected float value;
+ @XmlAttribute(name = "type", namespace = "http://schema.ogf.org/urf/2013/04/urf", required = true)
+ protected String type;
+
+ /**
+ * Gets the value of the value property.
+ *
+ */
+ public float getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ */
+ public void setValue(float value) {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value of the type property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getType() {
+ return type;
+ }
+
+ /**
+ * Sets the value of the type property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setType(String value) {
+ this.type = value;
+ }
+
+}
diff --git a/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/CloudUsageBlockType.java b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/CloudUsageBlockType.java
new file mode 100644
index 0000000..4f0ec9d
--- /dev/null
+++ b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/CloudUsageBlockType.java
@@ -0,0 +1,295 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2018.01.04 at 04:15:49 PM GMT
+//
+
+
+package org.apache.taverna.server.usagerecord.xml.urf2;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.datatype.Duration;
+
+/**
+ * Open Grid Forum GFD.204 Usage Record type <code>CloudUsageBlock</code>
+ *
+ * @see <a href="https://www.ogf.org/documents/GFD.204.pdf#section.9">GFD.204 section 9</a>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CloudUsageBlockType", propOrder = {
+ "localVirtualMachineId",
+ "globalVirtualMachineId",
+ "status",
+ "suspendDuration",
+ "imageId",
+ "machineName",
+ "submitHost",
+ "timeInstant",
+ "serviceLevel"
+})
+public class CloudUsageBlockType {
+
+ @XmlElement(name = "LocalVirtualMachineId")
+ protected String localVirtualMachineId;
+ @XmlElement(name = "GlobalVirtualMachineId")
+ protected String globalVirtualMachineId;
+ @XmlElement(name = "Status", required = true)
+ protected String status;
+ @XmlElement(name = "SuspendDuration")
+ protected Duration suspendDuration;
+ @XmlElement(name = "ImageId")
+ protected String imageId;
+ @XmlElement(name = "MachineName")
+ protected String machineName;
+ @XmlElement(name = "SubmitHost")
+ protected String submitHost;
+ @XmlElement(name = "TimeInstant")
+ protected List<TimeInstantType> timeInstant;
+ @XmlElement(name = "ServiceLevel")
+ protected String serviceLevel;
+
+ /**
+ * Gets the value of the localVirtualMachineId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getLocalVirtualMachineId() {
+ return localVirtualMachineId;
+ }
+
+ /**
+ * Sets the value of the localVirtualMachineId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setLocalVirtualMachineId(String value) {
+ this.localVirtualMachineId = value;
+ }
+
+ /**
+ * Gets the value of the globalVirtualMachineId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getGlobalVirtualMachineId() {
+ return globalVirtualMachineId;
+ }
+
+ /**
+ * Sets the value of the globalVirtualMachineId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setGlobalVirtualMachineId(String value) {
+ this.globalVirtualMachineId = value;
+ }
+
+ /**
+ * Gets the value of the status property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getStatus() {
+ return status;
+ }
+
+ /**
+ * Sets the value of the status property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setStatus(String value) {
+ this.status = value;
+ }
+
+ /**
+ * Gets the value of the suspendDuration property.
+ *
+ * @return
+ * possible object is
+ * {@link Duration }
+ *
+ */
+ public Duration getSuspendDuration() {
+ return suspendDuration;
+ }
+
+ /**
+ * Sets the value of the suspendDuration property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Duration }
+ *
+ */
+ public void setSuspendDuration(Duration value) {
+ this.suspendDuration = value;
+ }
+
+ /**
+ * Gets the value of the imageId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getImageId() {
+ return imageId;
+ }
+
+ /**
+ * Sets the value of the imageId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setImageId(String value) {
+ this.imageId = value;
+ }
+
+ /**
+ * Gets the value of the machineName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getMachineName() {
+ return machineName;
+ }
+
+ /**
+ * Sets the value of the machineName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setMachineName(String value) {
+ this.machineName = value;
+ }
+
+ /**
+ * Gets the value of the submitHost property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSubmitHost() {
+ return submitHost;
+ }
+
+ /**
+ * Sets the value of the submitHost property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSubmitHost(String value) {
+ this.submitHost = value;
+ }
+
+ /**
+ * Gets the value of the timeInstant property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the timeInstant property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getTimeInstant().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link TimeInstantType }
+ *
+ *
+ */
+ public List<TimeInstantType> getTimeInstant() {
+ if (timeInstant == null) {
+ timeInstant = new ArrayList<TimeInstantType>();
+ }
+ return this.timeInstant;
+ }
+
+ /**
+ * Gets the value of the serviceLevel property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getServiceLevel() {
+ return serviceLevel;
+ }
+
+ /**
+ * Sets the value of the serviceLevel property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setServiceLevel(String value) {
+ this.serviceLevel = value;
+ }
+
+}
diff --git a/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/ComputeUsageBlockType.java b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/ComputeUsageBlockType.java
new file mode 100644
index 0000000..900ce32
--- /dev/null
+++ b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/ComputeUsageBlockType.java
@@ -0,0 +1,331 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2018.01.04 at 04:15:49 PM GMT
+//
+
+
+package org.apache.taverna.server.usagerecord.xml.urf2;
+
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.datatype.Duration;
+import javax.xml.datatype.XMLGregorianCalendar;
+
+
+/**
+ * Open Grid Forum GFD.204 Usage Record type <code>ComputeUsageBlockType</code>
+ *
+ * @see <a href="https://www.ogf.org/documents/GFD.204.pdf#section.5">GFD.204 section 5</a>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ComputeUsageBlockType", propOrder = {
+ "cpuDuration",
+ "wallDuration",
+ "startTime",
+ "endTime",
+ "executionHost",
+ "hostType",
+ "processors",
+ "nodeCount",
+ "exitStatus",
+ "charge"
+})
+public class ComputeUsageBlockType {
+
+ @XmlElement(name = "CpuDuration", required = true)
+ protected Duration cpuDuration;
+ @XmlElement(name = "WallDuration", required = true)
+ protected Duration wallDuration;
+ @XmlElement(name = "StartTime", required = true)
+ @XmlSchemaType(name = "dateTime")
+ protected XMLGregorianCalendar startTime;
+ @XmlElement(name = "EndTime", required = true)
+ @XmlSchemaType(name = "dateTime")
+ protected XMLGregorianCalendar endTime;
+ @XmlElement(name = "ExecutionHost")
+ protected List<ExecutionHostType> executionHost;
+ @XmlElement(name = "HostType")
+ protected String hostType;
+ @XmlElement(name = "Processors")
+ @XmlSchemaType(name = "positiveInteger")
+ protected BigInteger processors;
+ @XmlElement(name = "NodeCount")
+ @XmlSchemaType(name = "positiveInteger")
+ protected BigInteger nodeCount;
+ @XmlElement(name = "ExitStatus")
+ protected BigInteger exitStatus;
+ @XmlElement(name = "Charge")
+ protected BigDecimal charge;
+
+ /**
+ * Gets the value of the cpuDuration property.
+ *
+ * @return
+ * possible object is
+ * {@link Duration }
+ *
+ */
+ public Duration getCpuDuration() {
+ return cpuDuration;
+ }
+
+ /**
+ * Sets the value of the cpuDuration property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Duration }
+ *
+ */
+ public void setCpuDuration(Duration value) {
+ this.cpuDuration = value;
+ }
+
+ /**
+ * Gets the value of the wallDuration property.
+ *
+ * @return
+ * possible object is
+ * {@link Duration }
+ *
+ */
+ public Duration getWallDuration() {
+ return wallDuration;
+ }
+
+ /**
+ * Sets the value of the wallDuration property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Duration }
+ *
+ */
+ public void setWallDuration(Duration value) {
+ this.wallDuration = value;
+ }
+
+ /**
+ * Gets the value of the startTime property.
+ *
+ * @return
+ * possible object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getStartTime() {
+ return startTime;
+ }
+
+ /**
+ * Sets the value of the startTime property.
+ *
+ * @param value
+ * allowed object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public void setStartTime(XMLGregorianCalendar value) {
+ this.startTime = value;
+ }
+
+ /**
+ * Gets the value of the endTime property.
+ *
+ * @return
+ * possible object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getEndTime() {
+ return endTime;
+ }
+
+ /**
+ * Sets the value of the endTime property.
+ *
+ * @param value
+ * allowed object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public void setEndTime(XMLGregorianCalendar value) {
+ this.endTime = value;
+ }
+
+ /**
+ * Gets the value of the executionHost property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the executionHost property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getExecutionHost().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link ExecutionHostType }
+ *
+ *
+ */
+ public List<ExecutionHostType> getExecutionHost() {
+ if (executionHost == null) {
+ executionHost = new ArrayList<ExecutionHostType>();
+ }
+ return this.executionHost;
+ }
+
+ /**
+ * Gets the value of the hostType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getHostType() {
+ return hostType;
+ }
+
+ /**
+ * Sets the value of the hostType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setHostType(String value) {
+ this.hostType = value;
+ }
+
+ /**
+ * Gets the value of the processors property.
+ *
+ * @return
+ * possible object is
+ * {@link BigInteger }
+ *
+ */
+ public BigInteger getProcessors() {
+ return processors;
+ }
+
+ /**
+ * Sets the value of the processors property.
+ *
+ * @param value
+ * allowed object is
+ * {@link BigInteger }
+ *
+ */
+ public void setProcessors(BigInteger value) {
+ this.processors = value;
+ }
+
+ /**
+ * Gets the value of the nodeCount property.
+ *
+ * @return
+ * possible object is
+ * {@link BigInteger }
+ *
+ */
+ public BigInteger getNodeCount() {
+ return nodeCount;
+ }
+
+ /**
+ * Sets the value of the nodeCount property.
+ *
+ * @param value
+ * allowed object is
+ * {@link BigInteger }
+ *
+ */
+ public void setNodeCount(BigInteger value) {
+ this.nodeCount = value;
+ }
+
+ /**
+ * Gets the value of the exitStatus property.
+ *
+ * @return
+ * possible object is
+ * {@link BigInteger }
+ *
+ */
+ public BigInteger getExitStatus() {
+ return exitStatus;
+ }
+
+ /**
+ * Sets the value of the exitStatus property.
+ *
+ * @param value
+ * allowed object is
+ * {@link BigInteger }
+ *
+ */
+ public void setExitStatus(BigInteger value) {
+ this.exitStatus = value;
+ }
+
+ /**
+ * Gets the value of the charge property.
+ *
+ * @return
+ * possible object is
+ * {@link BigDecimal }
+ *
+ */
+ public BigDecimal getCharge() {
+ return charge;
+ }
+
+ /**
+ * Sets the value of the charge property.
+ *
+ * @param value
+ * allowed object is
+ * {@link BigDecimal }
+ *
+ */
+ public void setCharge(BigDecimal value) {
+ this.charge = value;
+ }
+
+}
diff --git a/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/ExecutionHostType.java b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/ExecutionHostType.java
new file mode 100644
index 0000000..3f65b5a
--- /dev/null
+++ b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/ExecutionHostType.java
@@ -0,0 +1,142 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2018.01.04 at 04:15:49 PM GMT
+//
+
+
+package org.apache.taverna.server.usagerecord.xml.urf2;
+
+import java.math.BigInteger;
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Open Grid Forum GFD.204 Usage Record type <code>ExecutionHostType</code>
+ *
+ * @see <a href="https://www.ogf.org/documents/GFD.204.pdf#subsection.5.5">GFD.204 section 5.5</a>
+ *
+ */
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ExecutionHostType", propOrder = {
+ "hostname",
+ "processId",
+ "benchmark"
+})
+public class ExecutionHostType {
+
+ @XmlElement(name = "Hostname", required = true)
+ protected HostnameType hostname;
+ @XmlElement(name = "ProcessId")
+ @XmlSchemaType(name = "positiveInteger")
+ protected List<BigInteger> processId;
+ @XmlElement(name = "Benchmark")
+ protected List<BenchmarkType> benchmark;
+
+ /**
+ * Gets the value of the hostname property.
+ *
+ * @return
+ * possible object is
+ * {@link HostnameType }
+ *
+ */
+ public HostnameType getHostname() {
+ return hostname;
+ }
+
+ /**
+ * Sets the value of the hostname property.
+ *
+ * @param value
+ * allowed object is
+ * {@link HostnameType }
+ *
+ */
+ public void setHostname(HostnameType value) {
+ this.hostname = value;
+ }
+
+ /**
+ * Gets the value of the processId property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the processId property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getProcessId().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link BigInteger }
+ *
+ *
+ */
+ public List<BigInteger> getProcessId() {
+ if (processId == null) {
+ processId = new ArrayList<BigInteger>();
+ }
+ return this.processId;
+ }
+
+ /**
+ * Gets the value of the benchmark property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the benchmark property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getBenchmark().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link BenchmarkType }
+ *
+ *
+ */
+ public List<BenchmarkType> getBenchmark() {
+ if (benchmark == null) {
+ benchmark = new ArrayList<BenchmarkType>();
+ }
+ return this.benchmark;
+ }
+
+}
diff --git a/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/GlobalGroupAttributeType.java b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/GlobalGroupAttributeType.java
new file mode 100644
index 0000000..e201928
--- /dev/null
+++ b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/GlobalGroupAttributeType.java
@@ -0,0 +1,99 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2018.01.04 at 04:15:49 PM GMT
+//
+
+
+package org.apache.taverna.server.usagerecord.xml.urf2;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+
+
+/**
+ * Open Grid Forum GFD.204 Usage Record type <code>GlobalGroupAttributeType</code>
+ *
+ * @see <a href="https://www.ogf.org/documents/GFD.204.pdf#subsection.4.5">GFD.204 section 4.5</a>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "GlobalGroupAttributeType", propOrder = {
+ "value"
+})
+public class GlobalGroupAttributeType {
+
+ @XmlValue
+ protected String value;
+ @XmlAttribute(name = "type", namespace = "http://schema.ogf.org/urf/2013/04/urf", required = true)
+ protected String type;
+
+ /**
+ * Gets the value of the value property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value of the type property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getType() {
+ return type;
+ }
+
+ /**
+ * Sets the value of the type property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setType(String value) {
+ this.type = value;
+ }
+
+}
diff --git a/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/HostnameType.java b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/HostnameType.java
new file mode 100644
index 0000000..10cd1fa
--- /dev/null
+++ b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/HostnameType.java
@@ -0,0 +1,98 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2018.01.04 at 04:15:49 PM GMT
+//
+
+
+package org.apache.taverna.server.usagerecord.xml.urf2;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+
+/**
+ * Open Grid Forum GFD.204 Usage Record type <code>HostnameType</code>
+ *
+ * @see <a href="https://www.ogf.org/documents/GFD.204.pdf#subsubsection.5.5.1">GFD.204 section 5.5.1</a>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "HostnameType", propOrder = {
+ "value"
+})
+public class HostnameType {
+
+ @XmlValue
+ protected String value;
+ @XmlAttribute(name = "primary", namespace = "http://schema.ogf.org/urf/2013/04/urf")
+ protected Boolean primary;
+
+ /**
+ * Gets the value of the value property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value of the primary property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isPrimary() {
+ return primary;
+ }
+
+ /**
+ * Sets the value of the primary property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setPrimary(Boolean value) {
+ this.primary = value;
+ }
+
+}
diff --git a/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/InfrastructureType.java b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/InfrastructureType.java
new file mode 100644
index 0000000..c3cc75d
--- /dev/null
+++ b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/InfrastructureType.java
@@ -0,0 +1,99 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2018.01.04 at 04:15:49 PM GMT
+//
+
+
+package org.apache.taverna.server.usagerecord.xml.urf2;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+
+
+/**
+ * Open Grid Forum GFD.204 Usage Record type <code>InfrastructureType</code>
+ *
+ * @see <a href="https://www.ogf.org/documents/GFD.204.pdf#subsection.3.4">GFD.204 section 3.4</a>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "InfrastructureType", propOrder = {
+ "value"
+})
+public class InfrastructureType {
+
+ @XmlValue
+ protected String value;
+ @XmlAttribute(name = "description", namespace = "http://schema.ogf.org/urf/2013/04/urf")
+ protected String description;
+
+ /**
+ * Gets the value of the value property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value of the description property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getDescription() {
+ return description;
+ }
+
+ /**
+ * Sets the value of the description property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setDescription(String value) {
+ this.description = value;
+ }
+
+}
diff --git a/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/JobUsageBlockType.java b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/JobUsageBlockType.java
new file mode 100644
index 0000000..8db59dc
--- /dev/null
+++ b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/JobUsageBlockType.java
@@ -0,0 +1,321 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2018.01.04 at 04:15:49 PM GMT
+//
+
+
+package org.apache.taverna.server.usagerecord.xml.urf2;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * Open Grid Forum GFD.204 Usage Record type <code>JobUsageBlockType</code>
+ *
+ * @see <a href="https://www.ogf.org/documents/GFD.204.pdf#section.6">GFD.204 section 6</a>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "JobUsageBlockType", propOrder = {
+ "globalJobId",
+ "localJobId",
+ "jobName",
+ "machineName",
+ "submitHost",
+ "submitType",
+ "queue",
+ "timeInstant",
+ "serviceLevel",
+ "status"
+})
+public class JobUsageBlockType {
+
+ @XmlElement(name = "GlobalJobId")
+ protected String globalJobId;
+ @XmlElement(name = "LocalJobId")
+ protected String localJobId;
+ @XmlElement(name = "JobName")
+ protected String jobName;
+ @XmlElement(name = "MachineName")
+ protected String machineName;
+ @XmlElement(name = "SubmitHost")
+ protected String submitHost;
+ @XmlElement(name = "SubmitType")
+ protected SubmitTypeType submitType;
+ @XmlElement(name = "Queue")
+ protected QueueType queue;
+ @XmlElement(name = "TimeInstant")
+ protected List<TimeInstantType> timeInstant;
+ @XmlElement(name = "ServiceLevel")
+ protected String serviceLevel;
+ @XmlElement(name = "Status", required = true)
+ protected String status;
+
+ /**
+ * Gets the value of the globalJobId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getGlobalJobId() {
+ return globalJobId;
+ }
+
+ /**
+ * Sets the value of the globalJobId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setGlobalJobId(String value) {
+ this.globalJobId = value;
+ }
+
+ /**
+ * Gets the value of the localJobId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getLocalJobId() {
+ return localJobId;
+ }
+
+ /**
+ * Sets the value of the localJobId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setLocalJobId(String value) {
+ this.localJobId = value;
+ }
+
+ /**
+ * Gets the value of the jobName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getJobName() {
+ return jobName;
+ }
+
+ /**
+ * Sets the value of the jobName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setJobName(String value) {
+ this.jobName = value;
+ }
+
+ /**
+ * Gets the value of the machineName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getMachineName() {
+ return machineName;
+ }
+
+ /**
+ * Sets the value of the machineName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setMachineName(String value) {
+ this.machineName = value;
+ }
+
+ /**
+ * Gets the value of the submitHost property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSubmitHost() {
+ return submitHost;
+ }
+
+ /**
+ * Sets the value of the submitHost property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSubmitHost(String value) {
+ this.submitHost = value;
+ }
+
+ /**
+ * Gets the value of the submitType property.
+ *
+ * @return
+ * possible object is
+ * {@link SubmitTypeType }
+ *
+ */
+ public SubmitTypeType getSubmitType() {
+ return submitType;
+ }
+
+ /**
+ * Sets the value of the submitType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link SubmitTypeType }
+ *
+ */
+ public void setSubmitType(SubmitTypeType value) {
+ this.submitType = value;
+ }
+
+ /**
+ * Gets the value of the queue property.
+ *
+ * @return
+ * possible object is
+ * {@link QueueType }
+ *
+ */
+ public QueueType getQueue() {
+ return queue;
+ }
+
+ /**
+ * Sets the value of the queue property.
+ *
+ * @param value
+ * allowed object is
+ * {@link QueueType }
+ *
+ */
+ public void setQueue(QueueType value) {
+ this.queue = value;
+ }
+
+ /**
+ * Gets the value of the timeInstant property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the timeInstant property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getTimeInstant().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link TimeInstantType }
+ *
+ *
+ */
+ public List<TimeInstantType> getTimeInstant() {
+ if (timeInstant == null) {
+ timeInstant = new ArrayList<TimeInstantType>();
+ }
+ return this.timeInstant;
+ }
+
+ /**
+ * Gets the value of the serviceLevel property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getServiceLevel() {
+ return serviceLevel;
+ }
+
+ /**
+ * Sets the value of the serviceLevel property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setServiceLevel(String value) {
+ this.serviceLevel = value;
+ }
+
+ /**
+ * Gets the value of the status property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getStatus() {
+ return status;
+ }
+
+ /**
+ * Sets the value of the status property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setStatus(String value) {
+ this.status = value;
+ }
+
+}
diff --git a/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/MemoryUsageBlockType.java b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/MemoryUsageBlockType.java
new file mode 100644
index 0000000..f12dc09
--- /dev/null
+++ b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/MemoryUsageBlockType.java
@@ -0,0 +1,297 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2018.01.04 at 04:15:49 PM GMT
+//
+
+
+package org.apache.taverna.server.usagerecord.xml.urf2;
+
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.datatype.XMLGregorianCalendar;
+
+
+/**
+ * Open Grid Forum GFD.204 Usage Record type <code>MemoryUsageBlockType</code>
+ *
+ * @see <a href="https://www.ogf.org/documents/GFD.204.pdf#section.7">GFD.204 section 7</a>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MemoryUsageBlockType", propOrder = {
+ "memoryClass",
+ "memoryResourceCapacityUsed",
+ "memoryResourceCapacityAllocated",
+ "memoryResourceCapacityRequested",
+ "startTime",
+ "endTime",
+ "executionHost",
+ "hostType",
+ "charge"
+})
+public class MemoryUsageBlockType {
+
+ @XmlElement(name = "MemoryClass", required = true)
+ protected String memoryClass;
+ @XmlElement(name = "MemoryResourceCapacityUsed", required = true)
+ @XmlSchemaType(name = "nonNegativeInteger")
+ protected BigInteger memoryResourceCapacityUsed;
+ @XmlElement(name = "MemoryResourceCapacityAllocated")
+ @XmlSchemaType(name = "nonNegativeInteger")
+ protected BigInteger memoryResourceCapacityAllocated;
+ @XmlElement(name = "MemoryResourceCapacityRequested")
+ @XmlSchemaType(name = "nonNegativeInteger")
+ protected BigInteger memoryResourceCapacityRequested;
+ @XmlElement(name = "StartTime", required = true)
+ @XmlSchemaType(name = "dateTime")
+ protected XMLGregorianCalendar startTime;
+ @XmlElement(name = "EndTime", required = true)
+ @XmlSchemaType(name = "dateTime")
+ protected XMLGregorianCalendar endTime;
+ @XmlElement(name = "ExecutionHost")
+ protected ExecutionHostType executionHost;
+ @XmlElement(name = "HostType")
+ protected String hostType;
+ @XmlElement(name = "Charge")
+ protected BigDecimal charge;
+
+ /**
+ * Gets the value of the memoryClass property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getMemoryClass() {
+ return memoryClass;
+ }
+
+ /**
+ * Sets the value of the memoryClass property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setMemoryClass(String value) {
+ this.memoryClass = value;
+ }
+
+ /**
+ * Gets the value of the memoryResourceCapacityUsed property.
+ *
+ * @return
+ * possible object is
+ * {@link BigInteger }
+ *
+ */
+ public BigInteger getMemoryResourceCapacityUsed() {
+ return memoryResourceCapacityUsed;
+ }
+
+ /**
+ * Sets the value of the memoryResourceCapacityUsed property.
+ *
+ * @param value
+ * allowed object is
+ * {@link BigInteger }
+ *
+ */
+ public void setMemoryResourceCapacityUsed(BigInteger value) {
+ this.memoryResourceCapacityUsed = value;
+ }
+
+ /**
+ * Gets the value of the memoryResourceCapacityAllocated property.
+ *
+ * @return
+ * possible object is
+ * {@link BigInteger }
+ *
+ */
+ public BigInteger getMemoryResourceCapacityAllocated() {
+ return memoryResourceCapacityAllocated;
+ }
+
+ /**
+ * Sets the value of the memoryResourceCapacityAllocated property.
+ *
+ * @param value
+ * allowed object is
+ * {@link BigInteger }
+ *
+ */
+ public void setMemoryResourceCapacityAllocated(BigInteger value) {
+ this.memoryResourceCapacityAllocated = value;
+ }
+
+ /**
+ * Gets the value of the memoryResourceCapacityRequested property.
+ *
+ * @return
+ * possible object is
+ * {@link BigInteger }
+ *
+ */
+ public BigInteger getMemoryResourceCapacityRequested() {
+ return memoryResourceCapacityRequested;
+ }
+
+ /**
+ * Sets the value of the memoryResourceCapacityRequested property.
+ *
+ * @param value
+ * allowed object is
+ * {@link BigInteger }
+ *
+ */
+ public void setMemoryResourceCapacityRequested(BigInteger value) {
+ this.memoryResourceCapacityRequested = value;
+ }
+
+ /**
+ * Gets the value of the startTime property.
+ *
+ * @return
+ * possible object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getStartTime() {
+ return startTime;
+ }
+
+ /**
+ * Sets the value of the startTime property.
+ *
+ * @param value
+ * allowed object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public void setStartTime(XMLGregorianCalendar value) {
+ this.startTime = value;
+ }
+
+ /**
+ * Gets the value of the endTime property.
+ *
+ * @return
+ * possible object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getEndTime() {
+ return endTime;
+ }
+
+ /**
+ * Sets the value of the endTime property.
+ *
+ * @param value
+ * allowed object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public void setEndTime(XMLGregorianCalendar value) {
+ this.endTime = value;
+ }
+
+ /**
+ * Gets the value of the executionHost property.
+ *
+ * @return
+ * possible object is
+ * {@link ExecutionHostType }
+ *
+ */
+ public ExecutionHostType getExecutionHost() {
+ return executionHost;
+ }
+
+ /**
+ * Sets the value of the executionHost property.
+ *
+ * @param value
+ * allowed object is
+ * {@link ExecutionHostType }
+ *
+ */
+ public void setExecutionHost(ExecutionHostType value) {
+ this.executionHost = value;
+ }
+
+ /**
+ * Gets the value of the hostType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getHostType() {
+ return hostType;
+ }
+
+ /**
+ * Sets the value of the hostType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setHostType(String value) {
+ this.hostType = value;
+ }
+
+ /**
+ * Gets the value of the charge property.
+ *
+ * @return
+ * possible object is
+ * {@link BigDecimal }
+ *
+ */
+ public BigDecimal getCharge() {
+ return charge;
+ }
+
+ /**
+ * Sets the value of the charge property.
+ *
+ * @param value
+ * allowed object is
+ * {@link BigDecimal }
+ *
+ */
+ public void setCharge(BigDecimal value) {
+ this.charge = value;
+ }
+
+}
diff --git a/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/NetworkClassType.java b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/NetworkClassType.java
new file mode 100644
index 0000000..14e828e
--- /dev/null
+++ b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/NetworkClassType.java
@@ -0,0 +1,103 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2018.01.04 at 04:15:49 PM GMT
+//
+
+
+package org.apache.taverna.server.usagerecord.xml.urf2;
+
+import java.math.BigInteger;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+
+
+
+/**
+ * Open Grid Forum GFD.204 Usage Record type <code>NetworkClassType</code>
+ *
+ * @see <a href="https://www.ogf.org/documents/GFD.204.pdf#subsection.10.1">GFD.204 section 10.1</a>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "NetworkClassType", propOrder = {
+ "value"
+})
+public class NetworkClassType {
+
+ @XmlValue
+ protected String value;
+ @XmlAttribute(name = "NetworkResourceBandwidth", namespace = "http://schema.ogf.org/urf/2013/04/urf")
+ @XmlSchemaType(name = "positiveInteger")
+ protected BigInteger networkResourceBandwidth;
+
+ /**
+ * Gets the value of the value property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value of the networkResourceBandwidth property.
+ *
+ * @return
+ * possible object is
+ * {@link BigInteger }
+ *
+ */
+ public BigInteger getNetworkResourceBandwidth() {
+ return networkResourceBandwidth;
+ }
+
+ /**
+ * Sets the value of the networkResourceBandwidth property.
+ *
+ * @param value
+ * allowed object is
+ * {@link BigInteger }
+ *
+ */
+ public void setNetworkResourceBandwidth(BigInteger value) {
+ this.networkResourceBandwidth = value;
+ }
+
+}
diff --git a/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/NetworkInboundUsedType.java b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/NetworkInboundUsedType.java
new file mode 100644
index 0000000..5a93ec3
--- /dev/null
+++ b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/NetworkInboundUsedType.java
@@ -0,0 +1,101 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2018.01.04 at 04:15:49 PM GMT
+//
+
+
+package org.apache.taverna.server.usagerecord.xml.urf2;
+
+import java.math.BigInteger;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+
+/**
+ * Open Grid Forum GFD.204 Usage Record type <code>NetworkInboundUsedType</code>
+ *
+ * @see <a href="https://www.ogf.org/documents/GFD.204.pdf#subsection.10.2">GFD.204 section 10.2</a>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "NetworkInboundUsedType", propOrder = {
+ "value"
+})
+public class NetworkInboundUsedType {
+
+ @XmlValue
+ @XmlSchemaType(name = "nonNegativeInteger")
+ protected BigInteger value;
+ @XmlAttribute(name = "SourceAddress", namespace = "http://schema.ogf.org/urf/2013/04/urf")
+ protected String sourceAddress;
+
+ /**
+ * Gets the value of the value property.
+ *
+ * @return
+ * possible object is
+ * {@link BigInteger }
+ *
+ */
+ public BigInteger getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is
+ * {@link BigInteger }
+ *
+ */
+ public void setValue(BigInteger value) {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value of the sourceAddress property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSourceAddress() {
+ return sourceAddress;
+ }
+
+ /**
+ * Sets the value of the sourceAddress property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSourceAddress(String value) {
+ this.sourceAddress = value;
+ }
+
+}
diff --git a/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/NetworkOutboundUsedType.java b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/NetworkOutboundUsedType.java
new file mode 100644
index 0000000..773b63a
--- /dev/null
+++ b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/NetworkOutboundUsedType.java
@@ -0,0 +1,101 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2018.01.04 at 04:15:49 PM GMT
+//
+
+
+package org.apache.taverna.server.usagerecord.xml.urf2;
+
+import java.math.BigInteger;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+
+/**
+ * Open Grid Forum GFD.204 Usage Record type <code>NetworkOutboundUsedType</code>
+ *
+ * @see <a href="https://www.ogf.org/documents/GFD.204.pdf#subsection.10.3">GFD.204 section 10.3</a>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "NetworkOutboundUsedType", propOrder = {
+ "value"
+})
+public class NetworkOutboundUsedType {
+
+ @XmlValue
+ @XmlSchemaType(name = "nonNegativeInteger")
+ protected BigInteger value;
+ @XmlAttribute(name = "DestinationAddress", namespace = "http://schema.ogf.org/urf/2013/04/urf")
+ protected String destinationAddress;
+
+ /**
+ * Gets the value of the value property.
+ *
+ * @return
+ * possible object is
+ * {@link BigInteger }
+ *
+ */
+ public BigInteger getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is
+ * {@link BigInteger }
+ *
+ */
+ public void setValue(BigInteger value) {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value of the destinationAddress property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getDestinationAddress() {
+ return destinationAddress;
+ }
+
+ /**
+ * Sets the value of the destinationAddress property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setDestinationAddress(String value) {
+ this.destinationAddress = value;
+ }
+
+}
diff --git a/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/NetworkUsageBlockType.java b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/NetworkUsageBlockType.java
new file mode 100644
index 0000000..53a710e
--- /dev/null
+++ b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/NetworkUsageBlockType.java
@@ -0,0 +1,154 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2018.01.04 at 04:15:49 PM GMT
+//
+
+
+package org.apache.taverna.server.usagerecord.xml.urf2;
+
+import java.math.BigDecimal;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Open Grid Forum GFD.204 Usage Record type <code>NetworkUsageBlockType</code>
+ *
+ * @see <a href="https://www.ogf.org/documents/GFD.204.pdf#section.10">GFD.204 section 10</a>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "NetworkUsageBlockType", propOrder = {
+ "networkClass",
+ "networkInboundUsed",
+ "networkOutboundUsed",
+ "charge"
+})
+public class NetworkUsageBlockType {
+
+ @XmlElement(name = "NetworkClass", required = true)
+ protected NetworkClassType networkClass;
+ @XmlElement(name = "NetworkInboundUsed", required = true)
+ protected NetworkInboundUsedType networkInboundUsed;
+ @XmlElement(name = "NetworkOutboundUsed", required = true)
+ protected NetworkOutboundUsedType networkOutboundUsed;
+ @XmlElement(name = "Charge")
+ protected BigDecimal charge;
+
+ /**
+ * Gets the value of the networkClass property.
+ *
+ * @return
+ * possible object is
+ * {@link NetworkClassType }
+ *
+ */
+ public NetworkClassType getNetworkClass() {
+ return networkClass;
+ }
+
+ /**
+ * Sets the value of the networkClass property.
+ *
+ * @param value
+ * allowed object is
+ * {@link NetworkClassType }
+ *
+ */
+ public void setNetworkClass(NetworkClassType value) {
+ this.networkClass = value;
+ }
+
+ /**
+ * Gets the value of the networkInboundUsed property.
+ *
+ * @return
+ * possible object is
+ * {@link NetworkInboundUsedType }
+ *
+ */
+ public NetworkInboundUsedType getNetworkInboundUsed() {
+ return networkInboundUsed;
+ }
+
+ /**
+ * Sets the value of the networkInboundUsed property.
+ *
+ * @param value
+ * allowed object is
+ * {@link NetworkInboundUsedType }
+ *
+ */
+ public void setNetworkInboundUsed(NetworkInboundUsedType value) {
+ this.networkInboundUsed = value;
+ }
+
+ /**
+ * Gets the value of the networkOutboundUsed property.
+ *
+ * @return
+ * possible object is
+ * {@link NetworkOutboundUsedType }
+ *
+ */
+ public NetworkOutboundUsedType getNetworkOutboundUsed() {
+ return networkOutboundUsed;
+ }
+
+ /**
+ * Sets the value of the networkOutboundUsed property.
+ *
+ * @param value
+ * allowed object is
+ * {@link NetworkOutboundUsedType }
+ *
+ */
+ public void setNetworkOutboundUsed(NetworkOutboundUsedType value) {
+ this.networkOutboundUsed = value;
+ }
+
+ /**
+ * Gets the value of the charge property.
+ *
+ * @return
+ * possible object is
+ * {@link BigDecimal }
+ *
+ */
+ public BigDecimal getCharge() {
+ return charge;
+ }
+
+ /**
+ * Sets the value of the charge property.
+ *
+ * @param value
+ * allowed object is
+ * {@link BigDecimal }
+ *
+ */
+ public void setCharge(BigDecimal value) {
+ this.charge = value;
+ }
+
+}
diff --git a/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/ObjectFactory.java b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/ObjectFactory.java
new file mode 100644
index 0000000..e50bbb8
--- /dev/null
+++ b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/ObjectFactory.java
@@ -0,0 +1,850 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2018.01.04 at 04:15:49 PM GMT
+//
+
+
+package org.apache.taverna.server.usagerecord.xml.urf2;
+
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlElementDecl;
+import javax.xml.bind.annotation.XmlRegistry;
+import javax.xml.datatype.Duration;
+import javax.xml.datatype.XMLGregorianCalendar;
+import javax.xml.namespace.QName;
+
+
+/**
+ * This object contains factory methods for each
+ * Java content interface and Java element interface
+ * generated in the org.apache.taverna.server.usagerecord.xml.urf2 package.
+ * <p>An ObjectFactory allows you to programatically
+ * construct new instances of the Java representation
+ * for XML content. The Java representation of XML
+ * content can consist of schema derived interfaces
+ * and classes representing the binding of schema
+ * type definitions, element declarations and model
+ * groups. Factory methods for each of these are
+ * provided in this class.
+ *
+ */
+@XmlRegistry
+public class ObjectFactory {
+
+ private final static QName _Usage_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "Usage");
+ private final static QName _UsageRecord_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "UsageRecord");
+ private final static QName _RecordIdentityBlock_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "RecordIdentityBlock");
+ private final static QName _SubjectIdentityBlock_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "SubjectIdentityBlock");
+ private final static QName _ComputeUsageBlock_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "ComputeUsageBlock");
+ private final static QName _JobUsageBlock_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "JobUsageBlock");
+ private final static QName _MemoryUsageBlock_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "MemoryUsageBlock");
+ private final static QName _StorageUsageBlock_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "StorageUsageBlock");
+ private final static QName _CloudUsageBlock_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "CloudUsageBlock");
+ private final static QName _NetworkUsageBlock_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "NetworkUsageBlock");
+ private final static QName _RecordId_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "RecordId");
+ private final static QName _CreateTime_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "CreateTime");
+ private final static QName _Site_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "Site");
+ private final static QName _Infrastructure_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "Infrastructure");
+ private final static QName _LocalUserId_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "LocalUserId");
+ private final static QName _LocalGroupId_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "LocalGroupId");
+ private final static QName _GlobalUserId_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "GlobalUserId");
+ private final static QName _GlobalGroupId_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "GlobalGroupId");
+ private final static QName _GlobalGroupAttribute_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "GlobalGroupAttribute");
+ private final static QName _CpuDuration_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "CpuDuration");
+ private final static QName _WallDuration_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "WallDuration");
+ private final static QName _StartTime_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "StartTime");
+ private final static QName _EndTime_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "EndTime");
+ private final static QName _ExecutionHost_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "ExecutionHost");
+ private final static QName _HostType_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "HostType");
+ private final static QName _Processors_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "Processors");
+ private final static QName _NodeCount_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "NodeCount");
+ private final static QName _ExitStatus_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "ExitStatus");
+ private final static QName _Charge_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "Charge");
+ private final static QName _Hostname_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "Hostname");
+ private final static QName _ProcessId_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "ProcessId");
+ private final static QName _Benchmark_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "Benchmark");
+ private final static QName _GlobalJobId_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "GlobalJobId");
+ private final static QName _LocalJobId_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "LocalJobId");
+ private final static QName _JobName_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "JobName");
+ private final static QName _MachineName_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "MachineName");
+ private final static QName _SubmitHost_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "SubmitHost");
+ private final static QName _SubmitType_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "SubmitType");
+ private final static QName _Queue_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "Queue");
+ private final static QName _TimeInstant_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "TimeInstant");
+ private final static QName _ServiceLevel_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "ServiceLevel");
+ private final static QName _Status_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "Status");
+ private final static QName _MemoryClass_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "MemoryClass");
+ private final static QName _MemoryResourceCapacityUsed_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "MemoryResourceCapacityUsed");
+ private final static QName _MemoryResourceCapacityAllocated_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "MemoryResourceCapacityAllocated");
+ private final static QName _MemoryResourceCapacityRequested_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "MemoryResourceCapacityRequested");
+ private final static QName _StorageShare_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "StorageShare");
+ private final static QName _StorageMedia_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "StorageMedia");
+ private final static QName _StorageClass_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "StorageClass");
+ private final static QName _DirectoryPath_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "DirectoryPath");
+ private final static QName _FileCount_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "FileCount");
+ private final static QName _StorageResourceCapacityUsed_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "StorageResourceCapacityUsed");
+ private final static QName _StorageLogicalCapacityUsed_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "StorageLogicalCapacityUsed");
+ private final static QName _StorageResourceCapacityAllocated_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "StorageResourceCapacityAllocated");
+ private final static QName _Host_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "Host");
+ private final static QName _LocalVirtualMachineId_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "LocalVirtualMachineId");
+ private final static QName _GlobalVirtualMachineId_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "GlobalVirtualMachineId");
+ private final static QName _SuspendDuration_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "SuspendDuration");
+ private final static QName _ImageId_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "ImageId");
+ private final static QName _NetworkClass_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "NetworkClass");
+ private final static QName _NetworkInboundUsed_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "NetworkInboundUsed");
+ private final static QName _NetworkOutboundUsed_QNAME = new QName("http://schema.ogf.org/urf/2013/04/urf", "NetworkOutboundUsed");
+
+ /**
+ * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.apache.taverna.server.usagerecord.xml.urf2
+ *
+ */
+ public ObjectFactory() {
+ }
+
+ /**
+ * Create an instance of {@link UsageRecordType }
+ *
+ */
+ public UsageRecordType createUsageRecordType() {
+ return new UsageRecordType();
+ }
+
+ /**
+ * Create an instance of {@link UsageRecords }
+ *
+ */
+ public UsageRecords createUsageRecords() {
+ return new UsageRecords();
+ }
+
+ /**
+ * Create an instance of {@link RecordIdentityBlockType }
+ *
+ */
+ public RecordIdentityBlockType createRecordIdentityBlockType() {
+ return new RecordIdentityBlockType();
+ }
+
+ /**
+ * Create an instance of {@link SubjectIdentityBlockType }
+ *
+ */
+ public SubjectIdentityBlockType createSubjectIdentityBlockType() {
+ return new SubjectIdentityBlockType();
+ }
+
+ /**
+ * Create an instance of {@link ComputeUsageBlockType }
+ *
+ */
+ public ComputeUsageBlockType createComputeUsageBlockType() {
+ return new ComputeUsageBlockType();
+ }
+
+ /**
+ * Create an instance of {@link JobUsageBlockType }
+ *
+ */
+ public JobUsageBlockType createJobUsageBlockType() {
+ return new JobUsageBlockType();
+ }
+
+ /**
+ * Create an instance of {@link MemoryUsageBlockType }
+ *
+ */
+ public MemoryUsageBlockType createMemoryUsageBlockType() {
+ return new MemoryUsageBlockType();
+ }
+
+ /**
+ * Create an instance of {@link StorageUsageBlockType }
+ *
+ */
+ public StorageUsageBlockType createStorageUsageBlockType() {
+ return new StorageUsageBlockType();
+ }
+
+ /**
+ * Create an instance of {@link CloudUsageBlockType }
+ *
+ */
+ public CloudUsageBlockType createCloudUsageBlockType() {
+ return new CloudUsageBlockType();
+ }
+
+ /**
+ * Create an instance of {@link NetworkUsageBlockType }
+ *
+ */
+ public NetworkUsageBlockType createNetworkUsageBlockType() {
+ return new NetworkUsageBlockType();
+ }
+
+ /**
+ * Create an instance of {@link InfrastructureType }
+ *
+ */
+ public InfrastructureType createInfrastructureType() {
+ return new InfrastructureType();
+ }
+
+ /**
+ * Create an instance of {@link GlobalGroupAttributeType }
+ *
+ */
+ public GlobalGroupAttributeType createGlobalGroupAttributeType() {
+ return new GlobalGroupAttributeType();
+ }
+
+ /**
+ * Create an instance of {@link ExecutionHostType }
+ *
+ */
+ public ExecutionHostType createExecutionHostType() {
+ return new ExecutionHostType();
+ }
+
+ /**
+ * Create an instance of {@link HostnameType }
+ *
+ */
+ public HostnameType createHostnameType() {
+ return new HostnameType();
+ }
+
+ /**
+ * Create an instance of {@link BenchmarkType }
+ *
+ */
+ public BenchmarkType createBenchmarkType() {
+ return new BenchmarkType();
+ }
+
+ /**
+ * Create an instance of {@link SubmitTypeType }
+ *
+ */
+ public SubmitTypeType createSubmitTypeType() {
+ return new SubmitTypeType();
+ }
+
+ /**
+ * Create an instance of {@link QueueType }
+ *
+ */
+ public QueueType createQueueType() {
+ return new QueueType();
+ }
+
+ /**
+ * Create an instance of {@link TimeInstantType }
+ *
+ */
+ public TimeInstantType createTimeInstantType() {
+ return new TimeInstantType();
+ }
+
+ /**
+ * Create an instance of {@link NetworkClassType }
+ *
+ */
+ public NetworkClassType createNetworkClassType() {
+ return new NetworkClassType();
+ }
+
+ /**
+ * Create an instance of {@link NetworkInboundUsedType }
+ *
+ */
+ public NetworkInboundUsedType createNetworkInboundUsedType() {
+ return new NetworkInboundUsedType();
+ }
+
+ /**
+ * Create an instance of {@link NetworkOutboundUsedType }
+ *
+ */
+ public NetworkOutboundUsedType createNetworkOutboundUsedType() {
+ return new NetworkOutboundUsedType();
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link UsageRecordType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "Usage")
+ public JAXBElement<UsageRecordType> createUsage(UsageRecordType value) {
+ return new JAXBElement<UsageRecordType>(_Usage_QNAME, UsageRecordType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link UsageRecordType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "UsageRecord", substitutionHeadNamespace = "http://schema.ogf.org/urf/2013/04/urf", substitutionHeadName = "Usage")
+ public JAXBElement<UsageRecordType> createUsageRecord(UsageRecordType value) {
+ return new JAXBElement<UsageRecordType>(_UsageRecord_QNAME, UsageRecordType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link RecordIdentityBlockType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "RecordIdentityBlock")
+ public JAXBElement<RecordIdentityBlockType> createRecordIdentityBlock(RecordIdentityBlockType value) {
+ return new JAXBElement<RecordIdentityBlockType>(_RecordIdentityBlock_QNAME, RecordIdentityBlockType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link SubjectIdentityBlockType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "SubjectIdentityBlock")
+ public JAXBElement<SubjectIdentityBlockType> createSubjectIdentityBlock(SubjectIdentityBlockType value) {
+ return new JAXBElement<SubjectIdentityBlockType>(_SubjectIdentityBlock_QNAME, SubjectIdentityBlockType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link ComputeUsageBlockType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "ComputeUsageBlock")
+ public JAXBElement<ComputeUsageBlockType> createComputeUsageBlock(ComputeUsageBlockType value) {
+ return new JAXBElement<ComputeUsageBlockType>(_ComputeUsageBlock_QNAME, ComputeUsageBlockType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link JobUsageBlockType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "JobUsageBlock")
+ public JAXBElement<JobUsageBlockType> createJobUsageBlock(JobUsageBlockType value) {
+ return new JAXBElement<JobUsageBlockType>(_JobUsageBlock_QNAME, JobUsageBlockType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link MemoryUsageBlockType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "MemoryUsageBlock")
+ public JAXBElement<MemoryUsageBlockType> createMemoryUsageBlock(MemoryUsageBlockType value) {
+ return new JAXBElement<MemoryUsageBlockType>(_MemoryUsageBlock_QNAME, MemoryUsageBlockType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link StorageUsageBlockType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "StorageUsageBlock")
+ public JAXBElement<StorageUsageBlockType> createStorageUsageBlock(StorageUsageBlockType value) {
+ return new JAXBElement<StorageUsageBlockType>(_StorageUsageBlock_QNAME, StorageUsageBlockType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link CloudUsageBlockType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "CloudUsageBlock")
+ public JAXBElement<CloudUsageBlockType> createCloudUsageBlock(CloudUsageBlockType value) {
+ return new JAXBElement<CloudUsageBlockType>(_CloudUsageBlock_QNAME, CloudUsageBlockType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link NetworkUsageBlockType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "NetworkUsageBlock")
+ public JAXBElement<NetworkUsageBlockType> createNetworkUsageBlock(NetworkUsageBlockType value) {
+ return new JAXBElement<NetworkUsageBlockType>(_NetworkUsageBlock_QNAME, NetworkUsageBlockType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "RecordId")
+ public JAXBElement<String> createRecordId(String value) {
+ return new JAXBElement<String>(_RecordId_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link XMLGregorianCalendar }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "CreateTime")
+ public JAXBElement<XMLGregorianCalendar> createCreateTime(XMLGregorianCalendar value) {
+ return new JAXBElement<XMLGregorianCalendar>(_CreateTime_QNAME, XMLGregorianCalendar.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "Site")
+ public JAXBElement<String> createSite(String value) {
+ return new JAXBElement<String>(_Site_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link InfrastructureType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "Infrastructure")
+ public JAXBElement<InfrastructureType> createInfrastructure(InfrastructureType value) {
+ return new JAXBElement<InfrastructureType>(_Infrastructure_QNAME, InfrastructureType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "LocalUserId")
+ public JAXBElement<String> createLocalUserId(String value) {
+ return new JAXBElement<String>(_LocalUserId_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "LocalGroupId")
+ public JAXBElement<String> createLocalGroupId(String value) {
+ return new JAXBElement<String>(_LocalGroupId_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "GlobalUserId")
+ public JAXBElement<String> createGlobalUserId(String value) {
+ return new JAXBElement<String>(_GlobalUserId_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "GlobalGroupId")
+ public JAXBElement<String> createGlobalGroupId(String value) {
+ return new JAXBElement<String>(_GlobalGroupId_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link GlobalGroupAttributeType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "GlobalGroupAttribute")
+ public JAXBElement<GlobalGroupAttributeType> createGlobalGroupAttribute(GlobalGroupAttributeType value) {
+ return new JAXBElement<GlobalGroupAttributeType>(_GlobalGroupAttribute_QNAME, GlobalGroupAttributeType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link Duration }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "CpuDuration")
+ public JAXBElement<Duration> createCpuDuration(Duration value) {
+ return new JAXBElement<Duration>(_CpuDuration_QNAME, Duration.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link Duration }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "WallDuration")
+ public JAXBElement<Duration> createWallDuration(Duration value) {
+ return new JAXBElement<Duration>(_WallDuration_QNAME, Duration.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link XMLGregorianCalendar }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "StartTime")
+ public JAXBElement<XMLGregorianCalendar> createStartTime(XMLGregorianCalendar value) {
+ return new JAXBElement<XMLGregorianCalendar>(_StartTime_QNAME, XMLGregorianCalendar.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link XMLGregorianCalendar }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "EndTime")
+ public JAXBElement<XMLGregorianCalendar> createEndTime(XMLGregorianCalendar value) {
+ return new JAXBElement<XMLGregorianCalendar>(_EndTime_QNAME, XMLGregorianCalendar.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link ExecutionHostType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "ExecutionHost")
+ public JAXBElement<ExecutionHostType> createExecutionHost(ExecutionHostType value) {
+ return new JAXBElement<ExecutionHostType>(_ExecutionHost_QNAME, ExecutionHostType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "HostType")
+ public JAXBElement<String> createHostType(String value) {
+ return new JAXBElement<String>(_HostType_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "Processors")
+ public JAXBElement<BigInteger> createProcessors(BigInteger value) {
+ return new JAXBElement<BigInteger>(_Processors_QNAME, BigInteger.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "NodeCount")
+ public JAXBElement<BigInteger> createNodeCount(BigInteger value) {
+ return new JAXBElement<BigInteger>(_NodeCount_QNAME, BigInteger.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "ExitStatus")
+ public JAXBElement<BigInteger> createExitStatus(BigInteger value) {
+ return new JAXBElement<BigInteger>(_ExitStatus_QNAME, BigInteger.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link BigDecimal }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "Charge")
+ public JAXBElement<BigDecimal> createCharge(BigDecimal value) {
+ return new JAXBElement<BigDecimal>(_Charge_QNAME, BigDecimal.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link HostnameType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "Hostname")
+ public JAXBElement<HostnameType> createHostname(HostnameType value) {
+ return new JAXBElement<HostnameType>(_Hostname_QNAME, HostnameType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "ProcessId")
+ public JAXBElement<BigInteger> createProcessId(BigInteger value) {
+ return new JAXBElement<BigInteger>(_ProcessId_QNAME, BigInteger.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link BenchmarkType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "Benchmark")
+ public JAXBElement<BenchmarkType> createBenchmark(BenchmarkType value) {
+ return new JAXBElement<BenchmarkType>(_Benchmark_QNAME, BenchmarkType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "GlobalJobId")
+ public JAXBElement<String> createGlobalJobId(String value) {
+ return new JAXBElement<String>(_GlobalJobId_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "LocalJobId")
+ public JAXBElement<String> createLocalJobId(String value) {
+ return new JAXBElement<String>(_LocalJobId_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "JobName")
+ public JAXBElement<String> createJobName(String value) {
+ return new JAXBElement<String>(_JobName_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "MachineName")
+ public JAXBElement<String> createMachineName(String value) {
+ return new JAXBElement<String>(_MachineName_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "SubmitHost")
+ public JAXBElement<String> createSubmitHost(String value) {
+ return new JAXBElement<String>(_SubmitHost_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link SubmitTypeType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "SubmitType")
+ public JAXBElement<SubmitTypeType> createSubmitType(SubmitTypeType value) {
+ return new JAXBElement<SubmitTypeType>(_SubmitType_QNAME, SubmitTypeType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link QueueType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "Queue")
+ public JAXBElement<QueueType> createQueue(QueueType value) {
+ return new JAXBElement<QueueType>(_Queue_QNAME, QueueType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link TimeInstantType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "TimeInstant")
+ public JAXBElement<TimeInstantType> createTimeInstant(TimeInstantType value) {
+ return new JAXBElement<TimeInstantType>(_TimeInstant_QNAME, TimeInstantType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "ServiceLevel")
+ public JAXBElement<String> createServiceLevel(String value) {
+ return new JAXBElement<String>(_ServiceLevel_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "Status")
+ public JAXBElement<String> createStatus(String value) {
+ return new JAXBElement<String>(_Status_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "MemoryClass")
+ public JAXBElement<String> createMemoryClass(String value) {
+ return new JAXBElement<String>(_MemoryClass_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "MemoryResourceCapacityUsed")
+ public JAXBElement<BigInteger> createMemoryResourceCapacityUsed(BigInteger value) {
+ return new JAXBElement<BigInteger>(_MemoryResourceCapacityUsed_QNAME, BigInteger.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "MemoryResourceCapacityAllocated")
+ public JAXBElement<BigInteger> createMemoryResourceCapacityAllocated(BigInteger value) {
+ return new JAXBElement<BigInteger>(_MemoryResourceCapacityAllocated_QNAME, BigInteger.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "MemoryResourceCapacityRequested")
+ public JAXBElement<BigInteger> createMemoryResourceCapacityRequested(BigInteger value) {
+ return new JAXBElement<BigInteger>(_MemoryResourceCapacityRequested_QNAME, BigInteger.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "StorageShare")
+ public JAXBElement<String> createStorageShare(String value) {
+ return new JAXBElement<String>(_StorageShare_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "StorageMedia")
+ public JAXBElement<String> createStorageMedia(String value) {
+ return new JAXBElement<String>(_StorageMedia_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "StorageClass")
+ public JAXBElement<String> createStorageClass(String value) {
+ return new JAXBElement<String>(_StorageClass_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "DirectoryPath")
+ public JAXBElement<String> createDirectoryPath(String value) {
+ return new JAXBElement<String>(_DirectoryPath_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "FileCount")
+ public JAXBElement<BigInteger> createFileCount(BigInteger value) {
+ return new JAXBElement<BigInteger>(_FileCount_QNAME, BigInteger.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "StorageResourceCapacityUsed")
+ public JAXBElement<BigInteger> createStorageResourceCapacityUsed(BigInteger value) {
+ return new JAXBElement<BigInteger>(_StorageResourceCapacityUsed_QNAME, BigInteger.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "StorageLogicalCapacityUsed")
+ public JAXBElement<BigInteger> createStorageLogicalCapacityUsed(BigInteger value) {
+ return new JAXBElement<BigInteger>(_StorageLogicalCapacityUsed_QNAME, BigInteger.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "StorageResourceCapacityAllocated")
+ public JAXBElement<BigInteger> createStorageResourceCapacityAllocated(BigInteger value) {
+ return new JAXBElement<BigInteger>(_StorageResourceCapacityAllocated_QNAME, BigInteger.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "Host")
+ public JAXBElement<String> createHost(String value) {
+ return new JAXBElement<String>(_Host_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "LocalVirtualMachineId")
+ public JAXBElement<String> createLocalVirtualMachineId(String value) {
+ return new JAXBElement<String>(_LocalVirtualMachineId_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "GlobalVirtualMachineId")
+ public JAXBElement<String> createGlobalVirtualMachineId(String value) {
+ return new JAXBElement<String>(_GlobalVirtualMachineId_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link Duration }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "SuspendDuration")
+ public JAXBElement<Duration> createSuspendDuration(Duration value) {
+ return new JAXBElement<Duration>(_SuspendDuration_QNAME, Duration.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "ImageId")
+ public JAXBElement<String> createImageId(String value) {
+ return new JAXBElement<String>(_ImageId_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link NetworkClassType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "NetworkClass")
+ public JAXBElement<NetworkClassType> createNetworkClass(NetworkClassType value) {
+ return new JAXBElement<NetworkClassType>(_NetworkClass_QNAME, NetworkClassType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link NetworkInboundUsedType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "NetworkInboundUsed")
+ public JAXBElement<NetworkInboundUsedType> createNetworkInboundUsed(NetworkInboundUsedType value) {
+ return new JAXBElement<NetworkInboundUsedType>(_NetworkInboundUsed_QNAME, NetworkInboundUsedType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link NetworkOutboundUsedType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://schema.ogf.org/urf/2013/04/urf", name = "NetworkOutboundUsed")
+ public JAXBElement<NetworkOutboundUsedType> createNetworkOutboundUsed(NetworkOutboundUsedType value) {
+ return new JAXBElement<NetworkOutboundUsedType>(_NetworkOutboundUsed_QNAME, NetworkOutboundUsedType.class, null, value);
+ }
+
+}
diff --git a/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/QueueType.java b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/QueueType.java
new file mode 100644
index 0000000..96c12d1
--- /dev/null
+++ b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/QueueType.java
@@ -0,0 +1,99 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2018.01.04 at 04:15:49 PM GMT
+//
+
+
+package org.apache.taverna.server.usagerecord.xml.urf2;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+
+
+/**
+ * Open Grid Forum GFD.204 Usage Record type <code>QueueType</code>
+ *
+ * @see <a href="https://www.ogf.org/documents/GFD.204.pdf#subsection.6.7">GFD.204 section 6.7</a>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "QueueType", propOrder = {
+ "value"
+})
+public class QueueType {
+
+ @XmlValue
+ protected String value;
+ @XmlAttribute(name = "description", namespace = "http://schema.ogf.org/urf/2013/04/urf")
+ protected String description;
+
+ /**
+ * Gets the value of the value property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value of the description property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getDescription() {
+ return description;
+ }
+
+ /**
+ * Sets the value of the description property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setDescription(String value) {
+ this.description = value;
+ }
+
+}
diff --git a/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/RecordIdentityBlockType.java b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/RecordIdentityBlockType.java
new file mode 100644
index 0000000..ba5ba28
--- /dev/null
+++ b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/RecordIdentityBlockType.java
@@ -0,0 +1,156 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2018.01.04 at 04:15:49 PM GMT
+//
+
+
+package org.apache.taverna.server.usagerecord.xml.urf2;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.datatype.XMLGregorianCalendar;
+
+
+/**
+ * Open Grid Forum GFD.204 Usage Record type <code>RecordIdentityBlockType</code>
+ *
+ * @see <a href="https://www.ogf.org/documents/GFD.204.pdf#section.3">GFD.204 section 3</a>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "RecordIdentityBlockType", propOrder = {
+ "recordId",
+ "createTime",
+ "site",
+ "infrastructure"
+})
+public class RecordIdentityBlockType {
+
+ @XmlElement(name = "RecordId", required = true)
+ protected String recordId;
+ @XmlElement(name = "CreateTime", required = true)
+ @XmlSchemaType(name = "dateTime")
+ protected XMLGregorianCalendar createTime;
+ @XmlElement(name = "Site")
+ protected String site;
+ @XmlElement(name = "Infrastructure")
+ protected InfrastructureType infrastructure;
+
+ /**
+ * Gets the value of the recordId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getRecordId() {
+ return recordId;
+ }
+
+ /**
+ * Sets the value of the recordId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setRecordId(String value) {
+ this.recordId = value;
+ }
+
+ /**
+ * Gets the value of the createTime property.
+ *
+ * @return
+ * possible object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getCreateTime() {
+ return createTime;
+ }
+
+ /**
+ * Sets the value of the createTime property.
+ *
+ * @param value
+ * allowed object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public void setCreateTime(XMLGregorianCalendar value) {
+ this.createTime = value;
+ }
+
+ /**
+ * Gets the value of the site property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSite() {
+ return site;
+ }
+
+ /**
+ * Sets the value of the site property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSite(String value) {
+ this.site = value;
+ }
+
+ /**
+ * Gets the value of the infrastructure property.
+ *
+ * @return
+ * possible object is
+ * {@link InfrastructureType }
+ *
+ */
+ public InfrastructureType getInfrastructure() {
+ return infrastructure;
+ }
+
+ /**
+ * Sets the value of the infrastructure property.
+ *
+ * @param value
+ * allowed object is
+ * {@link InfrastructureType }
+ *
+ */
+ public void setInfrastructure(InfrastructureType value) {
+ this.infrastructure = value;
+ }
+
+}
diff --git a/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/StorageUsageBlockType.java b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/StorageUsageBlockType.java
new file mode 100644
index 0000000..a87a598
--- /dev/null
+++ b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/StorageUsageBlockType.java
@@ -0,0 +1,406 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2018.01.04 at 04:15:49 PM GMT
+//
+
+
+package org.apache.taverna.server.usagerecord.xml.urf2;
+
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.datatype.XMLGregorianCalendar;
+
+
+/**
+ * Open Grid Forum GFD.204 Usage Record type <code>StorageUsageBlockType</code>
+ *
+ * @see <a href="https://www.ogf.org/documents/GFD.204.pdf#section.8">GFD.204 section 8</a>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "StorageUsageBlockType", propOrder = {
+ "storageShare",
+ "storageMedia",
+ "storageClass",
+ "directoryPath",
+ "fileCount",
+ "storageResourceCapacityUsed",
+ "storageLogicalCapacityUsed",
+ "storageResourceCapacityAllocated",
+ "startTime",
+ "endTime",
+ "host",
+ "hostType",
+ "charge"
+})
+public class StorageUsageBlockType {
+
+ @XmlElement(name = "StorageShare")
+ protected String storageShare;
+ @XmlElement(name = "StorageMedia")
+ protected String storageMedia;
+ @XmlElement(name = "StorageClass")
+ protected String storageClass;
+ @XmlElement(name = "DirectoryPath")
+ protected String directoryPath;
+ @XmlElement(name = "FileCount")
+ @XmlSchemaType(name = "positiveInteger")
+ protected BigInteger fileCount;
+ @XmlElement(name = "StorageResourceCapacityUsed", required = true)
+ @XmlSchemaType(name = "nonNegativeInteger")
+ protected BigInteger storageResourceCapacityUsed;
+ @XmlElement(name = "StorageLogicalCapacityUsed")
+ @XmlSchemaType(name = "nonNegativeInteger")
+ protected BigInteger storageLogicalCapacityUsed;
+ @XmlElement(name = "StorageResourceCapacityAllocated")
+ @XmlSchemaType(name = "nonNegativeInteger")
+ protected BigInteger storageResourceCapacityAllocated;
+ @XmlElement(name = "StartTime", required = true)
+ @XmlSchemaType(name = "dateTime")
+ protected XMLGregorianCalendar startTime;
+ @XmlElement(name = "EndTime", required = true)
+ @XmlSchemaType(name = "dateTime")
+ protected XMLGregorianCalendar endTime;
+ @XmlElement(name = "Host")
+ protected String host;
+ @XmlElement(name = "HostType")
+ protected String hostType;
+ @XmlElement(name = "Charge")
+ protected BigDecimal charge;
+
+ /**
+ * Gets the value of the storageShare property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getStorageShare() {
+ return storageShare;
+ }
+
+ /**
+ * Sets the value of the storageShare property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setStorageShare(String value) {
+ this.storageShare = value;
+ }
+
+ /**
+ * Gets the value of the storageMedia property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getStorageMedia() {
+ return storageMedia;
+ }
+
+ /**
+ * Sets the value of the storageMedia property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setStorageMedia(String value) {
+ this.storageMedia = value;
+ }
+
+ /**
+ * Gets the value of the storageClass property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getStorageClass() {
+ return storageClass;
+ }
+
+ /**
+ * Sets the value of the storageClass property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setStorageClass(String value) {
+ this.storageClass = value;
+ }
+
+ /**
+ * Gets the value of the directoryPath property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getDirectoryPath() {
+ return directoryPath;
+ }
+
+ /**
+ * Sets the value of the directoryPath property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setDirectoryPath(String value) {
+ this.directoryPath = value;
+ }
+
+ /**
+ * Gets the value of the fileCount property.
+ *
+ * @return
+ * possible object is
+ * {@link BigInteger }
+ *
+ */
+ public BigInteger getFileCount() {
+ return fileCount;
+ }
+
+ /**
+ * Sets the value of the fileCount property.
+ *
+ * @param value
+ * allowed object is
+ * {@link BigInteger }
+ *
+ */
+ public void setFileCount(BigInteger value) {
+ this.fileCount = value;
+ }
+
+ /**
+ * Gets the value of the storageResourceCapacityUsed property.
+ *
+ * @return
+ * possible object is
+ * {@link BigInteger }
+ *
+ */
+ public BigInteger getStorageResourceCapacityUsed() {
+ return storageResourceCapacityUsed;
+ }
+
+ /**
+ * Sets the value of the storageResourceCapacityUsed property.
+ *
+ * @param value
+ * allowed object is
+ * {@link BigInteger }
+ *
+ */
+ public void setStorageResourceCapacityUsed(BigInteger value) {
+ this.storageResourceCapacityUsed = value;
+ }
+
+ /**
+ * Gets the value of the storageLogicalCapacityUsed property.
+ *
+ * @return
+ * possible object is
+ * {@link BigInteger }
+ *
+ */
+ public BigInteger getStorageLogicalCapacityUsed() {
+ return storageLogicalCapacityUsed;
+ }
+
+ /**
+ * Sets the value of the storageLogicalCapacityUsed property.
+ *
+ * @param value
+ * allowed object is
+ * {@link BigInteger }
+ *
+ */
+ public void setStorageLogicalCapacityUsed(BigInteger value) {
+ this.storageLogicalCapacityUsed = value;
+ }
+
+ /**
+ * Gets the value of the storageResourceCapacityAllocated property.
+ *
+ * @return
+ * possible object is
+ * {@link BigInteger }
+ *
+ */
+ public BigInteger getStorageResourceCapacityAllocated() {
+ return storageResourceCapacityAllocated;
+ }
+
+ /**
+ * Sets the value of the storageResourceCapacityAllocated property.
+ *
+ * @param value
+ * allowed object is
+ * {@link BigInteger }
+ *
+ */
+ public void setStorageResourceCapacityAllocated(BigInteger value) {
+ this.storageResourceCapacityAllocated = value;
+ }
+
+ /**
+ * Gets the value of the startTime property.
+ *
+ * @return
+ * possible object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getStartTime() {
+ return startTime;
+ }
+
+ /**
+ * Sets the value of the startTime property.
+ *
+ * @param value
+ * allowed object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public void setStartTime(XMLGregorianCalendar value) {
+ this.startTime = value;
+ }
+
+ /**
+ * Gets the value of the endTime property.
+ *
+ * @return
+ * possible object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getEndTime() {
+ return endTime;
+ }
+
+ /**
+ * Sets the value of the endTime property.
+ *
+ * @param value
+ * allowed object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public void setEndTime(XMLGregorianCalendar value) {
+ this.endTime = value;
+ }
+
+ /**
+ * Gets the value of the host property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getHost() {
+ return host;
+ }
+
+ /**
+ * Sets the value of the host property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setHost(String value) {
+ this.host = value;
+ }
+
+ /**
+ * Gets the value of the hostType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getHostType() {
+ return hostType;
+ }
+
+ /**
+ * Sets the value of the hostType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setHostType(String value) {
+ this.hostType = value;
+ }
+
+ /**
+ * Gets the value of the charge property.
+ *
+ * @return
+ * possible object is
+ * {@link BigDecimal }
+ *
+ */
+ public BigDecimal getCharge() {
+ return charge;
+ }
+
+ /**
+ * Sets the value of the charge property.
+ *
+ * @param value
+ * allowed object is
+ * {@link BigDecimal }
+ *
+ */
+ public void setCharge(BigDecimal value) {
+ this.charge = value;
+ }
+
+}
diff --git a/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/SubjectIdentityBlockType.java b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/SubjectIdentityBlockType.java
new file mode 100644
index 0000000..7a5cdb6
--- /dev/null
+++ b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/SubjectIdentityBlockType.java
@@ -0,0 +1,186 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2018.01.04 at 04:15:49 PM GMT
+//
+
+
+package org.apache.taverna.server.usagerecord.xml.urf2;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * Open Grid Forum GFD.204 Usage Record type <code>SubjectIdentityBlockType</code>
+ *
+ * @see <a href="https://www.ogf.org/documents/GFD.204.pdf#section.4">GFD.204 section 4</a>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SubjectIdentityBlockType", propOrder = {
+ "localUserId",
+ "localGroupId",
+ "globalUserId",
+ "globalGroupId",
+ "globalGroupAttribute"
+})
+public class SubjectIdentityBlockType {
+
+ @XmlElement(name = "LocalUserId")
+ protected String localUserId;
+ @XmlElement(name = "LocalGroupId")
+ protected String localGroupId;
+ @XmlElement(name = "GlobalUserId")
+ protected String globalUserId;
+ @XmlElement(name = "GlobalGroupId")
+ protected String globalGroupId;
+ @XmlElement(name = "GlobalGroupAttribute")
+ protected List<GlobalGroupAttributeType> globalGroupAttribute;
+
+ /**
+ * Gets the value of the localUserId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getLocalUserId() {
+ return localUserId;
+ }
+
+ /**
+ * Sets the value of the localUserId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setLocalUserId(String value) {
+ this.localUserId = value;
+ }
+
+ /**
+ * Gets the value of the localGroupId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getLocalGroupId() {
+ return localGroupId;
+ }
+
+ /**
+ * Sets the value of the localGroupId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setLocalGroupId(String value) {
+ this.localGroupId = value;
+ }
+
+ /**
+ * Gets the value of the globalUserId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getGlobalUserId() {
+ return globalUserId;
+ }
+
+ /**
+ * Sets the value of the globalUserId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setGlobalUserId(String value) {
+ this.globalUserId = value;
+ }
+
+ /**
+ * Gets the value of the globalGroupId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getGlobalGroupId() {
+ return globalGroupId;
+ }
+
+ /**
+ * Sets the value of the globalGroupId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setGlobalGroupId(String value) {
+ this.globalGroupId = value;
+ }
+
+ /**
+ * Gets the value of the globalGroupAttribute property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the globalGroupAttribute property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getGlobalGroupAttribute().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link GlobalGroupAttributeType }
+ *
+ *
+ */
+ public List<GlobalGroupAttributeType> getGlobalGroupAttribute() {
+ if (globalGroupAttribute == null) {
+ globalGroupAttribute = new ArrayList<GlobalGroupAttributeType>();
+ }
+ return this.globalGroupAttribute;
+ }
+
+}
diff --git a/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/SubmitTypeType.java b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/SubmitTypeType.java
new file mode 100644
index 0000000..decf6e9
--- /dev/null
+++ b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/SubmitTypeType.java
@@ -0,0 +1,98 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2018.01.04 at 04:15:49 PM GMT
+//
+
+
+package org.apache.taverna.server.usagerecord.xml.urf2;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+
+/**
+ * Open Grid Forum GFD.204 Usage Record type <code>SubmitTypeType</code>
+ *
+ * @see <a href="https://www.ogf.org/documents/GFD.204.pdf#subsection.6.6">GFD.204 section 6.6</a>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SubmitTypeType", propOrder = {
+ "value"
+})
+public class SubmitTypeType {
+
+ @XmlValue
+ protected String value;
+ @XmlAttribute(name = "description", namespace = "http://schema.ogf.org/urf/2013/04/urf")
+ protected String description;
+
+ /**
+ * Gets the value of the value property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value of the description property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getDescription() {
+ return description;
+ }
+
+ /**
+ * Sets the value of the description property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setDescription(String value) {
+ this.description = value;
+ }
+
+}
diff --git a/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/TimeInstantType.java b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/TimeInstantType.java
new file mode 100644
index 0000000..f5d4980
--- /dev/null
+++ b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/TimeInstantType.java
@@ -0,0 +1,102 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2018.01.04 at 04:15:49 PM GMT
+//
+
+
+package org.apache.taverna.server.usagerecord.xml.urf2;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+import javax.xml.datatype.XMLGregorianCalendar;
+
+
+/**
+ * Open Grid Forum GFD.204 Usage Record type <code>TimeInstantType</code>
+ *
+ * @see <a href="https://www.ogf.org/documents/GFD.204.pdf#subsection.6.8">GFD.204 section 6.8</a>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "TimeInstantType", propOrder = {
+ "value"
+})
+public class TimeInstantType {
+
+ @XmlValue
+ @XmlSchemaType(name = "dateTime")
+ protected XMLGregorianCalendar value;
+ @XmlAttribute(name = "type", namespace = "http://schema.ogf.org/urf/2013/04/urf")
+ protected String type;
+
+ /**
+ * Gets the value of the value property.
+ *
+ * @return
+ * possible object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public void setValue(XMLGregorianCalendar value) {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value of the type property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getType() {
+ return type;
+ }
+
+ /**
+ * Sets the value of the type property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setType(String value) {
+ this.type = value;
+ }
+
+}
diff --git a/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/UsageRecordType.java b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/UsageRecordType.java
new file mode 100644
index 0000000..f3efd2d
--- /dev/null
+++ b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/UsageRecordType.java
@@ -0,0 +1,282 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2018.01.04 at 04:15:49 PM GMT
+//
+
+
+package org.apache.taverna.server.usagerecord.xml.urf2;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * Open Grid Forum GFD.204 Usage Record type <code>UsageRecordType</code>
+ *
+ * @see <a href="https://www.ogf.org/documents/GFD.204.pdf#section.13">GFD.204 section 13</a>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "UsageRecordType", propOrder = {
+ "recordIdentityBlock",
+ "subjectIdentityBlock",
+ "computeUsageBlock",
+ "jobUsageBlock",
+ "memoryUsageBlock",
+ "storageUsageBlock",
+ "cloudUsageBlock",
+ "networkUsageBlock"
+})
+public class UsageRecordType {
+
+ @XmlElement(name = "RecordIdentityBlock", required = true)
+ protected RecordIdentityBlockType recordIdentityBlock;
+ @XmlElement(name = "SubjectIdentityBlock")
+ protected SubjectIdentityBlockType subjectIdentityBlock;
+ @XmlElement(name = "ComputeUsageBlock")
+ protected List<ComputeUsageBlockType> computeUsageBlock;
+ @XmlElement(name = "JobUsageBlock")
+ protected JobUsageBlockType jobUsageBlock;
+ @XmlElement(name = "MemoryUsageBlock")
+ protected List<MemoryUsageBlockType> memoryUsageBlock;
+ @XmlElement(name = "StorageUsageBlock")
+ protected List<StorageUsageBlockType> storageUsageBlock;
+ @XmlElement(name = "CloudUsageBlock")
+ protected CloudUsageBlockType cloudUsageBlock;
+ @XmlElement(name = "NetworkUsageBlock")
+ protected List<NetworkUsageBlockType> networkUsageBlock;
+
+ /**
+ * Gets the value of the recordIdentityBlock property.
+ *
+ * @return
+ * possible object is
+ * {@link RecordIdentityBlockType }
+ *
+ */
+ public RecordIdentityBlockType getRecordIdentityBlock() {
+ return recordIdentityBlock;
+ }
+
+ /**
+ * Sets the value of the recordIdentityBlock property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RecordIdentityBlockType }
+ *
+ */
+ public void setRecordIdentityBlock(RecordIdentityBlockType value) {
+ this.recordIdentityBlock = value;
+ }
+
+ /**
+ * Gets the value of the subjectIdentityBlock property.
+ *
+ * @return
+ * possible object is
+ * {@link SubjectIdentityBlockType }
+ *
+ */
+ public SubjectIdentityBlockType getSubjectIdentityBlock() {
+ return subjectIdentityBlock;
+ }
+
+ /**
+ * Sets the value of the subjectIdentityBlock property.
+ *
+ * @param value
+ * allowed object is
+ * {@link SubjectIdentityBlockType }
+ *
+ */
+ public void setSubjectIdentityBlock(SubjectIdentityBlockType value) {
+ this.subjectIdentityBlock = value;
+ }
+
+ /**
+ * Gets the value of the computeUsageBlock property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the computeUsageBlock property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getComputeUsageBlock().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link ComputeUsageBlockType }
+ *
+ *
+ */
+ public List<ComputeUsageBlockType> getComputeUsageBlock() {
+ if (computeUsageBlock == null) {
+ computeUsageBlock = new ArrayList<ComputeUsageBlockType>();
+ }
+ return this.computeUsageBlock;
+ }
+
+ /**
+ * Gets the value of the jobUsageBlock property.
+ *
+ * @return
+ * possible object is
+ * {@link JobUsageBlockType }
+ *
+ */
+ public JobUsageBlockType getJobUsageBlock() {
+ return jobUsageBlock;
+ }
+
+ /**
+ * Sets the value of the jobUsageBlock property.
+ *
+ * @param value
+ * allowed object is
+ * {@link JobUsageBlockType }
+ *
+ */
+ public void setJobUsageBlock(JobUsageBlockType value) {
+ this.jobUsageBlock = value;
+ }
+
+ /**
+ * Gets the value of the memoryUsageBlock property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the memoryUsageBlock property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getMemoryUsageBlock().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link MemoryUsageBlockType }
+ *
+ *
+ */
+ public List<MemoryUsageBlockType> getMemoryUsageBlock() {
+ if (memoryUsageBlock == null) {
+ memoryUsageBlock = new ArrayList<MemoryUsageBlockType>();
+ }
+ return this.memoryUsageBlock;
+ }
+
+ /**
+ * Gets the value of the storageUsageBlock property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the storageUsageBlock property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getStorageUsageBlock().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link StorageUsageBlockType }
+ *
+ *
+ */
+ public List<StorageUsageBlockType> getStorageUsageBlock() {
+ if (storageUsageBlock == null) {
+ storageUsageBlock = new ArrayList<StorageUsageBlockType>();
+ }
+ return this.storageUsageBlock;
+ }
+
+ /**
+ * Gets the value of the cloudUsageBlock property.
+ *
+ * @return
+ * possible object is
+ * {@link CloudUsageBlockType }
+ *
+ */
+ public CloudUsageBlockType getCloudUsageBlock() {
+ return cloudUsageBlock;
+ }
+
+ /**
+ * Sets the value of the cloudUsageBlock property.
+ *
+ * @param value
+ * allowed object is
+ * {@link CloudUsageBlockType }
+ *
+ */
+ public void setCloudUsageBlock(CloudUsageBlockType value) {
+ this.cloudUsageBlock = value;
+ }
+
+ /**
+ * Gets the value of the networkUsageBlock property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the networkUsageBlock property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getNetworkUsageBlock().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link NetworkUsageBlockType }
+ *
+ *
+ */
+ public List<NetworkUsageBlockType> getNetworkUsageBlock() {
+ if (networkUsageBlock == null) {
+ networkUsageBlock = new ArrayList<NetworkUsageBlockType>();
+ }
+ return this.networkUsageBlock;
+ }
+
+}
diff --git a/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/UsageRecords.java b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/UsageRecords.java
new file mode 100644
index 0000000..5e05f32
--- /dev/null
+++ b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/UsageRecords.java
@@ -0,0 +1,82 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2018.01.04 at 04:15:49 PM GMT
+//
+
+
+package org.apache.taverna.server.usagerecord.xml.urf2;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElementRef;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * Open Grid Forum GFD.204 Usage Record type <code>UsageRecords</code>
+ *
+ * @see <a href="https://www.ogf.org/documents/GFD.204.pdf#section.14">GFD.204 section 14</a>
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "usage"
+})
+@XmlRootElement(name = "UsageRecords")
+public class UsageRecords {
+
+ @XmlElementRef(name = "Usage", namespace = "http://schema.ogf.org/urf/2013/04/urf", type = JAXBElement.class, required = false)
+ protected List<JAXBElement<UsageRecordType>> usage;
+
+ /**
+ * Gets the value of the usage property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the usage property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getUsage().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link JAXBElement }{@code <}{@link UsageRecordType }{@code >}
+ * {@link JAXBElement }{@code <}{@link UsageRecordType }{@code >}
+ *
+ *
+ */
+ public List<JAXBElement<UsageRecordType>> getUsage() {
+ if (usage == null) {
+ usage = new ArrayList<JAXBElement<UsageRecordType>>();
+ }
+ return this.usage;
+ }
+
+}
diff --git a/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/package-info.java b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/package-info.java
new file mode 100644
index 0000000..6b3f06d
--- /dev/null
+++ b/taverna-server-usagerecord/src/main/java/org/apache/taverna/server/usagerecord/xml/urf2/package-info.java
@@ -0,0 +1,62 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2018.01.04 at 04:15:49 PM GMT
+//
+/**
+ * Open Grid Forum GFD.204 Usage Record Format JAXB elements.
+ * <p>
+ * JAXB beans for the <em>Usage Record Format 2.0</em> as described by
+ * <a href="Open Grid Forum">https://www.ogf.org/</a> (OGF) specification
+ * <a href="https://www.ogf.org/documents/GFD.204.pdf">GFD.204</a> serialized in
+ * the namespace <code>http://schema.ogf.org/urf/2013/04/urf</code>
+ * <p>
+ * This package provides the underlying JAXB elements and types for marshalling
+ * and unmarshalling XML according to the Usage Record Format.
+ * <p>
+ * The classes in this package are derived from the XML schema in
+ * <a href="https://www.ogf.org/documents/GFD.204.pdf#section.14">
+ * GDF.204 section 14</a>
+ * <p>
+ * <blockquote>Copyright © Open Grid Forum (2006-2013). Some Rights Reserved.
+ * <p>
+ * This document and translations of it may be copied and furnished to others,
+ * and derivative works that comment on or otherwise explain it or assist in its
+ * implementation may be prepared, copied, published and distributed, in whole
+ * or in part, without restriction of any kind, provided that the above
+ * copyright notice and this paragraph are included as references to the derived
+ * portions on all such copies and derivative works. The published OGF document
+ * from which such works are derived, however, may not be modified in any way,
+ * such as by removing the copyright notice or references to the OGF or other
+ * organizations, except as needed for the purpose of developing new or updated
+ * OGF documents in conformance with the procedures defined in the OGF Document
+ * Process, or as required to translate it into languages other than English.
+ * OGF, with the approval of its board, may remove this restriction for
+ * inclusion of OGF document content for the purpose of producing standards in
+ * cooperation with other international standards bodies.
+ * <p>
+ * The limited permissions granted above are perpetual and will not be revoked
+ * by the OGF or its successors or assignees.
+ * </blockquote>
+ *
+ * @see <a href="https://www.ogf.org/documents/GFD.204.pdf">GFD.98</a>
+ */
+@javax.xml.bind.annotation.XmlSchema(namespace = "http://schema.ogf.org/urf/2013/04/urf", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
+package org.apache.taverna.server.usagerecord.xml.urf2;
diff --git a/taverna-server-usagerecord/src/main/resources/META-INF/NOTICE b/taverna-server-usagerecord/src/main/resources/META-INF/NOTICE
index b976c0f..c935053 100644
--- a/taverna-server-usagerecord/src/main/resources/META-INF/NOTICE
+++ b/taverna-server-usagerecord/src/main/resources/META-INF/NOTICE
@@ -39,3 +39,26 @@
information herein will not infringe any rights or any implied
warranties of merchantability or fitness for a particular purpose.
---------------------------------------------------------
+org.apache.taverna.server.usagerecord.xml.urf2 classes are
+derived from https://www.ogf.org/documents/GFD.204.pdf
+
+ Copyright © Open Grid Forum (2006-2013). Some Rights Reserved.
+
+ This document and translations of it may be copied and furnished to others,
+ and derivative works that comment on or otherwise explain it or assist in its
+ implementation may be prepared, copied, published and distributed, in whole
+ or in part, without restriction of any kind, provided that the above
+ copyright notice and this paragraph are included as references to the derived
+ portions on all such copies and derivative works. The published OGF document
+ from which such works are derived, however, may not be modified in any way,
+ such as by removing the copyright notice or references to the OGF or other
+ organizations, except as needed for the purpose of developing new or updated
+ OGF documents in conformance with the procedures defined in the OGF Document
+ Process, or as required to translate it into languages other than English.
+ OGF, with the approval of its board, may remove this restriction for
+ inclusion of OGF document content for the purpose of producing standards in
+ cooperation with other international standards bodies.
+
+ The limited permissions granted above are perpetual and will not be revoked
+ by the OGF or its successors or assignees.
+ ---------------------------------------------------------