Uploaded image for project: 'Fuse Tools'
  1. Fuse Tools
  2. FUSETOOLS-774

Provide the ability to extend the IDE.

    Details

    • Type: Enhancement
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Duplicate Issue
    • Affects Version/s: 7.1.0
    • Fix Version/s: Backlog
    • Component/s: None
    • Labels:
      None
    • Environment:

      Fuse IDE 2.1

      Description

      As an outcome form our internal and external demos we have come to the conclusion that we need to extend the palate in Fuse IDE. We have been on a call with Jack Britton who requested that we log an enhancement request for this. We have built up a suite of camel processors which are essentially beans which the user puts into their routes. At the moment they have to add the bean definition to their camel context and then refer to the bean within the route, which is a little cumbersome We would would like the user to be able to drag MyCompany specific components onto the IDE canvas, without editing XML. Behind the scenes, the IDE will define the bean in the XML file, along with any properties, and also wire the bean into the route in the correct place.
      For examplle, we have a processor for "Throttler'. We could define a schema for this processor as follows:

      <category name="FuseSource Policy Processors">
      <processor>
      <name>Throttler</name>
      <icon>file:/folder/icon1.png</icon>
      <description>A Simple Throttler</description>
      <class>com.fusesource.Throttler</class>
      <properties>
      <property name="property1" required="false" type="Integer" defaultValue="property value"/> <1-- type and required are used for validation in the properties view on the front end -->
      <property name="property2"required="true" type="String" />
      <property name="property2"required="true" type="Choice" possibleValues="Value1, Value2" />
      </properties> 
      <processor>
      .....
      </category>
      <category name="FuseSource Http Processors">
      ....
      </category>
       

      We could then load this schema into fuse IDE, and a 'Thottler' would become available in the palette. If a user drags the 'Throttler' onto their route canvas, the bean definition for the 'Throttler' will be added to the xml, along with the bean reference within the route definition. e.g.

      <bean id="throttler" class="com.fusesource.Throttler">
      <property name="property1" value="1"/>
      <property name="property2" value="My value"/>
      <property name="property3" value="Value1"/>
      </bean>
       
      <route>
      <from uri="http://localhost"/>
      <bean ref=""throttler"/>
      </route>
       

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                lhein Lars Heinemann
                Reporter:
                davestanley Dave Stanley
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: