Skip to content

Commit a8c56ae

Browse files
authored
fix: [OpenAPI] Introduce openapi-core-apache module (#1083)
1 parent 45cc03c commit a8c56ae

File tree

42 files changed

+931
-303
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+931
-303
lines changed

datamodel/openapi/openapi-api-apache-sample/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
<dependencies>
3232
<dependency>
3333
<groupId>com.sap.cloud.sdk.datamodel</groupId>
34-
<artifactId>openapi-core</artifactId>
34+
<artifactId>openapi-core-apache</artifactId>
3535
</dependency>
3636
<dependency>
3737
<groupId>com.sap.cloud.sdk.cloudplatform</groupId>

datamodel/openapi/openapi-api-apache-sample/src/main/java/com/sap/cloud/sdk/datamodel/openapi/apache/petstore/api/DefaultApi.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@
1717
import com.sap.cloud.sdk.cloudplatform.connectivity.Destination;
1818
import com.sap.cloud.sdk.datamodel.openapi.apache.petstore.model.Pet;
1919
import com.sap.cloud.sdk.datamodel.openapi.apache.petstore.model.PetInput;
20-
import com.sap.cloud.sdk.services.openapi.apache.ApiClient;
21-
import com.sap.cloud.sdk.services.openapi.apache.BaseApi;
22-
import com.sap.cloud.sdk.services.openapi.apache.OpenApiResponse;
23-
import com.sap.cloud.sdk.services.openapi.apache.Pair;
24-
import com.sap.cloud.sdk.services.openapi.core.OpenApiRequestException;
20+
import com.sap.cloud.sdk.services.openapi.apache.apiclient.ApiClient;
21+
import com.sap.cloud.sdk.services.openapi.apache.apiclient.BaseApi;
22+
import com.sap.cloud.sdk.services.openapi.apache.apiclient.Pair;
23+
import com.sap.cloud.sdk.services.openapi.apache.core.OpenApiRequestException;
24+
import com.sap.cloud.sdk.services.openapi.apache.core.OpenApiResponse;
2525

2626
/**
2727
* Swagger Petstore in version 1.0.0.

datamodel/openapi/openapi-api-apache-sample/src/main/java/com/sap/cloud/sdk/datamodel/openapi/apache/sodastore/api/OrdersApi.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@
1515
import com.fasterxml.jackson.core.type.TypeReference;
1616
import com.sap.cloud.sdk.cloudplatform.connectivity.Destination;
1717
import com.sap.cloud.sdk.datamodel.openapi.apache.sodastore.model.Order;
18-
import com.sap.cloud.sdk.services.openapi.apache.ApiClient;
19-
import com.sap.cloud.sdk.services.openapi.apache.BaseApi;
20-
import com.sap.cloud.sdk.services.openapi.apache.Pair;
21-
import com.sap.cloud.sdk.services.openapi.core.OpenApiRequestException;
18+
import com.sap.cloud.sdk.services.openapi.apache.apiclient.ApiClient;
19+
import com.sap.cloud.sdk.services.openapi.apache.apiclient.BaseApi;
20+
import com.sap.cloud.sdk.services.openapi.apache.apiclient.Pair;
21+
import com.sap.cloud.sdk.services.openapi.apache.core.OpenApiRequestException;
2222

2323
/**
2424
* SodaStore API in version 1.0.0.

datamodel/openapi/openapi-api-apache-sample/src/main/java/com/sap/cloud/sdk/datamodel/openapi/apache/sodastore/api/SodasApi.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@
1717
import com.sap.cloud.sdk.cloudplatform.connectivity.Destination;
1818
import com.sap.cloud.sdk.datamodel.openapi.apache.sodastore.model.Soda;
1919
import com.sap.cloud.sdk.datamodel.openapi.apache.sodastore.model.SodaWithId;
20-
import com.sap.cloud.sdk.services.openapi.apache.ApiClient;
21-
import com.sap.cloud.sdk.services.openapi.apache.BaseApi;
22-
import com.sap.cloud.sdk.services.openapi.apache.Pair;
23-
import com.sap.cloud.sdk.services.openapi.core.OpenApiRequestException;
20+
import com.sap.cloud.sdk.services.openapi.apache.apiclient.ApiClient;
21+
import com.sap.cloud.sdk.services.openapi.apache.apiclient.BaseApi;
22+
import com.sap.cloud.sdk.services.openapi.apache.apiclient.Pair;
23+
import com.sap.cloud.sdk.services.openapi.apache.core.OpenApiRequestException;
2424

2525
/**
2626
* SodaStore API in version 1.0.0.
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<modelVersion>4.0.0</modelVersion>
6+
<parent>
7+
<groupId>com.sap.cloud.sdk.datamodel</groupId>
8+
<artifactId>openapi-parent</artifactId>
9+
<version>5.27.0-SNAPSHOT</version>
10+
</parent>
11+
<artifactId>openapi-core-apache</artifactId>
12+
<name>Data Model - OpenAPI Services - Apache Core</name>
13+
<description>Generic OpenAPI API Core Wrapper for Apache client</description>
14+
<url>https://sap.github.io/cloud-sdk/docs/java/getting-started</url>
15+
<organization>
16+
<name>SAP SE</name>
17+
<url>https://www.sap.com</url>
18+
</organization>
19+
<licenses>
20+
<license>
21+
<name>The Apache Software License, Version 2.0</name>
22+
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
23+
</license>
24+
</licenses>
25+
<developers>
26+
<developer>
27+
<name>SAP</name>
28+
<email>[email protected]</email>
29+
<organization>SAP SE</organization>
30+
<organizationUrl>https://www.sap.com</organizationUrl>
31+
</developer>
32+
</developers>
33+
<dependencies>
34+
<dependency>
35+
<groupId>com.sap.cloud.sdk.cloudplatform</groupId>
36+
<artifactId>cloudplatform-connectivity</artifactId>
37+
</dependency>
38+
<dependency>
39+
<groupId>com.sap.cloud.sdk.cloudplatform</groupId>
40+
<artifactId>connectivity-apache-httpclient5</artifactId>
41+
</dependency>
42+
<dependency>
43+
<groupId>org.apache.httpcomponents.client5</groupId>
44+
<artifactId>httpclient5</artifactId>
45+
</dependency>
46+
<dependency>
47+
<groupId>org.apache.httpcomponents.core5</groupId>
48+
<artifactId>httpcore5</artifactId>
49+
</dependency>
50+
<dependency>
51+
<groupId>com.fasterxml.jackson.core</groupId>
52+
<artifactId>jackson-core</artifactId>
53+
</dependency>
54+
<dependency>
55+
<groupId>com.fasterxml.jackson.core</groupId>
56+
<artifactId>jackson-databind</artifactId>
57+
</dependency>
58+
<dependency>
59+
<groupId>com.fasterxml.jackson.core</groupId>
60+
<artifactId>jackson-annotations</artifactId>
61+
</dependency>
62+
<dependency>
63+
<groupId>com.fasterxml.jackson.datatype</groupId>
64+
<artifactId>jackson-datatype-jsr310</artifactId>
65+
</dependency>
66+
<dependency>
67+
<groupId>com.google.guava</groupId>
68+
<artifactId>guava</artifactId>
69+
</dependency>
70+
<!-- scope "provided" -->
71+
<dependency>
72+
<groupId>org.projectlombok</groupId>
73+
<artifactId>lombok</artifactId>
74+
<scope>provided</scope>
75+
</dependency>
76+
<!-- scope "test" -->
77+
<dependency>
78+
<groupId>org.junit.jupiter</groupId>
79+
<artifactId>junit-jupiter-api</artifactId>
80+
<scope>test</scope>
81+
</dependency>
82+
<dependency>
83+
<groupId>org.assertj</groupId>
84+
<artifactId>assertj-core</artifactId>
85+
<scope>test</scope>
86+
</dependency>
87+
<dependency>
88+
<groupId>org.wiremock</groupId>
89+
<artifactId>wiremock</artifactId>
90+
<scope>test</scope>
91+
</dependency>
92+
<dependency>
93+
<groupId>org.junit.jupiter</groupId>
94+
<artifactId>junit-jupiter-params</artifactId>
95+
<scope>test</scope>
96+
</dependency>
97+
</dependencies>
98+
</project>

datamodel/openapi/openapi-core/src/main/java/com/sap/cloud/sdk/services/openapi/apache/ApiClient.java renamed to datamodel/openapi/openapi-core-apache/src/main/java/com/sap/cloud/sdk/services/openapi/apache/apiclient/ApiClient.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010
* Do not edit the class manually.
1111
*/
1212

13-
package com.sap.cloud.sdk.services.openapi.apache;
13+
package com.sap.cloud.sdk.services.openapi.apache.apiclient;
1414

15-
import static com.sap.cloud.sdk.services.openapi.apache.DefaultApiResponseHandler.isJsonMime;
15+
import static com.sap.cloud.sdk.services.openapi.apache.apiclient.DefaultApiResponseHandler.isJsonMime;
1616
import static lombok.AccessLevel.PRIVATE;
1717

1818
import java.io.File;
@@ -60,8 +60,8 @@
6060
import com.google.common.annotations.Beta;
6161
import com.sap.cloud.sdk.cloudplatform.connectivity.ApacheHttpClient5Accessor;
6262
import com.sap.cloud.sdk.cloudplatform.connectivity.Destination;
63-
import com.sap.cloud.sdk.services.openapi.apiclient.RFC3339DateFormat;
64-
import com.sap.cloud.sdk.services.openapi.core.OpenApiRequestException;
63+
import com.sap.cloud.sdk.services.openapi.apache.core.OpenApiRequestException;
64+
import com.sap.cloud.sdk.services.openapi.apache.core.OpenApiResponseListener;
6565

6666
import lombok.AllArgsConstructor;
6767
import lombok.EqualsAndHashCode;

datamodel/openapi/openapi-core/src/main/java/com/sap/cloud/sdk/services/openapi/apache/BaseApi.java renamed to datamodel/openapi/openapi-core-apache/src/main/java/com/sap/cloud/sdk/services/openapi/apache/apiclient/BaseApi.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
* Do not edit the class manually.
1111
*/
1212

13-
package com.sap.cloud.sdk.services.openapi.apache;
13+
package com.sap.cloud.sdk.services.openapi.apache.apiclient;
1414

1515
import javax.annotation.Nonnull;
1616

datamodel/openapi/openapi-core/src/main/java/com/sap/cloud/sdk/services/openapi/apache/DefaultApiResponseHandler.java renamed to datamodel/openapi/openapi-core-apache/src/main/java/com/sap/cloud/sdk/services/openapi/apache/apiclient/DefaultApiResponseHandler.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
* Do not edit the class manually.
1111
*/
1212

13-
package com.sap.cloud.sdk.services.openapi.apache;
13+
package com.sap.cloud.sdk.services.openapi.apache.apiclient;
1414

1515
import java.io.File;
1616
import java.io.IOException;
@@ -43,7 +43,9 @@
4343

4444
import com.fasterxml.jackson.core.type.TypeReference;
4545
import com.fasterxml.jackson.databind.ObjectMapper;
46-
import com.sap.cloud.sdk.services.openapi.core.OpenApiRequestException;
46+
import com.sap.cloud.sdk.services.openapi.apache.core.OpenApiRequestException;
47+
import com.sap.cloud.sdk.services.openapi.apache.core.OpenApiResponse;
48+
import com.sap.cloud.sdk.services.openapi.apache.core.OpenApiResponseListener;
4749

4850
import lombok.RequiredArgsConstructor;
4951

datamodel/openapi/openapi-core/src/main/java/com/sap/cloud/sdk/services/openapi/apache/Pair.java renamed to datamodel/openapi/openapi-core-apache/src/main/java/com/sap/cloud/sdk/services/openapi/apache/apiclient/Pair.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
* Do not edit the class manually.
1111
*/
1212

13-
package com.sap.cloud.sdk.services.openapi.apache;
13+
package com.sap.cloud.sdk.services.openapi.apache.apiclient;
1414

1515
import javax.annotation.Nonnull;
1616

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
package com.sap.cloud.sdk.services.openapi.apache.apiclient;
2+
3+
import java.text.DateFormat;
4+
import java.text.DecimalFormat;
5+
import java.text.FieldPosition;
6+
import java.text.ParsePosition;
7+
import java.util.Date;
8+
import java.util.GregorianCalendar;
9+
import java.util.TimeZone;
10+
11+
import javax.annotation.Nonnull;
12+
import javax.annotation.Nullable;
13+
14+
import com.fasterxml.jackson.databind.util.StdDateFormat;
15+
16+
/**
17+
* Date format according to the <a href="https://www.rfc-editor.org/rfc/rfc3339">RFC3339</a>.
18+
*/
19+
class RFC3339DateFormat extends DateFormat
20+
{
21+
private static final long serialVersionUID = 1L;
22+
private static final TimeZone TIMEZONE_Z = TimeZone.getTimeZone("UTC");
23+
24+
private final StdDateFormat fmt = new StdDateFormat().withTimeZone(TIMEZONE_Z).withColonInTimeZone(true);
25+
26+
/**
27+
* Default constructor
28+
*/
29+
RFC3339DateFormat()
30+
{
31+
calendar = new GregorianCalendar();
32+
numberFormat = new DecimalFormat();
33+
}
34+
35+
@Override
36+
@Nonnull
37+
public Date parse( @Nonnull final String source )
38+
{
39+
return parse(source, new ParsePosition(0));
40+
}
41+
42+
@Override
43+
@Nonnull
44+
public Date parse( @Nonnull final String source, @Nonnull final ParsePosition pos )
45+
{
46+
return fmt.parse(source, pos);
47+
}
48+
49+
@Override
50+
@Nonnull
51+
public StringBuffer format(
52+
@Nonnull final Date date,
53+
@Nonnull final StringBuffer toAppendTo,
54+
@Nullable final FieldPosition fieldPosition )
55+
{
56+
return fmt.format(date, toAppendTo, fieldPosition);
57+
}
58+
}

0 commit comments

Comments
 (0)