23 Commits

Author SHA1 Message Date
Benjamin Douglas
9058099e5b Add alias type definitions for Java
When a spec defines a Model at the top level that is a non-aggretate type (such
as string, number or boolean), it essentially represents an alias for the simple
type. For example, the following spec snippet creates an alias of the boolean
type that for all intents and purposes acts just like a regular boolean.

    definitions:
      JustABoolean:
        type: boolean

This can be modeled in some languages through built-in mechanisms, such as
typedefs in C++. Java, however, just not have a clean way of representing this.

This change introduces an internal mechanism for representing aliases. It
maintains a map in DefaultCodegen that tracks these types of definitions, and
wherever it sees the "JustABoolean" type in the spec, it generates code that
uses the built-in "Boolean" instead.

This functionality currenlty only applies to Java, but could be extended to
other languages later.

The change adds a few examples of this to the fake endpoint spec for testing,
which means all of the samples change as well.
2017-04-17 12:58:31 -07:00
Paŭlo Ebermann
ce41a343d8 Updating all samples (except feign) (#5281) 2017-04-02 17:01:15 +08:00
wing328
996acc05f5 [Java][Retrofit2] update gradle, sbt build file with latest dependencies (#5238)
* update build.gradle for retrofit2

* update retrofit2 rx2 sample

* update gradle and sbt build file for retrofit2
2017-03-28 21:05:12 +08:00
Tony Tam
0dcd91adbf null out the string null in examples. Rebuilt java clients and made a whole bunch of changes 2017-03-10 11:07:30 -08:00
wing328
882c3ecba5 update java petstore with new uuid mapping 2017-02-08 16:07:09 +08:00
wing328
5306b11b4a [java] Improve pom.xml to qualify for publishing to Maven central (#4616)
* [java] Attach Javadoc to artifact generation.

* [java] Attach source to artifact generation.

* [java] Add gpg signing to artifact publishing.

* [java] Add artifact URL to pom.xml .

* [java] Add artifact description to pom.xml .

* [java] Add artifact URL and description params to Jax RSS.

* [java] Add developer info to pom.xml .

* [java] Parameterise SCM info in generated pom.xml .

* [java] Move GPG signing to verify phase so that .asc files are uploaded during deploy phase.

* [java] Change GPG signing to be an optional via Maven profile. Can't assume all users will perform a release/deploy from an environment with correct GPG key/pass.

* update java petstore smaples

* camelize tag name, remove invalid file

* add back missing files for okhttp-gson

* fix docstring in java feign client

* fix docstring with various java api clients
2017-01-22 11:40:59 +08:00
Kevin Locke
df0c54d043 Support the empty string as an enumeration value (#4450)
When a string enumeration has the empty string as one of its available
values, the generated code for many languages is invalid because the
empty string can not be used as an identifier.  As with numbers and
symbols, provide a mapping to an English name which can be used as a
replacement.  In this case, "empty" for the empty string/empty value.

Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
2017-01-06 19:30:47 +08:00
wing328
131cbeb350 remove generation timestamp 2016-12-15 19:34:15 +08:00
menchauser
6ebc2fc051 Fix support for 'class' properties in Java codegen (#4237)
* Fix support for 'class' properties in Java codegen

Currently Java codegen works successfully for property named 'class' but
fails on '_class', '__class', etc, because of 'Object.getClass()'
overloading.

This fix is intended to avoid all Object method overloading cases.

* Regenerated samples for Java petstore-security-test
2016-11-23 00:18:40 +08:00
wing328
4e2c037e21 [Java] fix Java (Jersey1.x) test case (#4239)
* fix java jersey 1 test case

* fix test for java jersey2.x api client
2016-11-23 00:16:28 +08:00
wing328
90512e6326 Remove Apache license from API client generators (#4197)
* remove php apache license

* remove apache license from C#

* remove apache license in objc code

* remove license from swift 3 code

* remove apache license from perl code

* remove license from scala code

* remove license from ts, go, android, cpp, scala

* remove license from java api client

* restore clojure petstore files

* remove license from travis file

* clean up apache-related terms in php, ruby, python mustache tempaltes

* remove license from JS API cilent
2016-11-16 21:44:49 +08:00
Stas Shakirov
26faf6cf4e remove newline char in *.mustache; added generated code 2016-10-10 14:42:08 +03:00
Ville Skyttä
0363858672 java: Javadoc fixes 2016-09-01 18:07:35 +03:00
wing328
453f80a1d3 add new java client files 2016-08-09 18:59:59 +08:00
wing328
d8cdcbf042 fix jsoncreator annotation issue with java api clients using gson 2016-08-08 00:16:12 +08:00
cbornet
421c462ba9 set supportInheritance to true for java based gens 2016-07-18 16:33:20 +02:00
wing328
9e0c865c08 update java petstore sample 2016-07-15 17:45:06 +08:00
wing328
dfc05f4bba fix doc warning in java retrofit2 client 2016-07-05 17:49:50 +08:00
cbornet
f54b505704 use okttp builder instead of instance in retrofit2
Fix #3188
2016-06-29 17:07:39 +02:00
wing328
8283b701e8 fix java property with the name "class" 2016-06-20 14:51:17 +08:00
cbornet
acf17c85ad add joda support to retrofit clients and use it in samples
also adds back the petstore tests
2016-06-08 18:50:49 +02:00
clasnake
503fb138f5 Add sbt support for retrofit2 and retrofit2rx. 2016-06-04 21:13:10 +08:00
zhenjun115
09a29063be add markdown docs for java api client using retrofit2; 2016-05-25 23:44:44 +08:00