Skip to content

madurangasiriwardena/openapi-generator-cxf-wso2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Before you begin, convert the API definition to OpenAPI 3.0 if you already haven't done so.

  1. Clone this repository and build the plugin.
  2. Include the given plugin to the pom.xml file of the module org.wso2.carbon.identity.api.server.<resource>.<version>
<plugin>
    <groupId>org.openapitools</groupId>
    <artifactId>openapi-generator-maven-plugin</artifactId>
    <version>4.1.2</version>
    <executions>
        <execution>
            <goals>
                <goal>generate</goal>
            </goals>
            <configuration>
                <inputSpec>${project.basedir}/src/main/resources/<resource>.yaml</inputSpec>
                <generatorName>org.wso2.carbon.codegen.CxfWso2Generator</generatorName>
                <configOptions>
                    <sourceFolder>src/gen/java</sourceFolder>
                    <apiPackage>org.wso2.carbon.identity.api.server.<resource>.<version></apiPackage>
                    <modelPackage>org.wso2.carbon.identity.api.server.<resource>.<version>.model</modelPackage>
                    <packageName>org.wso2.carbon.identity.api.server.<resource>.<version></packageName>
                    <dateLibrary>java8</dateLibrary>
                    <hideGenerationTimestamp>true</hideGenerationTimestamp>
                </configOptions>
                <output>.</output>
                <skipOverwrite>false</skipOverwrite>
            </configuration>
        </execution>
    </executions>
    <dependencies>
        <dependency>
            <groupId>org.openapitools</groupId>
            <artifactId>cxf-wso2-openapi-generator</artifactId>
            <version>1.0.0</version>
        </dependency>
    </dependencies>
</plugin>

For example:

<plugin>
    <groupId>org.openapitools</groupId>
    <artifactId>openapi-generator-maven-plugin</artifactId>
    <version>4.1.2</version>
    <executions>
        <execution>
            <goals>
                <goal>generate</goal>
            </goals>
            <configuration>
                <inputSpec>${project.basedir}/src/main/resources/identity-governance-3.yaml</inputSpec>
                <generatorName>org.wso2.carbon.codegen.CxfWso2Generator</generatorName>
                <configOptions>
                    <sourceFolder>src/gen/java</sourceFolder>
                    <apiPackage>org.wso2.carbon.identity.api.server.identity.governance.v1</apiPackage>
                    <modelPackage>org.wso2.carbon.identity.api.server.identity.governance.v1.model</modelPackage>
                    <packageName>org.wso2.carbon.identity.api.server.identity.governance.v1</packageName>
                    <dateLibrary>java8</dateLibrary>
                    <hideGenerationTimestamp>true</hideGenerationTimestamp>
                </configOptions>
                <output>.</output>
                <skipOverwrite>false</skipOverwrite>
            </configuration>
        </execution>
    </executions>
    <dependencies>
        <dependency>
            <groupId>org.openapitools</groupId>
            <artifactId>cxf-wso2-openapi-generator</artifactId>
            <version>1.0.0</version>
        </dependency>
    </dependencies>
</plugin>
  1. Run the following command inside the module org.wso2.carbon.identity.api.server.. to generate the stubs
mvn clean install
  1. Comment out the plugin added for your API definition before committing to the git.

Supported vendor extensions

Extension Purpose Description Example
x-gen-include-req-res Get the HttpServletRequest and the HttpServletResponse objects to the generated code. Should be added to root of the yaml. If the value is set to true then the request and response objects will be available in the generated api impl classes. x-gen-include-req-res: true

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published