David BRASSELY 2013-08-27 13:33:00 +02:00
commit 2436f2263b
457 changed files with 33495 additions and 0 deletions

View File

@ -0,0 +1,114 @@
Command to buid OpenESB component from maven archetype :
Description :
This document shows how to develop openESB components, which will be build with OpenESB build only.
The project generated using these archetype will be similar to existing component built with OpenESB.
Folder structure for these new project will be based on openESB.
- Plugin project can be build with netbeans-soa project.
- Component project can be build with ojc-core in openesb-component
Install Archetype in Local repository :
======================================
NOTE: Maven version should be 2.0.9 as per OpenESB
1) Checkout following Projects from repository :
maven-archetype-service-engine-v2
maven-archetype-binding-component-v2
maven-archetype-service-engine-plugin-v2
maven-archetype-binding-component-plugin-v2
For archetype of Service Engine
---------------------------------
1) Change directory to maven-archetype-service-engine-v2/
$ mvn clean install
For archetype of Binding Component
---------------------------------
1) Change directory to maven-archetype-binding-component-v2/
$ mvn clean install
For archetype of Service Engine Netbeans Plugin Project
---------------------------------
1) Change directory to maven-archetype-service-engine-plugin-v2/
$ mvn clean install
For archetype of Binding Component Netbeans Plugin Project
---------------------------------
1) Change directory to maven-archetype-binding-component-plugin-v2/
$ mvn clean install
==================Installation complete for all archetype in User's Local repository==============
=================================================
Building Projects from archetypes
=================================================
1) For Creating new service engine:
mvn archetype:generate -DarchetypeGroupId=open-jbi-components -DarchetypeArtifactId=service-engine-ojc-archetype \
-DarchetypeVersion=2.3.0 -DgroupId=newse -DartifactId=newse
--OutPut for above command requires user input
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'archetype'.
......
[GIVE THE Command line params options as per your wish and openESB configuration.
[INFO] Using property: groupId = newse
[INFO] Using property: artifactId = newse
Define value for property 'version': 1.0-SNAPSHOT:
[INFO] Using property: package = newse
[INFO] Using property: componentName = newse
Confirm properties configuration:
groupId: newse
artifactId: newse
version: 1.0-SNAPSHOT
package: newse
componentName: newse
Y:
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Archetype: service-engine-ojc-archetype:2.3.0
[INFO] ----------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 minutes 49 seconds
[INFO] Finished at: Wed Jul 31 12:34:16 IST 2013
[INFO] Final Memory: 20M/50M
[INFO] ------------------------------------------------------------------------
=========================== Project build is done ==================================
Open New project in OpenESB 2.3, and to build run smvn.bat clean install.
2) For Creating new binding component:
mvn archetype:generate -DarchetypeGroupId=open-jbi-components -DarchetypeArtifactId=binding-component-ojc-archetype \
-DarchetypeVersion=2.3.0 -DgroupId=newbc -DartifactId=newbc
--OutPut for above command requires user input
--Follow same steps and give input as it will ask.
Open New project in OpenESB 2.3, and to build run smvn.bat clean install.
3) For Creating new service engine plugin:
mvn archetype:generate -DarchetypeGroupId=open-jbi-components -DarchetypeArtifactId=ServiceEngine-Plugin-archetype \
-DarchetypeVersion=1.0-SNAPSHOT -DgroupId=newsemodule -DartifactId=newsemodule -Dgoals=antrun:run
--OutPut for above command requires user input
--Follow same steps and give input as it will ask.
Open New project in OpenESB 2.3.
3) For Creating new service engine plugin:
mvn archetype:generate -DarchetypeGroupId=open-jbi-components -DarchetypeArtifactId=BindingComponent-Plugin-archetype \
-DarchetypeVersion=2.3.0 -DgroupId=newbcmodule -DartifactId=newbcmodule -Dgoals=antrun:run
--OutPut for above command requires user input
--Follow same steps and give input as it will ask.
Open New project in OpenESB 2.3.

View File

