Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Extenstion Points in STP.SC"

(Extension Reference)
Line 82: Line 82:
 
*'''Supplied Implementation:''' org.eclipse.stp.sc.annvalidator plugin registered all JAX-WS annotation validation rules by extending the RuleSet extension point  
 
*'''Supplied Implementation:''' org.eclipse.stp.sc.annvalidator plugin registered all JAX-WS annotation validation rules by extending the RuleSet extension point  
  
== Runtime Provider Extension ==
+
== Runtime Provider Extensions ==
 +
 
 +
=== Server Type Extension ===
 +
*'''Identifier:''' org.eclipse.stp.common.serverType
 +
*'''Since:'''1.0
 +
*'''Description:'''The Server Type extension point allows plug-ins to declaraively register server type.
 +
*'''Configuration Markup:'''
 +
 
 +
<!ELEMENT extension (serverDefinition)>
 +
<!ATTLIST extension
 +
point CDATA #REQUIRED
 +
id    CDATA #IMPLIED
 +
name  CDATA #IMPLIED>
 +
<!ELEMENT serverDefinition EMPTY>
 +
<!ATTLIST serverDefinition
 +
id  CDATA #REQUIRED
 +
name CDATA #IMPLIED>
 +
 
 +
This element identifies a server type. Server types may be used by physical packages for specifying the server type they are configured for and may be used by the deployment framework for validating target servers specified for a package. A server type is used to identify a specific vendor implementation of a technology type.
 +
 
 +
''id'' - A unique id for this server type.
 +
''name'' - The name of this server type.
 +
 
 +
 
 +
*'''Examples:'''Following is an example to define a JAX-WS runtime server type in the system 
 +
<extension point="org.eclipse.stp.common.serverType">
 +
<serverDefinition id="jaxws.runtime" name="JAXWS Runtime"/>
 +
</extension>
 +
 
 +
*'''API Information:'''
 +
 
 +
*'''Supplied Implementation:'''
 +
 
 +
 
 +
=== Technology Type Extension ===
 +
 
 +
=== Server Extension ===
 +
 
 +
=== IntegratorToolType Extension ===
 +
 
 +
=== Runtime Integrator Extension ===
 +
 
 +
=== JAXWS Runtime Extension ===
 +
 
 +
 
 
===Extension Reference===
 
===Extension Reference===
 
*'''Identifier:''' org.eclipse.stp.sc.jaxws.runtimeProvider
 
*'''Identifier:''' org.eclipse.stp.sc.jaxws.runtimeProvider

Revision as of 01:36, 16 April 2007

The following extension points can be used to extend the capabilities of the STP platform infrastructure:

Annotation Editing Extension

Extension Reference

  • Identifier: org.eclipse.stp.sc.common.AnnotationSupport
  • Since: 1.0
  • Description: The AnnotationSupport extension point allows plug-ins to declaratively register supported annotations for the STP annotation editing. This information is used by the annotation view to allow user add/modify annotations in the java editor
  • Configuration Markup:
<!ELEMENT extension (annotation)>
<!ATTLIST extension
point CDATA #REQUIRED
id    CDATA #IMPLIED
name  CDATA #IMPLIED>
<!ELEMENT annotation EMPTY>
<!ATTLIST annotation
annotationClass  CDATA #REQUIRED
initializerClass CDATA #IMPLIED
name             CDATA #IMPLIED
nature           CDATA #IMPLIED
interfaceOnly    (true | false) 
classOnly        (true | false) >

Define one supported annotation in Annotation Properties View

annotationClass - the full name of annotation class

initializerClass - User should provider the initializer class to create suitable init value in the Annotation Properties View

name - The display name shows in the Annotation Properties view for this annotation

nature - Project nature ID if this annotation should be only apply for one type of project. In our case, for example, those JAX-WS annoations only applicable to JAX-WS project.

interfaceOnly - Indicate the annotation is only applicable to interface. default is false

classOnly - Indicate the annotation is only applicable to class. default is false


  • Examples: Following is an example of a @WebMethod annotation configuration. It allow user to add javax.jws.WebMethod annotation from the STP annotation View, and the default vaule of that annotation will be setup by CoreAnnotationInitializer class. Also notice here, the @WebMethod annotation will only show when it is JAX-WS project.
<extension point="org.eclipse.stp.sc.common.AnnotationSupport">
<annotation
annotationClass="javax.jws.WebMethod"
initializerClass="org.eclipse.stp.sc.jaxws.utils.ext.CoreAnnotationInitializer"
name="WebMethod"
nature="org.eclipse.stp.sc.jaxws.nature"/>
</extension> 


  • API Information:
  • Supplied Implementation:
    • org.eclipse.stp.sc.jaxws plugin registered all JSR181 and JAX-WS annotations by extending the AnnotationSupport
    • org.eclipse.stp.sc.sca.java plugin registered all SCA annotations by extending the AnnotationSupport
    • org.eclipse.stp.sc.sca.java.tuscany plugin registered all Tuscany(1.0) annotations by extending the AnnotationSupport

Annotation Validation Extension

Extension Reference

  • Identifier:org.eclipse.stp.sc.xmlvalidator.ruleset
  • Since: 1.0
  • Description:The RuleSet extension point allows plug-ins to declaratively register validation rules. This information is used by the annotation validator to validate annotations defined in the java source code
  • Configuration Markup:
