Add xsd and docker

Change-Id: Ifad2e3a8678a487e6f13114f910e19bce4d80964
This commit is contained in:
Dominik Adam Przybysz 2015-09-02 22:59:50 +02:00
parent d71c191f0f
commit 80dbbc034f
33 changed files with 313 additions and 348 deletions

View file

@ -17,4 +17,31 @@
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<executions>
<execution>
<id>xjc</id>
<phase>process-resources</phase>
<goals>
<goal>xjc</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View file

@ -1,33 +0,0 @@
package pl.touk.mockserver.api.request;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
@Data
@EqualsAndHashCode(callSuper = false)
public class AddMock extends MockServerRequest {
@XmlElement(required = true)
private String name;
@XmlElement(required = true)
private String path;
@XmlElement(required = true)
private int port;
private String predicate;
private String response;
private Boolean soap;
private Integer statusCode;
private Method method;
private String responseHeaders;
}

View file

@ -1,15 +0,0 @@
package pl.touk.mockserver.api.request;
import javax.xml.bind.annotation.XmlEnum;
@XmlEnum
public enum Method {
POST,
GET,
DELETE,
PUT,
TRACE,
HEAD,
OPTIONS,
PATCH;
}

View file

@ -1,4 +0,0 @@
package pl.touk.mockserver.api.request;
public abstract class MockServerRequest {
}

View file

@ -1,15 +0,0 @@
package pl.touk.mockserver.api.request;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
@Data
@EqualsAndHashCode(callSuper = false)
public class PeekMock extends MockServerRequest{
@XmlElement(required = true)
private String name;
}

View file

@ -1,17 +0,0 @@
package pl.touk.mockserver.api.request;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
@Data
@EqualsAndHashCode(callSuper = false)
public class RemoveMock extends MockServerRequest {
@XmlElement(required = true)
private String name;
private Boolean skipReport;
}

View file

@ -1,4 +0,0 @@
@XmlAccessorType(XmlAccessType.FIELD) package pl.touk.mockserver.api.request;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;

View file

@ -1,13 +0,0 @@
package pl.touk.mockserver.api.response;
import lombok.Data;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlValue;
@XmlRootElement
@Data
public class ExceptionOccured {
@XmlValue
private String message;
}

View file

@ -1,12 +0,0 @@
package pl.touk.mockserver.api.response;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
@Data
@EqualsAndHashCode(callSuper = false)
public class MockAdded extends MockServerResponse {
}

View file

@ -1,14 +0,0 @@
package pl.touk.mockserver.api.response;
import lombok.Data;
import javax.xml.bind.annotation.XmlElement;
@Data
public class MockEventReport {
@XmlElement(required = true)
private MockRequestReport request;
@XmlElement(required = true)
private MockResponseReport response;
}

View file

@ -1,16 +0,0 @@
package pl.touk.mockserver.api.response;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import java.util.List;
@XmlRootElement(name = "mocks")
@Data
@EqualsAndHashCode(callSuper = false)
public class MockListing extends MockServerResponse {
@XmlElement(name = "mock")
private List<MockReport> mocks;
}

View file

@ -1,16 +0,0 @@
package pl.touk.mockserver.api.response;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import java.util.List;
@XmlRootElement
@Data
@EqualsAndHashCode(callSuper = false)
public class MockPeeked extends MockServerResponse {
@XmlElement(name = "mockEvent")
private List<MockEventReport> mockEvents;
}

View file

@ -1,16 +0,0 @@
package pl.touk.mockserver.api.response;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import java.util.List;
@XmlRootElement
@Data
@EqualsAndHashCode(callSuper = false)
public class MockRemoved extends MockServerResponse {
@XmlElement(name = "mockEvent")
private List<MockEventReport> mockEvents;
}

View file

@ -1,37 +0,0 @@
package pl.touk.mockserver.api.response;
import lombok.Data;
import lombok.EqualsAndHashCode;
import pl.touk.mockserver.api.request.Method;
import javax.xml.bind.annotation.XmlElement;
@Data
public class MockReport {
@XmlElement(required = true)
private String name;
@XmlElement(required = true)
private String path;
@XmlElement(required = true)
private int port;
@XmlElement(required = true)
private String predicate;
@XmlElement(required = true)
private String response;
@XmlElement(required = true)
private String responseHeaders;
@XmlElement(required = true)
private boolean soap;
@XmlElement(required = true)
private Method method;
@XmlElement(required = true)
private int statusCode;
}

View file

@ -1,24 +0,0 @@
package pl.touk.mockserver.api.response;
import lombok.Data;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import java.util.List;
@Data
public class MockRequestReport {
private String text;
@XmlElementWrapper(name = "headers")
@XmlElement(name = "header")
private List<Parameter> headers;
@XmlElementWrapper(name = "queryParams")
@XmlElement(name = "queryParam")
private List<Parameter> queryParams;
@XmlElementWrapper(name = "path")
@XmlElement(name = "pathPart")
private List<String> paths;
}

View file

@ -1,19 +0,0 @@
package pl.touk.mockserver.api.response;
import lombok.Data;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import java.util.List;
@Data
public class MockResponseReport {
@XmlElement(required = true)
private int statusCode;
private String text;
@XmlElementWrapper(name = "headers")
@XmlElement(name = "header")
private List<Parameter> headers;
}

View file

@ -1,4 +0,0 @@
package pl.touk.mockserver.api.response;
public abstract class MockServerResponse {
}

View file

@ -1,15 +0,0 @@
package pl.touk.mockserver.api.response;
import lombok.Data;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlValue;
@Data
public class Parameter {
@XmlAttribute(required = true)
private String name;
@XmlValue
private String value;
}

View file

@ -1,4 +0,0 @@
@XmlAccessorType(XmlAccessType.FIELD) package pl.touk.mockserver.api.response;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;

View file

@ -1,4 +0,0 @@
AddMock
Method
PeekMock
RemoveMock

View file

@ -1,11 +0,0 @@
ExceptionOccured
MockAdded
MockEventReport
MockListing
MockPeeked
MockRemoved
MockReport
MockRequestReport
MockResponseReport
MockServerResponse
Parameter

View file

@ -0,0 +1,10 @@
<?xml version="1.0"?>
<jxb:bindings version="1.0" xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xjc= "http://java.sun.com/xml/ns/jaxb/xjc"
jxb:extensionBindingPrefixes="xjc" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<jxb:bindings>
<jxb:globalBindings>
<xjc:simple/>
</jxb:globalBindings>
</jxb:bindings>
</jxb:bindings>

View file

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema version="1.0" targetNamespace="http://touk.pl/mockserver/api/common" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="method">
<xs:restriction base="xs:string">
<xs:enumeration value="POST"/>
<xs:enumeration value="GET"/>
<xs:enumeration value="DELETE"/>
<xs:enumeration value="PUT"/>
<xs:enumeration value="TRACE"/>
<xs:enumeration value="HEAD"/>
<xs:enumeration value="OPTIONS"/>
<xs:enumeration value="PATCH"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>

View file

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema elementFormDefault="qualified" version="1.0" targetNamespace="http://touk.pl/mockserver/api/request" xmlns:tns="http://touk.pl/mockserver/api/request" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:common="http://touk.pl/mockserver/api/common">
<xs:import namespace="http://touk.pl/mockserver/api/common" schemaLocation="common.xsd"/>
<xs:element name="addMock" type="tns:AddMock"/>
<xs:element name="peekMock" type="tns:PeekMock"/>
<xs:element name="removeMock" type="tns:RemoveMock"/>
<xs:complexType name="AddMock">
<xs:complexContent>
<xs:extension base="tns:mockServerRequest">
<xs:sequence>
<xs:element name="path" type="xs:string"/>
<xs:element name="port" type="xs:int"/>
<xs:element name="predicate" type="xs:string" minOccurs="0"/>
<xs:element name="response" type="xs:string" minOccurs="0"/>
<xs:element name="soap" type="xs:boolean" minOccurs="0"/>
<xs:element name="statusCode" type="xs:int" minOccurs="0"/>
<xs:element name="method" type="common:method" minOccurs="0"/>
<xs:element name="responseHeaders" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="mockServerRequest" abstract="true">
<xs:sequence>
<xs:element name="name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="PeekMock">
<xs:complexContent>
<xs:extension base="tns:mockServerRequest"/>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="RemoveMock">
<xs:complexContent>
<xs:extension base="tns:mockServerRequest">
<xs:sequence>
<xs:element name="skipReport" type="xs:boolean" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>

View file

@ -0,0 +1,134 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema elementFormDefault="qualified" version="1.0" targetNamespace="http://touk.pl/mockserver/api/response" xmlns:tns="http://touk.pl/mockserver/api/response" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:common="http://touk.pl/mockserver/api/common">
<xs:import namespace="http://touk.pl/mockserver/api/common" schemaLocation="common.xsd"/>
<xs:element name="exceptionOccured" type="tns:exceptionOccured"/>
<xs:element name="mockAdded" type="tns:mockAdded"/>
<xs:element name="mockPeeked" type="tns:mockPeeked"/>
<xs:element name="mockRemoved" type="tns:mockRemoved"/>
<xs:element name="mocks" type="tns:mockListing"/>
<xs:complexType name="exceptionOccured">
<xs:simpleContent>
<xs:extension base="xs:string"/>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="mockAdded">
<xs:complexContent>
<xs:extension base="tns:mockServerResponse">
<xs:sequence/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="mockServerResponse" abstract="true">
<xs:sequence/>
</xs:complexType>
<xs:complexType name="mockEventReport">
<xs:sequence>
<xs:element name="request" type="tns:mockRequestReport"/>
<xs:element name="response" type="tns:mockResponseReport"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="mockRequestReport">
<xs:sequence>
<xs:element name="text" type="xs:string" minOccurs="0"/>
<xs:element name="headers" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="header" type="tns:parameter" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="queryParams" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="queryParam" type="tns:parameter" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="path" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="pathPart" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="parameter">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="mockResponseReport">
<xs:sequence>
<xs:element name="statusCode" type="xs:int"/>
<xs:element name="text" type="xs:string" minOccurs="0"/>
<xs:element name="headers" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="header" type="tns:parameter" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="mockListing">
<xs:complexContent>
<xs:extension base="tns:mockServerResponse">
<xs:sequence>
<xs:element name="mock" type="tns:mockReport" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="mockReport">
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="path" type="xs:string"/>
<xs:element name="port" type="xs:int"/>
<xs:element name="predicate" type="xs:string"/>
<xs:element name="response" type="xs:string"/>
<xs:element name="responseHeaders" type="xs:string"/>
<xs:element name="soap" type="xs:boolean"/>
<xs:element name="method" type="common:method"/>
<xs:element name="statusCode" type="xs:int"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="mockPeeked">
<xs:complexContent>
<xs:extension base="tns:mockServerResponse">
<xs:sequence>
<xs:element name="mockEvent" type="tns:mockEventReport" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="mockRemoved">
<xs:complexContent>
<xs:extension base="tns:mockServerResponse">
<xs:sequence>
<xs:element name="mockEvent" type="tns:mockEventReport" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>