Extension Registry
Use the template shown below to add extension points.
Example
Extension Point ID: org.wso2.developerstudio.embedded.webapp
Providing Plugin ID:Â org.wso2.developerstudio.embedded.tomcat
Available Feature:Â Web Based Editor Framework
Description: Add and deploy a web application in the embedded Tomcat server of kernel.
Sample:
<extension point="org.wso2.developerstudio.embedded.webapp">         <webapp               appID="uniqueIDForApp"               context="/contextToDeploy"               relativePath="<your-bundle-root>/webapp/editor.war">         </webapp> </extension>
Plugin samples for Developer Studio plugin development
Extension Point ID: org.wso2.developerstudio.kernel.plugin.sample
Providing Plugin ID: org.wso2.developerstudio.eclipse.wso2plugin.sample
Available Feature: Plugin samples for Developer Studio plugin development
Description: Add a plugin sample to be listed in the wizard under WSO2 plugin samples, which would extract a zipped sample at the archived location.
Sample:
<extension point="org.wso2.developerstudio.kernel.plugin.sample">          <template           id="uniqueIDforPluginSample"           name="PluginSampleName"           archive="PluginSampleArchiveLocation("<your-bundle-root>/samples/sample.zip)"           description="DescriptionToBeDisplayedwithThePluginSample" >            </template> </extension>
Export handlers to handle exporting of different artifacts bundled in C-App
Extension Point ID: org.wso2.developerstudio.eclipse.capp.project.export.handler
Providing Plugin ID: org.wso2.developerstudio.eclipse.distribution.project
Available Feature: Export handlers to handle exporting of different artifacts bundled in C-App
Description: Add a handler class with the relevant server role to handle different artifacts meant for different server roles.
Sample:
<extension       point="org.wso2.developerstudio.eclipse.capp.project.export.handler">    <export.handler               executionclass="org.wso2.developerstudio.eclipse.registry.core.export.RegistryArtifactExporter"        server.role="capp/GovernenceRegistry"        id="org.wso2.developerstudio.eclipse.registry.core.export"/> </extension>
Add server roles to Developer Studio
Extension Point ID: org.wso2.developerstudio.register.server.role
Providing Plugin ID: org.wso2.developerstudio.eclipse.distribution.project
Available Feature: Add server roles to developer studio
Description: Add a server role
Sample:
<extension       point="org.wso2.developerstudio.register.server.role">        <register.serverRole       artifactType="service/axis2"       serverRole="ApplicationServer"/> </extension>
Add an artifact priority mapping
Extension Point ID: org.wso2.developerstudio.register.artifact.priority.mapping
Providing Plugin ID: org.wso2.developerstudio.eclipse.distribution.project
Available Feature: Add an artifact priority mapping
Description:
Sample:
<extension  point="org.wso2.developerstudio.register.artifact.priority.mapping">   <artifact.priority      artifactType="lib/synapse/mediator"      priority="3"/> </extension>
Register an artifact mapping with the file extension
Extension Point ID: org.wso2.developerstudio.register.artifact.mapping
Providing Plugin ID: org.wso2.developerstudio.eclipse.distribution.project
Available Feature: Register an artifact mapping with the file extension
Description:
Sample:
<extension        point="org.wso2.developerstudio.register.artifact.mapping">         <artifact.mapping        artifactType="jaggery/app"        fileExtension="zip"/> </extension>
Requirements
If you need an extension point to define the server roles, it is handled as follows:
public class ServerRoleManager { Â public static final IServerRole SliunybgkufvrdhctexeR_APP_SERVER=CAppEnvironment.createServerRole("ApplicationServer","Application Server"); }
WebAppProjectPublisher and WebAppRemoteProjectPublisher have to go to the webapp related plugin.