<!ELEMENT extension (rulesetfile+)>
<!ATTLIST extension
point CDATA #REQUIRED
id    CDATA #IMPLIED
name  CDATA #IMPLIED>
<!ELEMENT rulesetfile EMPTY>
<!ATTLIST rulesetfile
name     CDATA #IMPLIED
location CDATA #REQUIRED>

name - The ruleset name location - point to ruleset file, which is relative path to the plugin

  • Examples:Following is an example to register JAX-WS annotation validation rules
<extension
point="org.eclipse.stp.sc.xmlvalidator.ruleset">
<rulesetfile
name="JAX-WS 2.0 Annotation Validation RuleSet"
location="ruleset/JAX_WS_VRules.xml"/>
</extension> 
  • Supplied Implementation: org.eclipse.stp.sc.annvalidator plugin registered all JAX-WS annotation validation rules by extending the RuleSet extension point

Runtime Provider Extensions

Server Type Extension

  • Identifier: org.eclipse.stp.common.serverType
  • Since:1.0
  • Description:The Server Type extension point allows plug-ins to declaraively register server type.
  • Configuration Markup:
<!ELEMENT extension (serverDefinition)>
<!ATTLIST extension
point CDATA #REQUIRED
id    CDATA #IMPLIED
name  CDATA #IMPLIED>
<!ELEMENT serverDefinition EMPTY>
<!ATTLIST serverDefinition
id   CDATA #REQUIRED
name CDATA #IMPLIED>

This element identifies a server type. Server types may be used by physical packages for specifying the server type they are configured for and may be used by the deployment framework for validating target servers specified for a package. A server type is used to identify a specific vendor implementation of a technology type.

id - A unique id for this server type. name - The name of this server type.


  • Examples:Following is an example to define a JAX-WS runtime server type in the system
<extension point="org.eclipse.stp.common.serverType"> 
<serverDefinition id="jaxws.runtime" name="JAXWS Runtime"/> 
</extension>
  • API Information:
  • Supplied Implementation:


Technology Type Extension

Server Extension

IntegratorToolType Extension

Runtime Integrator Extension

JAXWS Runtime Extension

Extension Reference

  • Identifier: org.eclipse.stp.sc.jaxws.runtimeProvider
  • Since: 1.0
  • Description: The RuntimeProvider extension point allows plug-ins to declaratively register different SOA runtime. This information is used in several places, such as setup STP project classpath, generating java source code from WSDL contract...etc
  • Configuration Markup:
<!ELEMENT extension (wsdltoJavaGenerator? , javaToWsdlGenerator? , DeployGenerator? , KitProcessor?)>
<!ATTLIST extension
    point CDATA #REQUIRED
    id    CDATA #REQUIRED
    name  CDATA #REQUIRED>
<!ELEMENT wsdltoJavaGenerator EMPTY>
<!ATTLIST wsdltoJavaGenerator
    class          CDATA #REQUIRED
    parameter_page CDATA #IMPLIED>

class - Define the executable class for wsdl2java generation tool parameter_page - Define the wizard page extension for user to input wsdl2java configuration parameters

<!ELEMENT javaToWsdlGenerator EMPTY>
<!ATTLIST javaToWsdlGenerator
    class CDATA #REQUIRED>

class - Define the executable class for java2wsdl generation tool.

<!ELEMENT DeployGenerator EMPTY>
<!ATTLIST DeployGenerator
    class CDATA #REQUIRED>

class - Define the executable class for generating deploy content and deploy to web content (Such as Tomcat)

<!ELEMENT KitProcessor EMPTY>
<!ATTLIST KitProcessor
    kit_processor_class CDATA #REQUIRED>

kit_processor_class - Define the executable class to handle runtime kit specifiy settings, such as classpath

  • Examples: Following is an example to register Apache CXF runtime to STP platform.
<extension id="cxf" name="Apache CXF"
    point="org.eclipse.stp.sc.jaxws.runtimeProvider">
    <wsdltoJavaGenerator
        class="org.eclipse.stp.sc.cxf.generators.CeltixWsdlToJavaGenerator"
        parameter_page="org.eclipse.stp.sc.cxf.generators.CeltixWsdlToJavaParameterPage"/>
    <javaToWsdlGenerator class="org.eclipse.stp.sc.cxf.generators.CeltixJavaToWsdlGenerator"/>
    <DeployGenerator class="org.eclipse.stp.sc.cxf.deploy.CeltixWebDeployGenerator"/>
    <KitProcessor kit_processor_class="org.eclipse.stp.sc.cxf.kitprocessor.CeltixKitProcessorTemplate"/>
</extension> 
  • API Information: SOA Runtime extensions must implement the following interface.
org.eclipse.stp.sc.jaxws.runtimeprovider.IJavaToWsdlGenerator 
org.eclipse.stp.sc.jaxws.runtimeprovider.IParameterPage 
org.eclipse.stp.sc.jaxws.runtimeprovider.IWsdlToJavaGenerator 
org.eclipse.stp.sc.jaxws.runtimeprovider.IRuntimeKitProcessorTemplate 
  • Supplied Implementation: org.eclipse.stp.sc.cxf registered Apache CXF runtime to stp platform by extending this Runtime Provider.

Todo

Back to the top