diff --git a/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/DBEndpoint.java b/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/DBEndpoint.java index 0b33fb80466af754e9778a8296260fad2bdfdbef..ddfe72947135cfb22b177bae939937aa2316f233 100644 --- a/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/DBEndpoint.java +++ b/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/DBEndpoint.java @@ -23,7 +23,7 @@ import javax.validation.constraints.*; /** * DBEndpoint */ -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-14T14:57:28.782+02:00") +@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-15T11:19:36.337+02:00") public class DBEndpoint { @JsonProperty("ipAddress") private String ipAddress = null; diff --git a/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/DBEndpoints.java b/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/DBEndpoints.java index 685e9ab7fbe5d4a4623c2facf34ba12cb6b1de5b..396998252d3fb1d4e26439ee02d43d570a162c5b 100644 --- a/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/DBEndpoints.java +++ b/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/DBEndpoints.java @@ -22,7 +22,7 @@ import javax.validation.constraints.*; * a list of the database endpoints to issue the workload */ @ApiModel(description = "a list of the database endpoints to issue the workload") -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-14T14:57:28.782+02:00") +@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-15T11:19:36.337+02:00") public class DBEndpoints extends java.util.ArrayList { @Override diff --git a/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/DatabaseConfig.java b/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/DatabaseConfig.java index 4ca53fd0efd63243b08ec1363a7b103fe8ebebc1..943796cc293d5344ce36815eeebc932549b74cbf 100644 --- a/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/DatabaseConfig.java +++ b/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/DatabaseConfig.java @@ -25,7 +25,7 @@ import javax.validation.constraints.*; /** * DatabaseConfig */ -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-14T14:57:28.782+02:00") +@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-15T11:19:36.337+02:00") public class DatabaseConfig { /** * Gets or Sets databaseBinding diff --git a/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/DatabaseConfigProperty.java b/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/DatabaseConfigProperty.java index 4b6e1edabdf3582582be3a0048a74b68a614c7e4..747c958c6b48a9b48e890456f8be7d86c1864012 100644 --- a/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/DatabaseConfigProperty.java +++ b/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/DatabaseConfigProperty.java @@ -23,7 +23,7 @@ import javax.validation.constraints.*; /** * DatabaseConfigProperty */ -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-14T14:57:28.782+02:00") +@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-15T11:19:36.337+02:00") public class DatabaseConfigProperty { @JsonProperty("name") private String name = null; diff --git a/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/Error.java b/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/Error.java index 16c1d41f703fdb89e967e97a2359ebfbb3e0cedb..bb7c45acf8824830b5f41eeb572d4e26b7c9ca25 100644 --- a/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/Error.java +++ b/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/Error.java @@ -23,7 +23,7 @@ import javax.validation.constraints.*; /** * Error */ -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-14T14:57:28.782+02:00") +@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-15T11:19:36.337+02:00") public class Error { @JsonProperty("code") private Integer code = null; diff --git a/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/MeasurementConfig.java b/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/MeasurementConfig.java index a92620624e9863a3a3d4a64964b253c751fe8fc6..a6b8959bd91d9283eccc92fd3ba59b72bb4618cd 100644 --- a/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/MeasurementConfig.java +++ b/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/MeasurementConfig.java @@ -24,7 +24,7 @@ import javax.validation.constraints.*; /** * MeasurementConfig */ -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-14T14:57:28.782+02:00") +@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-15T11:19:36.337+02:00") public class MeasurementConfig { @JsonProperty("interval") private Integer interval = null; diff --git a/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/TPCCWorkload.java b/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/TPCCWorkload.java index 5ad838165ed351f6718dc0d9fffe115fcb474b2e..071065b7ef8dd9e7d5b70f60537c94d754d592bc 100644 --- a/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/TPCCWorkload.java +++ b/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/TPCCWorkload.java @@ -25,7 +25,7 @@ import javax.validation.constraints.*; /** * TPCCWorkload */ -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-14T14:57:28.782+02:00") +@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-15T11:19:36.337+02:00") public class TPCCWorkload { @JsonProperty("dbEndpoints") private DBEndpoints dbEndpoints = null; diff --git a/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/TPCCWorkloadConfig.java b/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/TPCCWorkloadConfig.java index 1cf76eeca549fb130d510ffc67a017933010753f..5f91ce83ade5fe94fc14144d101d2847d284e4f7 100644 --- a/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/TPCCWorkloadConfig.java +++ b/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/TPCCWorkloadConfig.java @@ -23,7 +23,7 @@ import javax.validation.constraints.*; /** * TPCCWorkloadConfig */ -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-14T14:57:28.782+02:00") +@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-15T11:19:36.337+02:00") public class TPCCWorkloadConfig { @JsonProperty("activeWarehouses") private Integer activeWarehouses = null; diff --git a/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/TSBSDataGeneration.java b/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/TSBSDataGeneration.java index d10f6850ef31c3bd7743089b04e997ad25d85ba0..8a3befd0124a8d545b6b74cdf6227f28fc845620 100644 --- a/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/TSBSDataGeneration.java +++ b/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/TSBSDataGeneration.java @@ -25,7 +25,7 @@ import javax.validation.constraints.*; * parameters for the data generation phase */ @ApiModel(description = "parameters for the data generation phase") -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-14T14:57:28.782+02:00") +@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-15T11:19:36.337+02:00") public class TSBSDataGeneration { @JsonProperty("usecase") private String usecase = null; diff --git a/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/TSBSLoadExecution.java b/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/TSBSLoadExecution.java index 8773267f1bf777b333baf1a3f4ff95998ca5e15b..046adf853d391cef0edbf090fc520803c7f87cf2 100644 --- a/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/TSBSLoadExecution.java +++ b/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/TSBSLoadExecution.java @@ -25,7 +25,7 @@ import javax.validation.constraints.*; /** * TSBSLoadExecution */ -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-14T14:57:28.782+02:00") +@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-15T11:19:36.337+02:00") public class TSBSLoadExecution { @JsonProperty("workers") private BigDecimal workers = null; diff --git a/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/TSBSQueryExecution.java b/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/TSBSQueryExecution.java index 70053da06e65b431cd2da0316427eeb6fabef4c7..87ce9c6f754654142e7c50ecb99c908f8cf92685 100644 --- a/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/TSBSQueryExecution.java +++ b/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/TSBSQueryExecution.java @@ -25,7 +25,7 @@ import javax.validation.constraints.*; /** * TSBSQueryExecution */ -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-14T14:57:28.782+02:00") +@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-15T11:19:36.337+02:00") public class TSBSQueryExecution { @JsonProperty("workers") private BigDecimal workers = null; diff --git a/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/TSBSQueryGeneration.java b/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/TSBSQueryGeneration.java index 2e9aba3645f779f6158f2906e6b34adec21c6896..eee201d2e8c56d68d91bb28660c4616cde9892ee 100644 --- a/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/TSBSQueryGeneration.java +++ b/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/TSBSQueryGeneration.java @@ -25,7 +25,7 @@ import javax.validation.constraints.*; * parameters for the query generation phase */ @ApiModel(description = "parameters for the query generation phase") -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-14T14:57:28.782+02:00") +@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-15T11:19:36.337+02:00") public class TSBSQueryGeneration { @JsonProperty("usecase") private String usecase = null; diff --git a/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/TSBSWorkload.java b/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/TSBSWorkload.java index c9ba97ef282560450f5d89325867e2e4208ae308..de8cad06718bf1c4c671b61e41a69c174df90522 100644 --- a/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/TSBSWorkload.java +++ b/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/TSBSWorkload.java @@ -29,7 +29,7 @@ import javax.validation.constraints.*; /** * TSBSWorkload */ -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-14T14:57:28.782+02:00") +@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-15T11:19:36.337+02:00") public class TSBSWorkload { @JsonProperty("dbEndpoints") private DBEndpoints dbEndpoints = null; diff --git a/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/TSDBMSDBMSProperties.java b/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/TSDBMSDBMSProperties.java index f76cad952b87c054059b92f41a868a4cb2f1fd69..72f5a3a38230175840b3b7c30b466e5432ee77fe 100644 --- a/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/TSDBMSDBMSProperties.java +++ b/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/TSDBMSDBMSProperties.java @@ -23,7 +23,7 @@ import javax.validation.constraints.*; /** * TSDBMSDBMSProperties */ -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-14T14:57:28.782+02:00") +@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-15T11:19:36.337+02:00") public class TSDBMSDBMSProperties { @JsonProperty("name") private String name = null; diff --git a/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/WorkloadConfig.java b/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/WorkloadConfig.java index b410a7ee090b28152b1d4555e9b59d8b7df5897a..189624e7771b442d1349d84eeaaa1b565fe10092 100644 --- a/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/WorkloadConfig.java +++ b/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/WorkloadConfig.java @@ -24,7 +24,7 @@ import javax.validation.constraints.*; /** * WorkloadConfig */ -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-14T14:57:28.782+02:00") +@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-15T11:19:36.337+02:00") public class WorkloadConfig { /** * Gets or Sets workloadType diff --git a/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/WorkloadProcessInstance.java b/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/WorkloadProcessInstance.java index bbaf8e36129c3da1f49c4cba03cf58896dc5728b..9890a39611484ddf0fce2de8c6150e21a60a73a3 100644 --- a/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/WorkloadProcessInstance.java +++ b/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/WorkloadProcessInstance.java @@ -25,7 +25,7 @@ import javax.validation.constraints.*; /** * WorkloadProcessInstance */ -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-14T14:57:28.782+02:00") +@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-15T11:19:36.337+02:00") public class WorkloadProcessInstance { @JsonProperty("processId") private String processId = null; diff --git a/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/WorkloadProcessSubmissionError.java b/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/WorkloadProcessSubmissionError.java index b36ce1b0bdcaf07d84d82c5307479a12e5beedc0..c14af372035c98f5e618b0b151680a9e05375299 100644 --- a/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/WorkloadProcessSubmissionError.java +++ b/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/WorkloadProcessSubmissionError.java @@ -23,7 +23,7 @@ import javax.validation.constraints.*; /** * WorkloadProcessSubmissionError */ -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-14T14:57:28.782+02:00") +@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-15T11:19:36.337+02:00") public class WorkloadProcessSubmissionError { @JsonProperty("message") private String message = null; diff --git a/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/YCSBWorkload.java b/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/YCSBWorkload.java index f3279b5b91745a02a785882b19ead8e6a76031ec..779599549cb99cc03672333e7b04965ffd9f2f24 100644 --- a/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/YCSBWorkload.java +++ b/src/gen/java/de/uulm/omi/cloudiator/dbms/evaluator/model/YCSBWorkload.java @@ -27,7 +27,7 @@ import javax.validation.constraints.*; /** * YCSBWorkload */ -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-14T14:57:28.782+02:00") +@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-15T11:19:36.337+02:00") public class YCSBWorkload { @JsonProperty("dbEndpoints") private DBEndpoints dbEndpoints = null; diff --git a/src/gen/java/de/uulm/omi/dbms/workload/api/ApiException.java b/src/gen/java/de/uulm/omi/dbms/workload/api/ApiException.java index bf896b5b2c51680b97ab848e4f5d99238e6dc765..3d74ca7e13f7d7093580cb64d93584c473362a36 100644 --- a/src/gen/java/de/uulm/omi/dbms/workload/api/ApiException.java +++ b/src/gen/java/de/uulm/omi/dbms/workload/api/ApiException.java @@ -1,6 +1,6 @@ package de.uulm.omi.dbms.workload.api; -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-14T14:57:28.782+02:00") +@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-15T11:19:36.337+02:00") public class ApiException extends Exception{ private int code; public ApiException (int code, String msg) { diff --git a/src/gen/java/de/uulm/omi/dbms/workload/api/ApiOriginFilter.java b/src/gen/java/de/uulm/omi/dbms/workload/api/ApiOriginFilter.java index de01306e12945e514b41c1742b299f391110df72..207fc163fe77c204d85524da1b544e74f3f8d2e1 100644 --- a/src/gen/java/de/uulm/omi/dbms/workload/api/ApiOriginFilter.java +++ b/src/gen/java/de/uulm/omi/dbms/workload/api/ApiOriginFilter.java @@ -5,7 +5,7 @@ import java.io.IOException; import javax.servlet.*; import javax.servlet.http.HttpServletResponse; -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-14T14:57:28.782+02:00") +@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-15T11:19:36.337+02:00") public class ApiOriginFilter implements javax.servlet.Filter { public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { diff --git a/src/gen/java/de/uulm/omi/dbms/workload/api/ApiResponseMessage.java b/src/gen/java/de/uulm/omi/dbms/workload/api/ApiResponseMessage.java index 593890472b6aacb2587cd1fbe9946b91a3e02276..059bfe9e3ba4e86a2d63c7b2c30344f47afe3ae1 100644 --- a/src/gen/java/de/uulm/omi/dbms/workload/api/ApiResponseMessage.java +++ b/src/gen/java/de/uulm/omi/dbms/workload/api/ApiResponseMessage.java @@ -3,7 +3,7 @@ package de.uulm.omi.dbms.workload.api; import javax.xml.bind.annotation.XmlTransient; @javax.xml.bind.annotation.XmlRootElement -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-14T14:57:28.782+02:00") +@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-15T11:19:36.337+02:00") public class ApiResponseMessage { public static final int ERROR = 1; public static final int WARNING = 2; diff --git a/src/gen/java/de/uulm/omi/dbms/workload/api/NotFoundException.java b/src/gen/java/de/uulm/omi/dbms/workload/api/NotFoundException.java index 2c25ecc6af01be5936fdc2e7275d85022d7b8719..bb46fe792c473f50939e28d0c88d9ef417b1dd7a 100644 --- a/src/gen/java/de/uulm/omi/dbms/workload/api/NotFoundException.java +++ b/src/gen/java/de/uulm/omi/dbms/workload/api/NotFoundException.java @@ -1,6 +1,6 @@ package de.uulm.omi.dbms.workload.api; -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-14T14:57:28.782+02:00") +@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-15T11:19:36.337+02:00") public class NotFoundException extends ApiException { private int code; public NotFoundException (int code, String msg) { diff --git a/src/gen/java/de/uulm/omi/dbms/workload/api/StringUtil.java b/src/gen/java/de/uulm/omi/dbms/workload/api/StringUtil.java index f13d0d6e3c7ea77c951a32117095aa369c55070f..a6e93538f09323c1c12d40e21df523b4c0a2f966 100644 --- a/src/gen/java/de/uulm/omi/dbms/workload/api/StringUtil.java +++ b/src/gen/java/de/uulm/omi/dbms/workload/api/StringUtil.java @@ -1,6 +1,6 @@ package de.uulm.omi.dbms.workload.api; -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-14T14:57:28.782+02:00") +@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-15T11:19:36.337+02:00") public class StringUtil { /** * Check if the given array contains the given value (with case-insensitive comparison). diff --git a/src/gen/java/de/uulm/omi/dbms/workload/api/WorkloadApi.java b/src/gen/java/de/uulm/omi/dbms/workload/api/WorkloadApi.java index 41ed9c68d2a1e1d990b04170ca96fad22ed44cbf..ed6858e20063c0bde1e4b1396617b33652025c11 100644 --- a/src/gen/java/de/uulm/omi/dbms/workload/api/WorkloadApi.java +++ b/src/gen/java/de/uulm/omi/dbms/workload/api/WorkloadApi.java @@ -35,7 +35,7 @@ import javax.validation.constraints.*; @Produces({ "application/json" }) @io.swagger.annotations.Api(description = "the workload API") -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-14T14:57:28.782+02:00") +@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-15T11:19:36.337+02:00") public class WorkloadApi { private final WorkloadApiService delegate; @@ -107,21 +107,72 @@ public class WorkloadApi { return delegate.workloadTpccPost(taskId,workload,securityContext); } @POST - @Path("/tsbs") + @Path("/tsbs/executeQueries") @Produces({ "application/json" }) - @io.swagger.annotations.ApiOperation(value = "generates the data, queries, loads and executes the TSBS workload against a supported DBMS", notes = "Prepare and execute the TSBS workload ", response = WorkloadProcessInstance.class, tags={ }) + @io.swagger.annotations.ApiOperation(value = "executes TSBS queries based on the loaded data", notes = "Execute queries ", response = WorkloadProcessInstance.class, tags={ }) @io.swagger.annotations.ApiResponses(value = { @io.swagger.annotations.ApiResponse(code = 200, message = "returns the state of the started workloadProcess", response = WorkloadProcessInstance.class), @io.swagger.annotations.ApiResponse(code = 403, message = "already a workloadProcess running", response = WorkloadProcessSubmissionError.class), @io.swagger.annotations.ApiResponse(code = 200, message = "Unexpected error", response = Error.class) }) - public Response workloadTsbsPost(@ApiParam(value = "the id of the workload execution task, used as prefix for result files",required=true) @QueryParam("taskId") String taskId + public Response workloadTsbsExecuteQueriesPost(@ApiParam(value = "the id of the workload execution task, used as prefix for result files",required=true) @QueryParam("taskId") String taskId ,@ApiParam(value = "the TSBS workload configuration" ,required=true) TSBSWorkload workload ,@Context SecurityContext securityContext) throws NotFoundException { - return delegate.workloadTsbsPost(taskId,workload,securityContext); + return delegate.workloadTsbsExecuteQueriesPost(taskId,workload,securityContext); + } + @POST + @Path("/tsbs/generateData") + + @Produces({ "application/json" }) + @io.swagger.annotations.ApiOperation(value = "generates the TSBS data", notes = "Generate data ", response = WorkloadProcessInstance.class, tags={ }) + @io.swagger.annotations.ApiResponses(value = { + @io.swagger.annotations.ApiResponse(code = 200, message = "returns the state of the started workloadProcess", response = WorkloadProcessInstance.class), + + @io.swagger.annotations.ApiResponse(code = 403, message = "already a workloadProcess running", response = WorkloadProcessSubmissionError.class), + + @io.swagger.annotations.ApiResponse(code = 200, message = "Unexpected error", response = Error.class) }) + public Response workloadTsbsGenerateDataPost(@ApiParam(value = "the id of the workload execution task, used as prefix for result files",required=true) @QueryParam("taskId") String taskId +,@ApiParam(value = "the TSBS workload configuration" ,required=true) TSBSWorkload workload +,@Context SecurityContext securityContext) + throws NotFoundException { + return delegate.workloadTsbsGenerateDataPost(taskId,workload,securityContext); + } + @POST + @Path("/tsbs/generateQueries") + + @Produces({ "application/json" }) + @io.swagger.annotations.ApiOperation(value = "generates the TSBS quires in the DBMS-specific format", notes = "Generate TSBS queries ", response = WorkloadProcessInstance.class, tags={ }) + @io.swagger.annotations.ApiResponses(value = { + @io.swagger.annotations.ApiResponse(code = 200, message = "returns the state of the started workloadProcess", response = WorkloadProcessInstance.class), + + @io.swagger.annotations.ApiResponse(code = 403, message = "already a workloadProcess running", response = WorkloadProcessSubmissionError.class), + + @io.swagger.annotations.ApiResponse(code = 200, message = "Unexpected error", response = Error.class) }) + public Response workloadTsbsGenerateQueriesPost(@ApiParam(value = "the id of the workload execution task, used as prefix for result files",required=true) @QueryParam("taskId") String taskId +,@ApiParam(value = "the TSBS workload configuration" ,required=true) TSBSWorkload workload +,@Context SecurityContext securityContext) + throws NotFoundException { + return delegate.workloadTsbsGenerateQueriesPost(taskId,workload,securityContext); + } + @POST + @Path("/tsbs/loadData") + + @Produces({ "application/json" }) + @io.swagger.annotations.ApiOperation(value = "loads the data in the specified timeseries DBMS", notes = "Load data ", response = WorkloadProcessInstance.class, tags={ }) + @io.swagger.annotations.ApiResponses(value = { + @io.swagger.annotations.ApiResponse(code = 200, message = "returns the state of the started workloadProcess", response = WorkloadProcessInstance.class), + + @io.swagger.annotations.ApiResponse(code = 403, message = "already a workloadProcess running", response = WorkloadProcessSubmissionError.class), + + @io.swagger.annotations.ApiResponse(code = 200, message = "Unexpected error", response = Error.class) }) + public Response workloadTsbsLoadDataPost(@ApiParam(value = "the id of the workload execution task, used as prefix for result files",required=true) @QueryParam("taskId") String taskId +,@ApiParam(value = "the TSBS workload configuration" ,required=true) TSBSWorkload workload +,@Context SecurityContext securityContext) + throws NotFoundException { + return delegate.workloadTsbsLoadDataPost(taskId,workload,securityContext); } @POST @Path("/ycsb") diff --git a/src/gen/java/de/uulm/omi/dbms/workload/api/WorkloadApiService.java b/src/gen/java/de/uulm/omi/dbms/workload/api/WorkloadApiService.java index f7c1135c551b237e714baee93d4bc85972a71917..bfef373a0062356f9231f2dd728c78b0c1ed696a 100644 --- a/src/gen/java/de/uulm/omi/dbms/workload/api/WorkloadApiService.java +++ b/src/gen/java/de/uulm/omi/dbms/workload/api/WorkloadApiService.java @@ -21,11 +21,14 @@ import java.io.InputStream; import javax.ws.rs.core.Response; import javax.ws.rs.core.SecurityContext; import javax.validation.constraints.*; -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-14T14:57:28.782+02:00") +@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-15T11:19:36.337+02:00") public abstract class WorkloadApiService { public abstract Response workloadResultGet( @NotNull String taskId, @NotNull String workloadType,SecurityContext securityContext) throws NotFoundException; public abstract Response workloadStatusGet( String applicationInstanceId,SecurityContext securityContext) throws NotFoundException; public abstract Response workloadTpccPost( @NotNull String taskId,TPCCWorkload workload,SecurityContext securityContext) throws NotFoundException; - public abstract Response workloadTsbsPost( @NotNull String taskId,TSBSWorkload workload,SecurityContext securityContext) throws NotFoundException; + public abstract Response workloadTsbsExecuteQueriesPost( @NotNull String taskId,TSBSWorkload workload,SecurityContext securityContext) throws NotFoundException; + public abstract Response workloadTsbsGenerateDataPost( @NotNull String taskId,TSBSWorkload workload,SecurityContext securityContext) throws NotFoundException; + public abstract Response workloadTsbsGenerateQueriesPost( @NotNull String taskId,TSBSWorkload workload,SecurityContext securityContext) throws NotFoundException; + public abstract Response workloadTsbsLoadDataPost( @NotNull String taskId,TSBSWorkload workload,SecurityContext securityContext) throws NotFoundException; public abstract Response workloadYcsbPost( @NotNull String taskId,YCSBWorkload workload,SecurityContext securityContext) throws NotFoundException; } diff --git a/src/main/java/de/uulm/omi/dbms/workload/api/factories/WorkloadApiServiceFactory.java b/src/main/java/de/uulm/omi/dbms/workload/api/factories/WorkloadApiServiceFactory.java index 9bb495374bec9cfe81658d35a062d02bde3ee4b1..9f3902895f7a9e667382b86af23d7ffa68c15d5b 100644 --- a/src/main/java/de/uulm/omi/dbms/workload/api/factories/WorkloadApiServiceFactory.java +++ b/src/main/java/de/uulm/omi/dbms/workload/api/factories/WorkloadApiServiceFactory.java @@ -3,7 +3,7 @@ package de.uulm.omi.dbms.workload.api.factories; import de.uulm.omi.dbms.workload.api.WorkloadApiService; import de.uulm.omi.dbms.workload.api.impl.WorkloadApiServiceImpl; -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-14T14:57:28.782+02:00") +@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-15T11:19:36.337+02:00") public class WorkloadApiServiceFactory { private final static WorkloadApiService service = new WorkloadApiServiceImpl(); diff --git a/src/main/java/de/uulm/omi/dbms/workload/api/impl/WorkloadApiServiceImpl.java b/src/main/java/de/uulm/omi/dbms/workload/api/impl/WorkloadApiServiceImpl.java index 8388fb88b11ed804bba54497594d4abe34acc983..020791b2dfe71a433d802c9bbce64cd3dda1ba8d 100644 --- a/src/main/java/de/uulm/omi/dbms/workload/api/impl/WorkloadApiServiceImpl.java +++ b/src/main/java/de/uulm/omi/dbms/workload/api/impl/WorkloadApiServiceImpl.java @@ -11,9 +11,10 @@ import de.uulm.omi.dbms.workload.api.NotFoundException; import de.uulm.omi.dbms.workload.api.WorkloadApiService; import de.uulm.omi.utils.TextFileLoader; import de.uulm.omi.utils.WorkloadApiProperties; +import de.uulm.omi.utils.WorkloadProcessChecker; import de.uulm.omi.workload.WorkloadProcess; import de.uulm.omi.workload.tpcc.TPCCCommandBuilder; -import de.uulm.omi.workload.tsbs.Runner; +import de.uulm.omi.workload.tsbs.TSBSCommandBuilder; import de.uulm.omi.workload.ycsb.YCSBCommandBuilder; import java.io.File; import java.io.FileNotFoundException; @@ -46,6 +47,10 @@ public class WorkloadApiServiceImpl extends WorkloadApiService { private final String TPCC_RESULT_FOLDER = "TPCC/"; private static final String TPCC_BINARY = "./cockroach"; + //TSBS constants + private final String TSBS_RESULT_FOLDER = "TSBS/"; + private static final String TSBS_BINARY = "/opt/workloads/tsbs/bin/"; + @Override public Response workloadResultGet(@NotNull String taskId, @NotNull String workloadType, @@ -202,29 +207,137 @@ public class WorkloadApiServiceImpl extends WorkloadApiService { } @Override - public Response workloadTsbsPost(String taskId, TSBSWorkload workload, + public Response workloadTsbsExecuteQueriesPost(String taskId, TSBSWorkload workload, SecurityContext securityContext) throws NotFoundException { - //Phase 0: check if already a workloadProcess running + if(WorkloadProcessChecker.checkWorkloadProcessStatee() != null){ + return WorkloadProcessChecker.checkWorkloadProcessStatee(); + } + WorkloadProcess workloadProcess = WorkloadProcess.getInstance(); - if (workloadProcess.isRunning()) { - WorkloadProcessSubmissionError workloadProcessSubmissionError = new WorkloadProcessSubmissionError(); - workloadProcessSubmissionError.setMessage( - "There is already a workloadProcess running, please wait until workloadProcess is finished!"); - return Response.status(Status.FORBIDDEN).entity(workloadProcessSubmissionError).build(); + Properties properties = WorkloadApiProperties.getInstance().getProperties(); + Long workloadTimestamp = System.currentTimeMillis(); + + + String executeQueriesCommand = TSBSCommandBuilder.executeQueriesCommand(TSBS_BINARY, properties.getProperty(WorkloadApiProperties.WORKLOAD_DATA_FOLDER), workload.getDbms(), workload.getTsbsQueryExecution(), workload.getDbEndpoints() ); + executeQueriesCommand += " &> " + properties.getProperty(WorkloadApiProperties.WORKLOAD_RESULTS_FOLDER) + TSBS_RESULT_FOLDER + taskId.trim() + ".txt"; + LOGGER.debug(executeQueriesCommand); + + + workloadProcess + .startWorkload(TSBS_BINARY, UNIX_SHELL, UNIX_COMMAND_PARAM, executeQueriesCommand, taskId, + workloadTimestamp); + + WorkloadProcessInstance workloadProcessInstance = new WorkloadProcessInstance(); + workloadProcessInstance.setProcessStatus(ProcessStatus.RUNNING); + workloadProcessInstance.setTimestamp(BigDecimal.valueOf(workloadProcess.getStartTimestamp())); + workloadProcessInstance.setProcessId(workloadProcess.getProcessId()); + + + return Response.ok().entity(workloadProcessInstance).build(); + } + + @Override + public Response workloadTsbsGenerateDataPost(String taskId, TSBSWorkload workload, + SecurityContext securityContext) throws NotFoundException { + + if(WorkloadProcessChecker.checkWorkloadProcessStatee() != null){ + return WorkloadProcessChecker.checkWorkloadProcessStatee(); + } + + WorkloadProcess workloadProcess = WorkloadProcess.getInstance(); + + Properties properties = WorkloadApiProperties.getInstance().getProperties(); + Long workloadTimestamp = System.currentTimeMillis(); + + LOGGER.debug(workload.toString()); + + //Phase 1: generate data + LOGGER.debug("Starting phase 1: data generations"); + String generateDataCommand= ""; + generateDataCommand = TSBSCommandBuilder + .generateDataCommand( TSBS_BINARY, workload.getDbms(), workload.getTsbsDataGeneration()); + generateDataCommand += properties.getProperty(WorkloadApiProperties.WORKLOAD_DATA_FOLDER) + workload.getDbms().toString().toLowerCase() + "-data.gz"; + LOGGER.debug("Generate data command: " + generateDataCommand); + + + workloadProcess + .startWorkload(TSBS_BINARY, UNIX_SHELL, UNIX_COMMAND_PARAM, generateDataCommand, taskId, + workloadTimestamp); + + WorkloadProcessInstance workloadProcessInstance = new WorkloadProcessInstance(); + workloadProcessInstance.setProcessStatus(ProcessStatus.RUNNING); + workloadProcessInstance.setTimestamp(BigDecimal.valueOf(workloadProcess.getStartTimestamp())); + workloadProcessInstance.setProcessId(workloadProcess.getProcessId()); + + + return Response.ok().entity(workloadProcessInstance).build(); + } + + @Override + public Response workloadTsbsGenerateQueriesPost(String taskId, TSBSWorkload workload, + SecurityContext securityContext) throws NotFoundException { + + if(WorkloadProcessChecker.checkWorkloadProcessStatee() != null){ + return WorkloadProcessChecker.checkWorkloadProcessStatee(); } + WorkloadProcess workloadProcess = WorkloadProcess.getInstance(); + + Properties properties = WorkloadApiProperties.getInstance().getProperties(); + Long workloadTimestamp = System.currentTimeMillis(); + + + String generateQueriesCommand = ""; + generateQueriesCommand = TSBSCommandBuilder.generateQueriesCommand(TSBS_BINARY, workload.getDbms(), workload.getTsbsDataGeneration(), workload.getTsbsQueryGeneration()); + generateQueriesCommand += properties.getProperty(WorkloadApiProperties.WORKLOAD_DATA_FOLDER) + workload.getDbms().toString().toLowerCase() + "-queries.gz" ; + LOGGER.debug(generateQueriesCommand); + + workloadProcess + .startWorkload(TSBS_BINARY, UNIX_SHELL, UNIX_COMMAND_PARAM, generateQueriesCommand, taskId, + workloadTimestamp); + WorkloadProcessInstance workloadProcessInstance = new WorkloadProcessInstance(); workloadProcessInstance.setProcessStatus(ProcessStatus.RUNNING); workloadProcessInstance.setTimestamp(BigDecimal.valueOf(workloadProcess.getStartTimestamp())); workloadProcessInstance.setProcessId(workloadProcess.getProcessId()); - Runner tsbsRunner = new Runner(workload, taskId); - new Thread(tsbsRunner).start(); return Response.ok().entity(workloadProcessInstance).build(); + } + + @Override + public Response workloadTsbsLoadDataPost(String taskId, TSBSWorkload workload, + SecurityContext securityContext) throws NotFoundException { + + if(WorkloadProcessChecker.checkWorkloadProcessStatee() != null){ + return WorkloadProcessChecker.checkWorkloadProcessStatee(); + } + + WorkloadProcess workloadProcess = WorkloadProcess.getInstance(); + + Properties properties = WorkloadApiProperties.getInstance().getProperties(); + Long workloadTimestamp = System.currentTimeMillis(); + + String loadCommand = ""; + loadCommand = TSBSCommandBuilder.generateLoadCommand(TSBS_BINARY, properties.getProperty(WorkloadApiProperties.WORKLOAD_DATA_FOLDER), workload.getDbms(), workload.getTsbsLoadExecution(),workload.getDbEndpoints()); + loadCommand += " &> " + properties.getProperty(WorkloadApiProperties.WORKLOAD_RESULTS_FOLDER) + TSBS_RESULT_FOLDER + taskId.trim() + "_load.txt"; + LOGGER.debug(loadCommand); + + workloadProcess + .startWorkload(TSBS_BINARY, UNIX_SHELL, UNIX_COMMAND_PARAM, loadCommand, taskId, + workloadTimestamp); + + + WorkloadProcessInstance workloadProcessInstance = new WorkloadProcessInstance(); + workloadProcessInstance.setProcessStatus(ProcessStatus.RUNNING); + workloadProcessInstance.setTimestamp(BigDecimal.valueOf(workloadProcess.getStartTimestamp())); + workloadProcessInstance.setProcessId(workloadProcess.getProcessId()); + + + return Response.ok().entity(workloadProcessInstance).build(); } diff --git a/src/main/java/de/uulm/omi/utils/WorkloadProcessChecker.java b/src/main/java/de/uulm/omi/utils/WorkloadProcessChecker.java new file mode 100644 index 0000000000000000000000000000000000000000..6efbeac751548d02b8c666a76811aa34687f82ef --- /dev/null +++ b/src/main/java/de/uulm/omi/utils/WorkloadProcessChecker.java @@ -0,0 +1,32 @@ +package de.uulm.omi.utils; + +import de.uulm.omi.cloudiator.dbms.evaluator.model.WorkloadProcessSubmissionError; +import de.uulm.omi.workload.WorkloadProcess; +import javax.ws.rs.core.Response; +import javax.ws.rs.core.Response.Status; + +/** + * Created by Daniel Seybold on 15.05.2020. + */ +public class WorkloadProcessChecker { + + public static Response checkWorkloadProcessStatee(){ + + + //check if already a workloadProcess running + WorkloadProcess workloadProcess = WorkloadProcess.getInstance(); + if (workloadProcess.isRunning()) { + WorkloadProcessSubmissionError workloadProcessSubmissionError = new WorkloadProcessSubmissionError(); + workloadProcessSubmissionError.setMessage( + "There is already a workloadProcess running, please wait until workloadProcess is finished!"); + + Response response = Response.status(Status.FORBIDDEN).entity(workloadProcessSubmissionError).build(); + + + return response; + } + + else return null; + } + +} diff --git a/src/main/java/de/uulm/omi/workload/tsbs/Runner.java b/src/main/java/de/uulm/omi/workload/tsbs/Runner.java index da0a2df9d56d3273323254be5bedcc0d9f952c0b..7f13edbf040cf0de1dc75214d09849e0f2b5c6bb 100644 --- a/src/main/java/de/uulm/omi/workload/tsbs/Runner.java +++ b/src/main/java/de/uulm/omi/workload/tsbs/Runner.java @@ -39,6 +39,9 @@ public class Runner implements Runnable { //TODO: in case of failure set ProcessInstance state to error! + //TODO: refactor to have one api call per phase and pass always the whole workload object, this will avoid the issue that checks the state in between the phases + + WorkloadProcess workloadProcess = WorkloadProcess.getInstance(); Properties properties = WorkloadApiProperties.getInstance().getProperties(); diff --git a/swagger/swagger.yaml b/swagger/swagger.yaml index f8a5697741dcbb18b3e277a204826ee36bc82cdd..fe2a18fb3359c41131f18cea4e2ddf805d0cd5ef 100644 --- a/swagger/swagger.yaml +++ b/swagger/swagger.yaml @@ -74,11 +74,46 @@ paths: description: Unexpected error schema: $ref: '#/definitions/Error' - /workload/tsbs: + + + /workload/tsbs/generateData: + post: + summary: generates the TSBS data + description: | + Generate data + parameters: + - name: taskId + description: >- + the id of the workload execution task, used as prefix for result + files + in: query + required: true + type: string + - name: workload + in: body + description: the TSBS workload configuration + required: true + schema: + $ref: '#/definitions/TSBSWorkload' + responses: + '200': + description: returns the state of the started workloadProcess + schema: + $ref: '#/definitions/WorkloadProcessInstance' + '403': + description: already a workloadProcess running + schema: + $ref: '#/definitions/WorkloadProcessSubmissionError' + default: + description: Unexpected error + schema: + $ref: '#/definitions/Error' + + /workload/tsbs/loadData: post: - summary: generates the data, queries, loads and executes the TSBS workload against a supported DBMS + summary: loads the data in the specified timeseries DBMS description: | - Prepare and execute the TSBS workload + Load data parameters: - name: taskId description: >- @@ -107,6 +142,71 @@ paths: schema: $ref: '#/definitions/Error' + /workload/tsbs/generateQueries: + post: + summary: generates the TSBS quires in the DBMS-specific format + description: | + Generate TSBS queries + parameters: + - name: taskId + description: >- + the id of the workload execution task, used as prefix for result + files + in: query + required: true + type: string + - name: workload + in: body + description: the TSBS workload configuration + required: true + schema: + $ref: '#/definitions/TSBSWorkload' + responses: + '200': + description: returns the state of the started workloadProcess + schema: + $ref: '#/definitions/WorkloadProcessInstance' + '403': + description: already a workloadProcess running + schema: + $ref: '#/definitions/WorkloadProcessSubmissionError' + default: + description: Unexpected error + schema: + $ref: '#/definitions/Error' + + /workload/tsbs/executeQueries: + post: + summary: executes TSBS queries based on the loaded data + description: | + Execute queries + parameters: + - name: taskId + description: >- + the id of the workload execution task, used as prefix for result + files + in: query + required: true + type: string + - name: workload + in: body + description: the TSBS workload configuration + required: true + schema: + $ref: '#/definitions/TSBSWorkload' + responses: + '200': + description: returns the state of the started workloadProcess + schema: + $ref: '#/definitions/WorkloadProcessInstance' + '403': + description: already a workloadProcess running + schema: + $ref: '#/definitions/WorkloadProcessSubmissionError' + default: + description: Unexpected error + schema: + $ref: '#/definitions/Error' /workload/status: get: