Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • pom.xml - Contains the required dependencies for the connector core libraries and relevant Synapse libraries, as well as Maven repositories for the specific connector (such as JIRA Maven repositories for a JIRA connector). 

    Code Block
    languagehtml/xml
    <dependencies>
      <dependency>
        <groupId>org.wso2.carbon</groupId>
        <artifactId>org.wso2.carbon.mediation.initializer</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.wso2.carbon</groupId>
        <artifactId>org.wso2.carbon.connector.core</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.synapse</groupId>
        <artifactId>synapse-core</artifactId>
      </dependency>        
    </dependencies>
  • assemble-connector.xml - Contains the instructions to create the connector archive (ZIP) file.
  • connector.xml -  Defines  Defines the connector name, package, and the different categories of operations that will be exposed for the connector. For example, the JIRA connector's connector.xml file looks like this:

    Code Block
    languagehtml/xml
    <?xml version="1.0" encoding="UTF-8"?>
    <connector>
        <component name="jira" package="org.wso2.carbon.connectors">
            <dependency component="jira_config" />
            <dependency component="jira_dashboard"/>
            <dependency component="jira_filter"/>
            <dependency component="jira_group"/>
            <dependency component="jira_issue" />
            <dependency component="jira_project" />
            <dependency component="jira_search" />
            <dependency component="jira_user" />
            <description>JIRA 6.0 cloud connector</description>
        </component>
    </connector>

    For each of the categories you specify, you create a corresponding directory (as shown above in the directory tree), each of which contains a component.xml file.

  • component.xml - Contains information about the operations in this category. For example, in the jira_filter directory, the component.xml file looks like this:

    Code Block
    languagehtml/xml
    <?xml version="1.0" encoding="UTF-8"?>
    <component name="jira_filter" type="synapse/template">
        <subComponents>
            <component name="createFilter">
                <file>createFilter.xml</file>
                <description>Creates a new filter, and returns newly 
    created filter. Currently sets permissions just using the users default 
    sharing permissions</description>
            </component>
            <component name="deleteFilter">
                <file>deleteFilter.xml</file>
                <description>Delete a filter.</description>
            </component>
            <component name="getFavouriteFilters">
                <file>getFavouriteFilters.xml</file>
                <description>Returns the favourite filters of the logged-in user.</description>
            </component>
            <component name="getFilterById">
                <file>getFilterById.xml</file>
                <description>Returns a filter given an id</description>
            </component>
            <component name="updateFilterById">
                <file>updateFilterById.xml</file>
                <description>Updates an existing filter, and returns its new value.</description>
            </component>
        </subComponents>
    </component>

    Each operation is specified as a separate sub-component of the operation group.

...