mirror of
				https://github.com/OpenAPITools/openapi-generator.git
				synced 2025-11-04 10:43:44 +00:00 
			
		
		
		
	[Java] Add back byte array enhancement (#7546)
* add back byte array enhanceement * add okio dependency to java rest assured api client
This commit is contained in:
		
							parent
							
								
									9c79297d6a
								
							
						
					
					
						commit
						fec0363f7d
					
				@ -26,6 +26,7 @@ import org.threeten.bp.format.DateTimeFormatter;
 | 
			
		||||
{{/threetenbp}}
 | 
			
		||||
 | 
			
		||||
import {{modelPackage}}.*;
 | 
			
		||||
import okio.ByteString;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.StringReader;
 | 
			
		||||
@ -55,6 +56,7 @@ public class JSON {
 | 
			
		||||
    private OffsetDateTimeTypeAdapter offsetDateTimeTypeAdapter = new OffsetDateTimeTypeAdapter();
 | 
			
		||||
    private LocalDateTypeAdapter localDateTypeAdapter = new LocalDateTypeAdapter();
 | 
			
		||||
    {{/jsr310}}
 | 
			
		||||
    private ByteArrayAdapter byteArrayAdapter = new ByteArrayAdapter();
 | 
			
		||||
 | 
			
		||||
    public static GsonBuilder createGson() {
 | 
			
		||||
        GsonFireBuilder fireBuilder = new GsonFireBuilder()
 | 
			
		||||
@ -105,6 +107,7 @@ public class JSON {
 | 
			
		||||
            .registerTypeAdapter(OffsetDateTime.class, offsetDateTimeTypeAdapter)
 | 
			
		||||
            .registerTypeAdapter(LocalDate.class, localDateTypeAdapter)
 | 
			
		||||
            {{/jsr310}}
 | 
			
		||||
            .registerTypeAdapter(byte[].class, byteArrayAdapter)
 | 
			
		||||
            .create();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -171,6 +174,34 @@ public class JSON {
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gson TypeAdapter for Byte Array type
 | 
			
		||||
     */
 | 
			
		||||
    public class ByteArrayAdapter extends TypeAdapter<byte[]> {
 | 
			
		||||
 | 
			
		||||
        @Override
 | 
			
		||||
        public void write(JsonWriter out, byte[] value) throws IOException {
 | 
			
		||||
            if (value == null) {
 | 
			
		||||
                out.nullValue();
 | 
			
		||||
            } else {
 | 
			
		||||
                out.value(ByteString.of(value).base64());
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        @Override
 | 
			
		||||
        public byte[] read(JsonReader in) throws IOException {
 | 
			
		||||
            switch (in.peek()) {
 | 
			
		||||
                case NULL:
 | 
			
		||||
                    in.nextNull();
 | 
			
		||||
                    return null;
 | 
			
		||||
                default:
 | 
			
		||||
                    String bytesAsBase64 = in.nextString();
 | 
			
		||||
                    ByteString byteString = ByteString.decodeBase64(bytesAsBase64);
 | 
			
		||||
                    return byteString.toByteArray();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    {{#joda}}
 | 
			
		||||
    /**
 | 
			
		||||
     * Gson TypeAdapter for Joda DateTime type
 | 
			
		||||
 | 
			
		||||
@ -105,6 +105,7 @@ ext {
 | 
			
		||||
{{#threetenbp}}
 | 
			
		||||
    threetenbp_version = "1.3.5"
 | 
			
		||||
{{/threetenbp}}
 | 
			
		||||
    okio_version = "1.13.0"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dependencies {
 | 
			
		||||
@ -118,5 +119,6 @@ dependencies {
 | 
			
		||||
{{#threetenbp}}
 | 
			
		||||
    compile "org.threeten:threetenbp:$threetenbp_version"
 | 
			
		||||
{{/threetenbp}}
 | 
			
		||||
    compile "com.squareup.okio:okio:$okio_version"
 | 
			
		||||
    testCompile "junit:junit:$junit_version"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -10,7 +10,7 @@ lazy val root = (project in file(".")).
 | 
			
		||||
    resolvers += Resolver.mavenLocal,
 | 
			
		||||
    libraryDependencies ++= Seq(
 | 
			
		||||
      "io.swagger" % "swagger-annotations" % "1.5.15",
 | 
			
		||||
      "io.rest-assured" % "scala-support" % "3.0.6"
 | 
			
		||||
      "io.rest-assured" % "scala-support" % "3.0.6",
 | 
			
		||||
      "com.google.code.gson" % "gson" % "2.6.1",
 | 
			
		||||
      "io.gsonfire" % "gson-fire" % "1.8.2" % "compile",
 | 
			
		||||
{{#joda}}
 | 
			
		||||
@ -19,6 +19,7 @@ lazy val root = (project in file(".")).
 | 
			
		||||
{{#threetenbp}}
 | 
			
		||||
      "org.threeten" % "threetenbp" % "1.3.5" % "compile",
 | 
			
		||||
{{/threetenbp}}
 | 
			
		||||
      "com.squareup.okio" % "okio" % "1.13.0" % "compile",
 | 
			
		||||
      "junit" % "junit" % "4.12" % "test",
 | 
			
		||||
      "com.novocode" % "junit-interface" % "0.10" % "test"
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
@ -212,24 +212,29 @@
 | 
			
		||||
            <version>${gson-version}</version>
 | 
			
		||||
        </dependency>
 | 
			
		||||
        {{#joda}}
 | 
			
		||||
            <dependency>
 | 
			
		||||
                <groupId>joda-time</groupId>
 | 
			
		||||
                <artifactId>joda-time</artifactId>
 | 
			
		||||
                <version>${jodatime-version}</version>
 | 
			
		||||
            </dependency>
 | 
			
		||||
        <dependency>
 | 
			
		||||
            <groupId>joda-time</groupId>
 | 
			
		||||
            <artifactId>joda-time</artifactId>
 | 
			
		||||
            <version>${jodatime-version}</version>
 | 
			
		||||
        </dependency>
 | 
			
		||||
        {{/joda}}
 | 
			
		||||
        {{#threetenbp}}
 | 
			
		||||
            <dependency>
 | 
			
		||||
                <groupId>org.threeten</groupId>
 | 
			
		||||
                <artifactId>threetenbp</artifactId>
 | 
			
		||||
                <version>${threetenbp-version}</version>
 | 
			
		||||
            </dependency>
 | 
			
		||||
        <dependency>
 | 
			
		||||
            <groupId>org.threeten</groupId>
 | 
			
		||||
            <artifactId>threetenbp</artifactId>
 | 
			
		||||
            <version>${threetenbp-version}</version>
 | 
			
		||||
        </dependency>
 | 
			
		||||
        {{/threetenbp}}
 | 
			
		||||
        <dependency>
 | 
			
		||||
            <groupId>io.gsonfire</groupId>
 | 
			
		||||
            <artifactId>gson-fire</artifactId>
 | 
			
		||||
            <version>${gson-fire-version}</version>
 | 
			
		||||
        </dependency>
 | 
			
		||||
		<dependency>
 | 
			
		||||
		    <groupId>com.squareup.okio</groupId>
 | 
			
		||||
		    <artifactId>okio</artifactId>
 | 
			
		||||
		<version>${okio-version}</version>
 | 
			
		||||
		</dependency>
 | 
			
		||||
        <!-- test dependencies -->
 | 
			
		||||
        <dependency>
 | 
			
		||||
            <groupId>junit</groupId>
 | 
			
		||||
@ -251,6 +256,7 @@
 | 
			
		||||
        {{#threetenbp}}
 | 
			
		||||
        <threetenbp-version>1.3.5</threetenbp-version>
 | 
			
		||||
        {{/threetenbp}}
 | 
			
		||||
        <okio-version>1.13.0</okio-version>
 | 
			
		||||
        <junit-version>4.12</junit-version>
 | 
			
		||||
    </properties>
 | 
			
		||||
</project>
 | 
			
		||||
 | 
			
		||||
@ -100,6 +100,7 @@ ext {
 | 
			
		||||
    gson_version = "2.6.1"
 | 
			
		||||
    gson_fire_version = "1.8.2"
 | 
			
		||||
    threetenbp_version = "1.3.5"
 | 
			
		||||
    okio_version = "1.13.0"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dependencies {
 | 
			
		||||
@ -107,5 +108,6 @@ dependencies {
 | 
			
		||||
    compile "io.rest-assured:scala-support:$rest_assured_version"
 | 
			
		||||
    compile "io.gsonfire:gson-fire:$gson_fire_version"
 | 
			
		||||
    compile "org.threeten:threetenbp:$threetenbp_version"
 | 
			
		||||
    compile "com.squareup.okio:okio:$okio_version"
 | 
			
		||||
    testCompile "junit:junit:$junit_version"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -10,10 +10,11 @@ lazy val root = (project in file(".")).
 | 
			
		||||
    resolvers += Resolver.mavenLocal,
 | 
			
		||||
    libraryDependencies ++= Seq(
 | 
			
		||||
      "io.swagger" % "swagger-annotations" % "1.5.15",
 | 
			
		||||
      "io.rest-assured" % "scala-support" % "3.0.6"
 | 
			
		||||
      "io.rest-assured" % "scala-support" % "3.0.6",
 | 
			
		||||
      "com.google.code.gson" % "gson" % "2.6.1",
 | 
			
		||||
      "io.gsonfire" % "gson-fire" % "1.8.2" % "compile",
 | 
			
		||||
      "org.threeten" % "threetenbp" % "1.3.5" % "compile",
 | 
			
		||||
      "com.squareup.okio" % "okio" % "1.13.0" % "compile",
 | 
			
		||||
      "junit" % "junit" % "4.12" % "test",
 | 
			
		||||
      "com.novocode" % "junit-interface" % "0.10" % "test"
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
@ -211,16 +211,21 @@
 | 
			
		||||
            <artifactId>gson</artifactId>
 | 
			
		||||
            <version>${gson-version}</version>
 | 
			
		||||
        </dependency>
 | 
			
		||||
            <dependency>
 | 
			
		||||
                <groupId>org.threeten</groupId>
 | 
			
		||||
                <artifactId>threetenbp</artifactId>
 | 
			
		||||
                <version>${threetenbp-version}</version>
 | 
			
		||||
            </dependency>
 | 
			
		||||
        <dependency>
 | 
			
		||||
            <groupId>org.threeten</groupId>
 | 
			
		||||
            <artifactId>threetenbp</artifactId>
 | 
			
		||||
            <version>${threetenbp-version}</version>
 | 
			
		||||
        </dependency>
 | 
			
		||||
        <dependency>
 | 
			
		||||
            <groupId>io.gsonfire</groupId>
 | 
			
		||||
            <artifactId>gson-fire</artifactId>
 | 
			
		||||
            <version>${gson-fire-version}</version>
 | 
			
		||||
        </dependency>
 | 
			
		||||
		<dependency>
 | 
			
		||||
		    <groupId>com.squareup.okio</groupId>
 | 
			
		||||
		    <artifactId>okio</artifactId>
 | 
			
		||||
		<version>${okio-version}</version>
 | 
			
		||||
		</dependency>
 | 
			
		||||
        <!-- test dependencies -->
 | 
			
		||||
        <dependency>
 | 
			
		||||
            <groupId>junit</groupId>
 | 
			
		||||
@ -237,6 +242,7 @@
 | 
			
		||||
        <gson-fire-version>1.8.2</gson-fire-version>
 | 
			
		||||
        <maven-plugin-version>1.0.0</maven-plugin-version>
 | 
			
		||||
        <threetenbp-version>1.3.5</threetenbp-version>
 | 
			
		||||
        <okio-version>1.13.0</okio-version>
 | 
			
		||||
        <junit-version>4.12</junit-version>
 | 
			
		||||
    </properties>
 | 
			
		||||
</project>
 | 
			
		||||
 | 
			
		||||
@ -28,6 +28,7 @@ import org.threeten.bp.OffsetDateTime;
 | 
			
		||||
import org.threeten.bp.format.DateTimeFormatter;
 | 
			
		||||
 | 
			
		||||
import io.swagger.client.model.*;
 | 
			
		||||
import okio.ByteString;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.StringReader;
 | 
			
		||||
@ -46,6 +47,7 @@ public class JSON {
 | 
			
		||||
    private SqlDateTypeAdapter sqlDateTypeAdapter = new SqlDateTypeAdapter();
 | 
			
		||||
    private OffsetDateTimeTypeAdapter offsetDateTimeTypeAdapter = new OffsetDateTimeTypeAdapter();
 | 
			
		||||
    private LocalDateTypeAdapter localDateTypeAdapter = new LocalDateTypeAdapter();
 | 
			
		||||
    private ByteArrayAdapter byteArrayAdapter = new ByteArrayAdapter();
 | 
			
		||||
 | 
			
		||||
    public static GsonBuilder createGson() {
 | 
			
		||||
        GsonFireBuilder fireBuilder = new GsonFireBuilder()
 | 
			
		||||
@ -87,6 +89,7 @@ public class JSON {
 | 
			
		||||
            .registerTypeAdapter(java.sql.Date.class, sqlDateTypeAdapter)
 | 
			
		||||
            .registerTypeAdapter(OffsetDateTime.class, offsetDateTimeTypeAdapter)
 | 
			
		||||
            .registerTypeAdapter(LocalDate.class, localDateTypeAdapter)
 | 
			
		||||
            .registerTypeAdapter(byte[].class, byteArrayAdapter)
 | 
			
		||||
            .create();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -153,6 +156,34 @@ public class JSON {
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gson TypeAdapter for Byte Array type
 | 
			
		||||
     */
 | 
			
		||||
    public class ByteArrayAdapter extends TypeAdapter<byte[]> {
 | 
			
		||||
 | 
			
		||||
        @Override
 | 
			
		||||
        public void write(JsonWriter out, byte[] value) throws IOException {
 | 
			
		||||
            if (value == null) {
 | 
			
		||||
                out.nullValue();
 | 
			
		||||
            } else {
 | 
			
		||||
                out.value(ByteString.of(value).base64());
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        @Override
 | 
			
		||||
        public byte[] read(JsonReader in) throws IOException {
 | 
			
		||||
            switch (in.peek()) {
 | 
			
		||||
                case NULL:
 | 
			
		||||
                    in.nextNull();
 | 
			
		||||
                    return null;
 | 
			
		||||
                default:
 | 
			
		||||
                    String bytesAsBase64 = in.nextString();
 | 
			
		||||
                    ByteString byteString = ByteString.decodeBase64(bytesAsBase64);
 | 
			
		||||
                    return byteString.toByteArray();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gson TypeAdapter for JSR310 OffsetDateTime type
 | 
			
		||||
     */
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user