@ -0,0 +1,114 @@
Command to buid OpenESB component from maven archetype :
Description :
This document shows how to develop openESB components, which will be build with OpenESB build only.
The project generated using these archtype will be similar to existing component built with OpenESB.
Folder structure for these new project will be based on openESB.
- Plugin project can be build with netbeans-soa project.
- Component project can be build with ojc-core in openesb-component
Install Archtype in Local repository :
======================================
NOTE: Maven version should be 2.0.9 as per OpenESB
1) Checkout following Projects from repository :
maven-archetype-service-engine-v2
maven-archetype-binding-component-v2
maven-archetype-service-engine-plugin-v2
maven-archetype-binding-component-plugin-v2
For archetype of Service Engine
---------------------------------
1) Change directory to maven-archetype-service-engine-v2/
$ mvn clean install
For archetype of Binding Component
---------------------------------
1) Change directory to maven-archetype-binding-component-v2/
$ mvn clean install
For archetype of Service Engine Netbeans Plugin Project
---------------------------------
1) Change directory to maven-archetype-service-engine-plugin-v2/
$ mvn clean install
For archetype of Binding Component Netbeans Plugin Project
---------------------------------
1) Change directory to maven-archetype-binding-component-plugin-v2/
$ mvn clean install
==================Installation complete for all archetype in User's Local repository==============
=================================================
Building Projects from archetypes
=================================================
1) For Creating new service engine:
mvn archetype:generate -DarchetypeGroupId=open-jbi-components -DarchetypeArtifactId=service-engine-ojc-archetype \
-DarchetypeVersion=2.3.0 -DgroupId=newse -DartifactId=newse
--OutPut for above command requires user input
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'archetype'.
......
[GIVE THE Command line params options as per your wish and openESB configuration.
[INFO] Using property: groupId = newse
[INFO] Using property: artifactId = newse
Define value for property 'version': 1.0-SNAPSHOT:
[INFO] Using property: package = newse
[INFO] Using property: componentName = newse
Confirm properties configuration:
groupId: newse
artifactId: newse
version: 1.0-SNAPSHOT
package: newse
componentName: newse
Y:
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Archetype: service-engine-ojc-archetype:2.3.0
[INFO] ----------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 minutes 49 seconds
[INFO] Finished at: Wed Jul 31 12:34:16 IST 2013
[INFO] Final Memory: 20M/50M
[INFO] ------------------------------------------------------------------------
=========================== Project build is done ==================================
Open New project in OpenESB 2.3, and to build run smvn.bat clean install.
2) For Creating new binding component:
mvn archetype:generate -DarchetypeGroupId=open-jbi-components -DarchetypeArtifactId=binding-component-ojc-archetype \
-DarchetypeVersion=2.3.0 -DgroupId=newbc -DartifactId=newbc
--OutPut for above command requires user input
--Follow same steps and give input as it will ask.
Open New project in OpenESB 2.3, and to build run smvn.bat clean install.
3) For Creating new service engine plugin:
mvn archetype:generate -DarchetypeGroupId=open-jbi-components -DarchetypeArtifactId=ServiceEngine-Plugin-archetype \
-DarchetypeVersion=1.0-SNAPSHOT -DgroupId=newsemodule -DartifactId=newsemodule -Dgoals=antrun:run
--OutPut for above command requires user input
--Follow same steps and give input as it will ask.
Open New project in OpenESB 2.3.
3) For Creating new service engine plugin:
mvn archetype:generate -DarchetypeGroupId=open-jbi-components -DarchetypeArtifactId=BindingComponent-Plugin-archetype \
-DarchetypeVersion=2.3.0 -DgroupId=newbcmodule -DartifactId=newbcmodule -Dgoals=antrun:run
--OutPut for above command requires user input
--Follow same steps and give input as it will ask.
Open New project in OpenESB 2.3.

View File

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>open-jbi-components</groupId>
<artifactId>BindingComponent-Plugin-archetype</artifactId>
<version>2.3.0</version>
<packaging>jar</packaging>
<name>BindingComponent-Plugin-archetype</name>
<build>
<extensions>
<extension>
<groupId>org.apache.maven.archetype</groupId>
<artifactId>archetype-packaging</artifactId>
<version>2.2</version>
</extension>
</extensions>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-archetype-plugin</artifactId>
<version>2.2</version>
</plugin>
</plugins>
</pluginManagement>
</build>
<description>Maven project for JBI Component that contains the
maven and netbeans build setup and component code to build and test the JBI Component.</description>
<url>http://open-esb.org</url>
</project>

View File

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Document : archetype descripter
Created on : 23 July, 2013, 12:34 PM
Author : Paramjeet Singh, Logicoy
Description:
Maven project archetype descripter for OpenESB Service Engine Plugin archetype, this contains All
necessory logic for building the archetype packages and classes.
-->
<archetype-descriptor xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0 http://maven.apache.org/xsd/archetype-descriptor-1.0.0.xsd" name="BindingComponent"
xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<fileSets>
<fileSet filtered="true" encoding="UTF-8">
<directory>nbproject</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
</fileSet>
<fileSet filtered="true" encoding="UTF-8">
<directory>src</directory>
<includes>
<include>**/*.java</include>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8">
<directory>src</directory>
<includes>
<include>**/*.ExtensibilityElementTemplateProvider</include>
<include>**/*.ElementFactory</include>
<include>**/*.png</include>
<include>**/*.ValidatorSchemaFactory</include>
<include>**/*.Validator</include>
<include>**/*.xsd</include>
</includes>
</fileSet>
<fileSet filtered="true" encoding="UTF-8">
<directory></directory>
<includes>
<include>build.xml</include>
<include>pom.xml</include>
<include>**/*.mf</include>
</includes>
</fileSet>
</fileSets>
</archetype-descriptor>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- You may freely edit this file. See harness/README in the NetBeans platform -->
<!-- for some information on what you could do (e.g. targets to override). -->
<!-- If you delete this file and reopen the project it will be recreated. -->
<project name="bcdeployplugin" default="netbeans" basedir=".">
<description>Builds, tests, and runs the project bcdeployplugin.</description>
<import file="nbproject/build-impl.xml"/>
</project>

View File

@ -0,0 +1,6 @@
Manifest-Version: 1.0
OpenIDE-Module: bcdeployplugin
OpenIDE-Module-Layer: bcdeployplugin/layer.xml
OpenIDE-Module-Localizing-Bundle: bcdeployplugin/Bundle.properties
OpenIDE-Module-Specification-Version: 1.0

View File

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
*** GENERATED FROM project.xml - DO NOT EDIT ***
*** EDIT ../build.xml INSTEAD ***
-->
<project name="bcdeployplugin-impl" basedir="..">
<fail message="Please build using Ant 1.7.1 or higher.">
<condition>
<not>
<antversion atleast="1.7.1"/>
</not>
</condition>
</fail>
<property file="nbproject/private/suite-private.properties"/>
<property file="nbproject/suite.properties"/>
<fail unless="suite.dir">You must set 'suite.dir' to point to your containing module suite</fail>
<property file="${suite.dir}/nbproject/private/platform-private.properties"/>
<property file="${suite.dir}/nbproject/platform.properties"/>
<macrodef name="property" uri="http://www.netbeans.org/ns/nb-module-project/2">
<attribute name="name"/>
<attribute name="value"/>
<sequential>
<property name="@{name}" value="${@{value}}"/>
</sequential>
</macrodef>
<property file="${user.properties.file}"/>
<nbmproject2:property name="harness.dir" value="nbplatform.${nbplatform.active}.harness.dir" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
<nbmproject2:property name="netbeans.dest.dir" value="nbplatform.${nbplatform.active}.netbeans.dest.dir" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
<fail message="You must define 'nbplatform.${nbplatform.active}.harness.dir'">
<condition>
<not>
<available file="${harness.dir}" type="dir"/>
</not>
</condition>
</fail>
<import file="${harness.dir}/build.xml"/>
</project>

View File

@ -0,0 +1,8 @@
build.xml.data.CRC32=1dc6d1f3
build.xml.script.CRC32=30e09a00
build.xml.stylesheet.CRC32=a56c6a5b@2.50.1
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
nbproject/build-impl.xml.data.CRC32=4558c72b
nbproject/build-impl.xml.script.CRC32=d06ccb3f
nbproject/build-impl.xml.stylesheet.CRC32=68e521fc@2.50.1

View File

@ -0,0 +1,27 @@
branding.token=soa
cluster.path=\
${nbplatform.active.dir}/apisupport:\
${nbplatform.active.dir}/cnd:\
${nbplatform.active.dir}/dlight:\
${nbplatform.active.dir}/enterprise:\
${nbplatform.active.dir}/ergonomics:\
${nbplatform.active.dir}/groovy:\
${nbplatform.active.dir}/harness:\
${nbplatform.active.dir}/ide:\
${nbplatform.active.dir}/java:\
${nbplatform.active.dir}/javacard:\
${nbplatform.active.dir}/javafx:\
${nbplatform.active.dir}/mobility:\
${nbplatform.active.dir}/nb:\
${nbplatform.active.dir}/php:\
${nbplatform.active.dir}/platform:\
${nbplatform.active.dir}/profiler:\
${nbplatform.active.dir}/webcommon:\
${nbplatform.active.dir}/websvccommon
suite.dir=${basedir}
dest.dir=${suite.dir}/soabuild
nb.dest.dir=${dest.dir}/netbeans
nbplatform.active=default
nbplatform.nb721.netbeans.dest.dir=${dest.dir}/netbeans
nbplatform.nb721.harness.dir=${nbplatform.nb721.netbeans.dest.dir}/harness

View File

@ -0,0 +1 @@
user.properties.file=D:\\softwares\\openesb_logicoy_last_working57\\.netbeans\\openesb\\build.properties

View File

@ -0,0 +1,30 @@
javac.source=1.6
javac.compilerargs=-Xlint -Xlint:-serial
test.unit.cp.extra=\
${netbeans.dest.dir}/ide7/modules/org-netbeans-modules-xml-xdm.jar:\
${netbeans.dest.dir}/ide7/modules/org-netbeans-modules-xml-xam.jar:\
${netbeans.dest.dir}/ide7/modules/org-netbeans-modules-xml-retriever.jar:\
${netbeans.dest.dir}/ide7/modules/org-netbeans-modules-xml-schema-model.jar:\
${netbeans.dest.dir}/ide7/modules/org-netbeans-modules-xml-wsdl-model.jar:\
${netbeans.dest.dir}/ide7/modules/org-netbeans-modules-editor.jar:\
${netbeans.dest.dir}/platform6/lib/org-openide-modules.jar:\
${netbeans.dest.dir}/platform6/lib/org-openide-util.jar:\
${netbeans.dest.dir}/platform6/modules/org-openide-options.jar:\
${netbeans.dest.dir}/platform6/modules/org-openide-text.jar:\
${netbeans.dest.dir}/platform6/modules/org-openide-nodes.jar:\
${netbeans.dest.dir}/platform6/modules/org-openide-loaders.jar:\
${netbeans.dest.dir}/platform6/modules/org-openide-dialogs.jar:\
${netbeans.dest.dir}/platform6/modules/org-openide-windows.jar:\
${netbeans.dest.dir}/platform6/modules/org-openide-awt.jar:\
${netbeans.dest.dir}/platform6/modules/org-netbeans-modules-masterfs.jar:\
${netbeans.dest.dir}/platform6/core/org-openide-filesystems.jar:\
${netbeans.dest.dir}/ide7/modules/org-netbeans-modules-projectapi.jar:\
${netbeans.dest.dir}/ide7/modules/org-netbeans-modules-editor-util.jar:\
${netbeans.dest.dir}/ide7/modules/org-netbeans-modules-xml-text.jar:\
${netbeans.dest.dir}/ide7/modules/org-netbeans-modules-xml-core.jar:\
${netbeans.dest.dir}/ide7/modules/org-netbeans-modules-editor-lib.jar:\
${netbeans.dest.dir}/ide7/modules/org-apache-xml-resolver.jar:\
${netbeans.dest.dir}/soa1/modules/org-netbeans-modules-wsdlextensions-jms.jar
test.unit.run.cp=${test.unit.cp.extra}

View File

@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://www.netbeans.org/ns/project/1">
<type>org.netbeans.modules.apisupport.project</type>
<configuration>
<data xmlns="http://www.netbeans.org/ns/nb-module-project/2">
<code-name-base>bcdeployplugin</code-name-base>
<standalone/>
<module-dependencies>
<dependency>
<code-name-base>org.netbeans.modules.soa.wsdl.bindingsupport</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
<specification-version>7.2.1</specification-version>
</run-dependency>
</dependency>
<dependency>
<code-name-base>org.netbeans.modules.xml.schema.model</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
<release-version>1</release-version>
<specification-version>1.2</specification-version>
</run-dependency>
</dependency>
<dependency>
<code-name-base>org.netbeans.modules.xml.wsdl.model</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
<release-version>1</release-version>
<specification-version>1.2</specification-version>
</run-dependency>
</dependency>
<dependency>
<code-name-base>org.netbeans.modules.xml.xam</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
<release-version>1</release-version>
<specification-version>1.2</specification-version>
</run-dependency>
</dependency>
<dependency>
<code-name-base>org.openide.util</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
<specification-version>7.9.0.1</specification-version>
</run-dependency>
</dependency>
</module-dependencies>
<public-packages/>
</data>
</configuration>
</project>

View File

@ -0,0 +1,95 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<!--
This maven project is configured to invoke netbeans ant build script to build and test the netbeans jbi component
project created using the Netbeans IDE. It configures the maven antrun plugin to invoke the netbeans project
build scripts at various phases of the maven build lifecycle(compile, test-compile, test, package, integration-test).
-->
<modelVersion>4.0.0</modelVersion>
<groupId>${groupId}</groupId>
<artifactId>${artifactId}</artifactId>
<packaging>jar</packaging>
<version>${version}</version>
<name>JBI Component[BindingComponent]</name>
<description>Maven project for JBI Component that contains the
maven and netbeans build setup and component code to build and test the JBI Component.</description>
<url>http://open-esb.org</url>
<build>
<directory>build</directory>
<sourceDirectory>src/java</sourceDirectory>
<testSourceDirectory>test/java</testSourceDirectory>
<outputDirectory>build/classes</outputDirectory>
<testOutputDirectory>build/test/classes</testOutputDirectory>
<defaultGoal>package</defaultGoal>
<plugins>
<plugin>
<!-- configure antrun plugin to invoke netbeans project build scripts for
various phases of the project -->
<artifactId>maven-antrun-plugin</artifactId>
<version>1.2</version>
<executions>
<execution>
<id>default-cli</id>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<echo>!!!!!!!!!!!!!!!!!!!!!! Moving Files and organizing package !!!!!!!!!!!!!!!!!!!!!!!!</echo>
<delete file="pom.xml" />
<echo>!!!!!!!!!!!!!!!!!!!!!! Moving Files and organizing package completed successfully!!!!!!!!!!!!!!!!!!!!!!!!</echo>
</tasks>
</configuration>
</execution>
</executions>
<dependencies>
<!--
These dependencies are required in the antrun plugin classpath so that the ant script
defining the optional or junit ant tasks will have these jars available in the ant
main classpath.
-->
<dependency>
<groupId>ant</groupId>
<artifactId>ant-nodeps</artifactId>
<version>1.6.5</version>
</dependency>
<dependency>
<groupId>ant</groupId>
<artifactId>ant-junit</artifactId>
<version>1.6.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.2</version>
<scope>test</scope>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>ant</groupId>
<artifactId>ant-nodeps</artifactId>
<version>1.6.5</version>
</dependency>
<dependency>
<groupId>ant</groupId>
<artifactId>ant-junit</artifactId>
<version>1.6.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-ant-tasks</artifactId>
<version>2.0.7</version>
</dependency>
</project>

View File

@ -0,0 +1,6 @@
cname.model.ExtElementFactoryProvider$BindingExtFactory
cname.model.ExtElementFactoryProvider$OperationExtFactory
cname.model.ExtElementFactoryProvider$InputExtFactory
cname.model.ExtElementFactoryProvider$OutputExtFactory
cname.model.ExtElementFactoryProvider$FaultExtFactory
cname.model.ExtElementFactoryProvider$PortExtFactory

View File

@ -0,0 +1,112 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:ext="http://schemas.samples.com/jbi/wsdl-extensions/BindingComponent/"
targetNamespace="http://schemas.samples.com/jbi/wsdl-extensions/BindingComponent/">
<xs:import namespace="http://schemas.xmlsoap.org/wsdl/" />
<!-- binding extension schema -->
<xs:element name="binding" type="ext:tBinding">
<xs:annotation>
<xs:documentation>
"binding" defines a protocol based binding details.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="tBinding">
<xs:complexContent>
<xs:extension base="wsdl:tExtensibilityElement"/>
<!-- TODO: add any attributes required for this extension element here.
<xs:attribute name="my_attribute" type="xs:string" use="required" />
-->
</xs:complexContent>
</xs:complexType>
<!-- binding operation extension schema -->
<xs:element name="operation" type="ext:tOperation">
<xs:annotation>
<xs:documentation>
"operation" defines the protocol based binding operation details.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="tOperation">
<xs:complexContent>
<xs:extension base="wsdl:tExtensibilityElement">
<!-- TODO: add any attributes required for this extension element here.
<xs:attribute name="my_attribute" type="xs:string" use="required" />
-->
<xs:attribute name="action" type="xs:string"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- binding operation input extension schema -->
<xs:element name="input" type="ext:tInput">
<xs:annotation>
<xs:documentation>
"input" defines the protocol based binding input details.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="tInput">
<xs:complexContent>
<xs:extension base="wsdl:tExtensibilityElement">
<!-- TODO: add any attributes required for this extension element here.
<xs:attribute name="my_attribute" type="xs:string" use="required" />
-->
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- binding operaton output extension schema -->
<xs:element name="output" type="ext:tOutput">
<xs:annotation>
<xs:documentation>
"output" defines the protocol based binding output details.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="tOutput">
<xs:complexContent>
<xs:extension base="wsdl:tExtensibilityElement">
<!-- TODO: add any attributes required for this extension element here.
<xs:attribute name="my_attribute" type="xs:string" use="required" />
-->
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- binding operation fault extension schema -->
<xs:element name="fault" type="ext:tFault">
<xs:annotation>
<xs:documentation>
"fault" defines the protocol based binding fault details.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="tFault">
<xs:complexContent>
<xs:extension base="wsdl:tExtensibilityElement">
<!-- TODO: add any attributes required for this extension element here.
<xs:attribute name="my_attribute" type="xs:string" use="required" />
-->
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- binding port extension schema -->
<xs:element name="address" type="ext:tAddress">
<xs:annotation>
<xs:documentation>
"address" indicates protocol based binding port details.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="tAddress">
<xs:complexContent>
<xs:extension base="wsdl:tExtensibilityElement">
<!-- TODO: add any attributes required for this extension element here.
<xs:attribute name="my_attribute" type="xs:string" use="required" />
-->
<xs:attribute name="location" type="xs:anyURI" use="required" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>

