Make api with jaxb

Change-Id: Ic0ac5ce212fac17583699868709b67a701231755
This commit is contained in:
Dominik Adam Przybysz 2015-08-29 14:53:54 +02:00
parent 5545b67ebd
commit 82434f46a3
38 changed files with 583 additions and 422 deletions

20
mockserver-api/pom.xml Normal file
View file

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>http-mock-server</artifactId>
<groupId>pl.touk.mockserver</groupId>
<version>1.1.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>mockserver-api</artifactId>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
</project>

View file

@ -0,0 +1,33 @@
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

@ -0,0 +1,15 @@
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

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

View file

@ -0,0 +1,15 @@
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

@ -0,0 +1,17 @@
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

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

View file

@ -0,0 +1,13 @@
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

@ -0,0 +1,12 @@
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

@ -0,0 +1,14 @@
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

@ -0,0 +1,16 @@
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

@ -0,0 +1,16 @@
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

@ -0,0 +1,16 @@
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

@ -0,0 +1,27 @@
package pl.touk.mockserver.api.response;
import lombok.Data;
import lombok.EqualsAndHashCode;
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;
}

View file

@ -0,0 +1,24 @@
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 = "param")
private List<Parameter> headers;
@XmlElementWrapper(name = "query")
@XmlElement(name = "param")
private List<Parameter> queryParams;
@XmlElementWrapper(name = "path")
@XmlElement(name = "elem")
private List<String> paths;
}

View file

@ -0,0 +1,19 @@
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 = "param")
private List<Parameter> headers;
}

View file

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

View file

@ -0,0 +1,15 @@
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

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

View file

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

View file

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