Skip to content

Commit f0b7dae

Browse files
authored
[Rust] rename rust2 to rust-server (#6747)
* rename rust2 to rust-server * update rust-server batch file to use petstore test spec
1 parent 3472c68 commit f0b7dae

39 files changed

+237
-172
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
This is the swagger codegen project, which allows generation of API client libraries (SDK generation), server stubs and documentation automatically given an [OpenAPI Spec](https://github.com/OAI/OpenAPI-Specification). Currently, the following languages/frameworks are supported:
2626

2727
- **API clients**: **ActionScript**, **Ada**, **Apex**, **Bash**, **C#** (.net 2.0, 4.0 or later), **C++** (cpprest, Qt5, Tizen), **Clojure**, **Dart**, **Elixir**, **Eiffel**, **Go**, **Groovy**, **Haskell** (http-client, Servant), **Java** (Jersey1.x, Jersey2.x, OkHttp, Retrofit1.x, Retrofit2.x, Feign, RestTemplate, RESTEasy, Vertx), **Kotlin**, **Lua**, **Node.js** (ES5, ES6, AngularJS with Google Closure Compiler annotations) **Objective-C**, **Perl**, **PHP**, **PowerShell**, **Python**, **R**, **Ruby**, **Rust**, **Scala** (akka, http4s, swagger-async-httpclient), **Swift** (2.x, 3.x, 4.x), **Typescript** (Angular1.x, Angular2.x, Fetch, jQuery, Node)
28-
- **Server stubs**: **C#** (ASP.NET Core, NancyFx), **C++** (Pistache, Restbed), **Erlang**, **Go**, **Haskell** (Servant), **Java** (MSF4J, Spring, Undertow, JAX-RS: CDI, CXF, Inflector, RestEasy, Play Framework), **PHP** (Lumen, Slim, Silex, [Symfony](https://symfony.com/), [Zend Expressive](https://github.com/zendframework/zend-expressive)), **Python** (Flask), **NodeJS**, **Ruby** (Sinatra, Rails5), **Scala** ([Finch](https://github.com/finagle/finch), Scalatra)
28+
- **Server stubs**: **C#** (ASP.NET Core, NancyFx), **C++** (Pistache, Restbed), **Erlang**, **Go**, **Haskell** (Servant), **Java** (MSF4J, Spring, Undertow, JAX-RS: CDI, CXF, Inflector, RestEasy, Play Framework), **PHP** (Lumen, Slim, Silex, [Symfony](https://symfony.com/), [Zend Expressive](https://github.com/zendframework/zend-expressive)), **Python** (Flask), **NodeJS**, **Ruby** (Sinatra, Rails5), **Rust**, **Scala** ([Finch](https://github.com/finagle/finch), Scalatra)
2929
- **API documentation generators**: **HTML**, **Confluence Wiki**
3030
- **Configuration files**: [**Apache2**](https://httpd.apache.org/)
3131
- **Others**: **JMeter**

bin/rust2-petstore.sh renamed to bin/rust-server-petstore.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,6 @@ fi
2626

2727
# if you've executed sbt assembly previously it will use that instead.
2828
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
29-
ags="$@ generate -t modules/swagger-codegen/src/main/resources/rust2 -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l rust2 -o samples/client/petstore/rust2 -DpackageName=petstore_api"
29+
ags="$@ generate -t modules/swagger-codegen/src/main/resources/rust-server -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l rust-server -o samples/server/petstore/rust-server -DpackageName=petstore_api"
3030

3131
java $JAVA_OPTS -jar $executable $ags

bin/windows/rust-server-petstore.bat

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
2+
3+
If Not Exist %executable% (
4+
mvn clean package
5+
)
6+
7+
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M -DloggerPath=conf/log4j.properties
8+
set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -l rust-server -o samples\server\petstore\rust-server
9+
10+
java %JAVA_OPTS% -jar %executable% %ags%

modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/Rust2Codegen.java renamed to modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/RustServerCodegen.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,25 +27,25 @@
2727
import java.util.Map.Entry;
2828
import org.apache.commons.lang3.StringUtils;
2929

30-
public class Rust2Codegen extends DefaultCodegen implements CodegenConfig {
30+
public class RustServerCodegen extends DefaultCodegen implements CodegenConfig {
3131

32-
private static final Logger LOGGER = LoggerFactory.getLogger(Rust2Codegen.class);
32+
private static final Logger LOGGER = LoggerFactory.getLogger(RustServerCodegen.class);
3333

3434
private HashMap<String, String> modelXmlNames = new HashMap<String, String>();
3535

3636
protected String apiVersion = "1.0.0";
3737
protected int serverPort = 8080;
3838
protected String projectName = "swagger-server";
39-
protected String apiPath = "rust2";
39+
protected String apiPath = "rust-server";
4040
protected String packageName;
4141
protected String packageVersion;
4242
protected String externCrateName;
4343

44-
public Rust2Codegen() {
44+
public RustServerCodegen() {
4545
super();
4646

4747
// set the output folder here
48-
outputFolder = "generated-code/rust2";
48+
outputFolder = "generated-code/rust-server";
4949

5050
/*
5151
* Models. You can write model files using the modelTemplateFiles map.
@@ -66,7 +66,7 @@ public Rust2Codegen() {
6666
* Template Location. This is the location which templates will be read from. The generator
6767
* will use the resource stream to attempt to read the templates.
6868
*/
69-
embeddedTemplateDir = templateDir = "rust2";
69+
embeddedTemplateDir = templateDir = "rust-server";
7070

7171
/*
7272
* Reserved words. Override this with reserved words specific to your language
@@ -232,7 +232,7 @@ public CodegenType getTag() {
232232
*/
233233
@Override
234234
public String getName() {
235-
return "rust2";
235+
return "rust-server";
236236
}
237237

238238
/**
@@ -243,7 +243,7 @@ public String getName() {
243243
*/
244244
@Override
245245
public String getHelp() {
246-
return "Generates a Rust client/server library using the swagger-codegen project.";
246+
return "Generates a Rust client/server library (beta) using the swagger-codegen project.";
247247
}
248248

249249
@Override

modules/swagger-codegen/src/main/resources/META-INF/services/io.swagger.codegen.CodegenConfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ io.swagger.codegen.languages.RClientCodegen
5555
io.swagger.codegen.languages.Rails5ServerCodegen
5656
io.swagger.codegen.languages.RestbedCodegen
5757
io.swagger.codegen.languages.RubyClientCodegen
58-
io.swagger.codegen.languages.Rust2Codegen
5958
io.swagger.codegen.languages.RustClientCodegen
59+
io.swagger.codegen.languages.RustServerCodegen
6060
io.swagger.codegen.languages.ScalaClientCodegen
6161
io.swagger.codegen.languages.ScalatraServerCodegen
6262
io.swagger.codegen.languages.ScalazClientCodegen

samples/client/petstore/rust2/README.md renamed to samples/server/petstore/rust-server/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ To see how to make this your own, look here:
1313
[README](https://github.com/swagger-api/swagger-codegen/blob/master/README.md)
1414

1515
- API version: 1.0.0
16-
- Build date: 2017-09-26T16:36:55.563+01:00
16+
- Build date: 2017-10-19T17:45:37.995+08:00
1717

1818
## Examples
1919

@@ -50,6 +50,7 @@ cargo run --example client FakeOuterStringSerialize
5050
cargo run --example client TestClientModel
5151
cargo run --example client TestEndpointParameters
5252
cargo run --example client TestEnumParameters
53+
cargo run --example client TestInlineAdditionalProperties
5354
cargo run --example client TestJsonFormData
5455
cargo run --example client TestClassname
5556
cargo run --example client AddPet

samples/client/petstore/rust2/api/swagger.yaml renamed to samples/server/petstore/rust-server/api/swagger.yaml

Lines changed: 60 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ info:
1010
contact:
1111
email: "apiteam@swagger.io"
1212
license:
13-
name: "Apache 2.0"
13+
name: "Apache-2.0"
1414
url: "http://www.apache.org/licenses/LICENSE-2.0.html"
1515
host: "petstore.swagger.io:80"
1616
basePath: "/v2"
@@ -54,7 +54,7 @@ paths:
5454
refName: "Pet"
5555
formatString: "{:?}"
5656
example: "???"
57-
model_key: "itemList"
57+
model_key: "OuterBoolean"
5858
uppercase_operation_id: "ADD_PET"
5959
consumesXml: true
6060
responses:
@@ -95,7 +95,7 @@ paths:
9595
refName: "Pet"
9696
formatString: "{:?}"
9797
example: "???"
98-
model_key: "itemList"
98+
model_key: "OuterBoolean"
9999
uppercase_operation_id: "UPDATE_PET"
100100
consumesXml: true
101101
responses:
@@ -450,7 +450,7 @@ paths:
450450
refName: "Order"
451451
formatString: "{:?}"
452452
example: "???"
453-
model_key: "itemList"
453+
model_key: "OuterBoolean"
454454
uppercase_operation_id: "PLACE_ORDER"
455455
responses:
456456
200:
@@ -568,7 +568,7 @@ paths:
568568
refName: "User"
569569
formatString: "{:?}"
570570
example: "???"
571-
model_key: "itemList"
571+
model_key: "OuterBoolean"
572572
uppercase_operation_id: "CREATE_USER"
573573
responses:
574574
default:
@@ -602,7 +602,7 @@ paths:
602602
$ref: "#/definitions/User"
603603
formatString: "{:?}"
604604
example: "&Vec::new()"
605-
model_key: "itemList"
605+
model_key: "OuterBoolean"
606606
uppercase_operation_id: "CREATE_USERS_WITH_ARRAY_INPUT"
607607
responses:
608608
default:
@@ -635,7 +635,7 @@ paths:
635635
$ref: "#/definitions/User"
636636
formatString: "{:?}"
637637
example: "&Vec::new()"
638-
model_key: "itemList"
638+
model_key: "OuterBoolean"
639639
uppercase_operation_id: "CREATE_USERS_WITH_LIST_INPUT"
640640
responses:
641641
default:
@@ -787,7 +787,7 @@ paths:
787787
refName: "User"
788788
formatString: "{:?}"
789789
example: "???"
790-
model_key: "itemList"
790+
model_key: "OuterBoolean"
791791
uppercase_operation_id: "UPDATE_USER"
792792
responses:
793793
400:
@@ -856,7 +856,7 @@ paths:
856856
refName: "Client"
857857
formatString: "{:?}"
858858
example: "???"
859-
model_key: "itemList"
859+
model_key: "OuterBoolean"
860860
uppercase_operation_id: "TEST_CLASSNAME"
861861
responses:
862862
200:
@@ -1169,7 +1169,7 @@ paths:
11691169
refName: "Client"
11701170
formatString: "{:?}"
11711171
example: "???"
1172-
model_key: "itemList"
1172+
model_key: "OuterBoolean"
11731173
uppercase_operation_id: "TEST_CLIENT_MODEL"
11741174
responses:
11751175
200:
@@ -1202,7 +1202,7 @@ paths:
12021202
refName: "OuterNumber"
12031203
formatString: "{:?}"
12041204
example: "None"
1205-
model_key: "itemList"
1205+
model_key: "OuterBoolean"
12061206
uppercase_operation_id: "FAKE_OUTER_NUMBER_SERIALIZE"
12071207
responses:
12081208
200:
@@ -1234,7 +1234,7 @@ paths:
12341234
refName: "OuterString"
12351235
formatString: "{:?}"
12361236
example: "None"
1237-
model_key: "itemList"
1237+
model_key: "OuterBoolean"
12381238
uppercase_operation_id: "FAKE_OUTER_STRING_SERIALIZE"
12391239
responses:
12401240
200:
@@ -1266,7 +1266,7 @@ paths:
12661266
refName: "OuterBoolean"
12671267
formatString: "{:?}"
12681268
example: "None"
1269-
model_key: "itemList"
1269+
model_key: "OuterBoolean"
12701270
uppercase_operation_id: "FAKE_OUTER_BOOLEAN_SERIALIZE"
12711271
responses:
12721272
200:
@@ -1298,7 +1298,7 @@ paths:
12981298
refName: "OuterComposite"
12991299
formatString: "{:?}"
13001300
example: "None"
1301-
model_key: "itemList"
1301+
model_key: "OuterBoolean"
13021302
uppercase_operation_id: "FAKE_OUTER_COMPOSITE_SERIALIZE"
13031303
responses:
13041304
200:
@@ -1365,7 +1365,6 @@ paths:
13651365
uppercase_message: "SUCCESS"
13661366
uppercase_data_type: "XMLOBJECT"
13671367
producesXml: true
1368-
has_namespace: "true"
13691368
operation_id: "get_xml_features"
13701369
uppercase_operation_id: "GET_XML_FEATURES"
13711370
path: "/fake/xmlFeatures"
@@ -1388,8 +1387,7 @@ paths:
13881387
refName: "xmlObject"
13891388
formatString: "{:?}"
13901389
example: "???"
1391-
has_namespace: "true"
1392-
model_key: "itemList"
1390+
model_key: "OuterBoolean"
13931391
uppercase_operation_id: "POST_XML_FEATURES"
13941392
consumesXml: true
13951393
responses:
@@ -1403,6 +1401,41 @@ paths:
14031401
HttpMethod: "Post"
14041402
httpmethod: "post"
14051403
noClientExample: true
1404+
/fake/inline-additionalProperties:
1405+
post:
1406+
tags:
1407+
- "fake"
1408+
summary: "test inline additionalProperties"
1409+
description: ""
1410+
operationId: "testInlineAdditionalProperties"
1411+
consumes:
1412+
- "application/json"
1413+
parameters:
1414+
- in: "body"
1415+
name: "param"
1416+
description: "request body"
1417+
required: true
1418+
schema:
1419+
type: "object"
1420+
additionalProperties:
1421+
type: "string"
1422+
upperCaseName: "PARAM"
1423+
refName: null
1424+
formatString: "{:?}"
1425+
example: "???"
1426+
model_key: "OuterBoolean"
1427+
uppercase_operation_id: "TEST_INLINE_ADDITIONAL_PROPERTIES"
1428+
responses:
1429+
200:
1430+
description: "successful operation"
1431+
uppercase_operation_id: "TEST_INLINE_ADDITIONAL_PROPERTIES"
1432+
uppercase_message: "SUCCESSFUL_OPERATION"
1433+
operation_id: "test_inline_additional_properties"
1434+
uppercase_operation_id: "TEST_INLINE_ADDITIONAL_PROPERTIES"
1435+
path: "/fake/inline-additionalProperties"
1436+
HttpMethod: "Post"
1437+
httpmethod: "post"
1438+
noClientExample: true
14061439
/another-fake/dummy:
14071440
patch:
14081441
tags:
@@ -1425,7 +1458,7 @@ paths:
14251458
refName: "Client"
14261459
formatString: "{:?}"
14271460
example: "???"
1428-
model_key: "itemList"
1461+
model_key: "OuterBoolean"
14291462
uppercase_operation_id: "TEST_SPECIAL_TAGS"
14301463
responses:
14311464
200:
@@ -1968,15 +2001,6 @@ definitions:
19682001
- "approved"
19692002
- "delivered"
19702003
upperCaseName: "OUTERENUM"
1971-
OuterNumber:
1972-
type: "number"
1973-
upperCaseName: "OUTERNUMBER"
1974-
OuterString:
1975-
type: "string"
1976-
upperCaseName: "OUTERSTRING"
1977-
OuterBoolean:
1978-
type: "boolean"
1979-
upperCaseName: "OUTERBOOLEAN"
19802004
OuterComposite:
19812005
type: "object"
19822006
properties:
@@ -1991,30 +2015,15 @@ definitions:
19912015
my_number: {}
19922016
my_boolean: {}
19932017
upperCaseName: "OUTERCOMPOSITE"
1994-
xmlObject:
1995-
required:
1996-
- "itemList"
1997-
- "name"
1998-
properties:
1999-
name:
2000-
type: "string"
2001-
example: "myXmlObject"
2002-
itemList:
2003-
$ref: "#/definitions/itemList"
2004-
itemXmlName: "item"
2005-
xml:
2006-
name: "group"
2007-
namespace: "http://example.com/schema.xsd"
2008-
upperCaseName: "XMLOBJECT"
2009-
itemList:
2010-
type: "array"
2011-
items:
2012-
type: "string"
2013-
example: "my item"
2014-
xml:
2015-
name: "item"
2016-
upperCaseName: "ITEMLIST"
2017-
itemXmlName: "item"
2018+
OuterNumber:
2019+
type: "number"
2020+
upperCaseName: "OUTERNUMBER"
2021+
OuterString:
2022+
type: "string"
2023+
upperCaseName: "OUTERSTRING"
2024+
OuterBoolean:
2025+
type: "boolean"
2026+
upperCaseName: "OUTERBOOLEAN"
20182027
externalDocs:
20192028
description: "Find out more about Swagger"
20202029
url: "http://swagger.io"

samples/client/petstore/rust2/examples/client.rs renamed to samples/server/petstore/rust-server/examples/client.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ use petstore_api::{ApiNoContext, ContextWrapperExt,
2424
TestClientModelResponse,
2525
TestEndpointParametersResponse,
2626
TestEnumParametersResponse,
27+
TestInlineAdditionalPropertiesResponse,
2728
TestJsonFormDataResponse,
2829
TestClassnameResponse,
2930
AddPetResponse,
@@ -151,6 +152,12 @@ fn main() {
151152
println!("{:?} (X-Span-ID: {:?})", result, client.context().x_span_id.clone().unwrap_or(String::from("<none>")));
152153
},
153154

155+
// Disabled because there's no example.
156+
// Some("TestInlineAdditionalProperties") => {
157+
// let result = client.test_inline_additional_properties(???).wait();
158+
// println!("{:?} (X-Span-ID: {:?})", result, client.context().x_span_id.clone().unwrap_or(String::from("<none>")));
159+
// },
160+
154161
Some("TestJsonFormData") => {
155162
let result = client.test_json_form_data("param_example".to_string(), "param2_example".to_string()).wait();
156163
println!("{:?} (X-Span-ID: {:?})", result, client.context().x_span_id.clone().unwrap_or(String::from("<none>")));

0 commit comments

Comments
 (0)