View File

@ -0,0 +1,21 @@
# binding component deployment plugin resource bundle
# binding deploy plugin
OpenIDE-Module-Name=BCDeployPlugin
# deployment plugin
OpenIDE-Module-Short-Description=Binding component deployment plugin for BindingComponent
# deployment plugin for adding wsdl extensions related to the binding component to the wsdl editor
OpenIDE-Module-Long-Description=Deployment plugin for adding wsdl extensions related to this binding component to the wsdl editor
# category
OpenIDE-Module-Display-Category=CAPS
# WSDLEditor mapping names for the Binding
WSDLEditor/Binding/BindingComponentBindingExt=BindingComponent Binding
WSDLEditor/BindingOperation/BindingComponentOperationExt=BindingComponent Binding Operation extension
WSDLEditor/BindingOperationInput/BindingComponentInputExt=BindingComponent Binding Input extension
WSDLEditor/BindingOperationOutput/BindingComponentOutputExt=BindingComponent Binding Output extension
WSDLEditor/BindingOperationFault/BindingComponentFaultExt=BindingComponent Binding Fault extension
WSDLEditor/ServicePort/BindingComponentPortExt=BindingComponent Service Port extension

View File

@ -0,0 +1,86 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.1//EN" "http://www.netbeans.org/dtds/filesystem-1_1.dtd">
<filesystem>
<folder name="WSDLEditor">
<!-- WSDL Editor required information for text/visual editing and validating the
wsdl extension elements for this binding component -->
<!-- XSD file for the wsdl extension and its namespace and prefix values -->
<file name="BindingComponentWsdlExt.xsd" url="BindingComponentWsdlExt.xsd">
<attr name="namespace" stringvalue="http://schemas.samples.com/jbi/wsdl-extensions/BindingComponent/" />
<attr name="prefix" stringvalue="bindingcomponent" />
</file>
<!-- wsdl extension elements and their visual attributes description used
in each wsdl element of the wsdl defintion to add the extension element
TODO: add/remove any extension elements/attribute information that have
modified in the wsdl extension schema here to map them to WSDL Editor model -->
<folder name ="Binding">
<file name="BindingComponentBindingExt">
<attr name="xsdFileName" stringvalue="BindingComponentWsdlExt" />
<attr name="element" stringvalue="binding" />
<attr name="SystemFileSystem.localizingBundle" stringvalue="bcdeployplugin.Bundle" />
<attr name="SystemFileSystem.icon" urlvalue="nbresloc:/bcdeployplugin/resources/binding-ext.png" />
</file>
</folder>
<folder name ="BindingOperation">
<file name="BindingComponentOperationExt">
<attr name="xsdFileName" stringvalue="BindingComponentWsdlExt" />
<attr name="element" stringvalue="operation" />
<attr name="SystemFileSystem.localizingBundle" stringvalue="bcdeployplugin.Bundle" />
<attr name="SystemFileSystem.icon" urlvalue="nbresloc:/bcdeployplugin/resources/operation-ext.png" />
</file>
</folder>
<folder name ="BindingOperationInput">
<file name="BindingComponentInputExt">
<attr name="xsdFileName" stringvalue="BindingComponentWsdlExt" />
<attr name="element" stringvalue="input" />
<attr name="SystemFileSystem.localizingBundle" stringvalue="bcdeployplugin.Bundle" />
<attr name="SystemFileSystem.icon" urlvalue="nbresloc:/bcdeployplugin/resources/input-ext.png" />
</file>
</folder>
<folder name ="BindingOperationOutput">
<file name="BindingComponentOutputExt">
<attr name="xsdFileName" stringvalue="BindingComponentWsdlExt" />
<attr name="element" stringvalue="output" />
<attr name="SystemFileSystem.localizingBundle" stringvalue="bcdeployplugin.Bundle" />
<attr name="SystemFileSystem.icon" urlvalue="nbresloc:/bcdeployplugin/resources/output-ext.png" />
</file>
</folder>
<folder name ="BindingOperationFault">
<file name="BindingComponentFaultExt">
<attr name="xsdFileName" stringvalue="BindingComponentWsdlExt" />
<attr name="element" stringvalue="fault" />
<attr name="SystemFileSystem.localizingBundle" stringvalue="bcdeployplugin.Bundle" />
<attr name="SystemFileSystem.icon" urlvalue="nbresloc:/bcdeployplugin/resources/fault-ext.png" />
</file>
</folder>
<folder name ="ServicePort">
<file name="BindingComponentPortExt" >
<attr name="xsdFileName" stringvalue="BindingComponentWsdlExt" />
<attr name="element" stringvalue="address" />
<attr name="SystemFileSystem.localizingBundle" stringvalue="bcdeployplugin.Bundle" />
<attr name="SystemFileSystem.icon" urlvalue="nbresloc:/bcdeployplugin/resources/port-ext.png" />
</file>
</folder>
</folder>
<folder name="JbiComponents">
<!-- JBI Component description for binding component required to participate
in the jbi composite application project that generates the service unit
for this binding component -->
<folder name="BindingComponent">
<attr name="id" stringvalue="BindingComponent"/>
<attr name="type" stringvalue="Binding"/>
<attr name="description" stringvalue="Description of binding component : BindingComponent"/>
<file name="BindingComponent.binding-1.0" >
<attr name="namespace" stringvalue="http://schemas.samples.com/jbi/wsdl-extensions/BindingComponent/"/>
</file>
</folder>
</folder>
</filesystem>

