From e6d6bae706f7cb2a58e364d013d831ea5e85df52 Mon Sep 17 00:00:00 2001
From: "jueun.park" <s5616012@msx.tu-dresden.de>
Date: Sun, 1 Aug 2021 12:05:52 +0900
Subject: [PATCH] api examples generated, parsed and composed

---
 .../6.8/executionHistory/executionHistory.bin | Bin 232845 -> 232845 bytes
 .../executionHistory/executionHistory.lock    | Bin 17 -> 17 bytes
 .gradle/6.8/fileHashes/fileHashes.bin         | Bin 74765 -> 74765 bytes
 .gradle/6.8/fileHashes/fileHashes.lock        | Bin 17 -> 17 bytes
 .gradle/6.8/javaCompile/javaCompile.lock      | Bin 17 -> 17 bytes
 .../buildOutputCleanup.lock                   | Bin 17 -> 17 bytes
 .../inf/st/openapi/OpenAPIMain.class          | Bin 61558 -> 61599 bytes
 composedFile.json                             | 165 ------------------
 gen-api-ex/api-with-examples_generated.json   | 132 ++++++++++++++
 gen-api-ex/callback-example_generated.json    | 132 ++++++++++++++
 gen-api-ex/link-example_generated.json        | 132 ++++++++++++++
 gen-api-ex/petstore-expanded_generated.json   | 132 ++++++++++++++
 gen-api-ex/petstore_generated.json            | 132 ++++++++++++++
 gen-api-ex/uspto_generated.json               | 132 ++++++++++++++
 .../tudresden/inf/st/openapi/OpenAPIMain.java |   9 +-
 15 files changed, 798 insertions(+), 168 deletions(-)
 delete mode 100644 composedFile.json
 create mode 100644 gen-api-ex/api-with-examples_generated.json
 create mode 100644 gen-api-ex/callback-example_generated.json
 create mode 100644 gen-api-ex/link-example_generated.json
 create mode 100644 gen-api-ex/petstore-expanded_generated.json
 create mode 100644 gen-api-ex/petstore_generated.json
 create mode 100644 gen-api-ex/uspto_generated.json

diff --git a/.gradle/6.8/executionHistory/executionHistory.bin b/.gradle/6.8/executionHistory/executionHistory.bin
index eb09ed60d2ce976842a2a259db071cd8e118feb8..3d509229b37ded56d536f82fdf06ed33a9bb773f 100644
GIT binary patch
delta 2881
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

delta 2881
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
ASpWb4

diff --git a/.gradle/6.8/executionHistory/executionHistory.lock b/.gradle/6.8/executionHistory/executionHistory.lock
index e52d2d833d34a11231d88627f4fa80373f732ad9..71aab95ae74613e3452cc8e53cd3e55e7c23d162 100644
GIT binary patch
literal 17
VcmZQp+O{L7ZHdZl1~6b^001)$1S<dl

literal 17
VcmZQp+O{L7ZHdZl1~6c}1^_eR1poj5

diff --git a/.gradle/6.8/fileHashes/fileHashes.bin b/.gradle/6.8/fileHashes/fileHashes.bin
index 737f487261919951193183707949dee694f1ccc7..bddfd75b352c7341a93e62b0518b1104f6141b8e 100644
GIT binary patch
delta 2377
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

delta 2377
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

diff --git a/.gradle/6.8/fileHashes/fileHashes.lock b/.gradle/6.8/fileHashes/fileHashes.lock
index 8086c489f1a35116e2100303f7273a7184df5d55..a36994a264ecec43fca917a5243c81b713c5eded 100644
GIT binary patch
literal 17
VcmZP;t>XHyYn^sA0~nNv0st(k1SS9g

literal 17
VcmZP;t>XHyYn^sA0~lnv0st(+1WEt^

diff --git a/.gradle/6.8/javaCompile/javaCompile.lock b/.gradle/6.8/javaCompile/javaCompile.lock
index 66b336e06a8ebd4fc094e0f1ffad06b3b2c937b9..c2a8f59c1de299fffe11a0ce79449619f1d3d4dc 100644
GIT binary patch
literal 17
VcmZS9_jn)L_pnKx0Ss7I001xl1bhGh

literal 17
UcmZS9_jn)L_pnKx0Ss8{058=9QUCw|

diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock
index 5b7ffbdb2ca7f0dea3e4154cc581445b90e635f4..2ccc0fc242594bc28b2b8bd110392783c322b980 100644
GIT binary patch
literal 17
UcmZRMRkTpz>bjrL00zu%03aL#2LJ#7

literal 17
UcmZRMRkTpz>bjrL00ztq03X%@!2kdN

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/OpenAPIMain.class b/build/classes/java/main/de/tudresden/inf/st/openapi/OpenAPIMain.class
index 473dfa3da0ae9f4824fd147b13ab8b99d9687a74..6ec5ab501d6d9617b81e5077cc047592705625eb 100644
GIT binary patch
delta 1932
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

delta 1883
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

diff --git a/composedFile.json b/composedFile.json
deleted file mode 100644
index 16472c65..00000000
--- a/composedFile.json
+++ /dev/null
@@ -1,165 +0,0 @@
-{
-  "openapi" : "3.0.0",
-  "info" : {
-    "description" : "",
-    "termsOfService" : "",
-    "title" : "Simple API overview",
-    "version" : "2.0.0"
-  },
-  "paths" : {
-    "/v2" : {
-      "description" : "",
-      "summary" : "",
-      "get" : {
-        "summary" : "Show API version details",
-        "description" : "",
-        "operationId" : "getVersionDetailsv2",
-        "responses" : {
-          "200" : {
-            "description" : "200 response",
-            "content" : {
-              "application/json" : {
-                "examples" : {
-                  "foo" : {
-                    "summary" : "",
-                    "description" : "",
-                    "value" : {
-                      "version" : {
-                        "status" : "CURRENT",
-                        "updated" : "2011-01-21T11:33:21Z",
-                        "media-types" : [ {
-                          "base" : "application/xml",
-                          "type" : "application/vnd.openstack.compute+xml;version=2"
-                        }, {
-                          "base" : "application/json",
-                          "type" : "application/vnd.openstack.compute+json;version=2"
-                        } ],
-                        "id" : "v2.0",
-                        "links" : [ {
-                          "href" : "http://127.0.0.1:8774/v2/",
-                          "rel" : "self"
-                        }, {
-                          "href" : "http://docs.openstack.org/api/openstack-compute/2/os-compute-devguide-2.pdf",
-                          "type" : "application/pdf",
-                          "rel" : "describedby"
-                        }, {
-                          "href" : "http://docs.openstack.org/api/openstack-compute/2/wadl/os-compute-2.wadl",
-                          "type" : "application/vnd.sun.wadl+xml",
-                          "rel" : "describedby"
-                        }, {
-                          "href" : "http://docs.openstack.org/api/openstack-compute/2/wadl/os-compute-2.wadl",
-                          "type" : "application/vnd.sun.wadl+xml",
-                          "rel" : "describedby"
-                        } ]
-                      }
-                    },
-                    "externalValue" : ""
-                  }
-                }
-              }
-            }
-          },
-          "203" : {
-            "description" : "203 response",
-            "content" : {
-              "application/json" : {
-                "examples" : {
-                  "foo" : {
-                    "summary" : "",
-                    "description" : "",
-                    "value" : {
-                      "version" : {
-                        "status" : "CURRENT",
-                        "updated" : "2011-01-21T11:33:21Z",
-                        "media-types" : [ {
-                          "base" : "application/xml",
-                          "type" : "application/vnd.openstack.compute+xml;version=2"
-                        }, {
-                          "base" : "application/json",
-                          "type" : "application/vnd.openstack.compute+json;version=2"
-                        } ],
-                        "id" : "v2.0",
-                        "links" : [ {
-                          "href" : "http://23.253.228.211:8774/v2/",
-                          "rel" : "self"
-                        }, {
-                          "href" : "http://docs.openstack.org/api/openstack-compute/2/os-compute-devguide-2.pdf",
-                          "type" : "application/pdf",
-                          "rel" : "describedby"
-                        }, {
-                          "href" : "http://docs.openstack.org/api/openstack-compute/2/wadl/os-compute-2.wadl",
-                          "type" : "application/vnd.sun.wadl+xml",
-                          "rel" : "describedby"
-                        } ]
-                      }
-                    },
-                    "externalValue" : ""
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    },
-    "/" : {
-      "description" : "",
-      "summary" : "",
-      "get" : {
-        "summary" : "List API versions",
-        "description" : "",
-        "operationId" : "listVersionsv2",
-        "responses" : {
-          "200" : {
-            "description" : "200 response",
-            "content" : {
-              "application/json" : {
-                "examples" : {
-                  "foo" : {
-                    "summary" : "",
-                    "description" : "",
-                    "value" : {
-                      "versions" : [ {
-                        "status" : "CURRENT",
-                        "updated" : "2011-01-21T11:33:21Z",
-                        "id" : "v2.0",
-                        "links" : [ {
-                          "href" : "http://127.0.0.1:8774/v2/",
-                          "rel" : "self"
-                        } ]
-                      }, {
-                        "status" : "EXPERIMENTAL",
-                        "updated" : "2013-07-23T11:33:21Z",
-                        "id" : "v3.0",
-                        "links" : [ {
-                          "href" : "http://127.0.0.1:8774/v3/",
-                          "rel" : "self"
-                        } ]
-                      } ]
-                    },
-                    "externalValue" : ""
-                  }
-                }
-              }
-            }
-          },
-          "300" : {
-            "description" : "300 response",
-            "content" : {
-              "application/json" : {
-                "examples" : {
-                  "foo" : {
-                    "summary" : "",
-                    "description" : "",
-                    "value" : "{\n \"versions\": [\n       {\n         \"status\": \"CURRENT\",\n         \"updated\": \"2011-01-21T11:33:21Z\",\n         \"id\": \"v2.0\",\n         \"links\": [\n             {\n                 \"href\": \"http://127.0.0.1:8774/v2/\",\n                 \"rel\": \"self\"\n             }\n         ]\n     },\n     {\n         \"status\": \"EXPERIMENTAL\",\n         \"updated\": \"2013-07-23T11:33:21Z\",\n         \"id\": \"v3.0\",\n         \"links\": [\n             {\n                 \"href\": \"http://127.0.0.1:8774/v3/\",\n                 \"rel\": \"self\"\n             }\n         ]\n     }\n ]\n}\n",
-                    "externalValue" : ""
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/gen-api-ex/api-with-examples_generated.json b/gen-api-ex/api-with-examples_generated.json
new file mode 100644
index 00000000..687e97df
--- /dev/null
+++ b/gen-api-ex/api-with-examples_generated.json
@@ -0,0 +1,132 @@
+{
+  "openapi" : "3.0.1",
+  "info" : {
+    "contact" : {
+      "email" : "developer@uspto.gov",
+      "name" : "Open Data Portal",
+      "url" : "https://developer.uspto.gov"
+    },
+    "description" : "The Data Set API (DSAPI) allows the public users to discover and search USPTO exported data sets. This is a generic API that allows USPTO users to make any CSV based data files searchable through API. With the help of GET call, it returns the list of data fields that are searchable. With the help of POST call, data can be fetched based on the filters on the field names. Please note that POST call is used to search the actual data. The reason for the POST call is that it allows users to specify any complex search criteria without worry about the GET size limitations as well as encoding of the input parameters.",
+    "termsOfService" : "",
+    "title" : "USPTO Data Set API",
+    "version" : "1.0.0"
+  },
+  "tags" : [ {
+    "name" : "metadata",
+    "description" : "Find out about the data sets"
+  }, {
+    "name" : "search",
+    "description" : "Search a data set"
+  } ],
+  "paths" : {
+    "/{dataset}/{version}/records" : {
+      "description" : "",
+      "summary" : "",
+      "post" : {
+        "tags" : [ "search" ],
+        "summary" : "Provides search capability for the data set with the given search criteria.",
+        "description" : "This API is based on Solr/Lucene Search. The data is indexed using SOLR. This GET API returns the list of all the searchable field names that are in the Solr Index. Please see the 'fields' attribute which returns an array of field names. Each field or a combination of fields can be searched using the Solr/Lucene Syntax. Please refer https://lucene.apache.org/core/3_6_2/queryparsersyntax.html#Overview for the query syntax. List of field names that are searchable can be determined using above GET api.",
+        "operationId" : "perform-search",
+        "parameters" : [ {
+          "description" : "Version of the dataset.",
+          "required" : true,
+          "in" : "path",
+          "name" : "version"
+        }, {
+          "description" : "Name of the dataset. In this case, the default value is oa_citations",
+          "required" : true,
+          "in" : "path",
+          "name" : "dataset"
+        } ],
+        "requestBody" : {
+          "description" : "",
+          "content" : {
+            "application/x-www-form-urlencoded" : { }
+          }
+        },
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "content" : {
+              "application/json" : { }
+            }
+          },
+          "404" : {
+            "description" : "No matching record found for the given criteria."
+          }
+        }
+      }
+    },
+    "/{dataset}/{version}/fields" : {
+      "description" : "",
+      "summary" : "",
+      "get" : {
+        "tags" : [ "metadata" ],
+        "summary" : "Provides the general information about the API and the list of fields that can be used to query the dataset.",
+        "description" : "This GET API returns the list of all the searchable field names that are in the oa_citations. Please see the 'fields' attribute which returns an array of field names. Each field or a combination of fields can be searched using the syntax options shown below.",
+        "operationId" : "list-searchable-fields",
+        "parameters" : [ {
+          "description" : "Name of the dataset.",
+          "example" : "oa_citations",
+          "required" : true,
+          "in" : "path",
+          "name" : "dataset"
+        }, {
+          "description" : "Version of the dataset.",
+          "example" : "v1",
+          "required" : true,
+          "in" : "path",
+          "name" : "version"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "The dataset API for the given version is found and it is accessible to consume.",
+            "content" : {
+              "application/json" : { }
+            }
+          },
+          "404" : {
+            "description" : "The combination of dataset name and version is not found in the system or it is not published yet to be consumed by public.",
+            "content" : {
+              "application/json" : { }
+            }
+          }
+        }
+      }
+    },
+    "/" : {
+      "description" : "",
+      "summary" : "",
+      "get" : {
+        "tags" : [ "metadata" ],
+        "summary" : "List available data sets",
+        "description" : "",
+        "operationId" : "list-data-sets",
+        "responses" : {
+          "200" : {
+            "description" : "Returns a list of data sets",
+            "content" : {
+              "application/json" : {
+                "example" : {
+                  "total" : 2,
+                  "apis" : [ {
+                    "apiKey" : "oa_citations",
+                    "apiVersionNumber" : "v1",
+                    "apiUrl" : "https://developer.uspto.gov/ds-api/oa_citations/v1/fields",
+                    "apiDocumentationUrl" : "https://developer.uspto.gov/ds-api-docs/index.html?url=https://developer.uspto.gov/ds-api/swagger/docs/oa_citations.json"
+                  }, {
+                    "apiKey" : "cancer_moonshot",
+                    "apiVersionNumber" : "v1",
+                    "apiUrl" : "https://developer.uspto.gov/ds-api/cancer_moonshot/v1/fields",
+                    "apiDocumentationUrl" : "https://developer.uspto.gov/ds-api-docs/index.html?url=https://developer.uspto.gov/ds-api/swagger/docs/cancer_moonshot.json"
+                  } ]
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+  },
+  "components" : { }
+}
\ No newline at end of file
diff --git a/gen-api-ex/callback-example_generated.json b/gen-api-ex/callback-example_generated.json
new file mode 100644
index 00000000..687e97df
--- /dev/null
+++ b/gen-api-ex/callback-example_generated.json
@@ -0,0 +1,132 @@
+{
+  "openapi" : "3.0.1",
+  "info" : {
+    "contact" : {
+      "email" : "developer@uspto.gov",
+      "name" : "Open Data Portal",
+      "url" : "https://developer.uspto.gov"
+    },
+    "description" : "The Data Set API (DSAPI) allows the public users to discover and search USPTO exported data sets. This is a generic API that allows USPTO users to make any CSV based data files searchable through API. With the help of GET call, it returns the list of data fields that are searchable. With the help of POST call, data can be fetched based on the filters on the field names. Please note that POST call is used to search the actual data. The reason for the POST call is that it allows users to specify any complex search criteria without worry about the GET size limitations as well as encoding of the input parameters.",
+    "termsOfService" : "",
+    "title" : "USPTO Data Set API",
+    "version" : "1.0.0"
+  },
+  "tags" : [ {
+    "name" : "metadata",
+    "description" : "Find out about the data sets"
+  }, {
+    "name" : "search",
+    "description" : "Search a data set"
+  } ],
+  "paths" : {
+    "/{dataset}/{version}/records" : {
+      "description" : "",
+      "summary" : "",
+      "post" : {
+        "tags" : [ "search" ],
+        "summary" : "Provides search capability for the data set with the given search criteria.",
+        "description" : "This API is based on Solr/Lucene Search. The data is indexed using SOLR. This GET API returns the list of all the searchable field names that are in the Solr Index. Please see the 'fields' attribute which returns an array of field names. Each field or a combination of fields can be searched using the Solr/Lucene Syntax. Please refer https://lucene.apache.org/core/3_6_2/queryparsersyntax.html#Overview for the query syntax. List of field names that are searchable can be determined using above GET api.",
+        "operationId" : "perform-search",
+        "parameters" : [ {
+          "description" : "Version of the dataset.",
+          "required" : true,
+          "in" : "path",
+          "name" : "version"
+        }, {
+          "description" : "Name of the dataset. In this case, the default value is oa_citations",
+          "required" : true,
+          "in" : "path",
+          "name" : "dataset"
+        } ],
+        "requestBody" : {
+          "description" : "",
+          "content" : {
+            "application/x-www-form-urlencoded" : { }
+          }
+        },
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "content" : {
+              "application/json" : { }
+            }
+          },
+          "404" : {
+            "description" : "No matching record found for the given criteria."
+          }
+        }
+      }
+    },
+    "/{dataset}/{version}/fields" : {
+      "description" : "",
+      "summary" : "",
+      "get" : {
+        "tags" : [ "metadata" ],
+        "summary" : "Provides the general information about the API and the list of fields that can be used to query the dataset.",
+        "description" : "This GET API returns the list of all the searchable field names that are in the oa_citations. Please see the 'fields' attribute which returns an array of field names. Each field or a combination of fields can be searched using the syntax options shown below.",
+        "operationId" : "list-searchable-fields",
+        "parameters" : [ {
+          "description" : "Name of the dataset.",
+          "example" : "oa_citations",
+          "required" : true,
+          "in" : "path",
+          "name" : "dataset"
+        }, {
+          "description" : "Version of the dataset.",
+          "example" : "v1",
+          "required" : true,
+          "in" : "path",
+          "name" : "version"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "The dataset API for the given version is found and it is accessible to consume.",
+            "content" : {
+              "application/json" : { }
+            }
+          },
+          "404" : {
+            "description" : "The combination of dataset name and version is not found in the system or it is not published yet to be consumed by public.",
+            "content" : {
+              "application/json" : { }
+            }
+          }
+        }
+      }
+    },
+    "/" : {
+      "description" : "",
+      "summary" : "",
+      "get" : {
+        "tags" : [ "metadata" ],
+        "summary" : "List available data sets",
+        "description" : "",
+        "operationId" : "list-data-sets",
+        "responses" : {
+          "200" : {
+            "description" : "Returns a list of data sets",
+            "content" : {
+              "application/json" : {
+                "example" : {
+                  "total" : 2,
+                  "apis" : [ {
+                    "apiKey" : "oa_citations",
+                    "apiVersionNumber" : "v1",
+                    "apiUrl" : "https://developer.uspto.gov/ds-api/oa_citations/v1/fields",
+                    "apiDocumentationUrl" : "https://developer.uspto.gov/ds-api-docs/index.html?url=https://developer.uspto.gov/ds-api/swagger/docs/oa_citations.json"
+                  }, {
+                    "apiKey" : "cancer_moonshot",
+                    "apiVersionNumber" : "v1",
+                    "apiUrl" : "https://developer.uspto.gov/ds-api/cancer_moonshot/v1/fields",
+                    "apiDocumentationUrl" : "https://developer.uspto.gov/ds-api-docs/index.html?url=https://developer.uspto.gov/ds-api/swagger/docs/cancer_moonshot.json"
+                  } ]
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+  },
+  "components" : { }
+}
\ No newline at end of file
diff --git a/gen-api-ex/link-example_generated.json b/gen-api-ex/link-example_generated.json
new file mode 100644
index 00000000..687e97df
--- /dev/null
+++ b/gen-api-ex/link-example_generated.json
@@ -0,0 +1,132 @@
+{
+  "openapi" : "3.0.1",
+  "info" : {
+    "contact" : {
+      "email" : "developer@uspto.gov",
+      "name" : "Open Data Portal",
+      "url" : "https://developer.uspto.gov"
+    },
+    "description" : "The Data Set API (DSAPI) allows the public users to discover and search USPTO exported data sets. This is a generic API that allows USPTO users to make any CSV based data files searchable through API. With the help of GET call, it returns the list of data fields that are searchable. With the help of POST call, data can be fetched based on the filters on the field names. Please note that POST call is used to search the actual data. The reason for the POST call is that it allows users to specify any complex search criteria without worry about the GET size limitations as well as encoding of the input parameters.",
+    "termsOfService" : "",
+    "title" : "USPTO Data Set API",
+    "version" : "1.0.0"
+  },
+  "tags" : [ {
+    "name" : "metadata",
+    "description" : "Find out about the data sets"
+  }, {
+    "name" : "search",
+    "description" : "Search a data set"
+  } ],
+  "paths" : {
+    "/{dataset}/{version}/records" : {
+      "description" : "",
+      "summary" : "",
+      "post" : {
+        "tags" : [ "search" ],
+        "summary" : "Provides search capability for the data set with the given search criteria.",
+        "description" : "This API is based on Solr/Lucene Search. The data is indexed using SOLR. This GET API returns the list of all the searchable field names that are in the Solr Index. Please see the 'fields' attribute which returns an array of field names. Each field or a combination of fields can be searched using the Solr/Lucene Syntax. Please refer https://lucene.apache.org/core/3_6_2/queryparsersyntax.html#Overview for the query syntax. List of field names that are searchable can be determined using above GET api.",
+        "operationId" : "perform-search",
+        "parameters" : [ {
+          "description" : "Version of the dataset.",
+          "required" : true,
+          "in" : "path",
+          "name" : "version"
+        }, {
+          "description" : "Name of the dataset. In this case, the default value is oa_citations",
+          "required" : true,
+          "in" : "path",
+          "name" : "dataset"
+        } ],
+        "requestBody" : {
+          "description" : "",
+          "content" : {
+            "application/x-www-form-urlencoded" : { }
+          }
+        },
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "content" : {
+              "application/json" : { }
+            }
+          },
+          "404" : {
+            "description" : "No matching record found for the given criteria."
+          }
+        }
+      }
+    },
+    "/{dataset}/{version}/fields" : {
+      "description" : "",
+      "summary" : "",
+      "get" : {
+        "tags" : [ "metadata" ],
+        "summary" : "Provides the general information about the API and the list of fields that can be used to query the dataset.",
+        "description" : "This GET API returns the list of all the searchable field names that are in the oa_citations. Please see the 'fields' attribute which returns an array of field names. Each field or a combination of fields can be searched using the syntax options shown below.",
+        "operationId" : "list-searchable-fields",
+        "parameters" : [ {
+          "description" : "Name of the dataset.",
+          "example" : "oa_citations",
+          "required" : true,
+          "in" : "path",
+          "name" : "dataset"
+        }, {
+          "description" : "Version of the dataset.",
+          "example" : "v1",
+          "required" : true,
+          "in" : "path",
+          "name" : "version"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "The dataset API for the given version is found and it is accessible to consume.",
+            "content" : {
+              "application/json" : { }
+            }
+          },
+          "404" : {
+            "description" : "The combination of dataset name and version is not found in the system or it is not published yet to be consumed by public.",
+            "content" : {
+              "application/json" : { }
+            }
+          }
+        }
+      }
+    },
+    "/" : {
+      "description" : "",
+      "summary" : "",
+      "get" : {
+        "tags" : [ "metadata" ],
+        "summary" : "List available data sets",
+        "description" : "",
+        "operationId" : "list-data-sets",
+        "responses" : {
+          "200" : {
+            "description" : "Returns a list of data sets",
+            "content" : {
+              "application/json" : {
+                "example" : {
+                  "total" : 2,
+                  "apis" : [ {
+                    "apiKey" : "oa_citations",
+                    "apiVersionNumber" : "v1",
+                    "apiUrl" : "https://developer.uspto.gov/ds-api/oa_citations/v1/fields",
+                    "apiDocumentationUrl" : "https://developer.uspto.gov/ds-api-docs/index.html?url=https://developer.uspto.gov/ds-api/swagger/docs/oa_citations.json"
+                  }, {
+                    "apiKey" : "cancer_moonshot",
+                    "apiVersionNumber" : "v1",
+                    "apiUrl" : "https://developer.uspto.gov/ds-api/cancer_moonshot/v1/fields",
+                    "apiDocumentationUrl" : "https://developer.uspto.gov/ds-api-docs/index.html?url=https://developer.uspto.gov/ds-api/swagger/docs/cancer_moonshot.json"
+                  } ]
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+  },
+  "components" : { }
+}
\ No newline at end of file
diff --git a/gen-api-ex/petstore-expanded_generated.json b/gen-api-ex/petstore-expanded_generated.json
new file mode 100644
index 00000000..687e97df
--- /dev/null
+++ b/gen-api-ex/petstore-expanded_generated.json
@@ -0,0 +1,132 @@
+{
+  "openapi" : "3.0.1",
+  "info" : {
+    "contact" : {
+      "email" : "developer@uspto.gov",
+      "name" : "Open Data Portal",
+      "url" : "https://developer.uspto.gov"
+    },
+    "description" : "The Data Set API (DSAPI) allows the public users to discover and search USPTO exported data sets. This is a generic API that allows USPTO users to make any CSV based data files searchable through API. With the help of GET call, it returns the list of data fields that are searchable. With the help of POST call, data can be fetched based on the filters on the field names. Please note that POST call is used to search the actual data. The reason for the POST call is that it allows users to specify any complex search criteria without worry about the GET size limitations as well as encoding of the input parameters.",
+    "termsOfService" : "",
+    "title" : "USPTO Data Set API",
+    "version" : "1.0.0"
+  },
+  "tags" : [ {
+    "name" : "metadata",
+    "description" : "Find out about the data sets"
+  }, {
+    "name" : "search",
+    "description" : "Search a data set"
+  } ],
+  "paths" : {
+    "/{dataset}/{version}/records" : {
+      "description" : "",
+      "summary" : "",
+      "post" : {
+        "tags" : [ "search" ],
+        "summary" : "Provides search capability for the data set with the given search criteria.",
+        "description" : "This API is based on Solr/Lucene Search. The data is indexed using SOLR. This GET API returns the list of all the searchable field names that are in the Solr Index. Please see the 'fields' attribute which returns an array of field names. Each field or a combination of fields can be searched using the Solr/Lucene Syntax. Please refer https://lucene.apache.org/core/3_6_2/queryparsersyntax.html#Overview for the query syntax. List of field names that are searchable can be determined using above GET api.",
+        "operationId" : "perform-search",
+        "parameters" : [ {
+          "description" : "Version of the dataset.",
+          "required" : true,
+          "in" : "path",
+          "name" : "version"
+        }, {
+          "description" : "Name of the dataset. In this case, the default value is oa_citations",
+          "required" : true,
+          "in" : "path",
+          "name" : "dataset"
+        } ],
+        "requestBody" : {
+          "description" : "",
+          "content" : {
+            "application/x-www-form-urlencoded" : { }
+          }
+        },
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "content" : {
+              "application/json" : { }
+            }
+          },
+          "404" : {
+            "description" : "No matching record found for the given criteria."
+          }
+        }
+      }
+    },
+    "/{dataset}/{version}/fields" : {
+      "description" : "",
+      "summary" : "",
+      "get" : {
+        "tags" : [ "metadata" ],
+        "summary" : "Provides the general information about the API and the list of fields that can be used to query the dataset.",
+        "description" : "This GET API returns the list of all the searchable field names that are in the oa_citations. Please see the 'fields' attribute which returns an array of field names. Each field or a combination of fields can be searched using the syntax options shown below.",
+        "operationId" : "list-searchable-fields",
+        "parameters" : [ {
+          "description" : "Name of the dataset.",
+          "example" : "oa_citations",
+          "required" : true,
+          "in" : "path",
+          "name" : "dataset"
+        }, {
+          "description" : "Version of the dataset.",
+          "example" : "v1",
+          "required" : true,
+          "in" : "path",
+          "name" : "version"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "The dataset API for the given version is found and it is accessible to consume.",
+            "content" : {
+              "application/json" : { }
+            }
+          },
+          "404" : {
+            "description" : "The combination of dataset name and version is not found in the system or it is not published yet to be consumed by public.",
+            "content" : {
+              "application/json" : { }
+            }
+          }
+        }
+      }
+    },
+    "/" : {
+      "description" : "",
+      "summary" : "",
+      "get" : {
+        "tags" : [ "metadata" ],
+        "summary" : "List available data sets",
+        "description" : "",
+        "operationId" : "list-data-sets",
+        "responses" : {
+          "200" : {
+            "description" : "Returns a list of data sets",
+            "content" : {
+              "application/json" : {
+                "example" : {
+                  "total" : 2,
+                  "apis" : [ {
+                    "apiKey" : "oa_citations",
+                    "apiVersionNumber" : "v1",
+                    "apiUrl" : "https://developer.uspto.gov/ds-api/oa_citations/v1/fields",
+                    "apiDocumentationUrl" : "https://developer.uspto.gov/ds-api-docs/index.html?url=https://developer.uspto.gov/ds-api/swagger/docs/oa_citations.json"
+                  }, {
+                    "apiKey" : "cancer_moonshot",
+                    "apiVersionNumber" : "v1",
+                    "apiUrl" : "https://developer.uspto.gov/ds-api/cancer_moonshot/v1/fields",
+                    "apiDocumentationUrl" : "https://developer.uspto.gov/ds-api-docs/index.html?url=https://developer.uspto.gov/ds-api/swagger/docs/cancer_moonshot.json"
+                  } ]
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+  },
+  "components" : { }
+}
\ No newline at end of file
diff --git a/gen-api-ex/petstore_generated.json b/gen-api-ex/petstore_generated.json
new file mode 100644
index 00000000..687e97df
--- /dev/null
+++ b/gen-api-ex/petstore_generated.json
@@ -0,0 +1,132 @@
+{
+  "openapi" : "3.0.1",
+  "info" : {
+    "contact" : {
+      "email" : "developer@uspto.gov",
+      "name" : "Open Data Portal",
+      "url" : "https://developer.uspto.gov"
+    },
+    "description" : "The Data Set API (DSAPI) allows the public users to discover and search USPTO exported data sets. This is a generic API that allows USPTO users to make any CSV based data files searchable through API. With the help of GET call, it returns the list of data fields that are searchable. With the help of POST call, data can be fetched based on the filters on the field names. Please note that POST call is used to search the actual data. The reason for the POST call is that it allows users to specify any complex search criteria without worry about the GET size limitations as well as encoding of the input parameters.",
+    "termsOfService" : "",
+    "title" : "USPTO Data Set API",
+    "version" : "1.0.0"
+  },
+  "tags" : [ {
+    "name" : "metadata",
+    "description" : "Find out about the data sets"
+  }, {
+    "name" : "search",
+    "description" : "Search a data set"
+  } ],
+  "paths" : {
+    "/{dataset}/{version}/records" : {
+      "description" : "",
+      "summary" : "",
+      "post" : {
+        "tags" : [ "search" ],
+        "summary" : "Provides search capability for the data set with the given search criteria.",
+        "description" : "This API is based on Solr/Lucene Search. The data is indexed using SOLR. This GET API returns the list of all the searchable field names that are in the Solr Index. Please see the 'fields' attribute which returns an array of field names. Each field or a combination of fields can be searched using the Solr/Lucene Syntax. Please refer https://lucene.apache.org/core/3_6_2/queryparsersyntax.html#Overview for the query syntax. List of field names that are searchable can be determined using above GET api.",
+        "operationId" : "perform-search",
+        "parameters" : [ {
+          "description" : "Version of the dataset.",
+          "required" : true,
+          "in" : "path",
+          "name" : "version"
+        }, {
+          "description" : "Name of the dataset. In this case, the default value is oa_citations",
+          "required" : true,
+          "in" : "path",
+          "name" : "dataset"
+        } ],
+        "requestBody" : {
+          "description" : "",
+          "content" : {
+            "application/x-www-form-urlencoded" : { }
+          }
+        },
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "content" : {
+              "application/json" : { }
+            }
+          },
+          "404" : {
+            "description" : "No matching record found for the given criteria."
+          }
+        }
+      }
+    },
+    "/{dataset}/{version}/fields" : {
+      "description" : "",
+      "summary" : "",
+      "get" : {
+        "tags" : [ "metadata" ],
+        "summary" : "Provides the general information about the API and the list of fields that can be used to query the dataset.",
+        "description" : "This GET API returns the list of all the searchable field names that are in the oa_citations. Please see the 'fields' attribute which returns an array of field names. Each field or a combination of fields can be searched using the syntax options shown below.",
+        "operationId" : "list-searchable-fields",
+        "parameters" : [ {
+          "description" : "Name of the dataset.",
+          "example" : "oa_citations",
+          "required" : true,
+          "in" : "path",
+          "name" : "dataset"
+        }, {
+          "description" : "Version of the dataset.",
+          "example" : "v1",
+          "required" : true,
+          "in" : "path",
+          "name" : "version"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "The dataset API for the given version is found and it is accessible to consume.",
+            "content" : {
+              "application/json" : { }
+            }
+          },
+          "404" : {
+            "description" : "The combination of dataset name and version is not found in the system or it is not published yet to be consumed by public.",
+            "content" : {
+              "application/json" : { }
+            }
+          }
+        }
+      }
+    },
+    "/" : {
+      "description" : "",
+      "summary" : "",
+      "get" : {
+        "tags" : [ "metadata" ],
+        "summary" : "List available data sets",
+        "description" : "",
+        "operationId" : "list-data-sets",
+        "responses" : {
+          "200" : {
+            "description" : "Returns a list of data sets",
+            "content" : {
+              "application/json" : {
+                "example" : {
+                  "total" : 2,
+                  "apis" : [ {
+                    "apiKey" : "oa_citations",
+                    "apiVersionNumber" : "v1",
+                    "apiUrl" : "https://developer.uspto.gov/ds-api/oa_citations/v1/fields",
+                    "apiDocumentationUrl" : "https://developer.uspto.gov/ds-api-docs/index.html?url=https://developer.uspto.gov/ds-api/swagger/docs/oa_citations.json"
+                  }, {
+                    "apiKey" : "cancer_moonshot",
+                    "apiVersionNumber" : "v1",
+                    "apiUrl" : "https://developer.uspto.gov/ds-api/cancer_moonshot/v1/fields",
+                    "apiDocumentationUrl" : "https://developer.uspto.gov/ds-api-docs/index.html?url=https://developer.uspto.gov/ds-api/swagger/docs/cancer_moonshot.json"
+                  } ]
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+  },
+  "components" : { }
+}
\ No newline at end of file
diff --git a/gen-api-ex/uspto_generated.json b/gen-api-ex/uspto_generated.json
new file mode 100644
index 00000000..687e97df
--- /dev/null
+++ b/gen-api-ex/uspto_generated.json
@@ -0,0 +1,132 @@
+{
+  "openapi" : "3.0.1",
+  "info" : {
+    "contact" : {
+      "email" : "developer@uspto.gov",
+      "name" : "Open Data Portal",
+      "url" : "https://developer.uspto.gov"
+    },
+    "description" : "The Data Set API (DSAPI) allows the public users to discover and search USPTO exported data sets. This is a generic API that allows USPTO users to make any CSV based data files searchable through API. With the help of GET call, it returns the list of data fields that are searchable. With the help of POST call, data can be fetched based on the filters on the field names. Please note that POST call is used to search the actual data. The reason for the POST call is that it allows users to specify any complex search criteria without worry about the GET size limitations as well as encoding of the input parameters.",
+    "termsOfService" : "",
+    "title" : "USPTO Data Set API",
+    "version" : "1.0.0"
+  },
+  "tags" : [ {
+    "name" : "metadata",
+    "description" : "Find out about the data sets"
+  }, {
+    "name" : "search",
+    "description" : "Search a data set"
+  } ],
+  "paths" : {
+    "/{dataset}/{version}/records" : {
+      "description" : "",
+      "summary" : "",
+      "post" : {
+        "tags" : [ "search" ],
+        "summary" : "Provides search capability for the data set with the given search criteria.",
+        "description" : "This API is based on Solr/Lucene Search. The data is indexed using SOLR. This GET API returns the list of all the searchable field names that are in the Solr Index. Please see the 'fields' attribute which returns an array of field names. Each field or a combination of fields can be searched using the Solr/Lucene Syntax. Please refer https://lucene.apache.org/core/3_6_2/queryparsersyntax.html#Overview for the query syntax. List of field names that are searchable can be determined using above GET api.",
+        "operationId" : "perform-search",
+        "parameters" : [ {
+          "description" : "Version of the dataset.",
+          "required" : true,
+          "in" : "path",
+          "name" : "version"
+        }, {
+          "description" : "Name of the dataset. In this case, the default value is oa_citations",
+          "required" : true,
+          "in" : "path",
+          "name" : "dataset"
+        } ],
+        "requestBody" : {
+          "description" : "",
+          "content" : {
+            "application/x-www-form-urlencoded" : { }
+          }
+        },
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "content" : {
+              "application/json" : { }
+            }
+          },
+          "404" : {
+            "description" : "No matching record found for the given criteria."
+          }
+        }
+      }
+    },
+    "/{dataset}/{version}/fields" : {
+      "description" : "",
+      "summary" : "",
+      "get" : {
+        "tags" : [ "metadata" ],
+        "summary" : "Provides the general information about the API and the list of fields that can be used to query the dataset.",
+        "description" : "This GET API returns the list of all the searchable field names that are in the oa_citations. Please see the 'fields' attribute which returns an array of field names. Each field or a combination of fields can be searched using the syntax options shown below.",
+        "operationId" : "list-searchable-fields",
+        "parameters" : [ {
+          "description" : "Name of the dataset.",
+          "example" : "oa_citations",
+          "required" : true,
+          "in" : "path",
+          "name" : "dataset"
+        }, {
+          "description" : "Version of the dataset.",
+          "example" : "v1",
+          "required" : true,
+          "in" : "path",
+          "name" : "version"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "The dataset API for the given version is found and it is accessible to consume.",
+            "content" : {
+              "application/json" : { }
+            }
+          },
+          "404" : {
+            "description" : "The combination of dataset name and version is not found in the system or it is not published yet to be consumed by public.",
+            "content" : {
+              "application/json" : { }
+            }
+          }
+        }
+      }
+    },
+    "/" : {
+      "description" : "",
+      "summary" : "",
+      "get" : {
+        "tags" : [ "metadata" ],
+        "summary" : "List available data sets",
+        "description" : "",
+        "operationId" : "list-data-sets",
+        "responses" : {
+          "200" : {
+            "description" : "Returns a list of data sets",
+            "content" : {
+              "application/json" : {
+                "example" : {
+                  "total" : 2,
+                  "apis" : [ {
+                    "apiKey" : "oa_citations",
+                    "apiVersionNumber" : "v1",
+                    "apiUrl" : "https://developer.uspto.gov/ds-api/oa_citations/v1/fields",
+                    "apiDocumentationUrl" : "https://developer.uspto.gov/ds-api-docs/index.html?url=https://developer.uspto.gov/ds-api/swagger/docs/oa_citations.json"
+                  }, {
+                    "apiKey" : "cancer_moonshot",
+                    "apiVersionNumber" : "v1",
+                    "apiUrl" : "https://developer.uspto.gov/ds-api/cancer_moonshot/v1/fields",
+                    "apiDocumentationUrl" : "https://developer.uspto.gov/ds-api-docs/index.html?url=https://developer.uspto.gov/ds-api/swagger/docs/cancer_moonshot.json"
+                  } ]
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+  },
+  "components" : { }
+}
\ No newline at end of file
diff --git a/src/main/java/de/tudresden/inf/st/openapi/OpenAPIMain.java b/src/main/java/de/tudresden/inf/st/openapi/OpenAPIMain.java
index 3f132a6d..010b78bf 100644
--- a/src/main/java/de/tudresden/inf/st/openapi/OpenAPIMain.java
+++ b/src/main/java/de/tudresden/inf/st/openapi/OpenAPIMain.java
@@ -33,8 +33,8 @@ public class OpenAPIMain {
     public static void main(String[] args) throws IOException, ResolutionException, ValidationException, EncodeException {
         OpenAPIObject openApi;
         OpenApi3 api3;
-        String fileName = "api-with-examples.json";
-        FileWriter writer = new FileWriter("composedFile.json");
+        String fileName = "uspto.json";
+        FileWriter writer = new FileWriter("./gen-api-ex/api-with-examples_generated.json");
 
         URL expUrl = OpenAPIMain.class.getClassLoader().getResource(fileName);
         File file = null;
@@ -671,7 +671,10 @@ public class OpenAPIMain {
 
         parameterObject.setName(parameter.getName());
         parameterObject.setIn(parameter.getIn());
-        parameterObject.setRequired(parameter.getRequired());
+        if( parameter.getRequired() == null )
+            parameterObject.setRequired(false);
+        else
+            parameterObject.setRequired(parameter.getRequired());
 
         if( parameter.getDescription() != null )
             parameterObject.setDescription( parameter.getDescription() );
-- 
GitLab