[jbosstools-commits] JBoss Tools SVN: r30497 - in workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui: .apt_generated and 21 other directories.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Mon Apr 11 18:26:41 EDT 2011


Author: bfitzpat
Date: 2011-04-11 18:26:41 -0400 (Mon, 11 Apr 2011)
New Revision: 30497

Added:
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/Component.java
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/ComponentService.java
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/ComponentServiceReference.java
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/Composite.java
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/ImplementationBean.java
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/InterfaceJava.java
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/SOAPBinding.java
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/Service.java
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/Switchyard.java
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/TransformJava.java
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/TransformSmooks.java
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/Transforms.java
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/sapphire/
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/sapphire/internal/
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.classpath
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.project
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.settings/
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.settings/diagrams/
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.settings/diagrams/map.np
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.settings/diagrams/map.xmi
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.settings/org.eclipse.jdt.apt.core.prefs
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.settings/org.eclipse.jdt.core.prefs
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/META-INF/
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/META-INF/MANIFEST.MF
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/blogpost.xml
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/build.properties
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/plugin.xml
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/sample/
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/sample/switchyard.xml
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/sample2/
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/sample2/switchyard.xml
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/schemas/
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/schemas/switchyard-v1.xsd
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/sdefs/
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/sdefs/switchyard-0.2.sdef
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/sdefs/switchyard-0.3.sdef
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/sdefs/switchyard-0.4.sdef
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/sdefs/switchyard.sdef
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IComponent.java
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IComponentService.java
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IComponentServiceReference.java
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IComposite.java
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IImplementationBean.java
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IInterfaceJava.java
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ISOAPBinding.java
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IService.java
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ISwitchyard.java
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ITransformJava.java
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ITransformSmooks.java
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ITransforms.java
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ui/
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ui/SwitchyardEditor.java
   workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ui/SwitchyardGraphicalEditor.java
Log:
JBIDE-8714 - Share project "org.jboss.tools.esb.switchyard.ui" into "https://svn.jboss.org/repos/jbosstools"

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/Component.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/Component.java	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/Component.java	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,252 @@
+package org.jboss.tools.esb.switchyard.internal;
+
+import org.eclipse.sapphire.modeling.IModelParticle;
+import org.eclipse.sapphire.modeling.ListBindingImpl;
+import org.eclipse.sapphire.modeling.ModelElement;
+import org.eclipse.sapphire.modeling.ModelElementList;
+import org.eclipse.sapphire.modeling.ModelProperty;
+import org.eclipse.sapphire.modeling.Resource;
+import org.eclipse.sapphire.modeling.Value;
+import org.eclipse.sapphire.modeling.ValueProperty;
+import org.jboss.tools.esb.switchyard.IComponent;
+import org.jboss.tools.esb.switchyard.IComponentService;
+import org.jboss.tools.esb.switchyard.IComponentServiceReference;
+import org.jboss.tools.esb.switchyard.IImplementationBean;
+
+public final class Component
+    
+    extends ModelElement
+    implements IComponent
+    
+{
+    private ModelElementList<IComponentServiceReference> componentServiceReferences;
+    private ModelElementList<IComponentService> componentServices;
+    private ModelElementList<IImplementationBean> implementationBeans;
+    private Value<String> name;
+    
+    public Component( final IModelParticle parent, final ModelProperty parentProperty, final Resource resource )
+    {
+        super( TYPE, parent, parentProperty, resource );
+    }
+    
+    public Component( final Resource resource )
+    {
+        super( TYPE, null, null, resource );
+    }
+    
+    public ModelElementList<IComponentService> getComponentServices()
+    {
+        synchronized( root() )
+        {
+            if( this.componentServices == null )
+            {
+                refresh( PROP_COMPONENT_SERVICES, true );
+            }
+            
+            return this.componentServices;
+        }
+    }
+    
+    public ModelElementList<IComponentServiceReference> getComponentServiceReferences()
+    {
+        synchronized( root() )
+        {
+            if( this.componentServiceReferences == null )
+            {
+                refresh( PROP_COMPONENT_SERVICE_REFERENCES, true );
+            }
+            
+            return this.componentServiceReferences;
+        }
+    }
+    
+    public ModelElementList<IImplementationBean> getImplementationBeans()
+    {
+        synchronized( root() )
+        {
+            if( this.implementationBeans == null )
+            {
+                refresh( PROP_IMPLEMENTATION_BEANS, true );
+            }
+            
+            return this.implementationBeans;
+        }
+    }
+    
+    public Value<String> getName()
+    {
+        synchronized( root() )
+        {
+            if( this.name == null )
+            {
+                refresh( PROP_NAME, true );
+            }
+            
+            return this.name;
+        }
+    }
+    
+    public void setName( String value )
+    {
+        synchronized( root() )
+        {
+            if( value != null && value.equals( "" ) )
+            {
+                value = null;
+            }
+            
+            value = PROP_NAME.decodeKeywords( value );
+            
+            refresh( PROP_NAME, true );
+            
+            if( ! equal( this.name.getText( false ), value ) )
+            {
+                resource().binding( PROP_NAME ).write( value );
+                refresh( PROP_NAME, false );
+            }
+        }
+    }
+    
+    protected void refreshProperty( ModelProperty property, final boolean force )
+    {
+        synchronized( root() )
+        {
+            property = property.refine( this );
+            
+            if( property == PROP_COMPONENT_SERVICES )
+            {
+                if( this.componentServices == null )
+                {
+                    if( force == true )
+                    {
+                        this.componentServices = new ModelElementList<IComponentService>( this, PROP_COMPONENT_SERVICES );
+                        final ListBindingImpl binding = resource().binding( PROP_COMPONENT_SERVICES );
+                        this.componentServices.init( binding );
+                        refreshPropertyEnabledStatus( PROP_COMPONENT_SERVICES );
+                    }
+                }
+                else
+                {
+                    final boolean propertyEnabledStatusChanged = refreshPropertyEnabledStatus( PROP_COMPONENT_SERVICES );
+                    final boolean notified = this.componentServices.refresh();
+                    
+                    if( ! notified && propertyEnabledStatusChanged )
+                    {
+                        notifyPropertyChangeListeners( PROP_COMPONENT_SERVICES );
+                    }
+                }
+            }
+            else if( property == PROP_COMPONENT_SERVICE_REFERENCES )
+            {
+                if( this.componentServiceReferences == null )
+                {
+                    if( force == true )
+                    {
+                        this.componentServiceReferences = new ModelElementList<IComponentServiceReference>( this, PROP_COMPONENT_SERVICE_REFERENCES );
+                        final ListBindingImpl binding = resource().binding( PROP_COMPONENT_SERVICE_REFERENCES );
+                        this.componentServiceReferences.init( binding );
+                        refreshPropertyEnabledStatus( PROP_COMPONENT_SERVICE_REFERENCES );
+                    }
+                }
+                else
+                {
+                    final boolean propertyEnabledStatusChanged = refreshPropertyEnabledStatus( PROP_COMPONENT_SERVICE_REFERENCES );
+                    final boolean notified = this.componentServiceReferences.refresh();
+                    
+                    if( ! notified && propertyEnabledStatusChanged )
+                    {
+                        notifyPropertyChangeListeners( PROP_COMPONENT_SERVICE_REFERENCES );
+                    }
+                }
+            }
+            else if( property == PROP_IMPLEMENTATION_BEANS )
+            {
+                if( this.implementationBeans == null )
+                {
+                    if( force == true )
+                    {
+                        this.implementationBeans = new ModelElementList<IImplementationBean>( this, PROP_IMPLEMENTATION_BEANS );
+                        final ListBindingImpl binding = resource().binding( PROP_IMPLEMENTATION_BEANS );
+                        this.implementationBeans.init( binding );
+                        refreshPropertyEnabledStatus( PROP_IMPLEMENTATION_BEANS );
+                    }
+                }
+                else
+                {
+                    final boolean propertyEnabledStatusChanged = refreshPropertyEnabledStatus( PROP_IMPLEMENTATION_BEANS );
+                    final boolean notified = this.implementationBeans.refresh();
+                    
+                    if( ! notified && propertyEnabledStatusChanged )
+                    {
+                        notifyPropertyChangeListeners( PROP_IMPLEMENTATION_BEANS );
+                    }
+                }
+            }
+            else if( property == PROP_NAME )
+            {
+                if( this.name != null || force == true )
+                {
+                    final Value<String> oldValue = this.name;
+                    
+                    final String val = resource().binding( PROP_NAME ).read();
+                    
+                    this.name = new Value<String>( this, PROP_NAME, PROP_NAME.encodeKeywords( val ) );
+                    this.name.init();
+                    
+                    final boolean propertyEnabledStatusChanged = refreshPropertyEnabledStatus( PROP_NAME );
+                    
+                    if( oldValue != null )
+                    {
+                        if( this.name.equals( oldValue ) )
+                        {
+                            this.name = oldValue;
+                        }
+                        
+                        if( this.name != oldValue || propertyEnabledStatusChanged )
+                        {
+                            notifyPropertyChangeListeners( PROP_NAME );
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    public Object read( ModelProperty property )
+    {
+        property = property.refine( this );
+        
+        if( property == PROP_COMPONENT_SERVICES )
+        {
+            return getComponentServices();
+        }
+        else if( property == PROP_COMPONENT_SERVICE_REFERENCES )
+        {
+            return getComponentServiceReferences();
+        }
+        else if( property == PROP_IMPLEMENTATION_BEANS )
+        {
+            return getImplementationBeans();
+        }
+        else if( property == PROP_NAME )
+        {
+            return getName();
+        }
+        
+        return super.read( property );
+    }
+    
+    public void write( ValueProperty property, final Object value )
+    {
+        property = (ValueProperty) property.refine( this );
+        
+        if( property == PROP_NAME )
+        {
+            setName( (String) value );
+            return;
+        }
+        
+        super.write( property, value );
+    }
+    
+}

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/ComponentService.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/ComponentService.java	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/ComponentService.java	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,168 @@
+package org.jboss.tools.esb.switchyard.internal;
+
+import org.eclipse.sapphire.modeling.IModelParticle;
+import org.eclipse.sapphire.modeling.ListBindingImpl;
+import org.eclipse.sapphire.modeling.ModelElement;
+import org.eclipse.sapphire.modeling.ModelElementList;
+import org.eclipse.sapphire.modeling.ModelProperty;
+import org.eclipse.sapphire.modeling.Resource;
+import org.eclipse.sapphire.modeling.Value;
+import org.eclipse.sapphire.modeling.ValueProperty;
+import org.jboss.tools.esb.switchyard.IComponentService;
+import org.jboss.tools.esb.switchyard.IInterfaceJava;
+
+public final class ComponentService
+    
+    extends ModelElement
+    implements IComponentService
+    
+{
+    private ModelElementList<IInterfaceJava> javaInterfaces;
+    private Value<String> name;
+    
+    public ComponentService( final IModelParticle parent, final ModelProperty parentProperty, final Resource resource )
+    {
+        super( TYPE, parent, parentProperty, resource );
+    }
+    
+    public ComponentService( final Resource resource )
+    {
+        super( TYPE, null, null, resource );
+    }
+    
+    public ModelElementList<IInterfaceJava> getJavaInterfaces()
+    {
+        synchronized( root() )
+        {
+            if( this.javaInterfaces == null )
+            {
+                refresh( PROP_JAVA_INTERFACES, true );
+            }
+            
+            return this.javaInterfaces;
+        }
+    }
+    
+    public Value<String> getName()
+    {
+        synchronized( root() )
+        {
+            if( this.name == null )
+            {
+                refresh( PROP_NAME, true );
+            }
+            
+            return this.name;
+        }
+    }
+    
+    public void setName( String value )
+    {
+        synchronized( root() )
+        {
+            if( value != null && value.equals( "" ) )
+            {
+                value = null;
+            }
+            
+            value = PROP_NAME.decodeKeywords( value );
+            
+            refresh( PROP_NAME, true );
+            
+            if( ! equal( this.name.getText( false ), value ) )
+            {
+                resource().binding( PROP_NAME ).write( value );
+                refresh( PROP_NAME, false );
+            }
+        }
+    }
+    
+    protected void refreshProperty( ModelProperty property, final boolean force )
+    {
+        synchronized( root() )
+        {
+            property = property.refine( this );
+            
+            if( property == PROP_JAVA_INTERFACES )
+            {
+                if( this.javaInterfaces == null )
+                {
+                    if( force == true )
+                    {
+                        this.javaInterfaces = new ModelElementList<IInterfaceJava>( this, PROP_JAVA_INTERFACES );
+                        final ListBindingImpl binding = resource().binding( PROP_JAVA_INTERFACES );
+                        this.javaInterfaces.init( binding );
+                        refreshPropertyEnabledStatus( PROP_JAVA_INTERFACES );
+                    }
+                }
+                else
+                {
+                    final boolean propertyEnabledStatusChanged = refreshPropertyEnabledStatus( PROP_JAVA_INTERFACES );
+                    final boolean notified = this.javaInterfaces.refresh();
+                    
+                    if( ! notified && propertyEnabledStatusChanged )
+                    {
+                        notifyPropertyChangeListeners( PROP_JAVA_INTERFACES );
+                    }
+                }
+            }
+            else if( property == PROP_NAME )
+            {
+                if( this.name != null || force == true )
+                {
+                    final Value<String> oldValue = this.name;
+                    
+                    final String val = resource().binding( PROP_NAME ).read();
+                    
+                    this.name = new Value<String>( this, PROP_NAME, PROP_NAME.encodeKeywords( val ) );
+                    this.name.init();
+                    
+                    final boolean propertyEnabledStatusChanged = refreshPropertyEnabledStatus( PROP_NAME );
+                    
+                    if( oldValue != null )
+                    {
+                        if( this.name.equals( oldValue ) )
+                        {
+                            this.name = oldValue;
+                        }
+                        
+                        if( this.name != oldValue || propertyEnabledStatusChanged )
+                        {
+                            notifyPropertyChangeListeners( PROP_NAME );
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    public Object read( ModelProperty property )
+    {
+        property = property.refine( this );
+        
+        if( property == PROP_JAVA_INTERFACES )
+        {
+            return getJavaInterfaces();
+        }
+        else if( property == PROP_NAME )
+        {
+            return getName();
+        }
+        
+        return super.read( property );
+    }
+    
+    public void write( ValueProperty property, final Object value )
+    {
+        property = (ValueProperty) property.refine( this );
+        
+        if( property == PROP_NAME )
+        {
+            setName( (String) value );
+            return;
+        }
+        
+        super.write( property, value );
+    }
+    
+}

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/ComponentServiceReference.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/ComponentServiceReference.java	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/ComponentServiceReference.java	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,168 @@
+package org.jboss.tools.esb.switchyard.internal;
+
+import org.eclipse.sapphire.modeling.IModelParticle;
+import org.eclipse.sapphire.modeling.ListBindingImpl;
+import org.eclipse.sapphire.modeling.ModelElement;
+import org.eclipse.sapphire.modeling.ModelElementList;
+import org.eclipse.sapphire.modeling.ModelProperty;
+import org.eclipse.sapphire.modeling.Resource;
+import org.eclipse.sapphire.modeling.Value;
+import org.eclipse.sapphire.modeling.ValueProperty;
+import org.jboss.tools.esb.switchyard.IComponentServiceReference;
+import org.jboss.tools.esb.switchyard.IInterfaceJava;
+
+public final class ComponentServiceReference
+    
+    extends ModelElement
+    implements IComponentServiceReference
+    
+{
+    private ModelElementList<IInterfaceJava> javaInterfaces;
+    private Value<String> name;
+    
+    public ComponentServiceReference( final IModelParticle parent, final ModelProperty parentProperty, final Resource resource )
+    {
+        super( TYPE, parent, parentProperty, resource );
+    }
+    
+    public ComponentServiceReference( final Resource resource )
+    {
+        super( TYPE, null, null, resource );
+    }
+    
+    public ModelElementList<IInterfaceJava> getJavaInterfaces()
+    {
+        synchronized( root() )
+        {
+            if( this.javaInterfaces == null )
+            {
+                refresh( PROP_JAVA_INTERFACES, true );
+            }
+            
+            return this.javaInterfaces;
+        }
+    }
+    
+    public Value<String> getName()
+    {
+        synchronized( root() )
+        {
+            if( this.name == null )
+            {
+                refresh( PROP_NAME, true );
+            }
+            
+            return this.name;
+        }
+    }
+    
+    public void setName( String value )
+    {
+        synchronized( root() )
+        {
+            if( value != null && value.equals( "" ) )
+            {
+                value = null;
+            }
+            
+            value = PROP_NAME.decodeKeywords( value );
+            
+            refresh( PROP_NAME, true );
+            
+            if( ! equal( this.name.getText( false ), value ) )
+            {
+                resource().binding( PROP_NAME ).write( value );
+                refresh( PROP_NAME, false );
+            }
+        }
+    }
+    
+    protected void refreshProperty( ModelProperty property, final boolean force )
+    {
+        synchronized( root() )
+        {
+            property = property.refine( this );
+            
+            if( property == PROP_JAVA_INTERFACES )
+            {
+                if( this.javaInterfaces == null )
+                {
+                    if( force == true )
+                    {
+                        this.javaInterfaces = new ModelElementList<IInterfaceJava>( this, PROP_JAVA_INTERFACES );
+                        final ListBindingImpl binding = resource().binding( PROP_JAVA_INTERFACES );
+                        this.javaInterfaces.init( binding );
+                        refreshPropertyEnabledStatus( PROP_JAVA_INTERFACES );
+                    }
+                }
+                else
+                {
+                    final boolean propertyEnabledStatusChanged = refreshPropertyEnabledStatus( PROP_JAVA_INTERFACES );
+                    final boolean notified = this.javaInterfaces.refresh();
+                    
+                    if( ! notified && propertyEnabledStatusChanged )
+                    {
+                        notifyPropertyChangeListeners( PROP_JAVA_INTERFACES );
+                    }
+                }
+            }
+            else if( property == PROP_NAME )
+            {
+                if( this.name != null || force == true )
+                {
+                    final Value<String> oldValue = this.name;
+                    
+                    final String val = resource().binding( PROP_NAME ).read();
+                    
+                    this.name = new Value<String>( this, PROP_NAME, PROP_NAME.encodeKeywords( val ) );
+                    this.name.init();
+                    
+                    final boolean propertyEnabledStatusChanged = refreshPropertyEnabledStatus( PROP_NAME );
+                    
+                    if( oldValue != null )
+                    {
+                        if( this.name.equals( oldValue ) )
+                        {
+                            this.name = oldValue;
+                        }
+                        
+                        if( this.name != oldValue || propertyEnabledStatusChanged )
+                        {
+                            notifyPropertyChangeListeners( PROP_NAME );
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    public Object read( ModelProperty property )
+    {
+        property = property.refine( this );
+        
+        if( property == PROP_JAVA_INTERFACES )
+        {
+            return getJavaInterfaces();
+        }
+        else if( property == PROP_NAME )
+        {
+            return getName();
+        }
+        
+        return super.read( property );
+    }
+    
+    public void write( ValueProperty property, final Object value )
+    {
+        property = (ValueProperty) property.refine( this );
+        
+        if( property == PROP_NAME )
+        {
+            setName( (String) value );
+            return;
+        }
+        
+        super.write( property, value );
+    }
+    
+}

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/Composite.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/Composite.java	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/Composite.java	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,281 @@
+package org.jboss.tools.esb.switchyard.internal;
+
+import org.eclipse.sapphire.modeling.IModelParticle;
+import org.eclipse.sapphire.modeling.ListBindingImpl;
+import org.eclipse.sapphire.modeling.ModelElement;
+import org.eclipse.sapphire.modeling.ModelElementList;
+import org.eclipse.sapphire.modeling.ModelProperty;
+import org.eclipse.sapphire.modeling.Resource;
+import org.eclipse.sapphire.modeling.Value;
+import org.eclipse.sapphire.modeling.ValueProperty;
+import org.jboss.tools.esb.switchyard.IComponent;
+import org.jboss.tools.esb.switchyard.IComposite;
+import org.jboss.tools.esb.switchyard.IService;
+
+public final class Composite
+    
+    extends ModelElement
+    implements IComposite
+    
+{
+    private ModelElementList<IComponent> components;
+    private Value<String> name;
+    private ModelElementList<IService> services;
+    private Value<String> targetNamespace;
+    
+    public Composite( final IModelParticle parent, final ModelProperty parentProperty, final Resource resource )
+    {
+        super( TYPE, parent, parentProperty, resource );
+    }
+    
+    public Composite( final Resource resource )
+    {
+        super( TYPE, null, null, resource );
+    }
+    
+    public ModelElementList<IComponent> getComponents()
+    {
+        synchronized( root() )
+        {
+            if( this.components == null )
+            {
+                refresh( PROP_COMPONENTS, true );
+            }
+            
+            return this.components;
+        }
+    }
+    
+    public Value<String> getName()
+    {
+        synchronized( root() )
+        {
+            if( this.name == null )
+            {
+                refresh( PROP_NAME, true );
+            }
+            
+            return this.name;
+        }
+    }
+    
+    public void setName( String value )
+    {
+        synchronized( root() )
+        {
+            if( value != null && value.equals( "" ) )
+            {
+                value = null;
+            }
+            
+            value = PROP_NAME.decodeKeywords( value );
+            
+            refresh( PROP_NAME, true );
+            
+            if( ! equal( this.name.getText( false ), value ) )
+            {
+                resource().binding( PROP_NAME ).write( value );
+                refresh( PROP_NAME, false );
+            }
+        }
+    }
+    
+    public ModelElementList<IService> getServices()
+    {
+        synchronized( root() )
+        {
+            if( this.services == null )
+            {
+                refresh( PROP_SERVICES, true );
+            }
+            
+            return this.services;
+        }
+    }
+    
+    public Value<String> getTargetNamespace()
+    {
+        synchronized( root() )
+        {
+            if( this.targetNamespace == null )
+            {
+                refresh( PROP_TARGET_NAMESPACE, true );
+            }
+            
+            return this.targetNamespace;
+        }
+    }
+    
+    public void setTargetNamespace( String value )
+    {
+        synchronized( root() )
+        {
+            if( value != null && value.equals( "" ) )
+            {
+                value = null;
+            }
+            
+            value = PROP_TARGET_NAMESPACE.decodeKeywords( value );
+            
+            refresh( PROP_TARGET_NAMESPACE, true );
+            
+            if( ! equal( this.targetNamespace.getText( false ), value ) )
+            {
+                resource().binding( PROP_TARGET_NAMESPACE ).write( value );
+                refresh( PROP_TARGET_NAMESPACE, false );
+            }
+        }
+    }
+    
+    protected void refreshProperty( ModelProperty property, final boolean force )
+    {
+        synchronized( root() )
+        {
+            property = property.refine( this );
+            
+            if( property == PROP_COMPONENTS )
+            {
+                if( this.components == null )
+                {
+                    if( force == true )
+                    {
+                        this.components = new ModelElementList<IComponent>( this, PROP_COMPONENTS );
+                        final ListBindingImpl binding = resource().binding( PROP_COMPONENTS );
+                        this.components.init( binding );
+                        refreshPropertyEnabledStatus( PROP_COMPONENTS );
+                    }
+                }
+                else
+                {
+                    final boolean propertyEnabledStatusChanged = refreshPropertyEnabledStatus( PROP_COMPONENTS );
+                    final boolean notified = this.components.refresh();
+                    
+                    if( ! notified && propertyEnabledStatusChanged )
+                    {
+                        notifyPropertyChangeListeners( PROP_COMPONENTS );
+                    }
+                }
+            }
+            else if( property == PROP_NAME )
+            {
+                if( this.name != null || force == true )
+                {
+                    final Value<String> oldValue = this.name;
+                    
+                    final String val = resource().binding( PROP_NAME ).read();
+                    
+                    this.name = new Value<String>( this, PROP_NAME, PROP_NAME.encodeKeywords( val ) );
+                    this.name.init();
+                    
+                    final boolean propertyEnabledStatusChanged = refreshPropertyEnabledStatus( PROP_NAME );
+                    
+                    if( oldValue != null )
+                    {
+                        if( this.name.equals( oldValue ) )
+                        {
+                            this.name = oldValue;
+                        }
+                        
+                        if( this.name != oldValue || propertyEnabledStatusChanged )
+                        {
+                            notifyPropertyChangeListeners( PROP_NAME );
+                        }
+                    }
+                }
+            }
+            else if( property == PROP_SERVICES )
+            {
+                if( this.services == null )
+                {
+                    if( force == true )
+                    {
+                        this.services = new ModelElementList<IService>( this, PROP_SERVICES );
+                        final ListBindingImpl binding = resource().binding( PROP_SERVICES );
+                        this.services.init( binding );
+                        refreshPropertyEnabledStatus( PROP_SERVICES );
+                    }
+                }
+                else
+                {
+                    final boolean propertyEnabledStatusChanged = refreshPropertyEnabledStatus( PROP_SERVICES );
+                    final boolean notified = this.services.refresh();
+                    
+                    if( ! notified && propertyEnabledStatusChanged )
+                    {
+                        notifyPropertyChangeListeners( PROP_SERVICES );
+                    }
+                }
+            }
+            else if( property == PROP_TARGET_NAMESPACE )
+            {
+                if( this.targetNamespace != null || force == true )
+                {
+                    final Value<String> oldValue = this.targetNamespace;
+                    
+                    final String val = resource().binding( PROP_TARGET_NAMESPACE ).read();
+                    
+                    this.targetNamespace = new Value<String>( this, PROP_TARGET_NAMESPACE, PROP_TARGET_NAMESPACE.encodeKeywords( val ) );
+                    this.targetNamespace.init();
+                    
+                    final boolean propertyEnabledStatusChanged = refreshPropertyEnabledStatus( PROP_TARGET_NAMESPACE );
+                    
+                    if( oldValue != null )
+                    {
+                        if( this.targetNamespace.equals( oldValue ) )
+                        {
+                            this.targetNamespace = oldValue;
+                        }
+                        
+                        if( this.targetNamespace != oldValue || propertyEnabledStatusChanged )
+                        {
+                            notifyPropertyChangeListeners( PROP_TARGET_NAMESPACE );
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    public Object read( ModelProperty property )
+    {
+        property = property.refine( this );
+        
+        if( property == PROP_COMPONENTS )
+        {
+            return getComponents();
+        }
+        else if( property == PROP_NAME )
+        {
+            return getName();
+        }
+        else if( property == PROP_SERVICES )
+        {
+            return getServices();
+        }
+        else if( property == PROP_TARGET_NAMESPACE )
+        {
+            return getTargetNamespace();
+        }
+        
+        return super.read( property );
+    }
+    
+    public void write( ValueProperty property, final Object value )
+    {
+        property = (ValueProperty) property.refine( this );
+        
+        if( property == PROP_NAME )
+        {
+            setName( (String) value );
+            return;
+        }
+        else if( property == PROP_TARGET_NAMESPACE )
+        {
+            setTargetNamespace( (String) value );
+            return;
+        }
+        
+        super.write( property, value );
+    }
+    
+}

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/ImplementationBean.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/ImplementationBean.java	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/ImplementationBean.java	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,139 @@
+package org.jboss.tools.esb.switchyard.internal;
+
+import org.eclipse.sapphire.java.JavaTypeName;
+import org.eclipse.sapphire.modeling.IModelParticle;
+import org.eclipse.sapphire.modeling.ModelElement;
+import org.eclipse.sapphire.modeling.ModelProperty;
+import org.eclipse.sapphire.modeling.Resource;
+import org.eclipse.sapphire.modeling.Value;
+import org.eclipse.sapphire.modeling.ValueProperty;
+import org.eclipse.sapphire.modeling.serialization.ValueSerializationService;
+import org.jboss.tools.esb.switchyard.IImplementationBean;
+
+public final class ImplementationBean
+    
+    extends ModelElement
+    implements IImplementationBean
+    
+{
+    private Value<JavaTypeName> implBeanClass;
+    
+    public ImplementationBean( final IModelParticle parent, final ModelProperty parentProperty, final Resource resource )
+    {
+        super( TYPE, parent, parentProperty, resource );
+    }
+    
+    public ImplementationBean( final Resource resource )
+    {
+        super( TYPE, null, null, resource );
+    }
+    
+    public Value<JavaTypeName> getImplBeanClass()
+    {
+        synchronized( root() )
+        {
+            if( this.implBeanClass == null )
+            {
+                refresh( PROP_IMPL_BEAN_CLASS, true );
+            }
+            
+            return this.implBeanClass;
+        }
+    }
+    
+    public void setImplBeanClass( String value )
+    {
+        synchronized( root() )
+        {
+            if( value != null && value.equals( "" ) )
+            {
+                value = null;
+            }
+            
+            value = PROP_IMPL_BEAN_CLASS.decodeKeywords( value );
+            
+            refresh( PROP_IMPL_BEAN_CLASS, true );
+            
+            if( ! equal( this.implBeanClass.getText( false ), value ) )
+            {
+                resource().binding( PROP_IMPL_BEAN_CLASS ).write( value );
+                refresh( PROP_IMPL_BEAN_CLASS, false );
+            }
+        }
+    }
+    
+    public void setImplBeanClass( final JavaTypeName value )
+    {
+        setImplBeanClass( value != null ? service( PROP_IMPL_BEAN_CLASS, ValueSerializationService.class ).encode( value ) : null );
+    }
+    
+    protected void refreshProperty( ModelProperty property, final boolean force )
+    {
+        synchronized( root() )
+        {
+            property = property.refine( this );
+            
+            if( property == PROP_IMPL_BEAN_CLASS )
+            {
+                if( this.implBeanClass != null || force == true )
+                {
+                    final Value<JavaTypeName> oldValue = this.implBeanClass;
+                    
+                    final String val = resource().binding( PROP_IMPL_BEAN_CLASS ).read();
+                    
+                    this.implBeanClass = new Value<JavaTypeName>( this, PROP_IMPL_BEAN_CLASS, PROP_IMPL_BEAN_CLASS.encodeKeywords( val ) );
+                    this.implBeanClass.init();
+                    
+                    final boolean propertyEnabledStatusChanged = refreshPropertyEnabledStatus( PROP_IMPL_BEAN_CLASS );
+                    
+                    if( oldValue != null )
+                    {
+                        if( this.implBeanClass.equals( oldValue ) )
+                        {
+                            this.implBeanClass = oldValue;
+                        }
+                        
+                        if( this.implBeanClass != oldValue || propertyEnabledStatusChanged )
+                        {
+                            notifyPropertyChangeListeners( PROP_IMPL_BEAN_CLASS );
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    public Object read( ModelProperty property )
+    {
+        property = property.refine( this );
+        
+        if( property == PROP_IMPL_BEAN_CLASS )
+        {
+            return getImplBeanClass();
+        }
+        
+        return super.read( property );
+    }
+    
+    public void write( ValueProperty property, final Object value )
+    {
+        property = (ValueProperty) property.refine( this );
+        
+        if( property == PROP_IMPL_BEAN_CLASS )
+        {
+            if( ! ( value instanceof String ) )
+            {
+                setImplBeanClass( (JavaTypeName) value );
+            }
+            else
+            {
+                setImplBeanClass( (String) value );
+            }
+            
+            return;
+        }
+        
+        super.write( property, value );
+    }
+    
+}

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/InterfaceJava.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/InterfaceJava.java	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/InterfaceJava.java	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,139 @@
+package org.jboss.tools.esb.switchyard.internal;
+
+import org.eclipse.sapphire.java.JavaTypeName;
+import org.eclipse.sapphire.modeling.IModelParticle;
+import org.eclipse.sapphire.modeling.ModelElement;
+import org.eclipse.sapphire.modeling.ModelProperty;
+import org.eclipse.sapphire.modeling.Resource;
+import org.eclipse.sapphire.modeling.Value;
+import org.eclipse.sapphire.modeling.ValueProperty;
+import org.eclipse.sapphire.modeling.serialization.ValueSerializationService;
+import org.jboss.tools.esb.switchyard.IInterfaceJava;
+
+public final class InterfaceJava
+    
+    extends ModelElement
+    implements IInterfaceJava
+    
+{
+    private Value<JavaTypeName> javaInterface;
+    
+    public InterfaceJava( final IModelParticle parent, final ModelProperty parentProperty, final Resource resource )
+    {
+        super( TYPE, parent, parentProperty, resource );
+    }
+    
+    public InterfaceJava( final Resource resource )
+    {
+        super( TYPE, null, null, resource );
+    }
+    
+    public Value<JavaTypeName> getJavaInterface()
+    {
+        synchronized( root() )
+        {
+            if( this.javaInterface == null )
+            {
+                refresh( PROP_JAVA_INTERFACE, true );
+            }
+            
+            return this.javaInterface;
+        }
+    }
+    
+    public void setJavaInterface( String value )
+    {
+        synchronized( root() )
+        {
+            if( value != null && value.equals( "" ) )
+            {
+                value = null;
+            }
+            
+            value = PROP_JAVA_INTERFACE.decodeKeywords( value );
+            
+            refresh( PROP_JAVA_INTERFACE, true );
+            
+            if( ! equal( this.javaInterface.getText( false ), value ) )
+            {
+                resource().binding( PROP_JAVA_INTERFACE ).write( value );
+                refresh( PROP_JAVA_INTERFACE, false );
+            }
+        }
+    }
+    
+    public void setJavaInterface( final JavaTypeName value )
+    {
+        setJavaInterface( value != null ? service( PROP_JAVA_INTERFACE, ValueSerializationService.class ).encode( value ) : null );
+    }
+    
+    protected void refreshProperty( ModelProperty property, final boolean force )
+    {
+        synchronized( root() )
+        {
+            property = property.refine( this );
+            
+            if( property == PROP_JAVA_INTERFACE )
+            {
+                if( this.javaInterface != null || force == true )
+                {
+                    final Value<JavaTypeName> oldValue = this.javaInterface;
+                    
+                    final String val = resource().binding( PROP_JAVA_INTERFACE ).read();
+                    
+                    this.javaInterface = new Value<JavaTypeName>( this, PROP_JAVA_INTERFACE, PROP_JAVA_INTERFACE.encodeKeywords( val ) );
+                    this.javaInterface.init();
+                    
+                    final boolean propertyEnabledStatusChanged = refreshPropertyEnabledStatus( PROP_JAVA_INTERFACE );
+                    
+                    if( oldValue != null )
+                    {
+                        if( this.javaInterface.equals( oldValue ) )
+                        {
+                            this.javaInterface = oldValue;
+                        }
+                        
+                        if( this.javaInterface != oldValue || propertyEnabledStatusChanged )
+                        {
+                            notifyPropertyChangeListeners( PROP_JAVA_INTERFACE );
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    public Object read( ModelProperty property )
+    {
+        property = property.refine( this );
+        
+        if( property == PROP_JAVA_INTERFACE )
+        {
+            return getJavaInterface();
+        }
+        
+        return super.read( property );
+    }
+    
+    public void write( ValueProperty property, final Object value )
+    {
+        property = (ValueProperty) property.refine( this );
+        
+        if( property == PROP_JAVA_INTERFACE )
+        {
+            if( ! ( value instanceof String ) )
+            {
+                setJavaInterface( (JavaTypeName) value );
+            }
+            else
+            {
+                setJavaInterface( (String) value );
+            }
+            
+            return;
+        }
+        
+        super.write( property, value );
+    }
+    
+}

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/SOAPBinding.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/SOAPBinding.java	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/SOAPBinding.java	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,365 @@
+package org.jboss.tools.esb.switchyard.internal;
+
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.sapphire.modeling.IModelParticle;
+import org.eclipse.sapphire.modeling.ModelElement;
+import org.eclipse.sapphire.modeling.ModelProperty;
+import org.eclipse.sapphire.modeling.Resource;
+import org.eclipse.sapphire.modeling.Value;
+import org.eclipse.sapphire.modeling.ValueProperty;
+import org.eclipse.sapphire.modeling.serialization.ValueSerializationService;
+import org.jboss.tools.esb.switchyard.ISOAPBinding;
+
+public final class SOAPBinding
+    
+    extends ModelElement
+    implements ISOAPBinding
+    
+{
+    private Value<String> port;
+    private Value<Boolean> secure;
+    private Value<IPath> wsdl;
+    private Value<String> wsdlDescription;
+    
+    public SOAPBinding( final IModelParticle parent, final ModelProperty parentProperty, final Resource resource )
+    {
+        super( TYPE, parent, parentProperty, resource );
+    }
+    
+    public SOAPBinding( final Resource resource )
+    {
+        super( TYPE, null, null, resource );
+    }
+    
+    public Value<String> getPort()
+    {
+        synchronized( root() )
+        {
+            if( this.port == null )
+            {
+                refresh( PROP_PORT, true );
+            }
+            
+            return this.port;
+        }
+    }
+    
+    public void setPort( String value )
+    {
+        synchronized( root() )
+        {
+            if( value != null && value.equals( "" ) )
+            {
+                value = null;
+            }
+            
+            value = PROP_PORT.decodeKeywords( value );
+            
+            refresh( PROP_PORT, true );
+            
+            if( ! equal( this.port.getText( false ), value ) )
+            {
+                resource().binding( PROP_PORT ).write( value );
+                refresh( PROP_PORT, false );
+            }
+        }
+    }
+    
+    public Value<Boolean> getSecure()
+    {
+        synchronized( root() )
+        {
+            if( this.secure == null )
+            {
+                refresh( PROP_SECURE, true );
+            }
+            
+            return this.secure;
+        }
+    }
+    
+    public void setSecure( String value )
+    {
+        synchronized( root() )
+        {
+            if( value != null && value.equals( "" ) )
+            {
+                value = null;
+            }
+            
+            value = PROP_SECURE.decodeKeywords( value );
+            
+            refresh( PROP_SECURE, true );
+            
+            if( ! equal( this.secure.getText( false ), value ) )
+            {
+                resource().binding( PROP_SECURE ).write( value );
+                refresh( PROP_SECURE, false );
+            }
+        }
+    }
+    
+    public void setSecure( final Boolean value )
+    {
+        setSecure( value != null ? service( PROP_SECURE, ValueSerializationService.class ).encode( value ) : null );
+    }
+    
+    public Value<IPath> getWsdl()
+    {
+        synchronized( root() )
+        {
+            if( this.wsdl == null )
+            {
+                refresh( PROP_WSDL, true );
+            }
+            
+            return this.wsdl;
+        }
+    }
+    
+    public void setWsdl( String value )
+    {
+        synchronized( root() )
+        {
+            if( value != null && value.equals( "" ) )
+            {
+                value = null;
+            }
+            
+            value = PROP_WSDL.decodeKeywords( value );
+            
+            refresh( PROP_WSDL, true );
+            
+            if( ! equal( this.wsdl.getText( false ), value ) )
+            {
+                resource().binding( PROP_WSDL ).write( value );
+                refresh( PROP_WSDL, false );
+            }
+        }
+    }
+    
+    public void setWsdl( final IPath value )
+    {
+        setWsdl( value != null ? service( PROP_WSDL, ValueSerializationService.class ).encode( value ) : null );
+    }
+    
+    public Value<String> getWsdlDescription()
+    {
+        synchronized( root() )
+        {
+            if( this.wsdlDescription == null )
+            {
+                refresh( PROP_WSDL_DESCRIPTION, true );
+            }
+            
+            return this.wsdlDescription;
+        }
+    }
+    
+    public void setWsdlDescription( String value )
+    {
+        synchronized( root() )
+        {
+            if( value != null && value.equals( "" ) )
+            {
+                value = null;
+            }
+            
+            value = PROP_WSDL_DESCRIPTION.decodeKeywords( value );
+            
+            refresh( PROP_WSDL_DESCRIPTION, true );
+            
+            if( ! equal( this.wsdlDescription.getText( false ), value ) )
+            {
+                resource().binding( PROP_WSDL_DESCRIPTION ).write( value );
+                refresh( PROP_WSDL_DESCRIPTION, false );
+            }
+        }
+    }
+    
+    protected void refreshProperty( ModelProperty property, final boolean force )
+    {
+        synchronized( root() )
+        {
+            property = property.refine( this );
+            
+            if( property == PROP_PORT )
+            {
+                if( this.port != null || force == true )
+                {
+                    final Value<String> oldValue = this.port;
+                    
+                    final String val = resource().binding( PROP_PORT ).read();
+                    
+                    this.port = new Value<String>( this, PROP_PORT, PROP_PORT.encodeKeywords( val ) );
+                    this.port.init();
+                    
+                    final boolean propertyEnabledStatusChanged = refreshPropertyEnabledStatus( PROP_PORT );
+                    
+                    if( oldValue != null )
+                    {
+                        if( this.port.equals( oldValue ) )
+                        {
+                            this.port = oldValue;
+                        }
+                        
+                        if( this.port != oldValue || propertyEnabledStatusChanged )
+                        {
+                            notifyPropertyChangeListeners( PROP_PORT );
+                        }
+                    }
+                }
+            }
+            else if( property == PROP_SECURE )
+            {
+                if( this.secure != null || force == true )
+                {
+                    final Value<Boolean> oldValue = this.secure;
+                    
+                    final String val = resource().binding( PROP_SECURE ).read();
+                    
+                    this.secure = new Value<Boolean>( this, PROP_SECURE, PROP_SECURE.encodeKeywords( val ) );
+                    this.secure.init();
+                    
+                    final boolean propertyEnabledStatusChanged = refreshPropertyEnabledStatus( PROP_SECURE );
+                    
+                    if( oldValue != null )
+                    {
+                        if( this.secure.equals( oldValue ) )
+                        {
+                            this.secure = oldValue;
+                        }
+                        
+                        if( this.secure != oldValue || propertyEnabledStatusChanged )
+                        {
+                            notifyPropertyChangeListeners( PROP_SECURE );
+                        }
+                    }
+                }
+            }
+            else if( property == PROP_WSDL )
+            {
+                if( this.wsdl != null || force == true )
+                {
+                    final Value<IPath> oldValue = this.wsdl;
+                    
+                    final String val = resource().binding( PROP_WSDL ).read();
+                    
+                    this.wsdl = new Value<IPath>( this, PROP_WSDL, PROP_WSDL.encodeKeywords( val ) );
+                    this.wsdl.init();
+                    
+                    final boolean propertyEnabledStatusChanged = refreshPropertyEnabledStatus( PROP_WSDL );
+                    
+                    if( oldValue != null )
+                    {
+                        if( this.wsdl.equals( oldValue ) )
+                        {
+                            this.wsdl = oldValue;
+                        }
+                        
+                        if( this.wsdl != oldValue || propertyEnabledStatusChanged )
+                        {
+                            notifyPropertyChangeListeners( PROP_WSDL );
+                        }
+                    }
+                }
+            }
+            else if( property == PROP_WSDL_DESCRIPTION )
+            {
+                if( this.wsdlDescription != null || force == true )
+                {
+                    final Value<String> oldValue = this.wsdlDescription;
+                    
+                    final String val = resource().binding( PROP_WSDL_DESCRIPTION ).read();
+                    
+                    this.wsdlDescription = new Value<String>( this, PROP_WSDL_DESCRIPTION, PROP_WSDL_DESCRIPTION.encodeKeywords( val ) );
+                    this.wsdlDescription.init();
+                    
+                    final boolean propertyEnabledStatusChanged = refreshPropertyEnabledStatus( PROP_WSDL_DESCRIPTION );
+                    
+                    if( oldValue != null )
+                    {
+                        if( this.wsdlDescription.equals( oldValue ) )
+                        {
+                            this.wsdlDescription = oldValue;
+                        }
+                        
+                        if( this.wsdlDescription != oldValue || propertyEnabledStatusChanged )
+                        {
+                            notifyPropertyChangeListeners( PROP_WSDL_DESCRIPTION );
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    public Object read( ModelProperty property )
+    {
+        property = property.refine( this );
+        
+        if( property == PROP_PORT )
+        {
+            return getPort();
+        }
+        else if( property == PROP_SECURE )
+        {
+            return getSecure();
+        }
+        else if( property == PROP_WSDL )
+        {
+            return getWsdl();
+        }
+        else if( property == PROP_WSDL_DESCRIPTION )
+        {
+            return getWsdlDescription();
+        }
+        
+        return super.read( property );
+    }
+    
+    public void write( ValueProperty property, final Object value )
+    {
+        property = (ValueProperty) property.refine( this );
+        
+        if( property == PROP_PORT )
+        {
+            setPort( (String) value );
+            return;
+        }
+        else if( property == PROP_SECURE )
+        {
+            if( ! ( value instanceof String ) )
+            {
+                setSecure( (Boolean) value );
+            }
+            else
+            {
+                setSecure( (String) value );
+            }
+            
+            return;
+        }
+        else if( property == PROP_WSDL )
+        {
+            if( ! ( value instanceof String ) )
+            {
+                setWsdl( (IPath) value );
+            }
+            else
+            {
+                setWsdl( (String) value );
+            }
+            
+            return;
+        }
+        else if( property == PROP_WSDL_DESCRIPTION )
+        {
+            setWsdlDescription( (String) value );
+            return;
+        }
+        
+        super.write( property, value );
+    }
+    
+}

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/Service.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/Service.java	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/Service.java	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,239 @@
+package org.jboss.tools.esb.switchyard.internal;
+
+import org.eclipse.sapphire.modeling.IModelParticle;
+import org.eclipse.sapphire.modeling.ListBindingImpl;
+import org.eclipse.sapphire.modeling.ModelElement;
+import org.eclipse.sapphire.modeling.ModelElementList;
+import org.eclipse.sapphire.modeling.ModelProperty;
+import org.eclipse.sapphire.modeling.Resource;
+import org.eclipse.sapphire.modeling.Value;
+import org.eclipse.sapphire.modeling.ValueProperty;
+import org.jboss.tools.esb.switchyard.ISOAPBinding;
+import org.jboss.tools.esb.switchyard.IService;
+
+public final class Service
+    
+    extends ModelElement
+    implements IService
+    
+{
+    private Value<String> name;
+    private Value<String> promote;
+    private ModelElementList<ISOAPBinding> soapbindings;
+    
+    public Service( final IModelParticle parent, final ModelProperty parentProperty, final Resource resource )
+    {
+        super( TYPE, parent, parentProperty, resource );
+    }
+    
+    public Service( final Resource resource )
+    {
+        super( TYPE, null, null, resource );
+    }
+    
+    public Value<String> getName()
+    {
+        synchronized( root() )
+        {
+            if( this.name == null )
+            {
+                refresh( PROP_NAME, true );
+            }
+            
+            return this.name;
+        }
+    }
+    
+    public void setName( String value )
+    {
+        synchronized( root() )
+        {
+            if( value != null && value.equals( "" ) )
+            {
+                value = null;
+            }
+            
+            value = PROP_NAME.decodeKeywords( value );
+            
+            refresh( PROP_NAME, true );
+            
+            if( ! equal( this.name.getText( false ), value ) )
+            {
+                resource().binding( PROP_NAME ).write( value );
+                refresh( PROP_NAME, false );
+            }
+        }
+    }
+    
+    public Value<String> getPromote()
+    {
+        synchronized( root() )
+        {
+            if( this.promote == null )
+            {
+                refresh( PROP_PROMOTE, true );
+            }
+            
+            return this.promote;
+        }
+    }
+    
+    public void setPromote( String value )
+    {
+        synchronized( root() )
+        {
+            if( value != null && value.equals( "" ) )
+            {
+                value = null;
+            }
+            
+            value = PROP_PROMOTE.decodeKeywords( value );
+            
+            refresh( PROP_PROMOTE, true );
+            
+            if( ! equal( this.promote.getText( false ), value ) )
+            {
+                resource().binding( PROP_PROMOTE ).write( value );
+                refresh( PROP_PROMOTE, false );
+            }
+        }
+    }
+    
+    public ModelElementList<ISOAPBinding> getSoapbindings()
+    {
+        synchronized( root() )
+        {
+            if( this.soapbindings == null )
+            {
+                refresh( PROP_SOAPBINDINGS, true );
+            }
+            
+            return this.soapbindings;
+        }
+    }
+    
+    protected void refreshProperty( ModelProperty property, final boolean force )
+    {
+        synchronized( root() )
+        {
+            property = property.refine( this );
+            
+            if( property == PROP_NAME )
+            {
+                if( this.name != null || force == true )
+                {
+                    final Value<String> oldValue = this.name;
+                    
+                    final String val = resource().binding( PROP_NAME ).read();
+                    
+                    this.name = new Value<String>( this, PROP_NAME, PROP_NAME.encodeKeywords( val ) );
+                    this.name.init();
+                    
+                    final boolean propertyEnabledStatusChanged = refreshPropertyEnabledStatus( PROP_NAME );
+                    
+                    if( oldValue != null )
+                    {
+                        if( this.name.equals( oldValue ) )
+                        {
+                            this.name = oldValue;
+                        }
+                        
+                        if( this.name != oldValue || propertyEnabledStatusChanged )
+                        {
+                            notifyPropertyChangeListeners( PROP_NAME );
+                        }
+                    }
+                }
+            }
+            else if( property == PROP_PROMOTE )
+            {
+                if( this.promote != null || force == true )
+                {
+                    final Value<String> oldValue = this.promote;
+                    
+                    final String val = resource().binding( PROP_PROMOTE ).read();
+                    
+                    this.promote = new Value<String>( this, PROP_PROMOTE, PROP_PROMOTE.encodeKeywords( val ) );
+                    this.promote.init();
+                    
+                    final boolean propertyEnabledStatusChanged = refreshPropertyEnabledStatus( PROP_PROMOTE );
+                    
+                    if( oldValue != null )
+                    {
+                        if( this.promote.equals( oldValue ) )
+                        {
+                            this.promote = oldValue;
+                        }
+                        
+                        if( this.promote != oldValue || propertyEnabledStatusChanged )
+                        {
+                            notifyPropertyChangeListeners( PROP_PROMOTE );
+                        }
+                    }
+                }
+            }
+            else if( property == PROP_SOAPBINDINGS )
+            {
+                if( this.soapbindings == null )
+                {
+                    if( force == true )
+                    {
+                        this.soapbindings = new ModelElementList<ISOAPBinding>( this, PROP_SOAPBINDINGS );
+                        final ListBindingImpl binding = resource().binding( PROP_SOAPBINDINGS );
+                        this.soapbindings.init( binding );
+                        refreshPropertyEnabledStatus( PROP_SOAPBINDINGS );
+                    }
+                }
+                else
+                {
+                    final boolean propertyEnabledStatusChanged = refreshPropertyEnabledStatus( PROP_SOAPBINDINGS );
+                    final boolean notified = this.soapbindings.refresh();
+                    
+                    if( ! notified && propertyEnabledStatusChanged )
+                    {
+                        notifyPropertyChangeListeners( PROP_SOAPBINDINGS );
+                    }
+                }
+            }
+        }
+    }
+    
+    public Object read( ModelProperty property )
+    {
+        property = property.refine( this );
+        
+        if( property == PROP_NAME )
+        {
+            return getName();
+        }
+        else if( property == PROP_PROMOTE )
+        {
+            return getPromote();
+        }
+        else if( property == PROP_SOAPBINDINGS )
+        {
+            return getSoapbindings();
+        }
+        
+        return super.read( property );
+    }
+    
+    public void write( ValueProperty property, final Object value )
+    {
+        property = (ValueProperty) property.refine( this );
+        
+        if( property == PROP_NAME )
+        {
+            setName( (String) value );
+            return;
+        }
+        else if( property == PROP_PROMOTE )
+        {
+            setPromote( (String) value );
+            return;
+        }
+        
+        super.write( property, value );
+    }
+    
+}

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/Switchyard.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/Switchyard.java	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/Switchyard.java	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,129 @@
+package org.jboss.tools.esb.switchyard.internal;
+
+import org.eclipse.sapphire.modeling.IModelParticle;
+import org.eclipse.sapphire.modeling.ListBindingImpl;
+import org.eclipse.sapphire.modeling.ModelElement;
+import org.eclipse.sapphire.modeling.ModelElementList;
+import org.eclipse.sapphire.modeling.ModelProperty;
+import org.eclipse.sapphire.modeling.Resource;
+import org.jboss.tools.esb.switchyard.IComposite;
+import org.jboss.tools.esb.switchyard.ISwitchyard;
+import org.jboss.tools.esb.switchyard.ITransforms;
+
+public final class Switchyard
+    
+    extends ModelElement
+    implements ISwitchyard
+    
+{
+    private ModelElementList<IComposite> composites;
+    private ModelElementList<ITransforms> transforms;
+    
+    public Switchyard( final IModelParticle parent, final ModelProperty parentProperty, final Resource resource )
+    {
+        super( TYPE, parent, parentProperty, resource );
+    }
+    
+    public Switchyard( final Resource resource )
+    {
+        super( TYPE, null, null, resource );
+    }
+    
+    public ModelElementList<IComposite> getComposites()
+    {
+        synchronized( root() )
+        {
+            if( this.composites == null )
+            {
+                refresh( PROP_COMPOSITES, true );
+            }
+            
+            return this.composites;
+        }
+    }
+    
+    public ModelElementList<ITransforms> getTransforms()
+    {
+        synchronized( root() )
+        {
+            if( this.transforms == null )
+            {
+                refresh( PROP_TRANSFORMS, true );
+            }
+            
+            return this.transforms;
+        }
+    }
+    
+    protected void refreshProperty( ModelProperty property, final boolean force )
+    {
+        synchronized( root() )
+        {
+            property = property.refine( this );
+            
+            if( property == PROP_COMPOSITES )
+            {
+                if( this.composites == null )
+                {
+                    if( force == true )
+                    {
+                        this.composites = new ModelElementList<IComposite>( this, PROP_COMPOSITES );
+                        final ListBindingImpl binding = resource().binding( PROP_COMPOSITES );
+                        this.composites.init( binding );
+                        refreshPropertyEnabledStatus( PROP_COMPOSITES );
+                    }
+                }
+                else
+                {
+                    final boolean propertyEnabledStatusChanged = refreshPropertyEnabledStatus( PROP_COMPOSITES );
+                    final boolean notified = this.composites.refresh();
+                    
+                    if( ! notified && propertyEnabledStatusChanged )
+                    {
+                        notifyPropertyChangeListeners( PROP_COMPOSITES );
+                    }
+                }
+            }
+            else if( property == PROP_TRANSFORMS )
+            {
+                if( this.transforms == null )
+                {
+                    if( force == true )
+                    {
+                        this.transforms = new ModelElementList<ITransforms>( this, PROP_TRANSFORMS );
+                        final ListBindingImpl binding = resource().binding( PROP_TRANSFORMS );
+                        this.transforms.init( binding );
+                        refreshPropertyEnabledStatus( PROP_TRANSFORMS );
+                    }
+                }
+                else
+                {
+                    final boolean propertyEnabledStatusChanged = refreshPropertyEnabledStatus( PROP_TRANSFORMS );
+                    final boolean notified = this.transforms.refresh();
+                    
+                    if( ! notified && propertyEnabledStatusChanged )
+                    {
+                        notifyPropertyChangeListeners( PROP_TRANSFORMS );
+                    }
+                }
+            }
+        }
+    }
+    
+    public Object read( ModelProperty property )
+    {
+        property = property.refine( this );
+        
+        if( property == PROP_COMPOSITES )
+        {
+            return getComposites();
+        }
+        else if( property == PROP_TRANSFORMS )
+        {
+            return getTransforms();
+        }
+        
+        return super.read( property );
+    }
+    
+}

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/TransformJava.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/TransformJava.java	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/TransformJava.java	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,281 @@
+package org.jboss.tools.esb.switchyard.internal;
+
+import org.eclipse.sapphire.java.JavaTypeName;
+import org.eclipse.sapphire.modeling.IModelParticle;
+import org.eclipse.sapphire.modeling.ModelElement;
+import org.eclipse.sapphire.modeling.ModelProperty;
+import org.eclipse.sapphire.modeling.Resource;
+import org.eclipse.sapphire.modeling.Value;
+import org.eclipse.sapphire.modeling.ValueProperty;
+import org.eclipse.sapphire.modeling.serialization.ValueSerializationService;
+import org.jboss.tools.esb.switchyard.ITransformJava;
+
+public final class TransformJava
+    
+    extends ModelElement
+    implements ITransformJava
+    
+{
+    private Value<JavaTypeName> transformJavaClass;
+    private Value<String> transformJavaFrom;
+    private Value<String> transformJavaTo;
+    
+    public TransformJava( final IModelParticle parent, final ModelProperty parentProperty, final Resource resource )
+    {
+        super( TYPE, parent, parentProperty, resource );
+    }
+    
+    public TransformJava( final Resource resource )
+    {
+        super( TYPE, null, null, resource );
+    }
+    
+    public Value<JavaTypeName> getTransformJavaClass()
+    {
+        synchronized( root() )
+        {
+            if( this.transformJavaClass == null )
+            {
+                refresh( PROP_TRANSFORM_JAVA_CLASS, true );
+            }
+            
+            return this.transformJavaClass;
+        }
+    }
+    
+    public void setTransformJavaClass( String value )
+    {
+        synchronized( root() )
+        {
+            if( value != null && value.equals( "" ) )
+            {
+                value = null;
+            }
+            
+            value = PROP_TRANSFORM_JAVA_CLASS.decodeKeywords( value );
+            
+            refresh( PROP_TRANSFORM_JAVA_CLASS, true );
+            
+            if( ! equal( this.transformJavaClass.getText( false ), value ) )
+            {
+                resource().binding( PROP_TRANSFORM_JAVA_CLASS ).write( value );
+                refresh( PROP_TRANSFORM_JAVA_CLASS, false );
+            }
+        }
+    }
+    
+    public void setTransformJavaClass( final JavaTypeName value )
+    {
+        setTransformJavaClass( value != null ? service( PROP_TRANSFORM_JAVA_CLASS, ValueSerializationService.class ).encode( value ) : null );
+    }
+    
+    public Value<String> getTransformJavaFrom()
+    {
+        synchronized( root() )
+        {
+            if( this.transformJavaFrom == null )
+            {
+                refresh( PROP_TRANSFORM_JAVA_FROM, true );
+            }
+            
+            return this.transformJavaFrom;
+        }
+    }
+    
+    public void setTransformJavaFrom( String value )
+    {
+        synchronized( root() )
+        {
+            if( value != null && value.equals( "" ) )
+            {
+                value = null;
+            }
+            
+            value = PROP_TRANSFORM_JAVA_FROM.decodeKeywords( value );
+            
+            refresh( PROP_TRANSFORM_JAVA_FROM, true );
+            
+            if( ! equal( this.transformJavaFrom.getText( false ), value ) )
+            {
+                resource().binding( PROP_TRANSFORM_JAVA_FROM ).write( value );
+                refresh( PROP_TRANSFORM_JAVA_FROM, false );
+            }
+        }
+    }
+    
+    public Value<String> getTransformJavaTo()
+    {
+        synchronized( root() )
+        {
+            if( this.transformJavaTo == null )
+            {
+                refresh( PROP_TRANSFORM_JAVA_TO, true );
+            }
+            
+            return this.transformJavaTo;
+        }
+    }
+    
+    public void setTransformJavaTo( String value )
+    {
+        synchronized( root() )
+        {
+            if( value != null && value.equals( "" ) )
+            {
+                value = null;
+            }
+            
+            value = PROP_TRANSFORM_JAVA_TO.decodeKeywords( value );
+            
+            refresh( PROP_TRANSFORM_JAVA_TO, true );
+            
+            if( ! equal( this.transformJavaTo.getText( false ), value ) )
+            {
+                resource().binding( PROP_TRANSFORM_JAVA_TO ).write( value );
+                refresh( PROP_TRANSFORM_JAVA_TO, false );
+            }
+        }
+    }
+    
+    protected void refreshProperty( ModelProperty property, final boolean force )
+    {
+        synchronized( root() )
+        {
+            property = property.refine( this );
+            
+            if( property == PROP_TRANSFORM_JAVA_CLASS )
+            {
+                if( this.transformJavaClass != null || force == true )
+                {
+                    final Value<JavaTypeName> oldValue = this.transformJavaClass;
+                    
+                    final String val = resource().binding( PROP_TRANSFORM_JAVA_CLASS ).read();
+                    
+                    this.transformJavaClass = new Value<JavaTypeName>( this, PROP_TRANSFORM_JAVA_CLASS, PROP_TRANSFORM_JAVA_CLASS.encodeKeywords( val ) );
+                    this.transformJavaClass.init();
+                    
+                    final boolean propertyEnabledStatusChanged = refreshPropertyEnabledStatus( PROP_TRANSFORM_JAVA_CLASS );
+                    
+                    if( oldValue != null )
+                    {
+                        if( this.transformJavaClass.equals( oldValue ) )
+                        {
+                            this.transformJavaClass = oldValue;
+                        }
+                        
+                        if( this.transformJavaClass != oldValue || propertyEnabledStatusChanged )
+                        {
+                            notifyPropertyChangeListeners( PROP_TRANSFORM_JAVA_CLASS );
+                        }
+                    }
+                }
+            }
+            else if( property == PROP_TRANSFORM_JAVA_FROM )
+            {
+                if( this.transformJavaFrom != null || force == true )
+                {
+                    final Value<String> oldValue = this.transformJavaFrom;
+                    
+                    final String val = resource().binding( PROP_TRANSFORM_JAVA_FROM ).read();
+                    
+                    this.transformJavaFrom = new Value<String>( this, PROP_TRANSFORM_JAVA_FROM, PROP_TRANSFORM_JAVA_FROM.encodeKeywords( val ) );
+                    this.transformJavaFrom.init();
+                    
+                    final boolean propertyEnabledStatusChanged = refreshPropertyEnabledStatus( PROP_TRANSFORM_JAVA_FROM );
+                    
+                    if( oldValue != null )
+                    {
+                        if( this.transformJavaFrom.equals( oldValue ) )
+                        {
+                            this.transformJavaFrom = oldValue;
+                        }
+                        
+                        if( this.transformJavaFrom != oldValue || propertyEnabledStatusChanged )
+                        {
+                            notifyPropertyChangeListeners( PROP_TRANSFORM_JAVA_FROM );
+                        }
+                    }
+                }
+            }
+            else if( property == PROP_TRANSFORM_JAVA_TO )
+            {
+                if( this.transformJavaTo != null || force == true )
+                {
+                    final Value<String> oldValue = this.transformJavaTo;
+                    
+                    final String val = resource().binding( PROP_TRANSFORM_JAVA_TO ).read();
+                    
+                    this.transformJavaTo = new Value<String>( this, PROP_TRANSFORM_JAVA_TO, PROP_TRANSFORM_JAVA_TO.encodeKeywords( val ) );
+                    this.transformJavaTo.init();
+                    
+                    final boolean propertyEnabledStatusChanged = refreshPropertyEnabledStatus( PROP_TRANSFORM_JAVA_TO );
+                    
+                    if( oldValue != null )
+                    {
+                        if( this.transformJavaTo.equals( oldValue ) )
+                        {
+                            this.transformJavaTo = oldValue;
+                        }
+                        
+                        if( this.transformJavaTo != oldValue || propertyEnabledStatusChanged )
+                        {
+                            notifyPropertyChangeListeners( PROP_TRANSFORM_JAVA_TO );
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    public Object read( ModelProperty property )
+    {
+        property = property.refine( this );
+        
+        if( property == PROP_TRANSFORM_JAVA_CLASS )
+        {
+            return getTransformJavaClass();
+        }
+        else if( property == PROP_TRANSFORM_JAVA_FROM )
+        {
+            return getTransformJavaFrom();
+        }
+        else if( property == PROP_TRANSFORM_JAVA_TO )
+        {
+            return getTransformJavaTo();
+        }
+        
+        return super.read( property );
+    }
+    
+    public void write( ValueProperty property, final Object value )
+    {
+        property = (ValueProperty) property.refine( this );
+        
+        if( property == PROP_TRANSFORM_JAVA_CLASS )
+        {
+            if( ! ( value instanceof String ) )
+            {
+                setTransformJavaClass( (JavaTypeName) value );
+            }
+            else
+            {
+                setTransformJavaClass( (String) value );
+            }
+            
+            return;
+        }
+        else if( property == PROP_TRANSFORM_JAVA_FROM )
+        {
+            setTransformJavaFrom( (String) value );
+            return;
+        }
+        else if( property == PROP_TRANSFORM_JAVA_TO )
+        {
+            setTransformJavaTo( (String) value );
+            return;
+        }
+        
+        super.write( property, value );
+    }
+    
+}

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/TransformSmooks.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/TransformSmooks.java	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/TransformSmooks.java	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,281 @@
+package org.jboss.tools.esb.switchyard.internal;
+
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.sapphire.modeling.IModelParticle;
+import org.eclipse.sapphire.modeling.ModelElement;
+import org.eclipse.sapphire.modeling.ModelProperty;
+import org.eclipse.sapphire.modeling.Resource;
+import org.eclipse.sapphire.modeling.Value;
+import org.eclipse.sapphire.modeling.ValueProperty;
+import org.eclipse.sapphire.modeling.serialization.ValueSerializationService;
+import org.jboss.tools.esb.switchyard.ITransformSmooks;
+
+public final class TransformSmooks
+    
+    extends ModelElement
+    implements ITransformSmooks
+    
+{
+    private Value<IPath> transformSmooksConfig;
+    private Value<String> transformSmooksFrom;
+    private Value<String> transformSmooksTo;
+    
+    public TransformSmooks( final IModelParticle parent, final ModelProperty parentProperty, final Resource resource )
+    {
+        super( TYPE, parent, parentProperty, resource );
+    }
+    
+    public TransformSmooks( final Resource resource )
+    {
+        super( TYPE, null, null, resource );
+    }
+    
+    public Value<IPath> getTransformSmooksConfig()
+    {
+        synchronized( root() )
+        {
+            if( this.transformSmooksConfig == null )
+            {
+                refresh( PROP_TRANSFORM_SMOOKS_CONFIG, true );
+            }
+            
+            return this.transformSmooksConfig;
+        }
+    }
+    
+    public void setTransformSmooksConfig( String value )
+    {
+        synchronized( root() )
+        {
+            if( value != null && value.equals( "" ) )
+            {
+                value = null;
+            }
+            
+            value = PROP_TRANSFORM_SMOOKS_CONFIG.decodeKeywords( value );
+            
+            refresh( PROP_TRANSFORM_SMOOKS_CONFIG, true );
+            
+            if( ! equal( this.transformSmooksConfig.getText( false ), value ) )
+            {
+                resource().binding( PROP_TRANSFORM_SMOOKS_CONFIG ).write( value );
+                refresh( PROP_TRANSFORM_SMOOKS_CONFIG, false );
+            }
+        }
+    }
+    
+    public void setTransformSmooksConfig( final IPath value )
+    {
+        setTransformSmooksConfig( value != null ? service( PROP_TRANSFORM_SMOOKS_CONFIG, ValueSerializationService.class ).encode( value ) : null );
+    }
+    
+    public Value<String> getTransformSmooksFrom()
+    {
+        synchronized( root() )
+        {
+            if( this.transformSmooksFrom == null )
+            {
+                refresh( PROP_TRANSFORM_SMOOKS_FROM, true );
+            }
+            
+            return this.transformSmooksFrom;
+        }
+    }
+    
+    public void setTransformSmooksFrom( String value )
+    {
+        synchronized( root() )
+        {
+            if( value != null && value.equals( "" ) )
+            {
+                value = null;
+            }
+            
+            value = PROP_TRANSFORM_SMOOKS_FROM.decodeKeywords( value );
+            
+            refresh( PROP_TRANSFORM_SMOOKS_FROM, true );
+            
+            if( ! equal( this.transformSmooksFrom.getText( false ), value ) )
+            {
+                resource().binding( PROP_TRANSFORM_SMOOKS_FROM ).write( value );
+                refresh( PROP_TRANSFORM_SMOOKS_FROM, false );
+            }
+        }
+    }
+    
+    public Value<String> getTransformSmooksTo()
+    {
+        synchronized( root() )
+        {
+            if( this.transformSmooksTo == null )
+            {
+                refresh( PROP_TRANSFORM_SMOOKS_TO, true );
+            }
+            
+            return this.transformSmooksTo;
+        }
+    }
+    
+    public void setTransformSmooksTo( String value )
+    {
+        synchronized( root() )
+        {
+            if( value != null && value.equals( "" ) )
+            {
+                value = null;
+            }
+            
+            value = PROP_TRANSFORM_SMOOKS_TO.decodeKeywords( value );
+            
+            refresh( PROP_TRANSFORM_SMOOKS_TO, true );
+            
+            if( ! equal( this.transformSmooksTo.getText( false ), value ) )
+            {
+                resource().binding( PROP_TRANSFORM_SMOOKS_TO ).write( value );
+                refresh( PROP_TRANSFORM_SMOOKS_TO, false );
+            }
+        }
+    }
+    
+    protected void refreshProperty( ModelProperty property, final boolean force )
+    {
+        synchronized( root() )
+        {
+            property = property.refine( this );
+            
+            if( property == PROP_TRANSFORM_SMOOKS_CONFIG )
+            {
+                if( this.transformSmooksConfig != null || force == true )
+                {
+                    final Value<IPath> oldValue = this.transformSmooksConfig;
+                    
+                    final String val = resource().binding( PROP_TRANSFORM_SMOOKS_CONFIG ).read();
+                    
+                    this.transformSmooksConfig = new Value<IPath>( this, PROP_TRANSFORM_SMOOKS_CONFIG, PROP_TRANSFORM_SMOOKS_CONFIG.encodeKeywords( val ) );
+                    this.transformSmooksConfig.init();
+                    
+                    final boolean propertyEnabledStatusChanged = refreshPropertyEnabledStatus( PROP_TRANSFORM_SMOOKS_CONFIG );
+                    
+                    if( oldValue != null )
+                    {
+                        if( this.transformSmooksConfig.equals( oldValue ) )
+                        {
+                            this.transformSmooksConfig = oldValue;
+                        }
+                        
+                        if( this.transformSmooksConfig != oldValue || propertyEnabledStatusChanged )
+                        {
+                            notifyPropertyChangeListeners( PROP_TRANSFORM_SMOOKS_CONFIG );
+                        }
+                    }
+                }
+            }
+            else if( property == PROP_TRANSFORM_SMOOKS_FROM )
+            {
+                if( this.transformSmooksFrom != null || force == true )
+                {
+                    final Value<String> oldValue = this.transformSmooksFrom;
+                    
+                    final String val = resource().binding( PROP_TRANSFORM_SMOOKS_FROM ).read();
+                    
+                    this.transformSmooksFrom = new Value<String>( this, PROP_TRANSFORM_SMOOKS_FROM, PROP_TRANSFORM_SMOOKS_FROM.encodeKeywords( val ) );
+                    this.transformSmooksFrom.init();
+                    
+                    final boolean propertyEnabledStatusChanged = refreshPropertyEnabledStatus( PROP_TRANSFORM_SMOOKS_FROM );
+                    
+                    if( oldValue != null )
+                    {
+                        if( this.transformSmooksFrom.equals( oldValue ) )
+                        {
+                            this.transformSmooksFrom = oldValue;
+                        }
+                        
+                        if( this.transformSmooksFrom != oldValue || propertyEnabledStatusChanged )
+                        {
+                            notifyPropertyChangeListeners( PROP_TRANSFORM_SMOOKS_FROM );
+                        }
+                    }
+                }
+            }
+            else if( property == PROP_TRANSFORM_SMOOKS_TO )
+            {
+                if( this.transformSmooksTo != null || force == true )
+                {
+                    final Value<String> oldValue = this.transformSmooksTo;
+                    
+                    final String val = resource().binding( PROP_TRANSFORM_SMOOKS_TO ).read();
+                    
+                    this.transformSmooksTo = new Value<String>( this, PROP_TRANSFORM_SMOOKS_TO, PROP_TRANSFORM_SMOOKS_TO.encodeKeywords( val ) );
+                    this.transformSmooksTo.init();
+                    
+                    final boolean propertyEnabledStatusChanged = refreshPropertyEnabledStatus( PROP_TRANSFORM_SMOOKS_TO );
+                    
+                    if( oldValue != null )
+                    {
+                        if( this.transformSmooksTo.equals( oldValue ) )
+                        {
+                            this.transformSmooksTo = oldValue;
+                        }
+                        
+                        if( this.transformSmooksTo != oldValue || propertyEnabledStatusChanged )
+                        {
+                            notifyPropertyChangeListeners( PROP_TRANSFORM_SMOOKS_TO );
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    public Object read( ModelProperty property )
+    {
+        property = property.refine( this );
+        
+        if( property == PROP_TRANSFORM_SMOOKS_CONFIG )
+        {
+            return getTransformSmooksConfig();
+        }
+        else if( property == PROP_TRANSFORM_SMOOKS_FROM )
+        {
+            return getTransformSmooksFrom();
+        }
+        else if( property == PROP_TRANSFORM_SMOOKS_TO )
+        {
+            return getTransformSmooksTo();
+        }
+        
+        return super.read( property );
+    }
+    
+    public void write( ValueProperty property, final Object value )
+    {
+        property = (ValueProperty) property.refine( this );
+        
+        if( property == PROP_TRANSFORM_SMOOKS_CONFIG )
+        {
+            if( ! ( value instanceof String ) )
+            {
+                setTransformSmooksConfig( (IPath) value );
+            }
+            else
+            {
+                setTransformSmooksConfig( (String) value );
+            }
+            
+            return;
+        }
+        else if( property == PROP_TRANSFORM_SMOOKS_FROM )
+        {
+            setTransformSmooksFrom( (String) value );
+            return;
+        }
+        else if( property == PROP_TRANSFORM_SMOOKS_TO )
+        {
+            setTransformSmooksTo( (String) value );
+            return;
+        }
+        
+        super.write( property, value );
+    }
+    
+}

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/Transforms.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/Transforms.java	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/switchyard/internal/Transforms.java	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,129 @@
+package org.jboss.tools.esb.switchyard.internal;
+
+import org.eclipse.sapphire.modeling.IModelParticle;
+import org.eclipse.sapphire.modeling.ListBindingImpl;
+import org.eclipse.sapphire.modeling.ModelElement;
+import org.eclipse.sapphire.modeling.ModelElementList;
+import org.eclipse.sapphire.modeling.ModelProperty;
+import org.eclipse.sapphire.modeling.Resource;
+import org.jboss.tools.esb.switchyard.ITransformJava;
+import org.jboss.tools.esb.switchyard.ITransformSmooks;
+import org.jboss.tools.esb.switchyard.ITransforms;
+
+public final class Transforms
+    
+    extends ModelElement
+    implements ITransforms
+    
+{
+    private ModelElementList<ITransformJava> javaTransforms;
+    private ModelElementList<ITransformSmooks> smooksTransforms;
+    
+    public Transforms( final IModelParticle parent, final ModelProperty parentProperty, final Resource resource )
+    {
+        super( TYPE, parent, parentProperty, resource );
+    }
+    
+    public Transforms( final Resource resource )
+    {
+        super( TYPE, null, null, resource );
+    }
+    
+    public ModelElementList<ITransformJava> getJavaTransforms()
+    {
+        synchronized( root() )
+        {
+            if( this.javaTransforms == null )
+            {
+                refresh( PROP_JAVA_TRANSFORMS, true );
+            }
+            
+            return this.javaTransforms;
+        }
+    }
+    
+    public ModelElementList<ITransformSmooks> getSmooksTransforms()
+    {
+        synchronized( root() )
+        {
+            if( this.smooksTransforms == null )
+            {
+                refresh( PROP_SMOOKS_TRANSFORMS, true );
+            }
+            
+            return this.smooksTransforms;
+        }
+    }
+    
+    protected void refreshProperty( ModelProperty property, final boolean force )
+    {
+        synchronized( root() )
+        {
+            property = property.refine( this );
+            
+            if( property == PROP_JAVA_TRANSFORMS )
+            {
+                if( this.javaTransforms == null )
+                {
+                    if( force == true )
+                    {
+                        this.javaTransforms = new ModelElementList<ITransformJava>( this, PROP_JAVA_TRANSFORMS );
+                        final ListBindingImpl binding = resource().binding( PROP_JAVA_TRANSFORMS );
+                        this.javaTransforms.init( binding );
+                        refreshPropertyEnabledStatus( PROP_JAVA_TRANSFORMS );
+                    }
+                }
+                else
+                {
+                    final boolean propertyEnabledStatusChanged = refreshPropertyEnabledStatus( PROP_JAVA_TRANSFORMS );
+                    final boolean notified = this.javaTransforms.refresh();
+                    
+                    if( ! notified && propertyEnabledStatusChanged )
+                    {
+                        notifyPropertyChangeListeners( PROP_JAVA_TRANSFORMS );
+                    }
+                }
+            }
+            else if( property == PROP_SMOOKS_TRANSFORMS )
+            {
+                if( this.smooksTransforms == null )
+                {
+                    if( force == true )
+                    {
+                        this.smooksTransforms = new ModelElementList<ITransformSmooks>( this, PROP_SMOOKS_TRANSFORMS );
+                        final ListBindingImpl binding = resource().binding( PROP_SMOOKS_TRANSFORMS );
+                        this.smooksTransforms.init( binding );
+                        refreshPropertyEnabledStatus( PROP_SMOOKS_TRANSFORMS );
+                    }
+                }
+                else
+                {
+                    final boolean propertyEnabledStatusChanged = refreshPropertyEnabledStatus( PROP_SMOOKS_TRANSFORMS );
+                    final boolean notified = this.smooksTransforms.refresh();
+                    
+                    if( ! notified && propertyEnabledStatusChanged )
+                    {
+                        notifyPropertyChangeListeners( PROP_SMOOKS_TRANSFORMS );
+                    }
+                }
+            }
+        }
+    }
+    
+    public Object read( ModelProperty property )
+    {
+        property = property.refine( this );
+        
+        if( property == PROP_JAVA_TRANSFORMS )
+        {
+            return getJavaTransforms();
+        }
+        else if( property == PROP_SMOOKS_TRANSFORMS )
+        {
+            return getSmooksTransforms();
+        }
+        
+        return super.read( property );
+    }
+    
+}

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.classpath
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.classpath	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.classpath	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="src" path=".apt_generated"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>


Property changes on: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.classpath
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.project
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.project	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.project	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.jboss.tools.esb.switchyard.ui</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+	</natures>
+</projectDescription>


Property changes on: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.project
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.settings/diagrams/map.np
===================================================================
Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.settings/diagrams/map.xmi
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.settings/diagrams/map.xmi	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.settings/diagrams/map.xmi	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="ASCII"?>
+<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="sapphireDiagram" name="map" showGuides="true">
+  <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
+  <colors red="227" green="238" blue="249"/>
+  <colors red="255" green="255" blue="255"/>
+</pi:Diagram>


Property changes on: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.settings/diagrams/map.xmi
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.settings/org.eclipse.jdt.apt.core.prefs
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.settings/org.eclipse.jdt.apt.core.prefs	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.settings/org.eclipse.jdt.apt.core.prefs	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,5 @@
+#Wed Mar 30 14:35:03 MDT 2011
+eclipse.preferences.version=1
+org.eclipse.jdt.apt.aptEnabled=true
+org.eclipse.jdt.apt.genSrcDir=.apt_generated
+org.eclipse.jdt.apt.reconcileEnabled=false


Property changes on: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.settings/org.eclipse.jdt.apt.core.prefs
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.settings/org.eclipse.jdt.core.prefs	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.settings/org.eclipse.jdt.core.prefs	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,13 @@
+#Wed Mar 30 07:37:17 MDT 2011
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.processAnnotations=enabled
+org.eclipse.jdt.core.compiler.source=1.6


Property changes on: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.settings/org.eclipse.jdt.core.prefs
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/META-INF/MANIFEST.MF
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/META-INF/MANIFEST.MF	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/META-INF/MANIFEST.MF	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,24 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: SwitchYard Editor
+Bundle-SymbolicName: org.jboss.tools.esb.switchyard.ui;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Export-Package: org.jboss.tools.esb.switchyard
+Require-Bundle: org.eclipse.sapphire.modeling,
+ org.eclipse.sapphire.modeling.xml,
+ org.eclipse.sapphire.java,
+ org.eclipse.sapphire.ui,
+ org.eclipse.sapphire.ui.swt.graphiti,
+ org.eclipse.sapphire.ui.swt.xml.editor,
+ org.eclipse.core.runtime,
+ org.eclipse.core.resources,
+ org.eclipse.wst.sse.ui,
+ org.eclipse.wst.xml.ui,
+ org.eclipse.ui,
+ org.eclipse.ui.views,
+ org.eclipse.help,
+ org.eclipse.ui.views.properties.tabbed,
+ org.eclipse.ui.ide
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-Vendor: JBoss.org


Property changes on: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/META-INF/MANIFEST.MF
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/blogpost.xml
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/blogpost.xml	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/blogpost.xml	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,25 @@
+<body><p>While at EclipseCon a few weeks ago, I heard about a new framework at Eclipse for quickly developing Eclipse editors for XML files, especially XML configuration files. As Konstantin Komissarchik, one of the lead developers on Sapphire, pointed out in the summary for his EclipseCon talk - &quot;[Sapphire] is a UI building framework that allows developers to specify UI in terms of higher level constructs like property editors instead of widgets and layouts. This paradigm results in several orders of magnitude improvement in developer productivity while simultaneously delivering better quality UI that is easier to maintain.&quot;</p>
+<p>Though I missed his talk, I had a chance to sit down with Konstantin afterwards and he showed off what his framework can do. To say the least, I was excited. One of the things we do a lot of in JBoss tools is editing XML configuration files. We have them everywhere. And we don't really have a consistent look and feel to any of them. The other thing I was excited to see was the potential integration with Graphiti, a framework for graphical editors. Perhaps they've hit upon the "Holy Grail" of UI development? </p>
+<p>I wanted to find out. So when I got back from my trip, I started playing with Sapphire locally. You have to keep in mind that this is very early in the process for Sapphire. The version I'm working with is 0.3 and they're providing bug fixes nearly every day, which means things may break or change between updates. Honestly that's fine - Konstantin said they're using the framework at Oracle and have commercial editors out in the wild based on this technology, so it has to be pretty good, right? </p>
+<p>We have a runtime project at JBoss that's rolling along at a pretty good clip now. It's the next generation of our ESB called SwitchYard. You can check out the &lt;a href="<a href="http://www.jboss.org/switchyard">http://www.jboss.org/switchyard</a>"&gt;SwitchYard Community Page&lt;/a&gt; for more details. But they've been working on the format of an XML configuration file that we'll need to develop an editor for. It seemed like the perfect opportunity to put Sapphire to the test.</p>
+<p>Over the course of the last 5 or 6 business days, I've probably put in 20-30 hours on this editor. I've run into a few issues here and there, most because I didn't grok the framework fully at the start. But I've ended up with a good first cut that is able to edit the initial sample of the configuration file. And that's amazing to have something that even sort of works in that short a timeframe.</p>
+<p>Ultimately developing an editor in Sapphire boils down to two main things:</p>
+<p>* A set of Java interface files that map to different parts of your XML configuration.</p>
+<p>* And a Sapphire Definition (sdef) file, which defines how different parts of the UI are rendered. </p>
+<p>Think of the Java interface files as a quick and easy Java bean representation of your XML. So various element structures and properties are reduced to getters and setters in the interfaces. All you do from there is take the Switchyard annotations and indicate how to tie those properties back to the XML you're editing. The Sapphire framework then takes those annotations to define a model (using EMF of course) on the fly representing your XML. This is the "Model" part of your typical Model-Viewer-Controller approach. </p>
+<p>Then the SDEF file describes how to present that generated model to the user in UI form. Want to generate a view? Cool. Wizard or dialog? Cool. Editor? Cool. And you can define reusable components of the UI so you don't have to redefine everything if you decide to go, for example, from a dialog to an editor later on. </p>
+<p>What's awesome is that the Sapphire UI Definition Editor is itself written in Sapphire. Talk about eating your own dog food. <img class="jive_macro jive_emote" src="http://community.jboss.org/4.5.5/images/emoticons/happy.gif" jivemacro="emoticon" ___jive_emoticon_name="happy" /></p>
+<p>There are some gotchas:</p>
+<p>* Annotation processing is not turned on by default for projects. To do that, go to Project Properties -&gt; Java Compiler -&gt; Annotation Processing -&gt; Enable annotation processing.</p>
+<p>* To see the classes generated by the Sapphire framework for your interfaces, you have to turn off the filter that hides files &amp; folders starting with "." Those generated classes appear in the ".apt_generated" folder.</p>
+<p>* It's taken me several days to grok how to get XML namespace declarations just right with the XmlNamespace and XmlNamespaces and XmlRootBinding annotations. But it boils down to declaring them when you use them. Easier said than done, but it makes sense once you've played with it a bit.</p>
+<p>* You have to make sure that you name things consistently. This is one of the areas I have run into again and again. The name of the property field, property name, getter and setter must be consistent or the framework complains loudly at runtime. So if you have a property named "SOAPBindings", you need to make sure the property is PROP_SOAPBINDINGS, the property name is "SOAPBindings" and the getter is "getSoapbindings()". </p>
+<p>Why? Seems to be something with how the processor is looking at the capitalization of various bits in the model and if one is out of whack, they're all out of whack. You can make it a bit more consistent by adding underscores to the PROP_ declaration - such as PROP_SOAP_BINDINGS would need the property name "SoapBindings" and the getter would be "getSoapBindings()" - the underscore hints that there's a uppercase letter coming up. </p>
+<p>That's about it at this point. Now that I have the structure working and can define/modify/delete things via the editor, I want to go in and add some polish. Things like boolean options - true/false, combo boxes, validation, etc. </p>
+<p>After that's done, I'll start playing some with the Graphiti integration - but I'm not quite ready to tackle that yet. </p>
+<p>Interested in playing with Sapphire yourself? Here are a few links to get you started:</p>
+<p>* Main Sapphire page: http://www.eclipse.org/sapphire/</p>
+<p>* Konstantin's Sapphire-related blog articles: <a href="http://lt-rider.blogspot.com/search/label/eclipse-sapphire">http://lt-rider.blogspot.com/search/label/eclipse-sapphire</a></p>
+<p>* Until Indigo &amp; Sapphire 0.3.0 is released, the latest milestone update site: http://download.eclipse.org/graphiti/updates/milestones/</p>
+<p>* But you can also download latest built packages from Eclipse Hudson server: https://hudson.eclipse.org/hudson/job/sapphire-0.3.x/</p>
+<p>A big thanks to Konstantin for helping me out on the Sapphire mailing list and forum. He's been very patient dealing with me over the last week!</p></body>
\ No newline at end of file


Property changes on: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/blogpost.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/build.properties
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/build.properties	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/build.properties	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,4 @@
+source.. = src/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml


Property changes on: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/build.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/plugin.xml
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/plugin.xml	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/plugin.xml	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension
+         point="org.eclipse.ui.editors">
+      <editor
+            class="org.jboss.tools.esb.switchyard.ui.SwitchyardEditor"
+            default="true"
+            filenames="switchyard.xml"
+            id="org.jboss.tools.esb.switchyard.editor"
+            name="Switchyard Editor">
+      </editor>
+      <editor
+            class="org.jboss.tools.esb.switchyard.ui.SwitchyardGraphicalEditor"
+            default="true"
+            filenames="switchyard.xml"
+            id="org.jboss.tools.esb.switchyard.editor.graphical"
+            name="SwitchYard Graphical Editor">
+      </editor>
+   </extension>
+
+</plugin>


Property changes on: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/plugin.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/sample/switchyard.xml
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/sample/switchyard.xml	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/sample/switchyard.xml	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,19 @@
+<switchyard xmlns="urn:switchyard-config:switchyard:1.0">
+    <composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912">
+        <service name="MyPublicService">
+            <binding.soap xmlns="urn:switchyard-component-soap:config:1.0">
+                <serverPort>18001</serverPort>
+                <wsdl>service.wsdl</wsdl>
+            </binding.soap>
+        </service>
+        <component name="MyService">
+            <implementation.bean xmlns="urn:switchyard-component-bean:config:1.0" class="org.example.MyServiceBean"/>
+            <service name="MyService">
+                <interface.java xmlns="urn:switchyard-component-bean:config:1.0" interface="org.example.MyService"/>
+            </service>
+            <reference name="anotherService">
+                <interface.java xmlns="urn:switchyard-component-bean:config:1.0" interface="org.example.YourService"/>
+            </reference>
+        </component>
+    </composite>
+</switchyard>


Property changes on: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/sample/switchyard.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/sample2/switchyard.xml
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/sample2/switchyard.xml	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/sample2/switchyard.xml	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+JBoss, Home of Professional Open Source
+Copyright 2011 Red Hat Inc. and/or its affiliates and other contributors
+as indicated by the @authors tag. All rights reserved.
+See the copyright.txt in the distribution for a
+full listing of individual contributors.
+
+This copyrighted material is made available to anyone wishing to use,
+modify, copy, or redistribute it subject to the terms and conditions
+of the GNU Lesser General Public License, v. 2.1.
+This program is distributed in the hope that it will be useful, but WITHOUT A
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+You should have received a copy of the GNU Lesser General Public License,
+v.2.1 along with this distribution; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+MA  02110-1301, USA.
+-->
+<switchyard xmlns="urn:switchyard-config:switchyard:1.0"
+            xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200912"
+            xmlns:soap="urn:switchyard-config:test-soap:1.0"
+            xmlns:bean="urn:switchyard-config:test-bean:1.0"
+            xmlns:java="urn:switchyard-config:test-java:1.0"
+            xmlns:smooks="urn:switchyard-config:test-smooks:1.0">
+    <sca:composite name="m1app" targetNamespace="urn:m1app:example:1.0">
+        <sca:service name="M1AppService" promote="SimpleService">
+            <soap:binding.soap>
+                <soap:port secure="true">MyWebService/SOAPPort</soap:port>
+                <soap:wsdl description="foobar">service.wsdl</soap:wsdl>
+            </soap:binding.soap>
+        </sca:service>
+        <sca:component name="SimpleService">
+            <bean:implementation.bean class="org.switchyard.example.m1app.SimpleBean"/>
+            <sca:service name="SimpleService">
+                <sca:interface.java interface="org.switchyard.example.m1app.SimpleService"/>
+            </sca:service>
+            <sca:reference name="anotherService">
+                <sca:interface.java interface="org.switchyard.example.m1app.AnotherService"/>
+            </sca:reference>
+        </sca:component>
+        <sca:component name="AnotherService">
+            <bean:implementation.bean class="org.switchyard.example.m1app.AnotherBean"/>
+            <sca:service name="AnotherService">
+                <sca:interface.java interface="org.switchyard.example.m1app.AnotherService"/>
+            </sca:service>
+        </sca:component>
+    </sca:composite>
+    <transforms>
+        <java:transform.java from="msgA" to="msgB" class="org.examples.transform.AtoBTransform"/>
+        <smooks:transform.smooks from="msgC" to="msgD">
+            <smooks:config>stuff</smooks:config>
+        </smooks:transform.smooks>
+    </transforms>
+</switchyard>
\ No newline at end of file


Property changes on: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/sample2/switchyard.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/schemas/switchyard-v1.xsd
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/schemas/switchyard-v1.xsd	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/schemas/switchyard-v1.xsd	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+JBoss, Home of Professional Open Source
+Copyright 2011 Red Hat Inc. and/or its affiliates and other contributors
+as indicated by the @authors tag. All rights reserved.
+See the copyright.txt in the distribution for a
+full listing of individual contributors.
+
+This copyrighted material is made available to anyone wishing to use,
+modify, copy, or redistribute it subject to the terms and conditions
+of the GNU Lesser General Public License, v. 2.1.
+This program is distributed in the hope that it will be useful, but WITHOUT A
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+You should have received a copy of the GNU Lesser General Public License,
+v.2.1 along with this distribution; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+MA  02110-1301, USA.
+-->
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+        targetNamespace="urn:switchyard-config:switchyard:1.0"
+        xmlns:swyd="urn:switchyard-config:switchyard:1.0"
+        xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200912"
+        elementFormDefault="qualified">
+
+    <import namespace="http://docs.oasis-open.org/ns/opencsa/sca/200912"
+            schemaLocation="sca-1.1-cd06.xsd"/>
+
+    <element name="switchyard" type="swyd:SwitchYardType"/>
+    <complexType name="SwitchYardType">
+        <sequence>
+           <element ref="sca:composite" minOccurs="0" maxOccurs="1"/>
+           <element name="transforms" minOccurs="0" maxOccurs="1"/>
+        </sequence>
+        <attribute name="name" type="string" use="optional"/>
+        <attribute name="targetNamespace" type="string" use="optional"/>
+    </complexType>
+
+    <element name="transforms" type="swyd:TransformsType"/>
+    <complexType name="TransformsType">
+        <sequence>
+            <element name="transform" minOccurs="0" maxOccurs="unbounded"/>
+        </sequence>
+    </complexType>
+
+    <element name="transform" type="swyd:TransformType" abstract="true"/>
+    <complexType name="TransformType" abstract="true">
+        <attribute name="from" type="string" use="required"/>
+        <attribute name="to" type="string" use="required"/>
+    </complexType>
+
+</schema>


Property changes on: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/schemas/switchyard-v1.xsd
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/sdefs/switchyard-0.2.sdef
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/sdefs/switchyard-0.2.sdef	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/sdefs/switchyard-0.2.sdef	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,315 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definition>
+	<import>
+		<bundle>org.jboss.tools.sapphire</bundle>
+		<package>org.jboss.tools.sapphire</package>
+		<package>org.jboss.tools.sapphire.ui</package>
+	</import>
+	<editor-page>
+		<id>main</id>
+		<page-name>switchyard</page-name>
+		<page-header-text>switchyard</page-header-text>
+		<initial-selection>composites</initial-selection>
+		<root-node>
+			<node-ref>composites.node.root</node-ref>
+			<node-ref>transforms.node.root</node-ref>
+		</root-node>
+	</editor-page>
+	<node>
+		<id>composites.node.root</id>
+		<label>Composites</label>
+		<node-list-ref>composites.node-list</node-list-ref>
+		<section>
+			<label>Composites</label>
+			<content>
+				<action-link>
+					<label>Add a Composite</label>
+					<action-id>Sapphire.Add</action-id>
+				</action-link>
+			</content>
+		</section>
+	</node>
+	<node>
+		<id>transforms.node.root</id>
+		<label>Transforms</label>
+		<node-list-ref>transforms.node-list</node-list-ref>
+		<section>
+			<label>Transforms</label>
+			<content>
+				<action-link>
+					<label>Add a Transforms node</label>
+					<action-id>Sapphire.Add</action-id>
+				</action-link>
+			</content>
+		</section>
+	</node>
+	<node-list>
+		<id>composites.node-list</id>
+		<property>composites</property>
+		<node-template>
+			<label>&lt;composite&gt;</label>
+			<node>
+				<label>services</label>
+				<section>
+					<content>
+						<property-editor>
+							<property>Services</property>
+						</property-editor>
+					</content>
+				</section>
+				<node-list-ref>services.node-list</node-list-ref>
+			</node>
+ 			<node>
+				<label>components</label>
+				<section>
+					<content>
+						<property-editor>
+							<property>Components</property>
+						</property-editor>
+					</content>
+				</section>
+				<node-list-ref>components.node-list</node-list-ref>
+			</node>
+			<section>
+				<label>Composite</label>
+				<content>
+					<property-editor>Name</property-editor>
+					<property-editor>TargetNamespace</property-editor>
+					<node-list-ref>services.node-list</node-list-ref>
+                    <property-editor>
+						<property>Services</property>
+					</property-editor>
+                    <property-editor>
+						<property>Components</property>
+					</property-editor>
+				</content>
+			</section>
+		</node-template>
+	</node-list>
+	<node-list>
+		<id>services.node-list</id>
+		<property>services</property>
+		<node-template>
+			<label>${ Name == null ? "&lt;service&gt;" : Name }</label>
+			<node>
+				<label>SOAP Bindings</label>
+				<section>
+					<content>
+						<property-editor>
+							<property>SOAPBindings</property>
+							<hint>
+								<name>show.label</name>
+								<value>false</value>
+							</hint>
+						</property-editor>
+					</content>
+				</section>
+				<node-list-ref>soap.bindings.node-list</node-list-ref>
+			</node>
+			<section>
+				<label>Service</label>
+				<content>
+					<property-editor>Name</property-editor>
+					<property-editor>Promote</property-editor>
+                    <property-editor>
+						<property>SOAPBindings</property>
+					</property-editor>
+				</content>
+			</section>
+		</node-template>
+	</node-list>
+	<node-list>
+		<id>soap.bindings.node-list</id>
+		<property>SOAPBindings</property>
+		<node-template>
+			<label>&lt;binding.soap&gt;</label>
+			<section>
+				<label>SOAP Binding</label>
+				<content>
+					<property-editor>Port</property-editor>
+					<property-editor>Secure</property-editor>
+                    <property-editor>WSDL</property-editor>
+                    <property-editor>WSDLDescription</property-editor>
+				</content>
+			</section>
+		</node-template>
+		<section>
+			<content></content>
+		</section>
+	</node-list>
+	<node-list>
+		<id>components.node-list</id>
+		<property>components</property>
+		<node-template>
+			<label>${ Name == null ? "&lt;component&gt;" : Name }</label>
+			<section>
+				<label>Component</label>
+				<content>
+					<property-editor>Name</property-editor>
+                    <property-editor>ImplementationBeans</property-editor>
+                    <property-editor>ComponentServices</property-editor>
+                    <property-editor>ComponentServiceReferences</property-editor>
+				</content>
+			</section>
+            <node>
+                <label>Implementation Beans</label>
+                <section>
+                    <content>
+                        <property-editor>ImplementationBeans</property-editor>
+                    </content>
+                </section>
+				<node-list-ref>implementation.beans.node-list</node-list-ref>
+            </node>
+            <node>
+                <label>Component Services</label>
+                <section>
+                    <content>
+                        <property-editor>ComponentServices</property-editor>
+                    </content>
+                </section>
+                <node-list-ref>component.services.node-list</node-list-ref>
+            </node>
+            <node>
+                <label>Component Service References</label>
+                <section>
+                    <content>
+                        <property-editor>ComponentServiceReferences</property-editor>
+                    </content>
+                </section>
+                <node-list-ref>component.service.references.node-list</node-list-ref>
+            </node>
+		</node-template>
+	</node-list>
+	<node-list>
+		<id>implementation.beans.node-list</id>
+		<property>ImplementationBeans</property>
+		<node-template>
+			<label>&lt;implementation.bean&gt;</label>
+            <section>
+                <label>Implementation Bean</label>
+                <content>
+                    <property-editor>ImplBeanClass</property-editor>
+                </content>
+            </section>
+		</node-template>
+		<section>
+			<content></content>
+		</section>
+	</node-list>
+	<node-list>
+		<id>component.services.node-list</id>
+		<property>ComponentServices</property>
+		<node-template>
+			<label>${ Name == null ? "&lt;service&gt;" : Name }</label>
+			<section>
+				<label>Service</label>
+				<content>
+					<property-editor>Name</property-editor>
+                    <property-editor>JavaInterfaces</property-editor>
+				</content>
+			</section>
+            <node>
+                <label>Java Interfaces</label>
+                <section>
+                    <content>
+                        <property-editor>JavaInterfaces</property-editor>
+                    </content>
+                </section>
+				<node-list-ref>java.interfaces.node-list</node-list-ref>
+            </node>
+		</node-template>
+	</node-list>
+	<node-list>
+		<id>java.interfaces.node-list</id>
+		<property>JavaInterfaces</property>
+		<node-template>
+			<label>&lt;interface.java&gt;</label>
+            <section>
+                <label>Java Interface</label>
+                <content>
+                    <property-editor>JavaInterface</property-editor>
+                </content>
+            </section>
+		</node-template>
+		<section>
+			<content></content>
+		</section>
+	</node-list>
+	<node-list>
+		<id>component.service.references.node-list</id>
+		<property>ComponentServiceReferences</property>
+		<node-template>
+			<label>${ Name == null ? "&lt;reference&gt;" : Name }</label>
+			<section>
+				<label>Reference</label>
+				<content>
+					<property-editor>Name</property-editor>
+                    <property-editor>JavaInterfaces</property-editor>
+				</content>
+			</section>
+            <node>
+                <label>Java Interfaces</label>
+                <section>
+                    <content>
+                        <property-editor>JavaInterfaces</property-editor>
+                    </content>
+                </section>
+				<node-list-ref>java.interfaces.node-list</node-list-ref>
+            </node>
+		</node-template>
+	</node-list>
+	<node-list>
+		<id>transforms.node-list</id>
+		<property>Transforms</property>
+		<node-template>
+			<label>&lt;transforms&gt;</label>
+			<section>
+				<label>Transforms</label>
+				<content>
+                    <property-editor>JavaTransforms</property-editor>
+					<property-editor>SmooksTransforms</property-editor>
+				</content>
+			</section>
+            <node>
+                <label>Java Transforms</label>
+				<node-list-ref>transforms.java.transforms.node-list</node-list-ref>
+            </node>
+            <node>
+                <label>Smooks Transforms</label>
+				<node-list-ref>transforms.smooks.transforms.node-list</node-list-ref>
+            </node>
+		</node-template>
+	</node-list>
+	<node-list>
+		<id>transforms.smooks.transforms.node-list</id>
+		<property>SmooksTransforms</property>
+		<node-template>
+ 			<label>&lt;from: ${ TransformSmooksFrom == null ? "undefined" : TransformSmooksFrom }&gt;&lt;to: ${ TransformSmooksTo == null ? "undefined" : TransformSmooksTo }&gt;</label>
+<!-- 		<label>${ TransformSmooksFrom == null ? "&lt;transform.smooks&gt;" : TransformSmooksFrom }</label> -->
+			<section>
+				<label>Smooks Transformations</label>
+				<content>
+					<property-editor>TransformSmooksFrom</property-editor>
+                    <property-editor>TransformSmooksTo</property-editor>
+                    <property-editor>TransformSmooksConfig</property-editor>
+				</content>
+			</section>
+		</node-template>
+	</node-list>
+	<node-list>
+		<id>transforms.java.transforms.node-list</id>
+		<property>JavaTransforms</property>
+		<node-template>
+ 			<label>&lt;class: ${ TransformJavaClass == null ? "undefined" : TransformJavaClass }&gt;</label>
+<!-- 		<label>${ TransformJavaFrom == null ? "&lt;transform.java&gt;" : TransformJavaFrom }</label> -->
+			<section>
+				<label>Java Transformations</label>
+				<content>
+					<property-editor>TransformJavaFrom</property-editor>
+                    <property-editor>TransformJavaTo</property-editor>
+                    <property-editor>TransformJavaClass</property-editor>
+				</content>
+			</section>
+		</node-template>
+	</node-list>
+</definition>
\ No newline at end of file

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/sdefs/switchyard-0.3.sdef
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/sdefs/switchyard-0.3.sdef	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/sdefs/switchyard-0.3.sdef	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,501 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definition>
+	<import>
+		<bundle>org.jboss.tools.sapphire</bundle>
+		<package>org.jboss.tools.sapphire</package>
+		<package>org.jboss.tools.sapphire.ui</package>
+	</import>
+	<editor-page>
+		<id>main</id>
+		<page-name>switchyard</page-name>
+		<page-header-text>switchyard</page-header-text>
+		<initial-selection>composites</initial-selection>
+		<root-node>
+			<node-ref>composites.node.root</node-ref>
+			<node-ref>transforms.node.root</node-ref>
+		</root-node>
+        <documentation>
+            <title>switchyard configuration editor</title>
+            <content>This would be the help content for the Switchyard Configuration Editor.</content>
+        </documentation>
+	</editor-page>
+	<node>
+		<id>composites.node.root</id>
+		<label>Composites</label>
+		<node-list-ref>composites.node-list</node-list-ref>
+		<section>
+			<label>Composites</label>
+			<content>
+                <property-editor>
+                    <property>composites</property>
+                    <hint>
+                        <name>show.label</name>
+                        <value>false</value>
+                    </hint>
+                </property-editor>
+			</content>
+	        <documentation>
+	            <title>Composites</title>
+	            <content>Here you can add a composite. Right now it's just a single composite that you can create and manage.</content>
+	        </documentation>
+		</section>
+	</node>
+	<node>
+		<id>transforms.node.root</id>
+		<label>Transforms</label>
+		<node-list-ref>transforms.node-list</node-list-ref>
+		<section>
+			<label>Transforms</label>
+			<content>
+				<action-link>
+					<label>Add a Transforms node</label>
+					<action-id>Sapphire.Add</action-id>
+				</action-link>
+			</content>
+	        <documentation>
+	            <title>Transforms</title>
+	            <content>Here you can add and manage a single &lt;transforms&gt; node. Beneath the Transforms node you define individual transformations to be used.</content>
+	        </documentation>
+		</section>
+	</node>
+	<node-list>
+		<id>composites.node-list</id>
+		<property>composites</property>
+		<node-template>
+			<label>&lt;composite&gt;</label>
+			<node>
+				<label>services</label>
+				<section>
+					<content>
+						<property-editor>
+							<property>Services</property>
+						<hint>
+							<name>show.label</name>
+							<value>false</value>
+						</hint>
+						</property-editor>
+					</content>
+				</section>
+				<node-list-ref>services.node-list</node-list-ref>
+			</node>
+ 			<node>
+				<label>components</label>
+				<section>
+					<content>
+						<property-editor>
+							<property>Components</property>
+							<hint>
+								<name>show.label</name>
+								<value>false</value>
+							</hint>
+						</property-editor>
+					</content>
+				</section>
+				<node-list-ref>components.node-list</node-list-ref>
+			</node>
+			<section>
+				<label>Composite</label>
+				<content>
+					<property-editor>Name</property-editor>
+					<property-editor>TargetNamespace</property-editor>
+					<node-list-ref>services.node-list</node-list-ref>
+					<spacer></spacer>
+					<separator></separator>
+                    <property-editor>
+						<property>Services</property>
+						<hint>
+							<name>show.label.above</name>
+							<value>true</value>
+						</hint>
+					</property-editor>
+                    <property-editor>
+						<property>Components</property>
+						<hint>
+							<name>show.label.above</name>
+							<value>true</value>
+						</hint>
+					</property-editor>
+				</content>
+			</section>
+		</node-template>
+	</node-list>
+	<node-list>
+		<id>services.node-list</id>
+		<property>services</property>
+		<node-template>
+			<label>${ Name == null ? "&lt;service&gt;" : Name }</label>
+			<node>
+				<label>SOAP Bindings</label>
+				<section>
+					<content>
+						<property-editor>
+							<property>SOAPBindings</property>
+							<hint>
+								<name>show.label</name>
+								<value>false</value>
+							</hint>
+						</property-editor>
+					</content>
+				</section>
+				<node-list-ref>soap.bindings.node-list</node-list-ref>
+			</node>
+			<section>
+				<label>Service</label>
+				<content>
+					<property-editor>Name</property-editor>
+					<property-editor>Promote</property-editor>
+					<spacer></spacer>
+					<separator></separator>
+                    <property-editor>
+						<property>SOAPBindings</property>
+						<hint>
+							<name>show.label.above</name>
+							<value>true</value>
+						</hint>
+					</property-editor>
+				</content>
+			</section>
+		</node-template>
+	</node-list>
+	<node-list>
+		<id>soap.bindings.node-list</id>
+		<property>SOAPBindings</property>
+		<node-template>
+			<label>&lt;binding.soap&gt;</label>
+			<section>
+				<label>SOAP Binding</label>
+				<content>
+					<group>
+						<label>Port Details</label>
+						<content>
+							<property-editor>Port</property-editor>
+							<property-editor>
+								<property>Secure</property>
+							</property-editor>
+						</content>							
+					</group>
+					<spacer></spacer>
+					<group>
+						<label>WSDL Details</label>
+						<content>
+		                    <property-editor>WSDL</property-editor>
+							<property-editor>
+								<property>WSDLDescription</property>
+								<hint>
+									<name>show.label.above</name>
+									<value>true</value>
+								</hint>
+								<hint>
+									<name>height</name>
+									<value>4</value>
+								</hint>
+							</property-editor>
+						</content>
+					</group>
+				</content>
+			</section>
+		</node-template>
+		<section>
+			<content></content>
+		</section>
+	</node-list>
+	<node-list>
+		<id>components.node-list</id>
+		<property>components</property>
+		<node-template>
+			<label>${ Name == null ? "&lt;component&gt;" : Name }</label>
+			<section>
+				<label>Component</label>
+				<content>
+					<property-editor>Name</property-editor>
+                    <property-editor>
+						<property>ImplementationBeans</property>
+						<hint>
+							<name>show.label.above</name>
+							<value>true</value>
+						</hint>
+                    </property-editor>
+                    <property-editor>
+						<property>ComponentServices</property>
+						<hint>
+							<name>show.label.above</name>
+							<value>true</value>
+						</hint>
+                    </property-editor>
+                    <property-editor>
+						<property>ComponentServiceReferences</property>
+						<hint>
+							<name>show.label.above</name>
+							<value>true</value>
+						</hint>
+                    </property-editor>
+				</content>
+			</section>
+            <node>
+                <label>Implementation Beans</label>
+                <section>
+                    <content>
+	                    <property-editor>
+							<property>ImplementationBeans</property>
+							<hint>
+								<name>show.label</name>
+								<value>false</value>
+							</hint>
+	                    </property-editor>
+                    </content>
+                </section>
+				<node-list-ref>implementation.beans.node-list</node-list-ref>
+            </node>
+            <node>
+                <label>Component Services</label>
+                <section>
+                    <content>
+	                    <property-editor>
+							<property>ComponentServices</property>
+							<hint>
+								<name>show.label</name>
+								<value>false</value>
+							</hint>
+	                    </property-editor>
+                    </content>
+                </section>
+                <node-list-ref>component.services.node-list</node-list-ref>
+            </node>
+            <node>
+                <label>Component Service References</label>
+                <section>
+                    <content>
+	                    <property-editor>
+							<property>ComponentServiceReferences</property>
+							<hint>
+								<name>show.label</name>
+								<value>false</value>
+							</hint>
+	                    </property-editor>
+                    </content>
+                </section>
+                <node-list-ref>component.service.references.node-list</node-list-ref>
+            </node>
+		</node-template>
+	</node-list>
+	<node-list>
+		<id>implementation.beans.node-list</id>
+		<property>ImplementationBeans</property>
+		<node-template>
+			<label>&lt;implementation.bean&gt;</label>
+            <section>
+                <label>Implementation Bean</label>
+                <content>
+                    <property-editor>ImplBeanClass</property-editor>
+                </content>
+            </section>
+		</node-template>
+		<section>
+			<content></content>
+		</section>
+	</node-list>
+	<node-list>
+		<id>component.services.node-list</id>
+		<property>ComponentServices</property>
+		<node-template>
+			<label>${ Name == null ? "&lt;service&gt;" : Name }</label>
+			<section>
+				<label>Service</label>
+				<content>
+					<property-editor>Name</property-editor>
+                    <property-editor>
+						<property>JavaInterfaces</property>
+						<hint>
+							<name>show.label.above</name>
+							<value>true</value>
+						</hint>
+                    </property-editor>
+				</content>
+			</section>
+            <node>
+                <label>Java Interfaces</label>
+                <section>
+                    <content>
+	                    <property-editor>
+							<property>JavaInterfaces</property>
+							<hint>
+								<name>show.label</name>
+								<value>false</value>
+							</hint>
+	                    </property-editor>
+                    </content>
+                </section>
+				<node-list-ref>java.interfaces.node-list</node-list-ref>
+            </node>
+		</node-template>
+	</node-list>
+	<node-list>
+		<id>java.interfaces.node-list</id>
+		<property>JavaInterfaces</property>
+		<node-template>
+			<label>&lt;interface.java&gt;</label>
+            <section>
+                <label>Java Interface</label>
+                <content>
+                    <property-editor>JavaInterface</property-editor>
+                </content>
+            </section>
+		</node-template>
+		<section>
+			<content></content>
+		</section>
+	</node-list>
+	<node-list>
+		<id>component.service.references.node-list</id>
+		<property>ComponentServiceReferences</property>
+		<node-template>
+			<label>${ Name == null ? "&lt;reference&gt;" : Name }</label>
+			<section>
+				<label>Reference</label>
+				<content>
+					<property-editor>Name</property-editor>
+                    <property-editor>
+						<property>JavaInterfaces</property>
+						<hint>
+							<name>show.label.above</name>
+							<value>true</value>
+						</hint>
+                    </property-editor>
+				</content>
+			</section>
+            <node>
+                <label>Java Interfaces</label>
+                <section>
+                    <content>
+	                    <property-editor>
+							<property>JavaInterfaces</property>
+							<hint>
+								<name>show.label</name>
+								<value>false</value>
+							</hint>
+	                    </property-editor>
+                    </content>
+                </section>
+				<node-list-ref>java.interfaces.node-list</node-list-ref>
+            </node>
+		</node-template>
+	</node-list>
+	<node-list>
+		<id>transforms.node-list</id>
+		<property>Transforms</property>
+		<node-template>
+			<label>&lt;transforms&gt;</label>
+			<section>
+				<label>Transforms</label>
+				<content>
+                    <property-editor>
+						<property>JavaTransforms</property>
+						<hint>
+							<name>show.label.above</name>
+							<value>true</value>
+						</hint>
+                    </property-editor>
+                    <property-editor>
+						<property>SmooksTransforms</property>
+						<hint>
+							<name>show.label.above</name>
+							<value>true</value>
+						</hint>
+                    </property-editor>
+				</content>
+			</section>
+            <node>
+                <label>Java Transforms</label>
+				<node-list-ref>transforms.java.transforms.node-list</node-list-ref>
+				<section>
+					<label>Java Transformations</label>
+					<content>
+	                    <property-editor>
+							<property>JavaTransforms</property>
+							<hint>
+								<name>show.label</name>
+								<value>false</value>
+							</hint>
+	                    </property-editor>
+					</content>
+				</section>
+            </node>
+            <node>
+                <label>Smooks Transforms</label>
+				<node-list-ref>transforms.smooks.transforms.node-list</node-list-ref>
+				<section>
+					<label>Smooks Transformations</label>
+					<content>
+	                    <property-editor>
+							<property>SmooksTransforms</property>
+							<hint>
+								<name>show.label</name>
+								<value>false</value>
+							</hint>
+	                    </property-editor>
+					</content>
+				</section>
+            </node>
+		</node-template>
+	</node-list>
+	<node-list>
+		<id>transforms.smooks.transforms.node-list</id>
+		<property>SmooksTransforms</property>
+		<node-template>
+ 			<label>&lt;from: ${ TransformSmooksFrom == null ? "undefined" : TransformSmooksFrom }&gt;&lt;to: ${ TransformSmooksTo == null ? "undefined" : TransformSmooksTo }&gt;</label>
+			<section>
+				<label>Smooks Transformations</label>
+				<content>
+					<property-editor>TransformSmooksFrom</property-editor>
+                    <property-editor>TransformSmooksTo</property-editor>
+                    <property-editor>TransformSmooksConfig</property-editor>
+				</content>
+			</section>
+		</node-template>
+	</node-list>
+	<node-list>
+		<id>transforms.java.transforms.node-list</id>
+		<property>JavaTransforms</property>
+		<node-template>
+ 			<label>&lt;class: ${ TransformJavaClass == null ? "undefined" : TransformJavaClass }&gt;</label>
+			<section>
+				<label>Java Transformations</label>
+				<content>
+					<property-editor>TransformJavaFrom</property-editor>
+                    <property-editor>TransformJavaTo</property-editor>
+                    <property-editor>TransformJavaClass</property-editor>
+				</content>
+			</section>
+		</node-template>
+	</node-list>
+
+    <diagram-page>
+        <id>diagram</id>
+        <page-name>SwitchyardDiagram</page-name>
+        <page-header-text>SwitchYard Diagram</page-header-text>
+        <node>
+            <id>composites</id>
+            <tool-palette-label>composite</tool-palette-label>
+            <tool-palette-desc>service composite</tool-palette-desc>
+            <property>composites</property>
+            <label>${Name == null ? &quot;&lt;composite&gt;&quot; : Name}</label>
+            <instance-id>${Name}</instance-id>
+        </node>
+        <node>
+            <id>transforms</id>
+            <tool-palette-label>transform</tool-palette-label>
+            <tool-palette-desc>service transformation</tool-palette-desc>
+            <property>Transforms</property>
+            <label>&lt;transforms&gt;</label>
+            <instance-id>transforms</instance-id>
+        </node>
+<!--         <node>
+            <id>services</id>
+            <tool-palette-label>service</tool-palette-label>
+            <tool-palette-desc>service</tool-palette-desc>
+            <property>composites/services</property>
+            <label>${Name == null ? &quot;&lt;service&gt;&quot; : Name}</label>
+            <instance-id>${Name}</instance-id>
+        </node>
+ -->    </diagram-page>
+</definition>
\ No newline at end of file

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/sdefs/switchyard-0.4.sdef
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/sdefs/switchyard-0.4.sdef	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/sdefs/switchyard-0.4.sdef	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,501 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definition>
+	<import>
+		<bundle>org.jboss.tools.sapphire</bundle>
+        <package>org.jboss.tools.esb.switchyard</package>
+        <package>org.jboss.tools.esb.switchyard.ui</package>
+	</import>
+	<editor-page>
+		<id>main</id>
+		<page-name>switchyard</page-name>
+		<page-header-text>switchyard</page-header-text>
+		<initial-selection>composites</initial-selection>
+		<root-node>
+			<node-ref>composites.node.root</node-ref>
+			<node-ref>transforms.node.root</node-ref>
+		</root-node>
+        <documentation>
+            <title>switchyard configuration editor</title>
+            <content>This would be the help content for the Switchyard Configuration Editor.</content>
+        </documentation>
+	</editor-page>
+	<node>
+		<id>composites.node.root</id>
+		<label>Composites</label>
+		<node-list-ref>composites.node-list</node-list-ref>
+		<section>
+			<label>Composites</label>
+			<content>
+                <property-editor>
+                    <property>composites</property>
+                    <hint>
+                        <name>show.label</name>
+                        <value>false</value>
+                    </hint>
+                </property-editor>
+			</content>
+	        <documentation>
+	            <title>Composites</title>
+	            <content>Here you can add a composite. Right now it's just a single composite that you can create and manage.</content>
+	        </documentation>
+		</section>
+	</node>
+	<node>
+		<id>transforms.node.root</id>
+		<label>Transforms</label>
+		<node-list-ref>transforms.node-list</node-list-ref>
+		<section>
+			<label>Transforms</label>
+			<content>
+				<action-link>
+					<label>Add a Transforms node</label>
+					<action-id>Sapphire.Add</action-id>
+				</action-link>
+			</content>
+	        <documentation>
+	            <title>Transforms</title>
+	            <content>Here you can add and manage a single &lt;transforms&gt; node. Beneath the Transforms node you define individual transformations to be used.</content>
+	        </documentation>
+		</section>
+	</node>
+	<node-list>
+		<id>composites.node-list</id>
+		<property>composites</property>
+		<node-template>
+			<label>&lt;composite&gt;</label>
+			<node>
+				<label>services</label>
+				<section>
+					<content>
+						<property-editor>
+							<property>Services</property>
+						<hint>
+							<name>show.label</name>
+							<value>false</value>
+						</hint>
+						</property-editor>
+					</content>
+				</section>
+				<node-list-ref>services.node-list</node-list-ref>
+			</node>
+ 			<node>
+				<label>components</label>
+				<section>
+					<content>
+						<property-editor>
+							<property>Components</property>
+							<hint>
+								<name>show.label</name>
+								<value>false</value>
+							</hint>
+						</property-editor>
+					</content>
+				</section>
+				<node-list-ref>components.node-list</node-list-ref>
+			</node>
+			<section>
+				<label>Composite</label>
+				<content>
+					<property-editor>Name</property-editor>
+					<property-editor>TargetNamespace</property-editor>
+					<node-list-ref>services.node-list</node-list-ref>
+					<spacer></spacer>
+					<separator></separator>
+                    <property-editor>
+						<property>Services</property>
+						<hint>
+							<name>show.label.above</name>
+							<value>true</value>
+						</hint>
+					</property-editor>
+                    <property-editor>
+						<property>Components</property>
+						<hint>
+							<name>show.label.above</name>
+							<value>true</value>
+						</hint>
+					</property-editor>
+				</content>
+			</section>
+		</node-template>
+	</node-list>
+	<node-list>
+		<id>services.node-list</id>
+		<property>services</property>
+		<node-template>
+			<label>${ Name == null ? "&lt;service&gt;" : Name }</label>
+			<node>
+				<label>SOAP Bindings</label>
+				<section>
+					<content>
+						<property-editor>
+							<property>SOAPBindings</property>
+							<hint>
+								<name>show.label</name>
+								<value>false</value>
+							</hint>
+						</property-editor>
+					</content>
+				</section>
+				<node-list-ref>soap.bindings.node-list</node-list-ref>
+			</node>
+			<section>
+				<label>Service</label>
+				<content>
+					<property-editor>Name</property-editor>
+					<property-editor>Promote</property-editor>
+					<spacer></spacer>
+					<separator></separator>
+                    <property-editor>
+						<property>SOAPBindings</property>
+						<hint>
+							<name>show.label.above</name>
+							<value>true</value>
+						</hint>
+					</property-editor>
+				</content>
+			</section>
+		</node-template>
+	</node-list>
+	<node-list>
+		<id>soap.bindings.node-list</id>
+		<property>SOAPBindings</property>
+		<node-template>
+			<label>&lt;binding.soap&gt;</label>
+			<section>
+				<label>SOAP Binding</label>
+				<content>
+					<group>
+						<label>Port Details</label>
+						<content>
+							<property-editor>Port</property-editor>
+							<property-editor>
+								<property>Secure</property>
+							</property-editor>
+						</content>							
+					</group>
+					<spacer></spacer>
+					<group>
+						<label>WSDL Details</label>
+						<content>
+		                    <property-editor>WSDL</property-editor>
+							<property-editor>
+								<property>WSDLDescription</property>
+								<hint>
+									<name>show.label.above</name>
+									<value>true</value>
+								</hint>
+								<hint>
+									<name>height</name>
+									<value>4</value>
+								</hint>
+							</property-editor>
+						</content>
+					</group>
+				</content>
+			</section>
+		</node-template>
+		<section>
+			<content></content>
+		</section>
+	</node-list>
+	<node-list>
+		<id>components.node-list</id>
+		<property>components</property>
+		<node-template>
+			<label>${ Name == null ? "&lt;component&gt;" : Name }</label>
+			<section>
+				<label>Component</label>
+				<content>
+					<property-editor>Name</property-editor>
+                    <property-editor>
+						<property>ImplementationBeans</property>
+						<hint>
+							<name>show.label.above</name>
+							<value>true</value>
+						</hint>
+                    </property-editor>
+                    <property-editor>
+						<property>ComponentServices</property>
+						<hint>
+							<name>show.label.above</name>
+							<value>true</value>
+						</hint>
+                    </property-editor>
+                    <property-editor>
+						<property>ComponentServiceReferences</property>
+						<hint>
+							<name>show.label.above</name>
+							<value>true</value>
+						</hint>
+                    </property-editor>
+				</content>
+			</section>
+            <node>
+                <label>Implementation Beans</label>
+                <section>
+                    <content>
+	                    <property-editor>
+							<property>ImplementationBeans</property>
+							<hint>
+								<name>show.label</name>
+								<value>false</value>
+							</hint>
+	                    </property-editor>
+                    </content>
+                </section>
+				<node-list-ref>implementation.beans.node-list</node-list-ref>
+            </node>
+            <node>
+                <label>Component Services</label>
+                <section>
+                    <content>
+	                    <property-editor>
+							<property>ComponentServices</property>
+							<hint>
+								<name>show.label</name>
+								<value>false</value>
+							</hint>
+	                    </property-editor>
+                    </content>
+                </section>
+                <node-list-ref>component.services.node-list</node-list-ref>
+            </node>
+            <node>
+                <label>Component Service References</label>
+                <section>
+                    <content>
+	                    <property-editor>
+							<property>ComponentServiceReferences</property>
+							<hint>
+								<name>show.label</name>
+								<value>false</value>
+							</hint>
+	                    </property-editor>
+                    </content>
+                </section>
+                <node-list-ref>component.service.references.node-list</node-list-ref>
+            </node>
+		</node-template>
+	</node-list>
+	<node-list>
+		<id>implementation.beans.node-list</id>
+		<property>ImplementationBeans</property>
+		<node-template>
+			<label>&lt;implementation.bean&gt;</label>
+            <section>
+                <label>Implementation Bean</label>
+                <content>
+                    <property-editor>ImplBeanClass</property-editor>
+                </content>
+            </section>
+		</node-template>
+		<section>
+			<content></content>
+		</section>
+	</node-list>
+	<node-list>
+		<id>component.services.node-list</id>
+		<property>ComponentServices</property>
+		<node-template>
+			<label>${ Name == null ? "&lt;service&gt;" : Name }</label>
+			<section>
+				<label>Service</label>
+				<content>
+					<property-editor>Name</property-editor>
+                    <property-editor>
+						<property>JavaInterfaces</property>
+						<hint>
+							<name>show.label.above</name>
+							<value>true</value>
+						</hint>
+                    </property-editor>
+				</content>
+			</section>
+            <node>
+                <label>Java Interfaces</label>
+                <section>
+                    <content>
+	                    <property-editor>
+							<property>JavaInterfaces</property>
+							<hint>
+								<name>show.label</name>
+								<value>false</value>
+							</hint>
+	                    </property-editor>
+                    </content>
+                </section>
+				<node-list-ref>java.interfaces.node-list</node-list-ref>
+            </node>
+		</node-template>
+	</node-list>
+	<node-list>
+		<id>java.interfaces.node-list</id>
+		<property>JavaInterfaces</property>
+		<node-template>
+			<label>&lt;interface.java&gt;</label>
+            <section>
+                <label>Java Interface</label>
+                <content>
+                    <property-editor>JavaInterface</property-editor>
+                </content>
+            </section>
+		</node-template>
+		<section>
+			<content></content>
+		</section>
+	</node-list>
+	<node-list>
+		<id>component.service.references.node-list</id>
+		<property>ComponentServiceReferences</property>
+		<node-template>
+			<label>${ Name == null ? "&lt;reference&gt;" : Name }</label>
+			<section>
+				<label>Reference</label>
+				<content>
+					<property-editor>Name</property-editor>
+                    <property-editor>
+						<property>JavaInterfaces</property>
+						<hint>
+							<name>show.label.above</name>
+							<value>true</value>
+						</hint>
+                    </property-editor>
+				</content>
+			</section>
+            <node>
+                <label>Java Interfaces</label>
+                <section>
+                    <content>
+	                    <property-editor>
+							<property>JavaInterfaces</property>
+							<hint>
+								<name>show.label</name>
+								<value>false</value>
+							</hint>
+	                    </property-editor>
+                    </content>
+                </section>
+				<node-list-ref>java.interfaces.node-list</node-list-ref>
+            </node>
+		</node-template>
+	</node-list>
+	<node-list>
+		<id>transforms.node-list</id>
+		<property>Transforms</property>
+		<node-template>
+			<label>&lt;transforms&gt;</label>
+			<section>
+				<label>Transforms</label>
+				<content>
+                    <property-editor>
+						<property>JavaTransforms</property>
+						<hint>
+							<name>show.label.above</name>
+							<value>true</value>
+						</hint>
+                    </property-editor>
+                    <property-editor>
+						<property>SmooksTransforms</property>
+						<hint>
+							<name>show.label.above</name>
+							<value>true</value>
+						</hint>
+                    </property-editor>
+				</content>
+			</section>
+            <node>
+                <label>Java Transforms</label>
+				<node-list-ref>transforms.java.transforms.node-list</node-list-ref>
+				<section>
+					<label>Java Transformations</label>
+					<content>
+	                    <property-editor>
+							<property>JavaTransforms</property>
+							<hint>
+								<name>show.label</name>
+								<value>false</value>
+							</hint>
+	                    </property-editor>
+					</content>
+				</section>
+            </node>
+            <node>
+                <label>Smooks Transforms</label>
+				<node-list-ref>transforms.smooks.transforms.node-list</node-list-ref>
+				<section>
+					<label>Smooks Transformations</label>
+					<content>
+	                    <property-editor>
+							<property>SmooksTransforms</property>
+							<hint>
+								<name>show.label</name>
+								<value>false</value>
+							</hint>
+	                    </property-editor>
+					</content>
+				</section>
+            </node>
+		</node-template>
+	</node-list>
+	<node-list>
+		<id>transforms.smooks.transforms.node-list</id>
+		<property>SmooksTransforms</property>
+		<node-template>
+ 			<label>&lt;from: ${ TransformSmooksFrom == null ? "undefined" : TransformSmooksFrom }&gt;&lt;to: ${ TransformSmooksTo == null ? "undefined" : TransformSmooksTo }&gt;</label>
+			<section>
+				<label>Smooks Transformations</label>
+				<content>
+					<property-editor>TransformSmooksFrom</property-editor>
+                    <property-editor>TransformSmooksTo</property-editor>
+                    <property-editor>TransformSmooksConfig</property-editor>
+				</content>
+			</section>
+		</node-template>
+	</node-list>
+	<node-list>
+		<id>transforms.java.transforms.node-list</id>
+		<property>JavaTransforms</property>
+		<node-template>
+ 			<label>&lt;class: ${ TransformJavaClass == null ? "undefined" : TransformJavaClass }&gt;</label>
+			<section>
+				<label>Java Transformations</label>
+				<content>
+					<property-editor>TransformJavaFrom</property-editor>
+                    <property-editor>TransformJavaTo</property-editor>
+                    <property-editor>TransformJavaClass</property-editor>
+				</content>
+			</section>
+		</node-template>
+	</node-list>
+
+    <diagram-page>
+        <id>diagram</id>
+        <page-name>SwitchyardDiagram</page-name>
+        <page-header-text>SwitchYard Diagram</page-header-text>
+        <node>
+            <id>composites</id>
+            <tool-palette-label>composite</tool-palette-label>
+            <tool-palette-desc>service composite</tool-palette-desc>
+            <property>composites</property>
+            <label>${Name == null ? &quot;&lt;composite&gt;&quot; : Name}</label>
+            <instance-id>${Name}</instance-id>
+        </node>
+        <node>
+            <id>transforms</id>
+            <tool-palette-label>transform</tool-palette-label>
+            <tool-palette-desc>service transformation</tool-palette-desc>
+            <property>Transforms</property>
+            <label>&lt;transforms&gt;</label>
+            <instance-id>transforms</instance-id>
+        </node>
+<!--         <node>
+            <id>services</id>
+            <tool-palette-label>service</tool-palette-label>
+            <tool-palette-desc>service</tool-palette-desc>
+            <property>composites/services</property>
+            <label>${Name == null ? &quot;&lt;service&gt;&quot; : Name}</label>
+            <instance-id>${Name}</instance-id>
+        </node>
+ -->    </diagram-page>
+</definition>
\ No newline at end of file

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/sdefs/switchyard.sdef
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/sdefs/switchyard.sdef	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/sdefs/switchyard.sdef	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definition>
+    <import>
+        <bundle>org.jboss.tools.sapphire</bundle>
+        <package>org.jboss.tools.sapphire</package>
+        <package>org.jboss.tools.sapphire.ui</package>
+    </import>
+    <editor-page>
+        <id>main</id>
+        <page-name>switchyard</page-name>
+        <page-header-text>switchyard</page-header-text>
+        <initial-selection>composites</initial-selection>
+        <root-node>
+            <node>
+                <label>composites</label>
+                <section>
+                    <description>Use this editor to manage your SwitchYard Configuration.</description>
+                    <content>
+                        <action-link>
+                            <action-id>Sapphire.Add</action-id>
+                            <label>Add a Composite</label>
+                        </action-link>
+<!--                         <property-editor>
+                        	<property>composites</property>
+                            <hint>
+                                <name>show.label</name>
+                                <value>false</value>
+                            </hint>
+                        </property-editor>
+-->
+                    </content>
+                </section>
+                <node-list>
+                    <property>composites</property>
+                    <node-template>
+                     	<label>&lt;composite&gt;</label>
+                        <node>
+                            <label>services</label>
+                            <section>
+                                <content>
+	                        		<action-link>
+	                            		<action-id>Sapphire.Add</action-id>
+	                            		<label>Add a Service</label>
+	                        		</action-link>
+                                    <property-editor>
+                                        <property>Services</property>
+                                    </property-editor>
+                                </content>
+                            </section>
+			                <node-list>
+			                    <property>services</property>
+			                    <node-template>
+			                        <label>${ Name == null ? "&lt;service&gt;" : Name }</label>
+			                        <node>
+			                        	<label>SOAP Bindings</label>
+			                        	<section>
+			                        		<content>
+				                        		<action-link>
+				                            		<action-id>Sapphire.Add</action-id>
+				                            		<label>Add a SOAP Binding</label>
+				                        		</action-link>
+                                                <property-editor>
+                                                    <property>SOAPBindings</property>
+                                                    <hint>
+                                                        <name>show.label</name>
+                                                        <value>false</value>
+                                                    </hint>
+                                                </property-editor>
+			                        		</content>
+			                        	</section>
+						                <node-list>
+						                    <property>SOAPBindings</property>
+						                    <node-template>
+						                        <label>&lt;binding.soap&gt;</label>
+			                       				<section>
+			                           				<label>SOAP Binding</label>
+			                           				<content>
+			                                            <property-editor>ServerPort</property-editor>
+			                                            <property-editor>WSDL</property-editor>
+			                            			</content>
+			                            		</section>
+						                    </node-template>
+						                    <section>
+						                    	<content></content>
+						                    </section>
+						                </node-list>
+			                        </node>
+                       				<section>
+                           				<label>Service</label>
+                           				<content>
+                                            <property-editor>Name</property-editor>
+		                                    <property-editor>
+		                                        <property>SOAPBindings</property>
+		                                    </property-editor>
+                            			</content>
+                            		</section>
+			                    </node-template>
+			                </node-list>
+                        </node>
+                        <section>
+                            <label>Composite</label>
+                            <content>
+	                       		<action-link>
+	                           		<action-id>Sapphire.Add</action-id>
+	                           		<label>Add a Service</label>
+	                       		</action-link>
+                                <property-editor>
+                                    <property>Services</property>
+                                </property-editor>
+	                       		<action-link>
+	                           		<action-id>Sapphire.Add</action-id>
+	                           		<label>Add a Component</label>
+	                       		</action-link>
+                                <property-editor>
+                                    <property>Components</property>
+                                </property-editor>
+				                <node-list>
+				                    <property>services</property>
+				                    <node-template>
+				                        <label>${ Name == null ? "&lt;service&gt;" : Name }</label>
+                        				<section>
+                            				<label>Service</label>
+                            				<content>
+                               					<property-editor>Name</property-editor>
+                               				</content>
+                               			</section>
+				                    </node-template>
+				                    <property>Components</property>
+				                    <node-template>
+				                        <label>${ Name == null ? "&lt;component&gt;" : Name }</label>
+                        				<section>
+                            				<label>Component</label>
+                            				<content>
+                               					<property-editor>Name</property-editor>
+                               				</content>
+                               			</section>
+				                    </node-template>
+				                </node-list>
+                            </content>
+                        </section>
+                    </node-template>
+                </node-list>
+            </node>
+        </root-node>
+    </editor-page>
+</definition>
\ No newline at end of file

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IComponent.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IComponent.java	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IComponent.java	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,65 @@
+package org.jboss.tools.esb.switchyard;
+
+import org.eclipse.sapphire.modeling.IModelElement;
+import org.eclipse.sapphire.modeling.ListProperty;
+import org.eclipse.sapphire.modeling.ModelElementList;
+import org.eclipse.sapphire.modeling.ModelElementType;
+import org.eclipse.sapphire.modeling.Value;
+import org.eclipse.sapphire.modeling.ValueProperty;
+import org.eclipse.sapphire.modeling.annotations.GenerateImpl;
+import org.eclipse.sapphire.modeling.annotations.Label;
+import org.eclipse.sapphire.modeling.annotations.NonNullValue;
+import org.eclipse.sapphire.modeling.annotations.Type;
+import org.eclipse.sapphire.modeling.xml.annotations.XmlBinding;
+import org.eclipse.sapphire.modeling.xml.annotations.XmlListBinding;
+import org.eclipse.sapphire.modeling.xml.annotations.XmlNamespace;
+import org.eclipse.sapphire.modeling.xml.annotations.XmlNamespaces;
+
+ at GenerateImpl
+
+ at XmlNamespaces( value = {@XmlNamespace( uri = "http://docs.oasis-open.org/ns/opencsa/sca/200912", prefix = "sca" ),
+		@XmlNamespace( uri = "urn:switchyard-config:test-bean:1.0", prefix = "bean" )})
+
+public interface IComponent extends IModelElement {
+
+    ModelElementType TYPE = new ModelElementType( IComponent.class );
+
+    // *** Name ***
+    
+    @XmlBinding( path = "@name" )
+    @Label( standard = "&Name" )
+    @NonNullValue
+
+    ValueProperty PROP_NAME = new ValueProperty( TYPE, "Name" );
+
+    Value<String> getName();
+    void setName( String value );
+
+    // *** ImplementationBeans ***
+
+    @Label( standard = "&Implementation Beans" )
+    @Type( base = IImplementationBean.class )
+    @XmlListBinding( mappings = @XmlListBinding.Mapping( element = "bean:implementation.bean", type = IImplementationBean.class ) )
+    
+    ListProperty PROP_IMPLEMENTATION_BEANS = new ListProperty( TYPE, "ImplementationBeans" );
+    
+    ModelElementList<IImplementationBean> getImplementationBeans();
+
+    // *** Services ***
+
+    @Type( base = IComponentService.class )
+    @XmlListBinding( mappings = @XmlListBinding.Mapping( element = "sca:service", type = IComponentService.class ) )
+    
+    ListProperty PROP_COMPONENT_SERVICES = new ListProperty( TYPE, "ComponentServices" );
+    
+    ModelElementList<IComponentService> getComponentServices();
+
+    // *** Services ***
+
+    @Type( base = IComponentServiceReference.class )
+    @XmlListBinding( mappings = @XmlListBinding.Mapping( element = "reference", type = IComponentServiceReference.class ) )
+    
+    ListProperty PROP_COMPONENT_SERVICE_REFERENCES = new ListProperty( TYPE, "ComponentServiceReferences" );
+    
+    ModelElementList<IComponentServiceReference> getComponentServiceReferences();
+}


Property changes on: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IComponent.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IComponentService.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IComponentService.java	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IComponentService.java	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,45 @@
+package org.jboss.tools.esb.switchyard;
+
+import org.eclipse.sapphire.modeling.IModelElement;
+import org.eclipse.sapphire.modeling.ListProperty;
+import org.eclipse.sapphire.modeling.ModelElementList;
+import org.eclipse.sapphire.modeling.ModelElementType;
+import org.eclipse.sapphire.modeling.Value;
+import org.eclipse.sapphire.modeling.ValueProperty;
+import org.eclipse.sapphire.modeling.annotations.GenerateImpl;
+import org.eclipse.sapphire.modeling.annotations.Label;
+import org.eclipse.sapphire.modeling.annotations.NonNullValue;
+import org.eclipse.sapphire.modeling.annotations.Type;
+import org.eclipse.sapphire.modeling.xml.annotations.XmlBinding;
+import org.eclipse.sapphire.modeling.xml.annotations.XmlListBinding;
+import org.eclipse.sapphire.modeling.xml.annotations.XmlNamespace;
+
+ at GenerateImpl
+ at XmlNamespace( uri = "http://docs.oasis-open.org/ns/opencsa/sca/200912", prefix = "sca" )
+
+public interface IComponentService extends IModelElement {
+
+    ModelElementType TYPE = new ModelElementType( IComponentService.class );
+
+    // *** Name ***
+    
+    @XmlBinding( path = "@name" )
+    @Label( standard = "&Name" )
+    @NonNullValue
+
+    ValueProperty PROP_NAME = new ValueProperty( TYPE, "Name" );
+
+    Value<String> getName();
+    void setName( String value );
+
+    // *** Java Interfaces ***
+
+    @Label( standard = "&Java Interfaces" )
+    @Type( base = IInterfaceJava.class )
+    @XmlListBinding( mappings = @XmlListBinding.Mapping( element = "sca:interface.java", type = IInterfaceJava.class ) )
+    
+    ListProperty PROP_JAVA_INTERFACES = new ListProperty( TYPE, "JavaInterfaces" );
+    
+    ModelElementList<IInterfaceJava> getJavaInterfaces();
+
+}


Property changes on: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IComponentService.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IComponentServiceReference.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IComponentServiceReference.java	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IComponentServiceReference.java	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,45 @@
+package org.jboss.tools.esb.switchyard;
+
+import org.eclipse.sapphire.modeling.IModelElement;
+import org.eclipse.sapphire.modeling.ListProperty;
+import org.eclipse.sapphire.modeling.ModelElementList;
+import org.eclipse.sapphire.modeling.ModelElementType;
+import org.eclipse.sapphire.modeling.Value;
+import org.eclipse.sapphire.modeling.ValueProperty;
+import org.eclipse.sapphire.modeling.annotations.GenerateImpl;
+import org.eclipse.sapphire.modeling.annotations.Label;
+import org.eclipse.sapphire.modeling.annotations.NonNullValue;
+import org.eclipse.sapphire.modeling.annotations.Type;
+import org.eclipse.sapphire.modeling.xml.annotations.XmlBinding;
+import org.eclipse.sapphire.modeling.xml.annotations.XmlListBinding;
+import org.eclipse.sapphire.modeling.xml.annotations.XmlNamespace;
+
+ at GenerateImpl
+ at XmlNamespace( uri = "http://docs.oasis-open.org/ns/opencsa/sca/200912", prefix = "sca" )
+
+public interface IComponentServiceReference extends IModelElement {
+
+    ModelElementType TYPE = new ModelElementType( IComponentServiceReference.class );
+
+    // *** Name ***
+    
+    @XmlBinding( path = "@name" )
+    @Label( standard = "&Name" )
+    @NonNullValue
+
+    ValueProperty PROP_NAME = new ValueProperty( TYPE, "Name" );
+
+    Value<String> getName();
+    void setName( String value );
+
+    // *** Java Interfaces ***
+
+    @Label( standard = "&Java Interfaces" )
+    @Type( base = IInterfaceJava.class )
+    @XmlListBinding( mappings = @XmlListBinding.Mapping( element = "sca:interface.java", type = IInterfaceJava.class ) )
+    
+    ListProperty PROP_JAVA_INTERFACES = new ListProperty( TYPE, "JavaInterfaces" );
+    
+    ModelElementList<IInterfaceJava> getJavaInterfaces();
+
+}


Property changes on: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IComponentServiceReference.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IComposite.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IComposite.java	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IComposite.java	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,62 @@
+package org.jboss.tools.esb.switchyard;
+
+import org.eclipse.sapphire.modeling.IModelElement;
+import org.eclipse.sapphire.modeling.ListProperty;
+import org.eclipse.sapphire.modeling.ModelElementList;
+import org.eclipse.sapphire.modeling.ModelElementType;
+import org.eclipse.sapphire.modeling.Value;
+import org.eclipse.sapphire.modeling.ValueProperty;
+import org.eclipse.sapphire.modeling.annotations.GenerateImpl;
+import org.eclipse.sapphire.modeling.annotations.Label;
+import org.eclipse.sapphire.modeling.annotations.NonNullValue;
+import org.eclipse.sapphire.modeling.annotations.Type;
+import org.eclipse.sapphire.modeling.xml.annotations.XmlBinding;
+import org.eclipse.sapphire.modeling.xml.annotations.XmlListBinding;
+
+ at GenerateImpl
+
+public interface IComposite  extends IModelElement {
+
+    ModelElementType TYPE = new ModelElementType( IComposite.class );
+
+    // *** Name ***
+    
+    @XmlBinding( path = "@name" )
+    @Label( standard = "&Name" )
+    @NonNullValue
+
+    ValueProperty PROP_NAME = new ValueProperty( TYPE, "Name" );
+
+    Value<String> getName();
+    void setName( String value );
+
+    // *** targetNamespace ***
+    
+    @XmlBinding( path = "@targetNamespace" )
+    @Label( standard = "&Target Namespace" )
+    @NonNullValue
+
+    ValueProperty PROP_TARGET_NAMESPACE = new ValueProperty( TYPE, "TargetNamespace" );
+
+    Value<String> getTargetNamespace();
+    void setTargetNamespace( String value );
+
+    // *** Services ***
+
+    @Type( base = IService.class )
+    @XmlListBinding( mappings = @XmlListBinding.Mapping( element = "service", type = IService.class ) )
+    
+    ListProperty PROP_SERVICES = new ListProperty( TYPE, "Services" );
+    
+    ModelElementList<IService> getServices();
+
+    // *** Components ***
+
+    @Type( base = IComponent.class )
+    @XmlListBinding( mappings = @XmlListBinding.Mapping( element = "component", type = IComponent.class ) )
+    
+    ListProperty PROP_COMPONENTS = new ListProperty( TYPE, "Components" );
+    
+    ModelElementList<IComponent> getComponents();
+
+}


Property changes on: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IComposite.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IImplementationBean.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IImplementationBean.java	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IImplementationBean.java	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,44 @@
+package org.jboss.tools.esb.switchyard;
+
+import org.eclipse.sapphire.modeling.IModelElement;
+import org.eclipse.sapphire.modeling.ModelElementType;
+import org.eclipse.sapphire.modeling.Value;
+import org.eclipse.sapphire.modeling.ValueProperty;
+import org.eclipse.sapphire.modeling.annotations.GenerateImpl;
+import org.eclipse.sapphire.modeling.annotations.Label;
+import org.eclipse.sapphire.modeling.annotations.MustExist;
+import org.eclipse.sapphire.modeling.annotations.NonNullValue;
+import org.eclipse.sapphire.modeling.annotations.Type;
+import org.eclipse.sapphire.java.JavaTypeConstraint;
+import org.eclipse.sapphire.java.JavaTypeKind;
+import org.eclipse.sapphire.java.JavaTypeName;
+import org.eclipse.sapphire.modeling.xml.annotations.XmlBinding;
+
+ at GenerateImpl
+
+public interface IImplementationBean extends IModelElement {
+
+    ModelElementType TYPE = new ModelElementType( IImplementationBean.class );
+
+    // *** class ***
+    
+    @XmlBinding( path = "@class" )
+    @Label( standard = "&class" )
+    @NonNullValue
+
+//    ValueProperty PROP_IMPL_BEAN_CLASS = new ValueProperty( TYPE, "ImplBeanClass" );
+//
+//    Value<String> getImplBeanClass();
+//    void setImplBeanClass ( String value );
+
+    @Type( base = JavaTypeName.class )
+    @JavaTypeConstraint( kind = JavaTypeKind.CLASS, type = { "java.lang.Object"} )
+    @MustExist
+        
+    ValueProperty PROP_IMPL_BEAN_CLASS = new ValueProperty( TYPE, "ImplBeanClass" );
+        
+    Value<JavaTypeName> getImplBeanClass();
+    void setImplBeanClass( String value );
+    void setImplBeanClass( JavaTypeName value );
+
+}


Property changes on: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IImplementationBean.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IInterfaceJava.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IInterfaceJava.java	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IInterfaceJava.java	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,43 @@
+package org.jboss.tools.esb.switchyard;
+
+import org.eclipse.sapphire.modeling.IModelElement;
+import org.eclipse.sapphire.modeling.ModelElementType;
+import org.eclipse.sapphire.modeling.Value;
+import org.eclipse.sapphire.modeling.ValueProperty;
+import org.eclipse.sapphire.modeling.annotations.GenerateImpl;
+import org.eclipse.sapphire.modeling.annotations.Label;
+import org.eclipse.sapphire.modeling.annotations.MustExist;
+import org.eclipse.sapphire.modeling.annotations.NonNullValue;
+import org.eclipse.sapphire.modeling.annotations.Type;
+import org.eclipse.sapphire.java.JavaTypeConstraint;
+import org.eclipse.sapphire.java.JavaTypeKind;
+import org.eclipse.sapphire.java.JavaTypeName;
+import org.eclipse.sapphire.modeling.xml.annotations.XmlBinding;
+
+ at GenerateImpl
+
+public interface IInterfaceJava extends IModelElement {
+
+    ModelElementType TYPE = new ModelElementType( IInterfaceJava.class );
+
+    // *** java interface ***
+    
+    @XmlBinding( path = "@interface" )
+    @Label( standard = "&Interface" )
+    @NonNullValue
+
+//    ValueProperty PROP_JAVA_INTERFACE = new ValueProperty( TYPE, "JavaInterface" );
+//
+//    Value<String> getJavaInterface();
+//    void setJavaInterface ( String value );
+
+    @Type( base = JavaTypeName.class )
+    @JavaTypeConstraint( kind = JavaTypeKind.INTERFACE, type = {} )
+    @MustExist
+        
+    ValueProperty PROP_JAVA_INTERFACE = new ValueProperty( TYPE, "JavaInterface" );
+        
+    Value<JavaTypeName> getJavaInterface();
+    void setJavaInterface( String value );
+    void setJavaInterface( JavaTypeName value );
+}


Property changes on: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IInterfaceJava.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ISOAPBinding.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ISOAPBinding.java	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ISOAPBinding.java	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,84 @@
+package org.jboss.tools.esb.switchyard;
+
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.sapphire.modeling.IModelElement;
+import org.eclipse.sapphire.modeling.ModelElementType;
+import org.eclipse.sapphire.modeling.Value;
+import org.eclipse.sapphire.modeling.ValueProperty;
+import org.eclipse.sapphire.modeling.annotations.BasePathsProvider;
+import org.eclipse.sapphire.modeling.annotations.DefaultValue;
+import org.eclipse.sapphire.modeling.annotations.FileSystemResourceType;
+import org.eclipse.sapphire.modeling.annotations.GenerateImpl;
+import org.eclipse.sapphire.modeling.annotations.Label;
+import org.eclipse.sapphire.modeling.annotations.LongString;
+import org.eclipse.sapphire.modeling.annotations.MustExist;
+import org.eclipse.sapphire.modeling.annotations.NonNullValue;
+import org.eclipse.sapphire.modeling.annotations.Type;
+import org.eclipse.sapphire.modeling.annotations.ValidFileExtensions;
+import org.eclipse.sapphire.modeling.annotations.ValidFileSystemResourceType;
+import org.eclipse.sapphire.modeling.xml.annotations.XmlBinding;
+import org.eclipse.sapphire.ui.def.internal.ProjectRootBasePathsProvider;
+
+ at GenerateImpl
+
+public interface ISOAPBinding  extends IModelElement{
+
+    ModelElementType TYPE = new ModelElementType( ISOAPBinding.class );
+
+    // *** serverPort ***
+    @XmlBinding( path = "port" )
+    @Label( standard = "&Port" )
+    @NonNullValue
+
+    ValueProperty PROP_PORT = new ValueProperty( TYPE, "Port" );
+
+    Value<String> getPort();
+    void setPort( String value );
+
+    // *** WSDL ***
+    
+    @XmlBinding( path = "wsdl" )
+    @Label( standard = "&WSDL" )
+    @NonNullValue
+
+    @Type( base = IPath.class )
+    @BasePathsProvider( ProjectRootBasePathsProvider.class )
+    @ValidFileSystemResourceType( FileSystemResourceType.FILE )
+    @ValidFileExtensions( "wsdl" )
+    @MustExist
+        
+    ValueProperty PROP_WSDL = new ValueProperty( TYPE, "WSDL" );
+        
+    Value<IPath> getWsdl();
+    void setWsdl( String value );
+    void setWsdl( IPath value );
+
+//    ValueProperty PROP_WSDL = new ValueProperty( TYPE, "WSDL" );
+//
+//    Value<String> getWsdl();
+//    void setWsdl( String value );
+
+    // *** secure ***
+    
+    @Type( base = Boolean.class)
+    @XmlBinding( path = "port/@secure" )
+    @Label( standard = "&Secure Port" )
+    @DefaultValue(text = "false")
+
+    ValueProperty PROP_SECURE = new ValueProperty( TYPE, "Secure" );
+
+    Value<Boolean> getSecure();
+    void setSecure ( String value );
+    void setSecure ( Boolean value );
+
+    // *** description ***
+    
+    @XmlBinding( path = "wsdl/@description" )
+    @Label( standard = "&WSDL Description" )
+    @LongString
+
+    ValueProperty PROP_WSDL_DESCRIPTION = new ValueProperty( TYPE, "WsdlDescription" );
+
+    Value<String> getWsdlDescription();
+    void setWsdlDescription ( String value );
+}


Property changes on: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ISOAPBinding.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IService.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IService.java	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IService.java	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,56 @@
+package org.jboss.tools.esb.switchyard;
+
+import org.eclipse.sapphire.modeling.IModelElement;
+import org.eclipse.sapphire.modeling.ListProperty;
+import org.eclipse.sapphire.modeling.ModelElementList;
+import org.eclipse.sapphire.modeling.ModelElementType;
+import org.eclipse.sapphire.modeling.Value;
+import org.eclipse.sapphire.modeling.ValueProperty;
+import org.eclipse.sapphire.modeling.annotations.GenerateImpl;
+import org.eclipse.sapphire.modeling.annotations.Label;
+import org.eclipse.sapphire.modeling.annotations.NonNullValue;
+import org.eclipse.sapphire.modeling.annotations.Type;
+import org.eclipse.sapphire.modeling.xml.annotations.XmlBinding;
+import org.eclipse.sapphire.modeling.xml.annotations.XmlListBinding;
+import org.eclipse.sapphire.modeling.xml.annotations.XmlNamespace;
+
+ at XmlNamespace( uri = "urn:switchyard-config:test-soap:1.0", prefix = "soap" )
+ at GenerateImpl
+
+public interface IService extends IModelElement {
+
+    ModelElementType TYPE = new ModelElementType( IService.class );
+
+    // *** Name ***
+    
+    @XmlBinding( path = "@name" )
+    @Label( standard = "&Name" )
+    @NonNullValue
+
+    ValueProperty PROP_NAME = new ValueProperty( TYPE, "Name" );
+
+    Value<String> getName();
+    void setName( String value );
+
+    // *** Promote ***
+    
+    @XmlBinding( path = "@promote" )
+    @Label( standard = "&Promote" )
+    @NonNullValue
+
+    ValueProperty PROP_PROMOTE = new ValueProperty( TYPE, "Promote" );
+
+    Value<String> getPromote();
+    void setPromote( String value );
+
+    // *** SOAPBindings ***
+
+    @Label( standard = "&SOAP Bindings" )
+    @Type( base = ISOAPBinding.class )
+    @XmlListBinding( mappings = @XmlListBinding.Mapping( element = "soap:binding.soap", type = ISOAPBinding.class ) )
+    
+    ListProperty PROP_SOAPBINDINGS = new ListProperty( TYPE, "SOAPBindings" );
+    
+    ModelElementList<ISOAPBinding> getSoapbindings();
+
+}


Property changes on: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IService.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ISwitchyard.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ISwitchyard.java	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ISwitchyard.java	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,48 @@
+package org.jboss.tools.esb.switchyard;
+
+import org.eclipse.sapphire.modeling.IModelElement;
+import org.eclipse.sapphire.modeling.ListProperty;
+import org.eclipse.sapphire.modeling.ModelElementList;
+import org.eclipse.sapphire.modeling.ModelElementType;
+import org.eclipse.sapphire.modeling.annotations.CountConstraint;
+import org.eclipse.sapphire.modeling.annotations.GenerateImpl;
+import org.eclipse.sapphire.modeling.annotations.Type;
+import org.eclipse.sapphire.modeling.xml.annotations.XmlListBinding;
+import org.eclipse.sapphire.modeling.xml.annotations.XmlNamespace;
+import org.eclipse.sapphire.modeling.xml.annotations.XmlRootBinding;
+
+ at XmlNamespace( uri = "http://docs.oasis-open.org/ns/opencsa/sca/200912", prefix = "sca" )
+
+ at GenerateImpl
+
+ at XmlRootBinding( namespace = "urn:switchyard-config:switchyard:1.0",
+                 elementName = "switchyard" )
+
+
+public interface ISwitchyard extends IModelElement {
+
+    ModelElementType TYPE = new ModelElementType( ISwitchyard.class );
+
+    // *** Composites ***
+
+    @Type( base = IComposite.class )
+    @XmlListBinding( mappings = @XmlListBinding.Mapping( element = "sca:composite", type = IComposite.class ) )
+    @CountConstraint( min = 1, max = 1 )
+
+    ListProperty PROP_COMPOSITES = new ListProperty( TYPE, "Composites" );
+    
+    ModelElementList<IComposite> getComposites();
+    
+    // *** Transforms ***
+
+    @Type( base = ITransforms.class )
+    @XmlListBinding( mappings = @XmlListBinding.Mapping( element = "transforms", type = ITransforms.class ) )
+//    @XmlBinding( path = "transforms" )
+    @CountConstraint( max = 1 )
+
+    ListProperty PROP_TRANSFORMS = new ListProperty( TYPE, "Transforms" );
+//    ElementProperty PROP_TRANSFORMS = new ElementProperty( TYPE, "Transforms" );
+
+    ModelElementList<ITransforms> getTransforms();
+//    ModelElementHandle<ITransforms> getTransforms();
+}


Property changes on: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ISwitchyard.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ITransformJava.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ITransformJava.java	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ITransformJava.java	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,65 @@
+package org.jboss.tools.esb.switchyard;
+
+import org.eclipse.sapphire.modeling.IModelElement;
+import org.eclipse.sapphire.modeling.ModelElementType;
+import org.eclipse.sapphire.modeling.Value;
+import org.eclipse.sapphire.modeling.ValueProperty;
+import org.eclipse.sapphire.modeling.annotations.GenerateImpl;
+import org.eclipse.sapphire.modeling.annotations.Label;
+import org.eclipse.sapphire.modeling.annotations.MustExist;
+import org.eclipse.sapphire.modeling.annotations.NonNullValue;
+import org.eclipse.sapphire.modeling.annotations.Type;
+import org.eclipse.sapphire.java.JavaTypeConstraint;
+import org.eclipse.sapphire.java.JavaTypeKind;
+import org.eclipse.sapphire.java.JavaTypeName;
+import org.eclipse.sapphire.modeling.xml.annotations.XmlBinding;
+
+ at GenerateImpl
+
+public interface ITransformJava extends IModelElement {
+
+    ModelElementType TYPE = new ModelElementType( ITransformJava.class );
+
+    // *** from ***
+    
+    @XmlBinding( path = "@from" )
+    @Label( standard = "&from" )
+    @NonNullValue
+
+    ValueProperty PROP_TRANSFORM_JAVA_FROM = new ValueProperty( TYPE, "TransformJavaFrom" );
+
+    Value<String> getTransformJavaFrom();
+    void setTransformJavaFrom ( String value );
+
+    // *** to ***
+    
+    @XmlBinding( path = "@to" )
+    @Label( standard = "&To" )
+    @NonNullValue
+
+    ValueProperty PROP_TRANSFORM_JAVA_TO = new ValueProperty( TYPE, "TransformJavaTo" );
+
+    Value<String> getTransformJavaTo();
+    void setTransformJavaTo ( String value );
+
+    // *** class ***
+    
+    @XmlBinding( path = "@class" )
+    @Label( standard = "&class" )
+    @NonNullValue
+
+//    ValueProperty PROP_TRANSFORM_JAVA_CLASS = new ValueProperty( TYPE, "TransformJavaClass" );
+//
+//    Value<String> getTransformJavaClass();
+//    void setTransformJavaClass ( String value );
+
+    @Type( base = JavaTypeName.class )
+    @JavaTypeConstraint( kind = JavaTypeKind.CLASS, type = { "java.lang.Object"} )
+    @MustExist
+        
+    ValueProperty PROP_TRANSFORM_JAVA_CLASS = new ValueProperty( TYPE, "TransformJavaClass" );
+        
+    Value<JavaTypeName> getTransformJavaClass();
+    void setTransformJavaClass( String value );
+    void setTransformJavaClass( JavaTypeName value );
+}


Property changes on: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ITransformJava.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ITransformSmooks.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ITransformSmooks.java	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ITransformSmooks.java	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,67 @@
+package org.jboss.tools.esb.switchyard;
+
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.sapphire.modeling.IModelElement;
+import org.eclipse.sapphire.modeling.ModelElementType;
+import org.eclipse.sapphire.modeling.Value;
+import org.eclipse.sapphire.modeling.ValueProperty;
+import org.eclipse.sapphire.modeling.annotations.BasePathsProvider;
+import org.eclipse.sapphire.modeling.annotations.FileSystemResourceType;
+import org.eclipse.sapphire.modeling.annotations.GenerateImpl;
+import org.eclipse.sapphire.modeling.annotations.Label;
+import org.eclipse.sapphire.modeling.annotations.MustExist;
+import org.eclipse.sapphire.modeling.annotations.NonNullValue;
+import org.eclipse.sapphire.modeling.annotations.Type;
+import org.eclipse.sapphire.modeling.annotations.ValidFileExtensions;
+import org.eclipse.sapphire.modeling.annotations.ValidFileSystemResourceType;
+import org.eclipse.sapphire.modeling.xml.annotations.XmlBinding;
+import org.eclipse.sapphire.modeling.xml.annotations.XmlNamespace;
+import org.eclipse.sapphire.ui.def.internal.ProjectRootBasePathsProvider;
+
+ at GenerateImpl
+ at XmlNamespace( uri = "urn:switchyard-config:test-smooks:1.0", prefix = "smooks" )
+
+public interface ITransformSmooks extends IModelElement {
+
+    ModelElementType TYPE = new ModelElementType( ITransformSmooks.class );
+
+    // *** from ***
+    
+    @XmlBinding( path = "@from" )
+    @Label( standard = "&From" )
+    @NonNullValue
+
+    ValueProperty PROP_TRANSFORM_SMOOKS_FROM = new ValueProperty( TYPE, "TransformSmooksFrom" );
+
+    Value<String> getTransformSmooksFrom();
+    void setTransformSmooksFrom ( String value );
+
+    // *** to ***
+    
+    @XmlBinding( path = "@to" )
+    @Label( standard = "&To" )
+    @NonNullValue
+
+    ValueProperty PROP_TRANSFORM_SMOOKS_TO = new ValueProperty( TYPE, "TransformSmooksTo" );
+
+    Value<String> getTransformSmooksTo();
+    void setTransformSmooksTo ( String value );
+
+    // *** smooks:config ***
+    
+    @XmlBinding( path = "smooks:config" )
+    @Label( standard = "&Smooks Config" )
+    @NonNullValue
+    @Type( base = IPath.class )
+    @BasePathsProvider( ProjectRootBasePathsProvider.class )
+    @ValidFileSystemResourceType( FileSystemResourceType.FILE )
+    @ValidFileExtensions( "xml" )
+    @MustExist
+        
+    ValueProperty PROP_TRANSFORM_SMOOKS_CONFIG = new ValueProperty( TYPE, "TransformSmooksConfig" );
+        
+    Value<IPath> getTransformSmooksConfig();
+    void setTransformSmooksConfig( String value );
+    void setTransformSmooksConfig( IPath value );
+
+}


Property changes on: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ITransformSmooks.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ITransforms.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ITransforms.java	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ITransforms.java	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,42 @@
+package org.jboss.tools.esb.switchyard;
+
+import org.eclipse.sapphire.modeling.IModelElement;
+import org.eclipse.sapphire.modeling.ListProperty;
+import org.eclipse.sapphire.modeling.ModelElementList;
+import org.eclipse.sapphire.modeling.ModelElementType;
+import org.eclipse.sapphire.modeling.annotations.GenerateImpl;
+import org.eclipse.sapphire.modeling.annotations.Label;
+import org.eclipse.sapphire.modeling.annotations.Type;
+import org.eclipse.sapphire.modeling.xml.annotations.XmlListBinding;
+import org.eclipse.sapphire.modeling.xml.annotations.XmlNamespace;
+import org.eclipse.sapphire.modeling.xml.annotations.XmlNamespaces;
+
+ at GenerateImpl
+ at XmlNamespaces( value = {@XmlNamespace( uri = "urn:switchyard-config:test-java:1.0", prefix = "java" ),
+		@XmlNamespace( uri = "urn:switchyard-config:test-smooks:1.0", prefix = "smooks" )})
+
+
+public interface ITransforms extends IModelElement {
+
+    ModelElementType TYPE = new ModelElementType( ITransforms.class );
+
+    // *** transform.java ***
+
+    @Label( standard = "&Java Transformations" )
+    @Type( base = ITransformJava.class )
+    @XmlListBinding( mappings = @XmlListBinding.Mapping( element = "java:transform.java", type = ITransformJava.class ) )
+    
+    ListProperty PROP_JAVA_TRANSFORMS = new ListProperty( TYPE, "JavaTransforms" );
+    
+    ModelElementList<ITransformJava> getJavaTransforms();
+
+    // *** transform.smooks ***
+
+    @Label( standard = "&Smooks Transformations" )
+    @Type( base = ITransformSmooks.class )
+    @XmlListBinding( mappings = @XmlListBinding.Mapping( element = "smooks:transform.smooks", type = ITransformSmooks.class ) )
+    
+    ListProperty PROP_SMOOKS_TRANSFORMS = new ListProperty( TYPE, "SmooksTransforms" );
+    
+    ModelElementList<ITransformSmooks> getSmooksTransforms();
+}


Property changes on: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ITransforms.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ui/SwitchyardEditor.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ui/SwitchyardEditor.java	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ui/SwitchyardEditor.java	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,19 @@
+package org.jboss.tools.esb.switchyard.ui;
+
+import org.eclipse.sapphire.ui.swt.xml.editor.SapphireEditorForXml;
+import org.jboss.tools.esb.switchyard.ISwitchyard;
+
+public final class SwitchyardEditor 
+
+    extends SapphireEditorForXml
+    
+{
+    public SwitchyardEditor()
+    {
+        super( "org.jboss.tools.esb.switchyard.ui" );
+        
+        setRootModelElementType( ISwitchyard.TYPE );
+        setEditorDefinitionPath( "org.jboss.tools.esb.switchyard.ui/sdefs/switchyard-0.4.sdef/main" );
+    }
+    
+}


Property changes on: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ui/SwitchyardEditor.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ui/SwitchyardGraphicalEditor.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ui/SwitchyardGraphicalEditor.java	                        (rev 0)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ui/SwitchyardGraphicalEditor.java	2011-04-11 22:26:41 UTC (rev 30497)
@@ -0,0 +1,94 @@
+package org.jboss.tools.esb.switchyard.ui;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.sapphire.modeling.IModelElement;
+import org.eclipse.sapphire.modeling.xml.RootXmlResource;
+import org.eclipse.sapphire.ui.SapphireEditor;
+import org.eclipse.sapphire.ui.editor.views.masterdetails.MasterDetailsPage;
+import org.eclipse.sapphire.ui.internal.SapphireUiFrameworkPlugin;
+import org.eclipse.sapphire.ui.swt.graphiti.editor.SapphireDiagramEditor;
+import org.eclipse.sapphire.ui.swt.graphiti.editor.SapphireDiagramEditorFactory;
+import org.eclipse.sapphire.ui.swt.graphiti.editor.SapphireDiagramEditorInput;
+import org.eclipse.sapphire.ui.swt.xml.editor.XmlEditorResourceStore;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.wst.sse.ui.StructuredTextEditor;
+import org.jboss.tools.esb.switchyard.ISwitchyard;
+
+public class SwitchyardGraphicalEditor extends SapphireEditor 
+{
+	private ISwitchyard modelSwitchyard;
+	private StructuredTextEditor switchyardSourceEditor;
+	private SapphireDiagramEditor switchyardDiagramEditor;
+	private MasterDetailsPage switchyardFormPage;
+	
+	private final static int FORM_PAGE = 0;
+	private final static int DIAGRAM_PAGE = 1;
+	
+    public SwitchyardGraphicalEditor()
+    {
+        super( "org.jboss.tools.esb.switchyard.ui" );
+    }
+
+	@Override
+	protected void createSourcePages() throws PartInitException 
+	{
+		this.switchyardSourceEditor = new StructuredTextEditor();
+		this.switchyardSourceEditor.setEditorPart(this);
+        final FileEditorInput rootEditorInput = (FileEditorInput) getEditorInput();
+        
+        int index = addPage( this.switchyardSourceEditor, rootEditorInput );
+        setPageText( index, "Source" );
+	}
+
+	@Override
+	protected IModelElement createModel() 
+	{
+		this.modelSwitchyard = ISwitchyard.TYPE.instantiate(new RootXmlResource(new XmlEditorResourceStore(this, this.switchyardSourceEditor)));
+		return this.modelSwitchyard;
+	}
+
+	@Override
+	protected void createDiagramPages() throws PartInitException
+	{
+		IPath path = new Path( "org.jboss.tools.esb.switchyard.ui/sdefs/switchyard-0.4.sdef/diagram" );
+		this.switchyardDiagramEditor = new SapphireDiagramEditor(this.modelSwitchyard, path);
+		SapphireDiagramEditorInput diagramEditorInput = null;
+		try
+		{
+			diagramEditorInput = SapphireDiagramEditorFactory.createEditorInput(this.modelSwitchyard.adapt(IFile.class));
+		}
+		catch (Exception e)
+		{
+			SapphireUiFrameworkPlugin.log( e );
+		}
+
+		if (diagramEditorInput != null)
+		{
+			addPage(DIAGRAM_PAGE, switchyardDiagramEditor, diagramEditorInput);
+			setPageText( DIAGRAM_PAGE, "Diagram" );
+			setPageId(this.pages.get(DIAGRAM_PAGE), "Diagram");
+		}
+	}
+	
+	@Override
+	protected void createFormPages() throws PartInitException 
+	{
+		IPath path = new Path( "org.jboss.tools.esb.switchyard.ui/sdefs/switchyard-0.4.sdef/main" );
+		this.switchyardFormPage = new MasterDetailsPage(this, this.modelSwitchyard, path);
+        addPage(FORM_PAGE, this.switchyardFormPage);
+        setPageText(FORM_PAGE, "Overview");
+        setPageId(this.pages.get(FORM_PAGE), "Overview");		
+	}
+
+	@Override
+	public void doSave( final IProgressMonitor monitor )
+	{
+		super.doSave(monitor);		
+		this.switchyardDiagramEditor.doSave(monitor);
+	}
+	
+}


Property changes on: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ui/SwitchyardGraphicalEditor.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain



More information about the jbosstools-commits mailing list