View File

@ -0,0 +1,47 @@
/*
* BindingExt.java
*/
package net.openesb.component.${artifactId}.model;
import org.netbeans.modules.xml.wsdl.model.Binding;
import org.netbeans.modules.xml.wsdl.model.WSDLModel;
import org.netbeans.modules.xml.xam.Component;
import org.w3c.dom.Element;
import org.w3c.dom.Element;
/**
* This interface and its implementation represents the java model for binding
* extension element.
*
* @author chikkala
*/
public interface BindingExt extends ExtComponent {
//TODO: define get/set methods for properties for BindingExt if the extension element has attributes.
/**
* This class is an implementation of BindingExt interface that provides
* java model for binding extensibility element.
*/
public static class BindingExtImpl extends ExtModelImpl implements BindingExt {
public BindingExtImpl(WSDLModel model, Element e) {
super(model, e);
}
public BindingExtImpl(WSDLModel model) {
this(model, createPrefixedElement(QN_BINDING_EXT, model));
}
public void accept(ExtVisitor visitor) {
visitor.visit(this);
}
@Override
public boolean canBeAddedTo(Component target) {
if (target instanceof Binding) {
return true;
}
return false;
}
}
}

View File

@ -0,0 +1,53 @@
/*
* ExtAttribute.java
*/
package net.openesb.component.${artifactId}.model;
import org.netbeans.modules.xml.xam.dom.Attribute;
/**
* @author chikkala
*/
public enum ExtAttribute implements Attribute, ExtConstants {
//TODO: define any additional extension elements attributes here
ACTION(ATTR_ACTION),
SERVICE_URL(ATTR_SERVICE_URL),
USERNAME(ATTR_USERNAME),
PASSWORD(ATTR_PASSWORD),
MBEAN(ATTR_MBEAN);
private String name;
private Class type;
private Class subtype;
ExtAttribute(String name) {
this(name, String.class);
}
ExtAttribute(String name, Class type) {
this(name, type, null);
}
ExtAttribute(String name, Class type, Class subtype) {
this.name = name;
this.type = type;
this.subtype = subtype;
}
@Override
public String toString() {
return name;
}
public Class getType() {
return type;
}
public String getName() {
return name;
}
public Class getMemberType() {
return subtype;
}
}

View File

@ -0,0 +1,35 @@
/*
* ExtComponent.java
*/
package net.openesb.component.${artifactId}.model;
import org.netbeans.modules.xml.wsdl.model.ExtensibilityElement;
import org.netbeans.modules.xml.wsdl.model.WSDLModel;
import org.netbeans.modules.xml.wsdl.model.spi.GenericExtensibilityElement;
import org.w3c.dom.Element;
/**
* This is the base class for the extension model
*
* @author chikkala
*/
public interface ExtComponent extends ExtConstants, ExtensibilityElement {
void accept(ExtVisitor visitor);
/**
* this class is the base class for the extension model objects
*/
public static abstract class ExtModelImpl
extends GenericExtensibilityElement implements ExtComponent {
public ExtModelImpl(WSDLModel model, Element e) {
super(model, e);
}
@Override
protected String getNamespaceURI() {
return NS_URI;
}
}
}

View File

@ -0,0 +1,47 @@
/*
* ExtConstants.java
*
*/
package net.openesb.component.${artifactId}.model;
import javax.xml.namespace.QName;
/**
* This interface defines the constants for the namespace, elements, attributes
* and qnames corresponding to the wsdl extensions that this component
* processes. These constants will be used in the wsdl extension model used to
* process a particular wsdl extensions.
*
* @author chikkala
*/
public interface ExtConstants {
public static final String NS_URI_WSDL = "http://schemas.xmlsoap.org/wsdl/";
public static final String NS_URI_XMLNS = "http://www.w3.org/2000/xmlns/";
/**
* wsdl extension namespace processed by this wsdl extension model
*/
public static final String NS_URI = "http://java.sun.com/jbi/wsdl-extensions/sample/jmx-bc/";
public static final String NS_DEF_PREFIX = "jmxbc";
// wsdl extension element names.
public static final String EL_BINDING_EXT = "binding";
public static final String EL_OPERATION_EXT = "operation";
public static final String EL_INPUT_EXT = "input";
public static final String EL_OUTPUT_EXT = "output";
public static final String EL_FAULT_EXT = "fault";
public static final String EL_PORT_EXT = "address";
// Qualified wsdl extension element names.
public static final QName QN_BINDING_EXT = new QName(NS_URI, EL_BINDING_EXT);
public static final QName QN_OPERATION_EXT = new QName(NS_URI, EL_OPERATION_EXT);
public static final QName QN_INPUT_EXT = new QName(NS_URI, EL_INPUT_EXT);
public static final QName QN_OUTPUT_EXT = new QName(NS_URI, EL_OUTPUT_EXT);
public static final QName QN_FAULT_EXT = new QName(NS_URI, EL_FAULT_EXT);
public static final QName QN_PORT_EXT = new QName(NS_URI, EL_PORT_EXT);
//TODO: define any additional extension element attribute names here.
// wsdl extension elements attribute names.
public static final String ATTR_ACTION = "action";
public static final String ATTR_SERVICE_URL = "serviceURL";
public static final String ATTR_USERNAME = "username";
public static final String ATTR_PASSWORD = "password";
public static final String ATTR_MBEAN = "mbean";
}

View File

@ -0,0 +1,85 @@
/*
* ExtElementFactoryProvider
*/
package net.openesb.component.${artifactId}.model;
import java.util.Collections;
import java.util.Set;
import javax.xml.namespace.QName;
import org.netbeans.modules.xml.wsdl.model.WSDLComponent;
import org.netbeans.modules.xml.wsdl.model.spi.ElementFactory;
import org.w3c.dom.Element;
/**
* Factory class that has wsdl extension elements model factories
*
* @author chikkala
*/
public class ExtElementFactoryProvider {
public static class BindingExtFactory extends ElementFactory {
public Set<QName> getElementQNames() {
return Collections.singleton(ExtConstants.QN_BINDING_EXT);
}
public WSDLComponent create(WSDLComponent context, Element element) {
return new BindingExt.BindingExtImpl(context.getModel(), element);
}
}
public static class OperationExtFactory extends ElementFactory {
public Set<QName> getElementQNames() {
return Collections.singleton(ExtConstants.QN_OPERATION_EXT);
}
public WSDLComponent create(WSDLComponent context, Element element) {
return new OperationExt.OperationExtImpl(context.getModel(), element);
}
}
public static class InputExtFactory extends ElementFactory {
public Set<QName> getElementQNames() {
return Collections.singleton(ExtConstants.QN_INPUT_EXT);
}
public WSDLComponent create(WSDLComponent context, Element element) {
return new InputExt.InputExtImpl(context.getModel(), element);
}
}
public static class OutputExtFactory extends ElementFactory {
public Set<QName> getElementQNames() {
return Collections.singleton(ExtConstants.QN_OUTPUT_EXT);
}
public WSDLComponent create(WSDLComponent context, Element element) {
return new OutputExt.OutputExtImpl(context.getModel(), element);
}
}
public static class FaultExtFactory extends ElementFactory {
public Set<QName> getElementQNames() {
return Collections.singleton(ExtConstants.QN_FAULT_EXT);
}
public WSDLComponent create(WSDLComponent context, Element element) {
return new FaultExt.FaultExtImpl(context.getModel(), element);
}
}
public static class PortExtFactory extends ElementFactory {
public Set<QName> getElementQNames() {
return Collections.singleton(ExtConstants.QN_PORT_EXT);
}
public WSDLComponent create(WSDLComponent context, Element element) {
return new PortExt.PortExtImpl(context.getModel(), element);
}
}
}

View File

@ -0,0 +1,25 @@
/*
* ExtVisitor.java
*/
package net.openesb.component.${artifactId}.model;
/**
* This interface provides the visitor pattern to validate the extension model
* objects.
*
* @author chikkala
*/
public interface ExtVisitor {
void visit(BindingExt bindingExt);
void visit(OperationExt operationExt);
void visit(InputExt inputExt);
void visit(OutputExt outputExt);
void visit(FaultExt faultExt);
void visit(PortExt portExt);
}

View File

@ -0,0 +1,47 @@
/*
* FaultExt.java
*/
package net.openesb.component.${artifactId}.model;
import org.netbeans.modules.xml.wsdl.model.BindingFault;
import org.netbeans.modules.xml.wsdl.model.WSDLModel;
import org.netbeans.modules.xml.xam.Component;
import org.w3c.dom.Element;
import org.w3c.dom.Element;
/**
* This interface and its implementation represents the java model for binding
* operation fault extension element.
*
* @author chikkala
*/
public interface FaultExt extends ExtComponent {
//TODO: define get/set methods for properties for FaultExt if the extension element has attributes.
/**
* This class is an implementation of FaultExt interface that provides java
* model for binding operation fault extensibility element.
*/
public static class FaultExtImpl extends ExtModelImpl implements FaultExt {
public FaultExtImpl(WSDLModel model, Element e) {
super(model, e);
}
public FaultExtImpl(WSDLModel model) {
this(model, createPrefixedElement(QN_FAULT_EXT, model));
}
public void accept(ExtVisitor visitor) {
visitor.visit(this);
}
@Override
public boolean canBeAddedTo(Component target) {
if (target instanceof BindingFault) {
return true;
}
return false;
}
}
}

View File

@ -0,0 +1,47 @@
/*
* InputExt.java
*/
package net.openesb.component.${artifactId}.model;
import org.netbeans.modules.xml.wsdl.model.BindingInput;
import org.netbeans.modules.xml.wsdl.model.WSDLModel;
import org.netbeans.modules.xml.xam.Component;
import org.w3c.dom.Element;
import org.w3c.dom.Element;
/**
* This interface and its implementation represents the java model for binding
* operation input extension element.
*
* @author chikkala
*/
public interface InputExt extends ExtComponent {
//TODO: define get/set methods for properties for InputExt if the extension element has attributes.
/**
* This class is an implementation of InputExt interface that provides java
* model for binding operation input extensibility element.
*/
public static class InputExtImpl extends ExtModelImpl implements InputExt {
public InputExtImpl(WSDLModel model, Element e) {
super(model, e);
}
public InputExtImpl(WSDLModel model) {
this(model, createPrefixedElement(QN_INPUT_EXT, model));
}
public void accept(ExtVisitor visitor) {
visitor.visit(this);
}
@Override
public boolean canBeAddedTo(Component target) {
if (target instanceof BindingInput) {
return true;
}
return false;
}
}
}

View File

@ -0,0 +1,68 @@
/*
* OperationExt.java
*/
package net.openesb.component.${artifactId}.model;
import org.netbeans.modules.xml.wsdl.model.BindingOperation;
import org.netbeans.modules.xml.wsdl.model.WSDLModel;
import org.netbeans.modules.xml.xam.Component;
import org.w3c.dom.Element;
import org.w3c.dom.Element;
/**
* This interface and its implementation represents the java model for binding
* operation extension element.
*
* @author chikkala
*/
public interface OperationExt extends ExtComponent {
/**
* Getter for property action.
*
* @return Value of property action.
*/
public String getAction();
/**
* Setter for property action.
*
* @param action New value of property action.
*/
public void setAction(String action);
/**
* This class is an implementation of OperationExt interface that provides
* java model for binding operation extensibility element.
*/
public static class OperationExtImpl extends ExtModelImpl implements OperationExt {
public OperationExtImpl(WSDLModel model, Element e) {
super(model, e);
}
public OperationExtImpl(WSDLModel model) {
this(model, createPrefixedElement(QN_OPERATION_EXT, model));
}
public void accept(ExtVisitor visitor) {
visitor.visit(this);
}
@Override
public boolean canBeAddedTo(Component target) {
if (target instanceof BindingOperation) {
return true;
}
return false;
}
public String getAction() {
return getAttribute(ExtAttribute.ACTION);
}
public void setAction(String action) {
setAttribute(ATTR_ACTION, ExtAttribute.ACTION, action);
}
}
}

View File

@ -0,0 +1,47 @@
/*
* OutputExt.java
*/
package net.openesb.component.${artifactId}.model;
import org.netbeans.modules.xml.wsdl.model.BindingOutput;
import org.netbeans.modules.xml.wsdl.model.WSDLModel;
import org.netbeans.modules.xml.xam.Component;
import org.w3c.dom.Element;
import org.w3c.dom.Element;
/**
* This interface and its implementation represents the java model for binding
* operation output extension element.
*
* @author chikkala
*/
public interface OutputExt extends ExtComponent {
//TODO: define get/set methods for properties for OutputExt if the extension element has attributes.
/**
* This class is an implementation of OutputExt interface that provides java
* model for binding operation output extension element.
*/
public static class OutputExtImpl extends ExtModelImpl implements OutputExt {
public OutputExtImpl(WSDLModel model, Element e) {
super(model, e);
}
public OutputExtImpl(WSDLModel model) {
this(model, createPrefixedElement(QN_OUTPUT_EXT, model));
}
public void accept(ExtVisitor visitor) {
visitor.visit(this);
}
@Override
public boolean canBeAddedTo(Component target) {
if (target instanceof BindingOutput) {
return true;
}
return false;
}
}
}

View File

@ -0,0 +1,134 @@
/*
* PortExt.java
*/
package net.openesb.component.${artifactId}.model;
import org.netbeans.modules.xml.wsdl.model.Port;
import org.netbeans.modules.xml.wsdl.model.WSDLModel;
import org.netbeans.modules.xml.xam.Component;
import org.w3c.dom.Element;
import org.w3c.dom.Element;
/**
* This interface and its implementation represents the java model for service
* port extension element.
*
* @author chikkala
*/
public interface PortExt extends ExtComponent {
/**
* Getter for property serviceURL.
*
* @return Value of property serviceURL.
*/
public String getServiceURL();
/**
* Setter for property serviceURL.
*
* @param serviceURL New value of property serviceURL.
*/
public void setServiceURL(String serviceURL);
/**
* Getter for property username.
*
* @return Value of property username.
*/
public String getUsername();
/**
* Setter for property username.
*
* @param username New value of property username.
*/
public void setUsername(String username);
/**
* Getter for property password.
*
* @return Value of property password.
*/
public String getPassword();
/**
* Setter for property password.
*
* @param password New value of property password.
*/
public void setPassword(String password);
/**
* Getter for property name.
*
* @return Value of property name.
*/
public String getMBean();
/**
* Setter for property mbean.
*
* @param name New value of property mbean.
*/
public void setMBean(String mbean);
/**
* This class is an implementation of PortExt interface that provides java
* model for service port extensibility element.
*/
public static class PortExtImpl extends ExtModelImpl implements PortExt {
public PortExtImpl(WSDLModel model, Element e) {
super(model, e);
}
public PortExtImpl(WSDLModel model) {
this(model, createPrefixedElement(QN_PORT_EXT, model));
}
public void accept(ExtVisitor visitor) {
visitor.visit(this);
}
@Override