[savara-commits] savara SVN: r600 - in branches/experimental/2.0.x: bundles/org.savara.activity and 45 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Fri Jan 21 13:15:24 EST 2011


Author: objectiser
Date: 2011-01-21 13:15:21 -0500 (Fri, 21 Jan 2011)
New Revision: 600

Added:
   branches/experimental/2.0.x/bundles/org.savara.protocol/
   branches/experimental/2.0.x/bundles/org.savara.protocol/.classpath
   branches/experimental/2.0.x/bundles/org.savara.protocol/.project
   branches/experimental/2.0.x/bundles/org.savara.protocol/.settings/
   branches/experimental/2.0.x/bundles/org.savara.protocol/.settings/org.eclipse.jdt.core.prefs
   branches/experimental/2.0.x/bundles/org.savara.protocol/.settings/org.eclipse.pde.core.prefs
   branches/experimental/2.0.x/bundles/org.savara.protocol/Copyright.txt
   branches/experimental/2.0.x/bundles/org.savara.protocol/META-INF/
   branches/experimental/2.0.x/bundles/org.savara.protocol/META-INF/MANIFEST.MF
   branches/experimental/2.0.x/bundles/org.savara.protocol/build.properties
   branches/experimental/2.0.x/bundles/org.savara.protocol/pom.xml
   branches/experimental/2.0.x/bundles/org.savara.protocol/src/
   branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/
   branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/
   branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/
   branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/
   branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/
   branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/
   branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/annotation/
   branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/annotation/Annotation.java
   branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/change/
   branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/change/AbstractModelChangeContext.java
   branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/change/AbstractModelChangeRule.java
   branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/change/ModelChangeContext.java
   branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/change/ModelChangeRule.java
   branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/util/
   branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/util/AnnotationDefinitions.java
   branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/util/InteractionUtil.java
   branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/util/PropertyName.java
   branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/util/TypeSystem.java
   branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/osgi/
   branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/osgi/Activator.java
   branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/util/
   branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/util/ProtocolServices.java
   branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/util/ProtocolUtils.java
Removed:
   branches/experimental/2.0.x/bundles/org.savara.common/src/main/java/org/savara/common/model/annotation/
   branches/experimental/2.0.x/bundles/org.savara.common/src/main/java/org/savara/common/model/change/
   branches/experimental/2.0.x/bundles/org.savara.common/src/main/java/org/savara/common/util/ScribbleServices.java
Modified:
   branches/experimental/2.0.x/bundles/org.savara.activity/.classpath
   branches/experimental/2.0.x/bundles/org.savara.bpel/.classpath
   branches/experimental/2.0.x/bundles/org.savara.bpel/.project
   branches/experimental/2.0.x/bundles/org.savara.bpel/META-INF/MANIFEST.MF
   branches/experimental/2.0.x/bundles/org.savara.bpel/pom.xml
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/AbstractBPELModelChangeRule.java
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/BPELModelChangeContext.java
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ChoiceModelChangeRule.java
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/InteractionModelChangeRule.java
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/InteractionPatterns.java
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ModelChangeUtils.java
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ProtocolModelChangeRule.java
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ProtocolModelModelChangeRule.java
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/RepeatModelChangeRule.java
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/RunModelChangeRule.java
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/test/java/org/savara/bpel/model/change/ModelChangeUtilsTest.java
   branches/experimental/2.0.x/bundles/org.savara.bundles.tests/src/test/java/org/savara/bundles/tests/bpel/generator/GeneratorTest.java
   branches/experimental/2.0.x/bundles/org.savara.common/.classpath
   branches/experimental/2.0.x/bundles/org.savara.common/META-INF/MANIFEST.MF
   branches/experimental/2.0.x/bundles/org.savara.common/pom.xml
   branches/experimental/2.0.x/bundles/org.savara.common/src/main/java/org/savara/common/osgi/Activator.java
   branches/experimental/2.0.x/bundles/org.savara.common/src/main/java/org/savara/common/util/XMLUtils.java
   branches/experimental/2.0.x/bundles/org.savara.contract/.classpath
   branches/experimental/2.0.x/bundles/org.savara.contract/.project
   branches/experimental/2.0.x/bundles/org.savara.contract/META-INF/MANIFEST.MF
   branches/experimental/2.0.x/bundles/org.savara.contract/pom.xml
   branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/generator/impl/ContractGeneratorImpl.java
   branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/generator/impl/ContractIntrospector.java
   branches/experimental/2.0.x/bundles/org.savara.contract/src/test/java/org/savara/contract/generator/impl/ContractIntrospectorTest.java
   branches/experimental/2.0.x/bundles/org.savara.monitor.sstore.rdbms/.classpath
   branches/experimental/2.0.x/bundles/org.savara.monitor.sstore.rdbms/.project
   branches/experimental/2.0.x/bundles/org.savara.monitor.sstore.rdbms/.settings/org.eclipse.jdt.core.prefs
   branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/.classpath
   branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/.project
   branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/META-INF/MANIFEST.MF
   branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/pom.xml
   branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ChoiceConverterRuleImpl.java
   branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ConditionalConverterRuleImpl.java
   branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ConverterUtil.java
   branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/InteractionConverterRuleImpl.java
   branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ProtocolConverterRuleImpl.java
   branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ProtocolModelConverterRuleImpl.java
   branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/test/java/org/savara/pi4soa/cdm/parser/CDMProtocolParserTest.java
   branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/test/java/org/savara/pi4soa/cdm/parser/rules/ConverterUtilTest.java
   branches/experimental/2.0.x/bundles/org.savara.wsdl/.classpath
   branches/experimental/2.0.x/bundles/org.savara.wsdl/.project
   branches/experimental/2.0.x/bundles/org.savara.wsdl/src/main/java/org/savara/wsdl/generator/impl/WSDLGeneratorImpl.java
   branches/experimental/2.0.x/bundles/org.savara.wsdl/src/test/java/org/savara/wsdl/generator/WSDLGeneratorTest.java
   branches/experimental/2.0.x/bundles/pom.xml
   branches/experimental/2.0.x/integration/jboss/common/.project
   branches/experimental/2.0.x/integration/jboss/esb/.classpath
   branches/experimental/2.0.x/integration/jboss/esb/.project
   branches/experimental/2.0.x/integration/jboss/wsnative/.classpath
   branches/experimental/2.0.x/integration/jboss/wsnative/.project
   branches/experimental/2.0.x/tools/plugins/org.savara.tools.bpel/META-INF/MANIFEST.MF
   branches/experimental/2.0.x/tools/plugins/org.savara.tools.bpel/pom.xml
   branches/experimental/2.0.x/tools/plugins/org.savara.tools.bpel/src/java/org/savara/tools/bpel/generator/Generator.java
Log:
Refactored to extract scribble protocol aspects from the savara common bundle - allows more scope for protocol independent savara bundles.

Modified: branches/experimental/2.0.x/bundles/org.savara.activity/.classpath
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.activity/.classpath	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.activity/.classpath	2011-01-21 18:15:21 UTC (rev 600)
@@ -1,13 +1,12 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry including="**/*.java" kind="src" path="src/main/java"/>
-	<classpathentry kind="src" path="src/test/java"/>
-	<classpathentry kind="var" path="M2_REPO/junit/junit/4.4/junit-4.4.jar"/>
-	<classpathentry kind="var" path="M2_REPO/org/apache/felix/org.apache.felix.framework/3.0.1/org.apache.felix.framework-3.0.1.jar"/>
-	<classpathentry kind="var" path="M2_REPO/org/apache/felix/org.osgi.core/1.4.0/org.osgi.core-1.4.0.jar"/>
-	<classpathentry kind="src" path="/org.savara.common"/>
-	<classpathentry kind="var" path="M2_REPO/org/scribble/bundles/org.scribble.common/2.0.0-SNAPSHOT/org.scribble.common-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/scribble/bundles/org.scribble.common/2.0.0-SNAPSHOT/org.scribble.common-2.0.0-SNAPSHOT-sources.jar"/>
-	<classpathentry kind="var" path="M2_REPO/org/scribble/bundles/org.scribble.protocol/2.0.0-SNAPSHOT/org.scribble.protocol-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/scribble/bundles/org.scribble.protocol/2.0.0-SNAPSHOT/org.scribble.protocol-2.0.0-SNAPSHOT-sources.jar"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="target/classes"/>
-</classpath>
+  <classpathentry kind="src" path="src/test/java" output="target/test-classes" including="**/*.java"/>
+  <classpathentry kind="src" path="src/main/java" including="**/*.java"/>
+  <classpathentry kind="output" path="target/classes"/>
+  <classpathentry kind="var" path="M2_REPO/junit/junit/4.4/junit-4.4.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/felix/org.apache.felix.framework/3.0.1/org.apache.felix.framework-3.0.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/felix/org.osgi.core/1.4.0/org.osgi.core-1.4.0.jar"/>
+  <classpathentry kind="src" path="/org.savara.common"/>
+  <classpathentry kind="var" path="M2_REPO/org/scribble/bundles/org.scribble.common/2.0.0-SNAPSHOT/org.scribble.common-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/scribble/bundles/org.scribble.common/2.0.0-SNAPSHOT/org.scribble.common-2.0.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/scribble/bundles/org.scribble.protocol/2.0.0-SNAPSHOT/org.scribble.protocol-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/scribble/bundles/org.scribble.protocol/2.0.0-SNAPSHOT/org.scribble.protocol-2.0.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+</classpath>
\ No newline at end of file

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/.classpath
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/.classpath	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/.classpath	2011-01-21 18:15:21 UTC (rev 600)
@@ -15,6 +15,7 @@
   <classpathentry kind="var" path="M2_REPO/org/apache/felix/org.osgi.core/1.4.0/org.osgi.core-1.4.0.jar"/>
   <classpathentry kind="src" path="/org.savara.common"/>
   <classpathentry kind="src" path="/org.savara.contract"/>
+  <classpathentry kind="src" path="/org.savara.protocol"/>
   <classpathentry kind="src" path="/org.savara.wsdl"/>
   <classpathentry kind="var" path="M2_REPO/org/scribble/bundles/org.scribble.common/2.0.0-SNAPSHOT/org.scribble.common-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/scribble/bundles/org.scribble.common/2.0.0-SNAPSHOT/org.scribble.common-2.0.0-SNAPSHOT-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/scribble/bundles/org.scribble.protocol/2.0.0-SNAPSHOT/org.scribble.protocol-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/scribble/bundles/org.scribble.protocol/2.0.0-SNAPSHOT/org.scribble.protocol-2.0.0-SNAPSHOT-sources.jar"/>

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/.project
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/.project	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/.project	2011-01-21 18:15:21 UTC (rev 600)
@@ -4,6 +4,7 @@
   <projects>
     <project>org.savara.common</project>
     <project>org.savara.contract</project>
+    <project>org.savara.protocol</project>
     <project>org.savara.wsdl</project>
   </projects>
   <buildSpec>

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/META-INF/MANIFEST.MF
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/META-INF/MANIFEST.MF	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/META-INF/MANIFEST.MF	2011-01-21 18:15:21 UTC (rev 600)
@@ -15,7 +15,8 @@
  org.scribble.common,
  org.scribble.protocol,
  org.scribble.protocol.parser,
- org.savara.pi4soa.cdm;resolution:=optional
+ org.savara.pi4soa.cdm;resolution:=optional,
+ org.savara.protocol
 Export-Package: org.savara.bpel.generator,
  org.savara.bpel.model,
  org.savara.bpel.model.change,

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/pom.xml
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/pom.xml	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/pom.xml	2011-01-21 18:15:21 UTC (rev 600)
@@ -36,6 +36,11 @@
 		</dependency>
 		<dependency>
 			<groupId>org.savara.bundles</groupId>
+			<artifactId>org.savara.protocol</artifactId>
+			<version>${savara.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.savara.bundles</groupId>
 			<artifactId>org.savara.wsdl</artifactId>
 			<version>${savara.version}</version>
 		</dependency>

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/AbstractBPELModelChangeRule.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/AbstractBPELModelChangeRule.java	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/AbstractBPELModelChangeRule.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -20,7 +20,7 @@
 import org.savara.bpel.BPELDefinitions;
 import org.savara.bpel.model.TProcess;
 import org.savara.bpel.model.TSequence;
-import org.savara.common.model.change.*;
+import org.savara.protocol.model.change.*;
 import org.scribble.protocol.model.*;
 
 /**

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/BPELModelChangeContext.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/BPELModelChangeContext.java	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/BPELModelChangeContext.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -19,8 +19,8 @@
  */
 package org.savara.bpel.model.change;
 
-import org.savara.common.model.change.AbstractModelChangeContext;
-import org.savara.common.model.change.ModelChangeRule;
+import org.savara.protocol.model.change.AbstractModelChangeContext;
+import org.savara.protocol.model.change.ModelChangeRule;
 import org.scribble.common.logging.Journal;
 import org.scribble.protocol.ProtocolContext;
 

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ChoiceModelChangeRule.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ChoiceModelChangeRule.java	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ChoiceModelChangeRule.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -37,8 +37,8 @@
 import org.savara.bpel.model.TVariable;
 import org.savara.bpel.util.PartnerLinkUtil;
 import org.savara.bpel.util.VariableUtil;
-import org.savara.common.model.change.ModelChangeContext;
-import org.savara.common.model.util.InteractionUtil;
+import org.savara.protocol.model.change.ModelChangeContext;
+import org.savara.protocol.model.util.InteractionUtil;
 import org.savara.contract.model.Contract;
 import org.savara.contract.model.Interface;
 import org.savara.wsdl.util.WSDLGeneratorUtil;

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/InteractionModelChangeRule.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/InteractionModelChangeRule.java	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/InteractionModelChangeRule.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -33,8 +33,8 @@
 import org.savara.bpel.model.TVariable;
 import org.savara.bpel.util.PartnerLinkUtil;
 import org.savara.bpel.util.VariableUtil;
-import org.savara.common.model.change.ModelChangeContext;
-import org.savara.common.model.util.InteractionUtil;
+import org.savara.protocol.model.change.ModelChangeContext;
+import org.savara.protocol.model.util.InteractionUtil;
 import org.savara.contract.model.Contract;
 import org.savara.contract.model.Interface;
 import org.savara.wsdl.util.WSDLGeneratorUtil;

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/InteractionPatterns.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/InteractionPatterns.java	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/InteractionPatterns.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -17,8 +17,8 @@
  */
 package org.savara.bpel.model.change;
 
-import org.savara.common.model.util.InteractionUtil;
-import org.savara.common.model.util.PropertyName;
+import org.savara.protocol.model.util.InteractionUtil;
+import org.savara.protocol.model.util.PropertyName;
 import org.scribble.protocol.model.*;
 
 /**

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ModelChangeUtils.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ModelChangeUtils.java	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ModelChangeUtils.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -17,7 +17,7 @@
  */
 package org.savara.bpel.model.change;
 
-import org.savara.common.model.change.ModelChangeContext;
+import org.savara.protocol.model.change.ModelChangeContext;
 import org.savara.contract.model.Contract;
 import org.scribble.common.logging.Journal;
 import org.scribble.protocol.model.*;

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ProtocolModelChangeRule.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ProtocolModelChangeRule.java	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ProtocolModelChangeRule.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -23,7 +23,7 @@
 import org.savara.bpel.model.TScope;
 import org.savara.bpel.model.TSequence;
 import org.savara.bpel.util.ImportUtil;
-import org.savara.common.model.change.ModelChangeContext;
+import org.savara.protocol.model.change.ModelChangeContext;
 import org.savara.contract.model.Contract;
 import org.savara.contract.model.Interface;
 import org.scribble.protocol.model.*;

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ProtocolModelModelChangeRule.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ProtocolModelModelChangeRule.java	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ProtocolModelModelChangeRule.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -17,7 +17,7 @@
  */
 package org.savara.bpel.model.change;
 
-import org.savara.common.model.change.ModelChangeContext;
+import org.savara.protocol.model.change.ModelChangeContext;
 import org.scribble.protocol.model.*;
 
 /**

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/RepeatModelChangeRule.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/RepeatModelChangeRule.java	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/RepeatModelChangeRule.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -19,7 +19,7 @@
 
 import org.savara.bpel.model.TSequence;
 import org.savara.bpel.model.TWhile;
-import org.savara.common.model.change.ModelChangeContext;
+import org.savara.protocol.model.change.ModelChangeContext;
 import org.scribble.protocol.model.*;
 
 /**

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/RunModelChangeRule.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/RunModelChangeRule.java	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/RunModelChangeRule.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -20,7 +20,7 @@
 import org.savara.bpel.BPELDefinitions;
 import org.savara.bpel.model.TScope;
 import org.savara.bpel.model.TSequence;
-import org.savara.common.model.change.ModelChangeContext;
+import org.savara.protocol.model.change.ModelChangeContext;
 import org.scribble.protocol.model.*;
 
 /**

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/test/java/org/savara/bpel/model/change/ModelChangeUtilsTest.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/test/java/org/savara/bpel/model/change/ModelChangeUtilsTest.java	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/test/java/org/savara/bpel/model/change/ModelChangeUtilsTest.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -18,7 +18,7 @@
 package org.savara.bpel.model.change;
 
 import org.savara.bpel.model.change.ModelChangeUtils;
-import org.savara.common.model.change.ModelChangeContext;
+import org.savara.protocol.model.change.ModelChangeContext;
 import org.savara.contract.model.*;
 import org.scribble.common.logging.CachedJournal;
 import org.scribble.protocol.model.*;

Modified: branches/experimental/2.0.x/bundles/org.savara.bundles.tests/src/test/java/org/savara/bundles/tests/bpel/generator/GeneratorTest.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bundles.tests/src/test/java/org/savara/bundles/tests/bpel/generator/GeneratorTest.java	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.bundles.tests/src/test/java/org/savara/bundles/tests/bpel/generator/GeneratorTest.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -26,11 +26,11 @@
 import org.savara.bpel.model.TProcess;
 import org.savara.bpel.util.BPELModelUtil;
 import org.savara.common.model.generator.ModelGenerator;
-import org.savara.common.model.util.PropertyName;
-import org.savara.common.util.ScribbleServices;
+import org.savara.protocol.model.util.PropertyName;
 import org.scribble.common.logging.CachedJournal;
 import org.scribble.protocol.model.Role;
 import org.savara.pi4soa.cdm.parser.CDMProtocolParser;
+import org.savara.protocol.util.ProtocolServices;
 
 public class GeneratorTest {
 
@@ -76,7 +76,7 @@
     	 */
     	public void run(TestResult result) {
     		// Setup scribble services
-    		ScribbleServices.setProtocolProjector(
+    		ProtocolServices.setProtocolProjector(
     				new org.scribble.protocol.projection.impl.ProtocolProjectorImpl());
     		
     		// Run test

Modified: branches/experimental/2.0.x/bundles/org.savara.common/.classpath
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.common/.classpath	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.common/.classpath	2011-01-21 18:15:21 UTC (rev 600)
@@ -1,9 +1,7 @@
 <classpath>
   <classpathentry kind="src" path="src/main/java" including="**/*.java"/>
   <classpathentry kind="output" path="target/classes"/>
-  <classpathentry kind="var" path="M2_REPO/org/apache/felix/org.apache.felix.framework/3.0.1/org.apache.felix.framework-3.0.1.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/apache/felix/org.osgi.core/1.4.0/org.osgi.core-1.4.0.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/scribble/bundles/org.scribble.common/2.0.0-SNAPSHOT/org.scribble.common-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/scribble/bundles/org.scribble.common/2.0.0-SNAPSHOT/org.scribble.common-2.0.0-SNAPSHOT-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/scribble/bundles/org.scribble.protocol/2.0.0-SNAPSHOT/org.scribble.protocol-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/scribble/bundles/org.scribble.protocol/2.0.0-SNAPSHOT/org.scribble.protocol-2.0.0-SNAPSHOT-sources.jar"/>
   <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
 </classpath>
\ No newline at end of file

Modified: branches/experimental/2.0.x/bundles/org.savara.common/META-INF/MANIFEST.MF
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.common/META-INF/MANIFEST.MF	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.common/META-INF/MANIFEST.MF	2011-01-21 18:15:21 UTC (rev 600)
@@ -7,11 +7,8 @@
 Bundle-Vendor: www.savara.org
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Import-Package: org.osgi.framework;version="1.3.0"
-Require-Bundle: org.scribble.common,
- org.scribble.protocol
 Export-Package: org.savara.common.config,
- org.savara.common.model.change,
  org.savara.common.model.generator,
- org.savara.common.model.util,
  org.savara.common.util
 Bundle-ActivationPolicy: lazy
+Require-Bundle: org.scribble.common

Modified: branches/experimental/2.0.x/bundles/org.savara.common/pom.xml
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.common/pom.xml	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.common/pom.xml	2011-01-21 18:15:21 UTC (rev 600)
@@ -19,11 +19,6 @@
 			<artifactId>org.scribble.common</artifactId>
 			<version>${scribble.version}</version>
 		</dependency>
-		<dependency>
-			<groupId>org.scribble.bundles</groupId>
-			<artifactId>org.scribble.protocol</artifactId>
-			<version>${scribble.version}</version>
-		</dependency>
 	    <dependency>
 	      <groupId>org.apache.felix</groupId>
 	      <artifactId>org.osgi.core</artifactId>

Modified: branches/experimental/2.0.x/bundles/org.savara.common/src/main/java/org/savara/common/osgi/Activator.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.common/src/main/java/org/savara/common/osgi/Activator.java	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.common/src/main/java/org/savara/common/osgi/Activator.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -2,9 +2,6 @@
 
 import org.osgi.framework.BundleActivator;
 import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-import org.scribble.protocol.parser.ProtocolParserManager;
-import org.scribble.protocol.projection.ProtocolProjector;
 
 public class Activator implements BundleActivator {
 
@@ -20,20 +17,6 @@
 	 */
 	public void start(BundleContext bundleContext) throws Exception {
 		Activator.context = bundleContext;
-		
-		// Initialize the protocol parser manager
-		ServiceReference sref=context.getServiceReference(ProtocolParserManager.class.getName());
-		
-		ProtocolParserManager ppm=(ProtocolParserManager)context.getService(sref);
-		
-		org.savara.common.util.ScribbleServices.setParserManager(ppm);
-		
-		// Initialize the protocol projector
-		sref=context.getServiceReference(ProtocolProjector.class.getName());
-		
-		ProtocolProjector pp=(ProtocolProjector)context.getService(sref);
-		
-		org.savara.common.util.ScribbleServices.setProtocolProjector(pp);
 	}
 
 	/*

Deleted: branches/experimental/2.0.x/bundles/org.savara.common/src/main/java/org/savara/common/util/ScribbleServices.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.common/src/main/java/org/savara/common/util/ScribbleServices.java	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.common/src/main/java/org/savara/common/util/ScribbleServices.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -1,78 +0,0 @@
-/*
- * Copyright 2009 www.scribble.org
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.savara.common.util;
-
-import org.scribble.protocol.export.ProtocolExportManager;
-import org.scribble.protocol.parser.ProtocolParserManager;
-import org.scribble.protocol.projection.ProtocolProjector;
-import org.scribble.protocol.validation.ProtocolValidationManager;
-//import org.scribble.protocol.monitor.ProtocolMonitor;
-
-/**
- * This class provides a manager for accessing services used
- * by the designer.
- *
- */
-public class ScribbleServices {
-	
-	private static ProtocolValidationManager m_validationManager=null;
-	private static ProtocolParserManager m_parserManager=null;
-	private static ProtocolProjector m_protocolProjector=null;
-	//private static ProtocolMonitor m_protocolMonitor=null;
-	private static ProtocolExportManager m_protocolExportManager=null;
-
-	public static ProtocolValidationManager getValidationManager() {
-		return(m_validationManager);
-	}
-	
-	public static void setValidationManager(ProtocolValidationManager vm) {
-		m_validationManager = vm;
-	}
-	
-	public static ProtocolParserManager getParserManager() {
-		return(m_parserManager);
-	}
-	
-	public static void setParserManager(ProtocolParserManager pm) {
-		m_parserManager = pm;
-	}
-	
-	/*
-	public static ProtocolMonitor getProtocolMonitor() {
-		return(m_protocolMonitor);
-	}
-	
-	public static void setProtocolMonitor(ProtocolMonitor parser) {
-		m_protocolMonitor = parser;
-	}
-	*/
-	
-	public static ProtocolProjector getProtocolProjector() {
-		return(m_protocolProjector);
-	}
-	
-	public static void setProtocolProjector(ProtocolProjector projector) {
-		m_protocolProjector = projector;
-	}	
-	
-	public static ProtocolExportManager getProtocolExportManager() {
-		return(m_protocolExportManager);
-	}
-	
-	public static void setProtocolExportManager(ProtocolExportManager pem) {
-		m_protocolExportManager = pem;
-	}	
-}
\ No newline at end of file

Modified: branches/experimental/2.0.x/bundles/org.savara.common/src/main/java/org/savara/common/util/XMLUtils.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.common/src/main/java/org/savara/common/util/XMLUtils.java	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.common/src/main/java/org/savara/common/util/XMLUtils.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -26,8 +26,6 @@
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
 
-import org.scribble.protocol.model.ModelObject;
-import org.scribble.protocol.model.ModelProperties;
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
 
@@ -229,76 +227,4 @@
 
 		return(prefix);
 	}
-	
-	/**
-	 * This method calculates the start and end position of a supplied DOM element, within
-	 * the supplied text contents, and sets the values on the supplied ModelObject.
-	 * 
-	 * @param obj The ModelObject to be initialized
-	 * @param contents The text contents
-	 * @param elem The DOM element to be located in the text
-	 */
-	public static void setStartAndEndPosition(ModelObject obj, String contents, org.w3c.dom.Element elem) {
-
-		if (contents != null) {
-			org.w3c.dom.NodeList nl=elem.getOwnerDocument().getElementsByTagName(elem.getNodeName());
-			int elempos=-1;
-			
-			for (int i=0; elempos == -1 && i < nl.getLength(); i++) {
-				if (nl.item(i) == elem) {
-					elempos = i;
-				}
-			}
-			
-			if (elempos != -1) {
-				int startpos=-1;
-					
-				for (int i=0; i <= elempos; i++) {
-					int val1=contents.indexOf("<"+elem.getNodeName()+">", startpos+1);
-					int val2=contents.indexOf("<"+elem.getNodeName()+" ", startpos+1);
-					
-					if (val1 == -1 && val2 != -1) {
-						startpos = val2;
-					} else if (val1 != -1 && val2 == -1) {
-						startpos = val1;
-					} else if (val1 == -1 && val2 == -1) {
-						// TODO: Error condition
-						break;
-					} else if (val1 > val2) {
-						startpos = val2;
-					} else {
-						startpos = val1;
-					}
-				}
-				
-				if (startpos != -1) {
-					//obj.getSource().setStartPosition(startpos);
-					obj.getProperties().put(ModelProperties.START_LOCATION, startpos);
-					
-					// Check if single node
-					int p1=contents.indexOf('>', startpos);
-					
-					if (p1 != -1 && contents.charAt(p1-1) == '/') {
-						//obj.getSource().setEndPosition(p1);
-						obj.getProperties().put(ModelProperties.END_LOCATION, p1);
-					} else {
-					
-						org.w3c.dom.NodeList enl=elem.getElementsByTagName(elem.getNodeName());
-						
-						int endpos=startpos;
-						String nodetxt="</"+elem.getNodeName()+">";
-						
-						for (int i=0; endpos != -1 && i <= enl.getLength(); i++) {
-							endpos = contents.indexOf(nodetxt, endpos+1);
-						}
-						
-						if (endpos != -1) {
-							//obj.getSource().setEndPosition(endpos+nodetxt.length()-1);
-							obj.getProperties().put(ModelProperties.END_LOCATION, endpos+nodetxt.length()-1);
-						}
-					}
-				}
-			}
-		}
-	}
-}
+}
\ No newline at end of file

Modified: branches/experimental/2.0.x/bundles/org.savara.contract/.classpath
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.contract/.classpath	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.contract/.classpath	2011-01-21 18:15:21 UTC (rev 600)
@@ -7,6 +7,7 @@
   <classpathentry kind="var" path="M2_REPO/org/apache/felix/org.apache.felix.framework/3.0.1/org.apache.felix.framework-3.0.1.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/apache/felix/org.osgi.core/1.4.0/org.osgi.core-1.4.0.jar"/>
   <classpathentry kind="src" path="/org.savara.common"/>
+  <classpathentry kind="src" path="/org.savara.protocol"/>
   <classpathentry kind="var" path="M2_REPO/org/scribble/bundles/org.scribble.common/2.0.0-SNAPSHOT/org.scribble.common-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/scribble/bundles/org.scribble.common/2.0.0-SNAPSHOT/org.scribble.common-2.0.0-SNAPSHOT-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/scribble/bundles/org.scribble.protocol/2.0.0-SNAPSHOT/org.scribble.protocol-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/scribble/bundles/org.scribble.protocol/2.0.0-SNAPSHOT/org.scribble.protocol-2.0.0-SNAPSHOT-sources.jar"/>
   <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>

Modified: branches/experimental/2.0.x/bundles/org.savara.contract/.project
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.contract/.project	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.contract/.project	2011-01-21 18:15:21 UTC (rev 600)
@@ -3,6 +3,7 @@
   <comment>The SAVARA project. NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
   <projects>
     <project>org.savara.common</project>
+    <project>org.savara.protocol</project>
   </projects>
   <buildSpec>
     <buildCommand>

Modified: branches/experimental/2.0.x/bundles/org.savara.contract/META-INF/MANIFEST.MF
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.contract/META-INF/MANIFEST.MF	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.contract/META-INF/MANIFEST.MF	2011-01-21 18:15:21 UTC (rev 600)
@@ -9,6 +9,7 @@
 Import-Package: org.junit,
  org.osgi.framework
 Require-Bundle: org.scribble.common,
- org.savara.common
+ org.savara.common,
+ org.savara.protocol
 Export-Package: org.savara.contract.generator,
  org.savara.contract.model

Modified: branches/experimental/2.0.x/bundles/org.savara.contract/pom.xml
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.contract/pom.xml	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.contract/pom.xml	2011-01-21 18:15:21 UTC (rev 600)
@@ -29,6 +29,11 @@
 			<artifactId>org.savara.common</artifactId>
 			<version>${savara.version}</version>
 		</dependency>
+		<dependency>
+			<groupId>org.savara.bundles</groupId>
+			<artifactId>org.savara.protocol</artifactId>
+			<version>${savara.version}</version>
+		</dependency>
 	    <dependency>
 	      <groupId>org.apache.felix</groupId>
 	      <artifactId>org.osgi.core</artifactId>

Modified: branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/generator/impl/ContractGeneratorImpl.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/generator/impl/ContractGeneratorImpl.java	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/generator/impl/ContractGeneratorImpl.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -19,9 +19,9 @@
 
 import java.text.MessageFormat;
 
-import org.savara.common.util.ScribbleServices;
 import org.savara.contract.model.Contract;
 import org.savara.contract.generator.ContractGenerator;
+import org.savara.protocol.util.ProtocolServices;
 import org.scribble.common.logging.Journal;
 import org.scribble.protocol.ProtocolContext;
 import org.scribble.protocol.model.Protocol;
@@ -49,7 +49,7 @@
 		java.util.List<Role> roles=pm.getRoles();
 		
 		for (Role r : roles) {
-			ProtocolModel lm=ScribbleServices.getProtocolProjector().project(pm, r, journal, context);
+			ProtocolModel lm=ProtocolServices.getProtocolProjector().project(pm, r, journal, context);
 			
 			if (lm != null) {
 				Contract c=generate(lm.getProtocol(), journal);

Modified: branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/generator/impl/ContractIntrospector.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/generator/impl/ContractIntrospector.java	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/generator/impl/ContractIntrospector.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -24,8 +24,8 @@
 import java.text.MessageFormat;
 import java.util.logging.Logger;
 
-import org.savara.common.model.util.InteractionUtil;
-import org.savara.common.model.util.PropertyName;
+import org.savara.protocol.model.util.InteractionUtil;
+import org.savara.protocol.model.util.PropertyName;
 import org.savara.contract.model.Contract;
 import org.savara.contract.model.FaultDetails;
 import org.savara.contract.model.Interface;

Modified: branches/experimental/2.0.x/bundles/org.savara.contract/src/test/java/org/savara/contract/generator/impl/ContractIntrospectorTest.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.contract/src/test/java/org/savara/contract/generator/impl/ContractIntrospectorTest.java	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.contract/src/test/java/org/savara/contract/generator/impl/ContractIntrospectorTest.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -21,7 +21,7 @@
  */
 package org.savara.contract.generator.impl;
 
-import org.savara.common.model.util.PropertyName;
+import org.savara.protocol.model.util.PropertyName;
 import org.savara.contract.model.Contract;
 import org.savara.contract.model.Interface;
 import org.savara.contract.model.MessageExchangePattern;

Modified: branches/experimental/2.0.x/bundles/org.savara.monitor.sstore.rdbms/.classpath
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.monitor.sstore.rdbms/.classpath	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.monitor.sstore.rdbms/.classpath	2011-01-21 18:15:21 UTC (rev 600)
@@ -1,7 +1,13 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<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="src" path="src/main/java"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
+  <classpathentry kind="src" path="src/main/java" including="**/*.java"/>
+  <classpathentry kind="output" path="target/classes"/>
+  <classpathentry kind="var" path="M2_REPO/junit/junit/4.4/junit-4.4.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/felix/org.apache.felix.framework/3.0.1/org.apache.felix.framework-3.0.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/felix/org.osgi.core/1.4.0/org.osgi.core-1.4.0.jar"/>
+  <classpathentry kind="src" path="/org.savara.common"/>
+  <classpathentry kind="src" path="/org.savara.monitor"/>
+  <classpathentry kind="var" path="M2_REPO/org/scribble/bundles/org.scribble.common/2.0.0-SNAPSHOT/org.scribble.common-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/scribble/bundles/org.scribble.common/2.0.0-SNAPSHOT/org.scribble.common-2.0.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/scribble/bundles/org.scribble.protocol/2.0.0-SNAPSHOT/org.scribble.protocol-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/scribble/bundles/org.scribble.protocol/2.0.0-SNAPSHOT/org.scribble.protocol-2.0.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/scribble/bundles/org.scribble.protocol.monitor/2.0.0-SNAPSHOT/org.scribble.protocol.monitor-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/scribble/bundles/org.scribble.protocol.monitor/2.0.0-SNAPSHOT/org.scribble.protocol.monitor-2.0.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+</classpath>
\ No newline at end of file

Modified: branches/experimental/2.0.x/bundles/org.savara.monitor.sstore.rdbms/.project
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.monitor.sstore.rdbms/.project	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.monitor.sstore.rdbms/.project	2011-01-21 18:15:21 UTC (rev 600)
@@ -1,28 +1,23 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>org.savara.monitor.sstore.rdbms</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.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
+  <name>org.savara.monitor.sstore.rdbms</name>
+  <comment>The SAVARA project. NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
+  <projects>
+    <project>org.savara.common</project>
+    <project>org.savara.monitor</project>
+  </projects>
+  <buildSpec>
+    <buildCommand>
+      <name>org.eclipse.jdt.core.javabuilder</name>
+    </buildCommand>
+    <buildCommand>
+      <name>org.eclipse.pde.ManifestBuilder</name>
+    </buildCommand>
+    <buildCommand>
+      <name>org.eclipse.pde.SchemaBuilder</name>
+    </buildCommand>
+  </buildSpec>
+  <natures>
+    <nature>org.eclipse.pde.PluginNature</nature>
+    <nature>org.eclipse.jdt.core.javanature</nature>
+  </natures>
+</projectDescription>
\ No newline at end of file

Modified: branches/experimental/2.0.x/bundles/org.savara.monitor.sstore.rdbms/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.monitor.sstore.rdbms/.settings/org.eclipse.jdt.core.prefs	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.monitor.sstore.rdbms/.settings/org.eclipse.jdt.core.prefs	2011-01-21 18:15:21 UTC (rev 600)
@@ -1,8 +1,8 @@
-#Tue Jan 18 20:30:57 GMT 2011
+#Fri Jan 21 16:30:00 GMT 2011
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 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.compliance=1.6
+org.eclipse.jdt.core.compiler.source=1.5
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.compliance=1.5

Modified: branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/.classpath
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/.classpath	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/.classpath	2011-01-21 18:15:21 UTC (rev 600)
@@ -16,6 +16,7 @@
   <classpathentry kind="var" path="M2_REPO/org/pi4soa/org.pi4soa.common/3.1.0.Final/org.pi4soa.common-3.1.0.Final.jar"/>
   <classpathentry kind="src" path="/org.savara.common"/>
   <classpathentry kind="src" path="/org.savara.contract"/>
+  <classpathentry kind="src" path="/org.savara.protocol"/>
   <classpathentry kind="src" path="/org.savara.wsdl"/>
   <classpathentry kind="var" path="M2_REPO/org/scribble/bundles/org.scribble.common/2.0.0-SNAPSHOT/org.scribble.common-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/scribble/bundles/org.scribble.common/2.0.0-SNAPSHOT/org.scribble.common-2.0.0-SNAPSHOT-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/scribble/bundles/org.scribble.protocol/2.0.0-SNAPSHOT/org.scribble.protocol-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/scribble/bundles/org.scribble.protocol/2.0.0-SNAPSHOT/org.scribble.protocol-2.0.0-SNAPSHOT-sources.jar"/>

Modified: branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/.project
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/.project	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/.project	2011-01-21 18:15:21 UTC (rev 600)
@@ -4,6 +4,7 @@
   <projects>
     <project>org.savara.common</project>
     <project>org.savara.contract</project>
+    <project>org.savara.protocol</project>
     <project>org.savara.wsdl</project>
   </projects>
   <buildSpec>

Modified: branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/META-INF/MANIFEST.MF
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/META-INF/MANIFEST.MF	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/META-INF/MANIFEST.MF	2011-01-21 18:15:21 UTC (rev 600)
@@ -16,6 +16,7 @@
  org.scribble.protocol,
  org.junit,
  org.savara.common,
- org.scribble.protocol.projection
+ org.scribble.protocol.projection,
+ org.savara.protocol
 Export-Package: org.savara.pi4soa.cdm,
  org.savara.pi4soa.cdm.parser

Modified: branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/pom.xml
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/pom.xml	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/pom.xml	2011-01-21 18:15:21 UTC (rev 600)
@@ -36,6 +36,11 @@
 		</dependency>
 		<dependency>
 			<groupId>org.savara.bundles</groupId>
+			<artifactId>org.savara.protocol</artifactId>
+			<version>${savara.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.savara.bundles</groupId>
 			<artifactId>org.savara.wsdl</artifactId>
 			<version>${savara.version}</version>
 		</dependency>

Modified: branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ChoiceConverterRuleImpl.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ChoiceConverterRuleImpl.java	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ChoiceConverterRuleImpl.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -25,7 +25,7 @@
 import org.pi4soa.cdl.Parallel;
 import org.pi4soa.cdl.util.CDLTypeUtil;
 import org.pi4soa.cdl.util.InteractionUtil;
-import org.savara.common.model.util.PropertyName;
+import org.savara.protocol.model.util.PropertyName;
 import org.scribble.protocol.model.*;
 import org.scribble.protocol.model.Choice;
 import org.scribble.protocol.model.When;

Modified: branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ConditionalConverterRuleImpl.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ConditionalConverterRuleImpl.java	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ConditionalConverterRuleImpl.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -22,7 +22,7 @@
 import org.pi4soa.cdl.*;
 import org.pi4soa.cdl.util.CDLTypeUtil;
 import org.pi4soa.cdl.util.InteractionUtil;
-import org.savara.common.model.util.PropertyName;
+import org.savara.protocol.model.util.PropertyName;
 import org.savara.pi4soa.cdm.parser.rules.ChoiceConverterRuleImpl.InteractionLocator;
 import org.scribble.protocol.model.*;
 import org.scribble.protocol.model.When;

Modified: branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ConverterUtil.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ConverterUtil.java	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ConverterUtil.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -29,10 +29,10 @@
 import org.pi4soa.cdl.ParticipantType;
 import org.pi4soa.cdl.util.CDLTypeUtil;
 import org.pi4soa.common.xml.XMLUtils;
-import org.savara.common.model.annotation.Annotation;
-import org.savara.common.model.util.AnnotationDefinitions;
-import org.savara.common.model.util.PropertyName;
-import org.savara.common.model.util.TypeSystem;
+import org.savara.protocol.model.util.AnnotationDefinitions;
+import org.savara.protocol.model.util.PropertyName;
+import org.savara.protocol.model.util.TypeSystem;
+import org.savara.protocol.model.annotation.Annotation;
 import org.scribble.protocol.model.*;
 
 /**

Modified: branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/InteractionConverterRuleImpl.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/InteractionConverterRuleImpl.java	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/InteractionConverterRuleImpl.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -21,14 +21,11 @@
 
 import java.util.logging.Logger;
 
-import javax.xml.namespace.QName;
-
 import org.pi4soa.cdl.*;
 import org.pi4soa.cdl.Interaction;
-import org.savara.common.model.annotation.Annotation;
-import org.savara.common.model.util.AnnotationDefinitions;
-import org.savara.common.model.util.PropertyName;
-import org.savara.common.model.util.TypeSystem;
+import org.savara.protocol.model.util.AnnotationDefinitions;
+import org.savara.protocol.model.util.PropertyName;
+import org.savara.protocol.model.annotation.Annotation;
 import org.scribble.protocol.model.*;
 import org.scribble.protocol.model.Choice;
 import org.scribble.protocol.model.When;
@@ -39,9 +36,6 @@
 
 public class InteractionConverterRuleImpl implements ConverterRule {
 
-	//private static final String MESSAGE_TYPE_LOCALPART = "messageTypeLocalPart";
-	//private static final String MESSAGE_TYPE_NAMESPACE = "messageTypeNameSpace";
-
 	/**
 	 * This method determines whether the rule can be applied
 	 * to the supplied CDL type.

Modified: branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ProtocolConverterRuleImpl.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ProtocolConverterRuleImpl.java	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ProtocolConverterRuleImpl.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -34,8 +34,8 @@
 import org.pi4soa.cdl.util.PackageUtil;
 import org.pi4soa.common.util.NamesUtil;
 import org.pi4soa.common.xml.XMLUtils;
-import org.savara.common.model.util.PropertyName;
-import org.savara.common.model.util.TypeSystem;
+import org.savara.protocol.model.util.PropertyName;
+import org.savara.protocol.model.util.TypeSystem;
 import org.savara.contract.model.*;
 import org.scribble.protocol.model.*;
 

Modified: branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ProtocolModelConverterRuleImpl.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ProtocolModelConverterRuleImpl.java	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ProtocolModelConverterRuleImpl.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -26,8 +26,8 @@
 import org.pi4soa.cdl.*;
 import org.pi4soa.cdl.util.CDLTypeUtil;
 import org.pi4soa.common.xml.XMLUtils;
-import org.savara.common.model.util.PropertyName;
-import org.savara.common.model.util.TypeSystem;
+import org.savara.protocol.model.util.PropertyName;
+import org.savara.protocol.model.util.TypeSystem;
 import org.savara.contract.generator.ContractGenerator;
 import org.savara.contract.generator.ContractGeneratorFactory;
 import org.scribble.protocol.model.*;

Modified: branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/test/java/org/savara/pi4soa/cdm/parser/CDMProtocolParserTest.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/test/java/org/savara/pi4soa/cdm/parser/CDMProtocolParserTest.java	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/test/java/org/savara/pi4soa/cdm/parser/CDMProtocolParserTest.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -2,7 +2,7 @@
 
 import static org.junit.Assert.*;
 
-import org.savara.common.util.ScribbleServices;
+import org.savara.protocol.util.ProtocolServices;
 import org.scribble.common.logging.Journal;
 import org.scribble.protocol.model.ProtocolModel;
 
@@ -71,7 +71,7 @@
 	
 	@org.junit.Before
 	public void setup() {
-		ScribbleServices.setProtocolProjector(
+		ProtocolServices.setProtocolProjector(
 				new org.scribble.protocol.projection.impl.ProtocolProjectorImpl());
 	}
 

Modified: branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/test/java/org/savara/pi4soa/cdm/parser/rules/ConverterUtilTest.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/test/java/org/savara/pi4soa/cdm/parser/rules/ConverterUtilTest.java	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/test/java/org/savara/pi4soa/cdm/parser/rules/ConverterUtilTest.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -20,7 +20,7 @@
 import static org.junit.Assert.*;
 
 import org.pi4soa.cdl.CDLManager;
-import org.savara.common.util.ScribbleServices;
+import org.savara.protocol.util.ProtocolServices;
 import org.scribble.common.logging.Journal;
 import org.scribble.protocol.model.ProtocolModel;
 import org.scribble.protocol.model.Role;

Added: branches/experimental/2.0.x/bundles/org.savara.protocol/.classpath
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.protocol/.classpath	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.protocol/.classpath	2011-01-21 18:15:21 UTC (rev 600)
@@ -0,0 +1,11 @@
+<classpath>
+  <classpathentry kind="src" path="src/main/java" including="**/*.java"/>
+  <classpathentry kind="output" path="target/classes"/>
+  <classpathentry kind="var" path="M2_REPO/junit/junit/4.4/junit-4.4.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/felix/org.apache.felix.framework/3.0.1/org.apache.felix.framework-3.0.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/felix/org.osgi.core/1.4.0/org.osgi.core-1.4.0.jar"/>
+  <classpathentry kind="src" path="/org.savara.common"/>
+  <classpathentry kind="var" path="M2_REPO/org/scribble/bundles/org.scribble.common/2.0.0-SNAPSHOT/org.scribble.common-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/scribble/bundles/org.scribble.common/2.0.0-SNAPSHOT/org.scribble.common-2.0.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/scribble/bundles/org.scribble.protocol/2.0.0-SNAPSHOT/org.scribble.protocol-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/scribble/bundles/org.scribble.protocol/2.0.0-SNAPSHOT/org.scribble.protocol-2.0.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+</classpath>
\ No newline at end of file

Added: branches/experimental/2.0.x/bundles/org.savara.protocol/.project
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.protocol/.project	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.protocol/.project	2011-01-21 18:15:21 UTC (rev 600)
@@ -0,0 +1,22 @@
+<projectDescription>
+  <name>org.savara.protocol</name>
+  <comment>The SAVARA project. NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
+  <projects>
+    <project>org.savara.common</project>
+  </projects>
+  <buildSpec>
+    <buildCommand>
+      <name>org.eclipse.jdt.core.javabuilder</name>
+    </buildCommand>
+    <buildCommand>
+      <name>org.eclipse.pde.ManifestBuilder</name>
+    </buildCommand>
+    <buildCommand>
+      <name>org.eclipse.pde.SchemaBuilder</name>
+    </buildCommand>
+  </buildSpec>
+  <natures>
+    <nature>org.eclipse.pde.PluginNature</nature>
+    <nature>org.eclipse.jdt.core.javanature</nature>
+  </natures>
+</projectDescription>
\ No newline at end of file

Added: branches/experimental/2.0.x/bundles/org.savara.protocol/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.protocol/.settings/org.eclipse.jdt.core.prefs	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.protocol/.settings/org.eclipse.jdt.core.prefs	2011-01-21 18:15:21 UTC (rev 600)
@@ -0,0 +1,8 @@
+#Fri Jan 21 16:30:00 GMT 2011
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.compliance=1.5

Added: branches/experimental/2.0.x/bundles/org.savara.protocol/.settings/org.eclipse.pde.core.prefs
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.protocol/.settings/org.eclipse.pde.core.prefs	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.protocol/.settings/org.eclipse.pde.core.prefs	2011-01-21 18:15:21 UTC (rev 600)
@@ -0,0 +1,5 @@
+#Fri Jan 21 15:41:12 GMT 2011
+eclipse.preferences.version=1
+pluginProject.equinox=false
+pluginProject.extensions=false
+resolve.requirebundle=false

Added: branches/experimental/2.0.x/bundles/org.savara.protocol/Copyright.txt
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.protocol/Copyright.txt	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.protocol/Copyright.txt	2011-01-21 18:15:21 UTC (rev 600)
@@ -0,0 +1,17 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and others 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.
+ */

Added: branches/experimental/2.0.x/bundles/org.savara.protocol/META-INF/MANIFEST.MF
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.protocol/META-INF/MANIFEST.MF	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.protocol/META-INF/MANIFEST.MF	2011-01-21 18:15:21 UTC (rev 600)
@@ -0,0 +1,15 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: SAVARA Protocol
+Bundle-SymbolicName: org.savara.protocol
+Bundle-Version: 2.0.0.SNAPSHOT
+Bundle-Activator: org.savara.protocol.osgi.Activator
+Bundle-Vendor: www.savara.org
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Import-Package: org.osgi.framework;version="1.3.0"
+Require-Bundle: org.scribble.common,
+ org.scribble.protocol,
+ org.savara.common
+Export-Package: org.savara.protocol.model.annotation,
+ org.savara.protocol.model.change,
+ org.savara.protocol.model.util

Added: branches/experimental/2.0.x/bundles/org.savara.protocol/build.properties
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.protocol/build.properties	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.protocol/build.properties	2011-01-21 18:15:21 UTC (rev 600)
@@ -0,0 +1,4 @@
+source.. = src/main/java/
+output.. = bin/
+bin.includes = META-INF/,\
+               .

Added: branches/experimental/2.0.x/bundles/org.savara.protocol/pom.xml
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.protocol/pom.xml	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.protocol/pom.xml	2011-01-21 18:15:21 UTC (rev 600)
@@ -0,0 +1,44 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.savara.bundles</groupId>
+	<artifactId>org.savara.protocol</artifactId> 
+	<version>2.0.0-SNAPSHOT</version>
+	<packaging>jar</packaging>
+	<name>Savara::Bundles::Protocol</name>
+
+	<parent>
+		<groupId>org.savara</groupId>
+		<artifactId>bundles</artifactId>
+		<version>2.0.0-SNAPSHOT</version>
+	</parent>
+  
+	<dependencies>
+		<dependency>
+			<groupId>org.scribble.bundles</groupId>
+			<artifactId>org.scribble.common</artifactId>
+			<version>${scribble.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.scribble.bundles</groupId>
+			<artifactId>org.scribble.protocol</artifactId>
+			<version>${scribble.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.savara.bundles</groupId>
+			<artifactId>org.savara.common</artifactId>
+			<version>${savara.version}</version>
+		</dependency>
+	    <dependency>
+	      <groupId>org.apache.felix</groupId>
+	      <artifactId>org.osgi.core</artifactId>
+	      <version>${osgi.version}</version>
+	    </dependency>
+		<dependency>
+			<groupId>junit</groupId>
+			<artifactId>junit</artifactId>
+           	<version>${junit.version}</version>
+			<scope>test</scope>
+		</dependency>
+   </dependencies>
+</project>

Added: branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/annotation/Annotation.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/annotation/Annotation.java	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/annotation/Annotation.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -0,0 +1,68 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008-11, Red Hat Middleware LLC, and others 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.
+ */
+package org.savara.protocol.model.annotation;
+
+/**
+ * This class represents a named annotation with a set of named
+ * properties.
+ *
+ */
+public class Annotation {
+
+	private String m_name=null;
+	private java.util.Map<String,Object> m_properties=
+				new java.util.HashMap<String, Object>();
+	
+	/**
+	 * The constructor initialized with the annotation name.
+	 * 
+	 * @param name The name
+	 */
+	public Annotation(String name) {
+		m_name = name;
+	}
+	
+	/**
+	 * This method returns the name.
+	 * 
+	 * @return The name
+	 */
+	public String getName() {
+		return(m_name);
+	}
+	
+	/**
+	 * This method sets the name.
+	 * 
+	 * @param name The name
+	 */
+	public void setName(String name) {
+		m_name = name;
+	}
+	
+	/**
+	 * This method returns the properties associated
+	 * with this annotation.
+	 * 
+	 * @return The properties
+	 */
+	public java.util.Map<String,Object> getProperties() {
+		return(m_properties);
+	}
+	
+}

Added: branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/change/AbstractModelChangeContext.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/change/AbstractModelChangeContext.java	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/change/AbstractModelChangeContext.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -0,0 +1,186 @@
+/*
+ * Copyright 2005-8 Pi4 Technologies Ltd
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ * Change History:
+ * 24 Jul 2008 : Initial version created by gary
+ */
+package org.savara.protocol.model.change;
+
+import org.scribble.common.logging.Journal;
+import org.scribble.protocol.ProtocolContext;
+import org.scribble.protocol.model.*;
+
+/**
+ * This class provides a default implementation for the model
+ * change context interface.
+ */
+public abstract class AbstractModelChangeContext implements ModelChangeContext {
+	
+	private Object m_parent=null;
+	private ProtocolContext m_context=null;
+	private Journal m_journal=null;
+	private java.util.Map<String,Object> m_properties=new java.util.HashMap<String,Object>();
+
+	/**
+	 * This is the constructor for the model change context.
+	 * 
+	 * @param context The protocol context
+	 * @param journal The journal
+	 */
+	public AbstractModelChangeContext(ProtocolContext context, Journal journal) {
+		m_context = context;
+		m_journal = journal;
+	}
+	
+	/**
+	 * This method returns the protocol context.
+	 * 
+	 * @return The protocol context
+	 */
+	public ProtocolContext getProtocolContext() {
+		return(m_context);
+	}
+	
+	/**
+	 * This method returns the journal.
+	 * 
+	 * @return The journal
+	 */
+	public Journal getJournal() {
+		return(m_journal);
+	}
+	
+	/**
+	 * This method returns a list of model change rules appropriate
+	 * for the notation being changed.
+	 * 
+	 * @return The list of model change rules
+	 */
+	public abstract java.util.List<ModelChangeRule> getRules();
+	
+	/**
+	 * This method returns the current parent component.
+	 * 
+	 * @return The parent
+	 */
+	public Object getParent() {
+		return(m_parent);
+	}
+	
+	/**
+	 * This method sets the new parent component.
+	 * 
+	 * @param parent The parent
+	 */
+	public void setParent(Object parent) {
+		m_parent = parent;
+	}
+	
+	/**
+	 * This method adds a new model object, within a
+	 * parent model object, with the details supplied in
+	 * another model object. The supplied model object
+	 * will usually be from a different model representation
+	 * (e.g. due to a merge), so the details will be
+	 * copied and placed in the representation associated
+	 * with the supplied model and parent model object.<p>
+	 * <p>
+	 * If a reference model object is supplied, then the
+	 * insertion will occur relative to it. If the reference
+	 * object is a block, then it means that the insertion
+	 * should occur at the end of the block. Otherwise the
+	 * new model object should be inserted before the
+	 * reference object, within the containing block. 
+	 * 
+	 * @param model The model being changed
+	 * @param mobj The model object details to be inserted
+	 * @param ref The optional reference model object
+	 * @return Whether the change has been applied
+	 */
+	public boolean insert(ProtocolModel model, ModelObject mobj, ModelObject ref) {
+		boolean ret=false;
+		
+		java.util.List<ModelChangeRule> rules=getRules();
+		
+		for (int i=0; ret == false && i < rules.size(); i++) {
+			if (rules.get(i).isInsertSupported(this, model, mobj, ref)) {
+				ret = rules.get(i).insert(this, model,
+						mobj, ref);
+			}
+		}
+		
+		return(ret);
+	}
+	
+	/**
+	 * This method removes an existing model object, within a
+	 * parent model object, with the details supplied in
+	 * another model object.
+	 * 
+	 * @param model The model being changed
+	 * @param mobj The model object details to be deleted
+	 * @param position The position, where relevant
+	 * @return Whether the change has been applied
+	 */
+	public boolean delete(ProtocolModel model, ModelObject mobj) {
+		boolean ret=false;
+		
+		java.util.List<ModelChangeRule> rules=getRules();
+		
+		for (int i=0; ret == false && i < rules.size(); i++) {
+			if (rules.get(i).isDeleteSupported(this, model, mobj)) {
+				ret = rules.get(i).delete(this, model, mobj);
+			}
+		}
+		
+		return(ret);
+	}
+	
+	/**
+	 * This method modifies an existing model object, within a
+	 * parent model object, with the details supplied in
+	 * another model object.
+	 * 
+	 * @param model The model being changed
+	 * @param fromObj The source model object
+	 * @param toObj The model object to be updated
+	 * @return Whether the change has been applied
+	 */
+	public boolean update(ProtocolModel model, ModelObject fromObj, ModelObject toObj) {
+		boolean ret=false;
+		
+		java.util.List<ModelChangeRule> rules=getRules();
+		
+		for (int i=0; ret == false && i < rules.size(); i++) {
+			if (rules.get(i).isUpdateSupported(this, model, fromObj, toObj)) {
+				ret = rules.get(i).update(this, model,
+						fromObj, toObj);
+			}
+		}
+		
+		return(ret);
+	}
+	
+	/**
+	 * This method returns a set of properties used during model change
+	 * processing.
+	 * 
+	 * @return The properties
+	 */
+	public java.util.Map<String,Object> getProperties() {
+		return(m_properties);
+	}
+}

Added: branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/change/AbstractModelChangeRule.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/change/AbstractModelChangeRule.java	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/change/AbstractModelChangeRule.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -0,0 +1,136 @@
+/*
+ * Copyright 2005-8 Pi4 Technologies Ltd
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ * Change History:
+ * 28 Jul 2008 : Initial version created by gary
+ */
+package org.savara.protocol.model.change;
+
+import org.scribble.protocol.model.*;
+
+public abstract class AbstractModelChangeRule implements ModelChangeRule {
+
+	/**
+	 * This method determines whether the rule is appropriate
+	 * for the supplied type of model, parent (in the context) and inserted
+	 * model object.
+	 *
+	 * @param context The context
+	 * @param model The model
+	 * @param mobj The model object being inserted
+	 * @param ref The optional reference model object
+	 * @return Whether the rule supports the supplied information
+	 */
+	public boolean isInsertSupported(ModelChangeContext context,
+			ProtocolModel model, ModelObject mobj, ModelObject ref) {
+		return(false);
+	}
+	
+	/**
+	 * This method adds a new model object, within a
+	 * parent model object, with the details supplied in
+	 * another model object. The supplied model object
+	 * will usually be from a different model representation
+	 * (e.g. due to a merge), so the details will be
+	 * copied and placed in the representation associated
+	 * with the supplied model and parent model object.<p>
+	 * <p>
+	 * If a reference model object is supplied, then the
+	 * insertion will occur relative to it. If the reference
+	 * object is a block, then it means that the insertion
+	 * should occur at the end of the block. Otherwise the
+	 * new model object should be inserted before the
+	 * reference object, within the containing block.<p>
+	 * <p>
+	 * If the reference object is not supplied, then the
+	 * new model object should be inserted at the end of
+	 * the behaviour associated with the parent in the model
+	 * change context.
+	 * 
+	 * @param context The context
+	 * @param model The model being changed
+	 * @param mobj The model object details to be inserted
+	 * @param ref The optional reference model object
+	 * @return Whether the change has been applied
+	 */
+	public boolean insert(ModelChangeContext context,
+				ProtocolModel model, ModelObject mobj, ModelObject ref) {
+		return(false);
+	}
+	
+	/**
+	 * This method determines whether the rule is appropriate
+	 * for the supplied type of model, parent (in the context)
+	 * and deleted model object.
+	 * 
+	 * @param context The context
+	 * @param model The model
+	 * @param mobj The model object to be removed
+	 * @return Whether the rule supports the supplied information
+	 */
+	public boolean isDeleteSupported(ModelChangeContext context,
+						ProtocolModel model, ModelObject mobj) {
+		return(false);
+	}
+	
+	/**
+	 * This method removes the supplied model object from the
+	 * supplied model. The model object representation must
+	 * contain the necessary model specific to remove the 
+	 * object from the underlying model representation.
+	 * 
+	 * @param context The context
+	 * @param model The model being changed
+	 * @param mobj The model object to be deleted
+	 * @return Whether the change has been applied
+	 */
+	public boolean delete(ModelChangeContext context,
+				ProtocolModel model, ModelObject mobj) {
+		return(false);
+	}
+	
+	/**
+	 * This method determines whether the rule is appropriate
+	 * for the supplied type of model, parent (in the context)
+	 * and modified model object.
+	 *
+	 * @param context The context
+	 * @param model The model
+	 * @param fromObj The source model object
+	 * @param toObj The model object to be updated
+	 * @return Whether the rule supports the supplied information
+	 */
+	public boolean isUpdateSupported(ModelChangeContext context,
+					ProtocolModel model, ModelObject fromObj, ModelObject toObj) {
+		return(false);
+	}
+	
+	/**
+	 * This method modifies an existing model object, within a
+	 * parent model object, with the details supplied in
+	 * another model object.
+	 * 
+	 * @param context The context
+	 * @param model The model being changed
+	 * @param fromObj The source model object
+	 * @param toObj The model object to be updated
+	 * @return Whether the change has been applied
+	 */
+	public boolean update(ModelChangeContext context,
+				ProtocolModel model, ModelObject fromObj, ModelObject toObj) {
+		return(false);
+	}
+}

Added: branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/change/ModelChangeContext.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/change/ModelChangeContext.java	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/change/ModelChangeContext.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -0,0 +1,115 @@
+/*
+ * Copyright 2005-8 Pi4 Technologies Ltd
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ * Change History:
+ * 24 Jul 2008 : Initial version created by gary
+ */
+package org.savara.protocol.model.change;
+
+import org.scribble.common.logging.Journal;
+import org.scribble.protocol.ProtocolContext;
+import org.scribble.protocol.model.*;
+
+/**
+ * This interface represents the capabilities made available
+ * to the model change rules.
+ */
+public interface ModelChangeContext {
+
+	/**
+	 * This method returns the protocol context.
+	 * 
+	 * @return The protocol context
+	 */
+	public ProtocolContext getProtocolContext();
+	
+	/**
+	 * This method returns the protocol context.
+	 * 
+	 * @return The protocol context
+	 */
+	public Journal getJournal();
+	
+	/**
+	 * This method returns the current parent component.
+	 * 
+	 * @return The parent
+	 */
+	public Object getParent();
+	
+	/**
+	 * This method sets the new parent component.
+	 * 
+	 * @param parent The parent
+	 */
+	public void setParent(Object parent);
+	
+	/**
+	 * This method adds a new model object, within a
+	 * parent model object, with the details supplied in
+	 * another model object. The supplied model object
+	 * will usually be from a different model representation
+	 * (e.g. due to a merge), so the details will be
+	 * copied and placed in the representation associated
+	 * with the supplied model and parent model object.<p>
+	 * <p>
+	 * If a reference model object is supplied, then the
+	 * insertion will occur relative to it. If the reference
+	 * object is a block, then it means that the insertion
+	 * should occur at the end of the block. Otherwise the
+	 * new model object should be inserted before the
+	 * reference object, within the containing block. 
+	 * 
+	 * @param model The model being changed
+	 * @param mobj The model object details to be inserted
+	 * @param ref The optional reference model object
+	 * @return Whether the change has been applied
+	 */
+	public boolean insert(ProtocolModel model, ModelObject mobj, ModelObject ref);
+	
+	/**
+	 * This method removes the supplied model object from the
+	 * supplied model. The model object representation must
+	 * contain the necessary model specific to remove the 
+	 * object from the underlying model representation.
+	 * 
+	 * @param model The model being changed
+	 * @param mobj The model object to be deleted
+	 * @return Whether the change has been applied
+	 */
+	public boolean delete(ProtocolModel model, ModelObject mobj);
+	
+	/**
+	 * This method modifies an existing model object, within a
+	 * parent model object, with the details supplied in
+	 * another model object.
+	 * 
+	 * @param model The model being changed
+	 * @param fromObj The source model object
+	 * @param toObj The model object to be updated
+	 * @return Whether the change has been applied
+	 */
+	public boolean update(ProtocolModel model, ModelObject fromObj, ModelObject toObj);
+	
+	/**
+	 * This method returns a set of properties used during model change
+	 * processing.
+	 * 
+	 * @return The properties
+	 */
+	public java.util.Map<String,Object> getProperties();
+	
+}

Added: branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/change/ModelChangeRule.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/change/ModelChangeRule.java	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/change/ModelChangeRule.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -0,0 +1,130 @@
+/*
+ * Copyright 2005-8 Pi4 Technologies Ltd
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ * Change History:
+ * 23 Jul 2008 : Initial version created by gary
+ */
+package org.savara.protocol.model.change;
+
+import org.scribble.protocol.model.*;
+
+/**
+ * This interface represents a rule that can be used
+ * to insert a new model object into the current model.
+ */
+public interface ModelChangeRule {
+
+	/**
+	 * This method determines whether the rule is appropriate
+	 * for the supplied type of model, parent (in the context)
+	 * and inserted model object.
+	 * 
+	 * @param context The model change context
+	 * @param model The model
+	 * @param mobj The model object being inserted
+	 * @param ref The optional reference model object
+	 * @return Whether the rule supports the supplied information
+	 */
+	public boolean isInsertSupported(ModelChangeContext context,
+					ProtocolModel model, ModelObject mobj,
+					ModelObject ref);
+	
+	/**
+	 * This method adds a new model object, within a
+	 * parent model object, with the details supplied in
+	 * another model object. The supplied model object
+	 * will usually be from a different model representation
+	 * (e.g. due to a merge), so the details will be
+	 * copied and placed in the representation associated
+	 * with the supplied model and parent model object.<p>
+	 * <p>
+	 * If a reference model object is supplied, then the
+	 * insertion will occur relative to it. If the reference
+	 * object is a block, then it means that the insertion
+	 * should occur at the end of the block. Otherwise the
+	 * new model object should be inserted before the
+	 * reference object, within the containing block.<p>
+	 * <p>
+	 * If the reference object is not supplied, then the
+	 * new model object should be inserted at the end of
+	 * the behaviour associated with the parent in the model
+	 * change context.
+	 * 
+	 * @param context The context
+	 * @param model The model being changed
+	 * @param mobj The model object details to be inserted
+	 * @param ref The optional reference model object
+	 * @return Whether the change has been applied
+	 */
+	public boolean insert(ModelChangeContext context,
+				ProtocolModel model, ModelObject mobj, ModelObject ref);
+	
+	/**
+	 * This method determines whether the rule is appropriate
+	 * for the supplied type of model, parent (in the context)
+	 * and deleted model object.
+	 *
+	 * @param context The context
+	 * @param model The model
+	 * @param mobj The model object to be removed
+	 * @return Whether the rule supports the supplied information
+	 */
+	public boolean isDeleteSupported(ModelChangeContext context,
+					ProtocolModel model, ModelObject mobj);
+	
+	/**
+	 * This method removes the supplied model object from the
+	 * supplied model. The model object representation must
+	 * contain the necessary model specific to remove the 
+	 * object from the underlying model representation.
+	 * 
+	 * @param context The context
+	 * @param model The model being changed
+	 * @param mobj The model object to be deleted
+	 * @return Whether the change has been applied
+	 */
+	public boolean delete(ModelChangeContext context,
+			ProtocolModel model, ModelObject mobj);
+	
+	/**
+	 * This method determines whether the rule is appropriate
+	 * for the supplied type of model, parent (in the context)
+	 * and modified model object.
+	 *
+	 * @param context The context
+	 * @param model The model
+	 * @param fromObj The source model object
+	 * @param toObj The model object to be updated
+	 * @return Whether the rule supports the supplied information
+	 */
+	public boolean isUpdateSupported(ModelChangeContext context,
+			ProtocolModel model, ModelObject fromObj, ModelObject toObj);
+	
+	/**
+	 * This method modifies an existing model object, within a
+	 * parent model object, with the details supplied in
+	 * another model object.
+	 * 
+	 * @param context The context
+	 * @param model The model being changed
+	 * @param fromObj The source model object
+	 * @param toObj The model object to be updated
+	 * @return Whether the change has been applied
+	 */
+	public boolean update(ModelChangeContext context,
+			ProtocolModel model, ModelObject fromObj, ModelObject toObj);
+
+}

Added: branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/util/AnnotationDefinitions.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/util/AnnotationDefinitions.java	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/util/AnnotationDefinitions.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and others 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.
+ */
+package org.savara.protocol.model.util;
+
+public class AnnotationDefinitions {
+
+	// Annotations
+	public static final String INTERFACE = "Interface";
+	
+	public static final String FAULT = "Fault";
+	
+	// XSD sub types
+	public static final String XSD_ELEMENT = "XSDElement";
+	public static final String XSD_TYPE = "XSDType";
+	
+	
+	// Annotation property names
+	public static final String NAME="name";
+	
+}

Added: branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/util/InteractionUtil.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/util/InteractionUtil.java	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/util/InteractionUtil.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -0,0 +1,288 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and others 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.
+ */
+package org.savara.protocol.model.util;
+
+import org.savara.protocol.model.annotation.Annotation;
+import org.scribble.protocol.model.*;
+
+/**
+ * This class contains utility functions for dealing with Interactions.
+ */
+public class InteractionUtil {
+	
+	/**
+	 * This method returns the name associated with the interaction.
+	 * 
+	 * @param interaction The interaction
+	 * @return The name
+	 */
+	public static String getName(Interaction interaction) {
+		String ret=null;
+		
+		if (isSend(interaction)) {
+			ret = "Send";
+		} else {
+			ret = "Receive";
+		}
+		
+		for (TypeReference ref : interaction.getMessageSignature().getTypeReferences()) {
+			ret += "_"+ref.getName();
+		}
+
+		return(ret);
+	}
+	
+	/**
+	 * This method returns the name associated with the interaction.
+	 * 
+	 * @param when The when
+	 * @return The name
+	 */
+	public static String getName(When when) {
+		String ret=null;
+		
+		if (isSend(when)) {
+			ret = "Send";
+		} else {
+			ret = "Receive";
+		}
+		
+		for (TypeReference ref : when.getMessageSignature().getTypeReferences()) {
+			ret += "_"+ref.getName();
+		}
+
+		return(ret);
+	}
+	
+	/**
+	 * This method determines whether the supplied interaction
+	 * is a send.
+	 * 
+	 * @param interaction The interaction
+	 * @return Whether the interaction is a send
+	 */
+	public static boolean isSend(Interaction interaction) {
+		boolean ret=false;
+		Role role=null;
+		
+		if (interaction.enclosingProtocol() != null) {
+			role = interaction.enclosingProtocol().getRole();
+		}
+		
+		if (role != null && ((interaction.getFromRole() != null &&
+				interaction.getFromRole().equals(
+						role)) ||
+			(interaction.getToRoles().size() > 0 &&
+					interaction.getToRoles().contains(
+						role) == false))) {
+			ret = true;
+		}
+		
+		return(ret);
+	}
+	
+	/**
+	 * This method determines whether the supplied interaction
+	 * is a send.
+	 * 
+	 * @param interaction The interaction
+	 * @return Whether the interaction is a send
+	 */
+	public static boolean isSend(When when) {
+		boolean ret=false;
+		Role role=null;
+		
+		if (((Choice)when.getParent()).enclosingProtocol() != null) {
+			role = ((Choice)when.getParent()).enclosingProtocol().getRole();
+		}
+		
+		if (role != null && ((((Choice)when.getParent()).getFromRole() != null &&
+				((Choice)when.getParent()).getFromRole().equals(
+						role)) ||
+					(((Choice)when.getParent()).getToRole() != null &&
+					((Choice)when.getParent()).getToRole().equals(
+						role) == false))) {
+			ret = true;
+		}
+		
+		return(ret);
+	}
+	
+	public static String getRequestLabel(Interaction interaction) {
+		return((String)interaction.getProperties().get(PropertyName.REQUEST_LABEL));
+	}
+	
+	public static String getReplyToLabel(Interaction interaction) {
+		return((String)interaction.getProperties().get(PropertyName.REPLY_TO_LABEL));
+	}
+	
+	public static String getRequestLabel(When interaction) {
+		return((String)interaction.getProperties().get(PropertyName.REQUEST_LABEL));
+	}
+	
+	public static String getReplyToLabel(When interaction) {
+		return((String)interaction.getProperties().get(PropertyName.REPLY_TO_LABEL));
+	}
+
+	/**
+	 * This method determines whether the supplied interaction
+	 * is a request.
+	 * 
+	 * @param interaction The interaction
+	 * @return Whether the interaction is a request
+	 */
+	public static boolean isRequest(Interaction interaction) {
+		boolean ret=false;
+
+		if (getRequestLabel(interaction) != null ||
+						getReplyToLabel(interaction) == null) {
+			ret = true;
+		}
+		
+		return(ret);
+	}
+	
+	/**
+	 * This method determines whether the supplied interaction
+	 * is a request.
+	 * 
+	 * @param interaction The interaction
+	 * @return Whether the interaction is a request
+	 */
+	public static boolean isRequest(When interaction) {
+		boolean ret=false;
+
+		if (getRequestLabel(interaction) != null ||
+				getReplyToLabel(interaction) == null) {
+			ret = true;
+		}
+		
+		return(ret);
+	}
+	
+	/**
+	 * This method determines whether the supplied interaction
+	 * is a response.
+	 * 
+	 * @param interaction The interaction
+	 * @return Whether the interaction is a response
+	 */
+	public static boolean isResponse(Interaction interaction) {
+		boolean ret=false;
+
+		if (getReplyToLabel(interaction) != null) {
+			ret = true;
+		}
+		
+		return(ret);
+	}
+	
+	/**
+	 * This method determines whether the supplied interaction
+	 * is a response.
+	 * 
+	 * @param interaction The interaction
+	 * @return Whether the interaction is a response
+	 */
+	public static boolean isResponse(When interaction) {
+		boolean ret=false;
+
+		if (getReplyToLabel(interaction) != null) {
+			ret = true;
+		}
+		
+		return(ret);
+	}
+	
+	/**
+	 * This method determines if the supplied interaction is a fault
+	 * response.
+	 * 
+	 * @param interaction The interaction
+	 * @return Whether the interaction is a fault response
+	 */
+	public static boolean isFaultResponse(Interaction interaction) {
+		boolean ret=false;
+		
+		if (isResponse(interaction) &&
+				interaction.getMessageSignature().getProperties().
+						keySet().contains(AnnotationDefinitions.FAULT)) {
+			ret = true;
+		}
+
+		return(ret);
+	}
+	
+	/**
+	 * This method determines if the supplied interaction is a fault
+	 * response.
+	 * 
+	 * @param interaction The interaction
+	 * @return Whether the interaction is a fault response
+	 */
+	public static boolean isFaultResponse(When interaction) {
+		boolean ret=false;
+		
+		if (InteractionUtil.isResponse(interaction) &&
+				interaction.getMessageSignature().getProperties().
+						keySet().contains(AnnotationDefinitions.FAULT)) {
+			ret = true;
+		}
+
+		return(ret);
+	}
+	
+	/**
+	 * This method returns the fault name associated with the supplied
+	 * interaction.
+	 * 
+	 * @param interaction The interaction
+	 * @return The fault name, or null if not found
+	 */
+	public static String getFaultName(Interaction interaction) {
+		String ret=null;
+		Annotation annotation=(Annotation)interaction.
+			getMessageSignature().getProperties().get(AnnotationDefinitions.FAULT);
+		
+		if (annotation != null) {
+			ret = (String)annotation.getProperties().get(AnnotationDefinitions.NAME);
+		}
+		
+		return(ret);
+	}
+	
+	/**
+	 * This method returns the fault name associated with the supplied
+	 * interaction.
+	 * 
+	 * @param interaction The interaction
+	 * @return The fault name, or null if not found
+	 */
+	public static String getFaultName(When interaction) {
+		String ret=null;
+		Annotation annotation=(Annotation)interaction.
+			getMessageSignature().getProperties().get(AnnotationDefinitions.FAULT);
+		
+		if (annotation != null) {
+			ret = (String)annotation.getProperties().get(AnnotationDefinitions.NAME);
+		}
+		
+		return(ret);
+	}
+	
+}

Added: branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/util/PropertyName.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/util/PropertyName.java	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/util/PropertyName.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -0,0 +1,31 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and others 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.
+ */
+package org.savara.protocol.model.util;
+
+public class PropertyName {
+
+	public static final String NAMESPACE_PREFIXES="NamespacePrefixes";
+	
+	public static final String SCHEMA_LOCATIONS="SchemaLocations";
+	
+	public static final String NAMESPACE = "Namespace";
+	
+	public static final String REQUEST_LABEL = "RequestLabel";
+	public static final String REPLY_TO_LABEL = "ReplyToLabel";
+
+}

Added: branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/util/TypeSystem.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/util/TypeSystem.java	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/model/util/TypeSystem.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -0,0 +1,26 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and others 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.
+ */
+package org.savara.protocol.model.util;
+
+public class TypeSystem {
+
+	public static final String XSD = "xsd";
+	
+	public static final String JAVA = "java";
+	
+}

Added: branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/osgi/Activator.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/osgi/Activator.java	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/osgi/Activator.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -0,0 +1,47 @@
+package org.savara.protocol.osgi;
+
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+import org.scribble.protocol.parser.ProtocolParserManager;
+import org.scribble.protocol.projection.ProtocolProjector;
+
+public class Activator implements BundleActivator {
+
+	private static BundleContext context;
+
+	static BundleContext getContext() {
+		return context;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
+	 */
+	public void start(BundleContext bundleContext) throws Exception {
+		Activator.context = bundleContext;
+		
+		// Initialize the protocol parser manager
+		ServiceReference sref=context.getServiceReference(ProtocolParserManager.class.getName());
+		
+		ProtocolParserManager ppm=(ProtocolParserManager)context.getService(sref);
+		
+		org.savara.protocol.util.ProtocolServices.setParserManager(ppm);
+		
+		// Initialize the protocol projector
+		sref=context.getServiceReference(ProtocolProjector.class.getName());
+		
+		ProtocolProjector pp=(ProtocolProjector)context.getService(sref);
+		
+		org.savara.protocol.util.ProtocolServices.setProtocolProjector(pp);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
+	 */
+	public void stop(BundleContext bundleContext) throws Exception {
+		Activator.context = null;
+	}
+
+}

Added: branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/util/ProtocolServices.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/util/ProtocolServices.java	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/util/ProtocolServices.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -0,0 +1,78 @@
+/*
+ * Copyright 2009 www.scribble.org
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.savara.protocol.util;
+
+import org.scribble.protocol.export.ProtocolExportManager;
+import org.scribble.protocol.parser.ProtocolParserManager;
+import org.scribble.protocol.projection.ProtocolProjector;
+import org.scribble.protocol.validation.ProtocolValidationManager;
+//import org.scribble.protocol.monitor.ProtocolMonitor;
+
+/**
+ * This class provides a manager for accessing services used
+ * by the designer.
+ *
+ */
+public class ProtocolServices {
+	
+	private static ProtocolValidationManager m_validationManager=null;
+	private static ProtocolParserManager m_parserManager=null;
+	private static ProtocolProjector m_protocolProjector=null;
+	//private static ProtocolMonitor m_protocolMonitor=null;
+	private static ProtocolExportManager m_protocolExportManager=null;
+
+	public static ProtocolValidationManager getValidationManager() {
+		return(m_validationManager);
+	}
+	
+	public static void setValidationManager(ProtocolValidationManager vm) {
+		m_validationManager = vm;
+	}
+	
+	public static ProtocolParserManager getParserManager() {
+		return(m_parserManager);
+	}
+	
+	public static void setParserManager(ProtocolParserManager pm) {
+		m_parserManager = pm;
+	}
+	
+	/*
+	public static ProtocolMonitor getProtocolMonitor() {
+		return(m_protocolMonitor);
+	}
+	
+	public static void setProtocolMonitor(ProtocolMonitor parser) {
+		m_protocolMonitor = parser;
+	}
+	*/
+	
+	public static ProtocolProjector getProtocolProjector() {
+		return(m_protocolProjector);
+	}
+	
+	public static void setProtocolProjector(ProtocolProjector projector) {
+		m_protocolProjector = projector;
+	}	
+	
+	public static ProtocolExportManager getProtocolExportManager() {
+		return(m_protocolExportManager);
+	}
+	
+	public static void setProtocolExportManager(ProtocolExportManager pem) {
+		m_protocolExportManager = pem;
+	}	
+}
\ No newline at end of file

Added: branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/util/ProtocolUtils.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/util/ProtocolUtils.java	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.protocol/src/main/java/org/savara/protocol/util/ProtocolUtils.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -0,0 +1,99 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and others 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.
+ */
+package org.savara.protocol.util;
+
+import org.scribble.protocol.model.ModelObject;
+import org.scribble.protocol.model.ModelProperties;
+
+/**
+ * This class defines a set of protocol related utility functions.
+ */
+public final class ProtocolUtils {
+		
+	/**
+	 * This method calculates the start and end position of a supplied DOM element, within
+	 * the supplied text contents, and sets the values on the supplied ModelObject.
+	 * 
+	 * @param obj The ModelObject to be initialized
+	 * @param contents The text contents
+	 * @param elem The DOM element to be located in the text
+	 */
+	public static void setStartAndEndPosition(ModelObject obj, String contents, org.w3c.dom.Element elem) {
+
+		if (contents != null) {
+			org.w3c.dom.NodeList nl=elem.getOwnerDocument().getElementsByTagName(elem.getNodeName());
+			int elempos=-1;
+			
+			for (int i=0; elempos == -1 && i < nl.getLength(); i++) {
+				if (nl.item(i) == elem) {
+					elempos = i;
+				}
+			}
+			
+			if (elempos != -1) {
+				int startpos=-1;
+					
+				for (int i=0; i <= elempos; i++) {
+					int val1=contents.indexOf("<"+elem.getNodeName()+">", startpos+1);
+					int val2=contents.indexOf("<"+elem.getNodeName()+" ", startpos+1);
+					
+					if (val1 == -1 && val2 != -1) {
+						startpos = val2;
+					} else if (val1 != -1 && val2 == -1) {
+						startpos = val1;
+					} else if (val1 == -1 && val2 == -1) {
+						// TODO: Error condition
+						break;
+					} else if (val1 > val2) {
+						startpos = val2;
+					} else {
+						startpos = val1;
+					}
+				}
+				
+				if (startpos != -1) {
+					//obj.getSource().setStartPosition(startpos);
+					obj.getProperties().put(ModelProperties.START_LOCATION, startpos);
+					
+					// Check if single node
+					int p1=contents.indexOf('>', startpos);
+					
+					if (p1 != -1 && contents.charAt(p1-1) == '/') {
+						//obj.getSource().setEndPosition(p1);
+						obj.getProperties().put(ModelProperties.END_LOCATION, p1);
+					} else {
+					
+						org.w3c.dom.NodeList enl=elem.getElementsByTagName(elem.getNodeName());
+						
+						int endpos=startpos;
+						String nodetxt="</"+elem.getNodeName()+">";
+						
+						for (int i=0; endpos != -1 && i <= enl.getLength(); i++) {
+							endpos = contents.indexOf(nodetxt, endpos+1);
+						}
+						
+						if (endpos != -1) {
+							//obj.getSource().setEndPosition(endpos+nodetxt.length()-1);
+							obj.getProperties().put(ModelProperties.END_LOCATION, endpos+nodetxt.length()-1);
+						}
+					}
+				}
+			}
+		}
+	}
+}

Modified: branches/experimental/2.0.x/bundles/org.savara.wsdl/.classpath
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.wsdl/.classpath	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.wsdl/.classpath	2011-01-21 18:15:21 UTC (rev 600)
@@ -8,6 +8,7 @@
   <classpathentry kind="var" path="M2_REPO/org/apache/felix/org.osgi.core/1.4.0/org.osgi.core-1.4.0.jar"/>
   <classpathentry kind="src" path="/org.savara.common"/>
   <classpathentry kind="src" path="/org.savara.contract"/>
+  <classpathentry kind="src" path="/org.savara.protocol"/>
   <classpathentry kind="var" path="M2_REPO/org/scribble/bundles/org.scribble.common/2.0.0-SNAPSHOT/org.scribble.common-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/scribble/bundles/org.scribble.common/2.0.0-SNAPSHOT/org.scribble.common-2.0.0-SNAPSHOT-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/scribble/bundles/org.scribble.protocol/2.0.0-SNAPSHOT/org.scribble.protocol-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/scribble/bundles/org.scribble.protocol/2.0.0-SNAPSHOT/org.scribble.protocol-2.0.0-SNAPSHOT-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/wsdl4j/wsdl4j/1.6.2/wsdl4j-1.6.2.jar"/>

Modified: branches/experimental/2.0.x/bundles/org.savara.wsdl/.project
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.wsdl/.project	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.wsdl/.project	2011-01-21 18:15:21 UTC (rev 600)
@@ -4,6 +4,7 @@
   <projects>
     <project>org.savara.common</project>
     <project>org.savara.contract</project>
+    <project>org.savara.protocol</project>
   </projects>
   <buildSpec>
     <buildCommand>

Modified: branches/experimental/2.0.x/bundles/org.savara.wsdl/src/main/java/org/savara/wsdl/generator/impl/WSDLGeneratorImpl.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.wsdl/src/main/java/org/savara/wsdl/generator/impl/WSDLGeneratorImpl.java	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.wsdl/src/main/java/org/savara/wsdl/generator/impl/WSDLGeneratorImpl.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -22,9 +22,9 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.savara.common.model.util.AnnotationDefinitions;
-import org.savara.common.model.util.PropertyName;
-import org.savara.common.model.util.TypeSystem;
+import org.savara.protocol.model.util.AnnotationDefinitions;
+import org.savara.protocol.model.util.PropertyName;
+import org.savara.protocol.model.util.TypeSystem;
 import org.savara.contract.model.FaultDetails;
 import org.savara.contract.model.Interface;
 import org.savara.contract.model.Namespace;

Modified: branches/experimental/2.0.x/bundles/org.savara.wsdl/src/test/java/org/savara/wsdl/generator/WSDLGeneratorTest.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.wsdl/src/test/java/org/savara/wsdl/generator/WSDLGeneratorTest.java	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/org.savara.wsdl/src/test/java/org/savara/wsdl/generator/WSDLGeneratorTest.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -20,11 +20,11 @@
 import javax.wsdl.Part;
 import javax.xml.namespace.QName;
 
-import org.savara.common.model.annotation.Annotation;
-import org.savara.common.model.util.AnnotationDefinitions;
-import org.savara.common.model.util.PropertyName;
-import org.savara.common.model.util.TypeSystem;
+import org.savara.protocol.model.util.AnnotationDefinitions;
+import org.savara.protocol.model.util.PropertyName;
+import org.savara.protocol.model.util.TypeSystem;
 import org.savara.contract.model.*;
+import org.savara.protocol.model.annotation.Annotation;
 import org.savara.wsdl.generator.WSDLGenerator;
 import org.savara.wsdl.generator.WSDLGeneratorFactory;
 import org.savara.wsdl.generator.impl.WSDLGeneratorImpl;

Modified: branches/experimental/2.0.x/bundles/pom.xml
===================================================================
--- branches/experimental/2.0.x/bundles/pom.xml	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/bundles/pom.xml	2011-01-21 18:15:21 UTC (rev 600)
@@ -27,6 +27,7 @@
 		<module>org.savara.monitor</module>
 		<module>org.savara.monitor.sstore.rdbms</module>
 		<module>org.savara.pi4soa.cdm</module>
+		<module>org.savara.protocol</module>
 		<module>org.savara.scenario</module>
 		<module>org.savara.wsdl</module>
 		<module>org.savara.bundles.tests</module>

Modified: branches/experimental/2.0.x/integration/jboss/common/.project
===================================================================
--- branches/experimental/2.0.x/integration/jboss/common/.project	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/integration/jboss/common/.project	2011-01-21 18:15:21 UTC (rev 600)
@@ -1,5 +1,5 @@
 <projectDescription>
-  <name>savara-validator-jboss</name>
+  <name>savara-jboss</name>
   <comment>The SAVARA project. NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
   <projects/>
   <buildSpec>

Modified: branches/experimental/2.0.x/integration/jboss/esb/.classpath
===================================================================
--- branches/experimental/2.0.x/integration/jboss/esb/.classpath	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/integration/jboss/esb/.classpath	2011-01-21 18:15:21 UTC (rev 600)
@@ -13,6 +13,6 @@
   <classpathentry kind="var" path="M2_REPO/org/pi4soa/org.pi4soa.cdl/3.1.0.Final/org.pi4soa.cdl-3.1.0.Final.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/pi4soa/org.pi4soa.common/3.1.0.Final/org.pi4soa.common-3.1.0.Final.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/pi4soa/org.pi4soa.service/3.1.0.Final/org.pi4soa.service-3.1.0.Final.jar"/>
-  <classpathentry kind="src" path="/savara-validator-jboss"/>
+  <classpathentry kind="src" path="/savara-jboss"/>
   <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
 </classpath>
\ No newline at end of file

Modified: branches/experimental/2.0.x/integration/jboss/esb/.project
===================================================================
--- branches/experimental/2.0.x/integration/jboss/esb/.project	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/integration/jboss/esb/.project	2011-01-21 18:15:21 UTC (rev 600)
@@ -1,8 +1,8 @@
 <projectDescription>
-  <name>savara-validator-jbossesb</name>
+  <name>savara-jbossesb</name>
   <comment>The SAVARA project. NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
   <projects>
-    <project>savara-validator-jboss</project>
+    <project>savara-jboss</project>
   </projects>
   <buildSpec>
     <buildCommand>

Modified: branches/experimental/2.0.x/integration/jboss/wsnative/.classpath
===================================================================
--- branches/experimental/2.0.x/integration/jboss/wsnative/.classpath	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/integration/jboss/wsnative/.classpath	2011-01-21 18:15:21 UTC (rev 600)
@@ -191,7 +191,7 @@
   <classpathentry kind="var" path="M2_REPO/qdox/qdox/1.6.1/qdox-1.6.1.jar"/>
   <classpathentry kind="var" path="M2_REPO/quartz/quartz/1.6.0/quartz-1.6.0.jar"/>
   <classpathentry kind="var" path="M2_REPO/com/sun/org/apache/xml/internal/resolver/20050927/resolver-20050927.jar"/>
-  <classpathentry kind="src" path="/savara-validator-jboss"/>
+  <classpathentry kind="src" path="/savara-jboss"/>
   <classpathentry kind="var" path="M2_REPO/jboss/web/servlet-api/2.1.1.GA/servlet-api-2.1.1.GA.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.5.6/slf4j-api-1.5.6.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/jboss/slf4j/slf4j-jboss-logging/1.0.2.GA/slf4j-jboss-logging-1.0.2.GA.jar"/>

Modified: branches/experimental/2.0.x/integration/jboss/wsnative/.project
===================================================================
--- branches/experimental/2.0.x/integration/jboss/wsnative/.project	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/integration/jboss/wsnative/.project	2011-01-21 18:15:21 UTC (rev 600)
@@ -1,8 +1,8 @@
 <projectDescription>
-  <name>savara-validator-jbossws-native</name>
+  <name>savara-jbossws-native</name>
   <comment>The SAVARA project. NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
   <projects>
-    <project>savara-validator-jboss</project>
+    <project>savara-jboss</project>
   </projects>
   <buildSpec>
     <buildCommand>

Modified: branches/experimental/2.0.x/tools/plugins/org.savara.tools.bpel/META-INF/MANIFEST.MF
===================================================================
--- branches/experimental/2.0.x/tools/plugins/org.savara.tools.bpel/META-INF/MANIFEST.MF	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/tools/plugins/org.savara.tools.bpel/META-INF/MANIFEST.MF	2011-01-21 18:15:21 UTC (rev 600)
@@ -22,6 +22,7 @@
  org.eclipse.wst.common.project.facet.core,
  org.savara.wsdl,
  org.savara.bpel,
+ org.savara.protocol,
  org.savara.common,
  org.savara.tools.core
 Bundle-ActivationPolicy: lazy

Modified: branches/experimental/2.0.x/tools/plugins/org.savara.tools.bpel/pom.xml
===================================================================
--- branches/experimental/2.0.x/tools/plugins/org.savara.tools.bpel/pom.xml	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/tools/plugins/org.savara.tools.bpel/pom.xml	2011-01-21 18:15:21 UTC (rev 600)
@@ -40,6 +40,11 @@
 			<version>${savara.version}</version>
  		</dependency>
  		<dependency>
+ 			<groupId>org.savara.bundles</groupId>
+			<artifactId>org.savara.protocol</artifactId> 
+			<version>${savara.version}</version>
+ 		</dependency>
+ 		<dependency>
  			<groupId>org.savara.tools</groupId>
 			<artifactId>org.savara.tools.core</artifactId> 
 			<version>${savara.version}</version>

Modified: branches/experimental/2.0.x/tools/plugins/org.savara.tools.bpel/src/java/org/savara/tools/bpel/generator/Generator.java
===================================================================
--- branches/experimental/2.0.x/tools/plugins/org.savara.tools.bpel/src/java/org/savara/tools/bpel/generator/Generator.java	2011-01-21 15:36:02 UTC (rev 599)
+++ branches/experimental/2.0.x/tools/plugins/org.savara.tools.bpel/src/java/org/savara/tools/bpel/generator/Generator.java	2011-01-21 18:15:21 UTC (rev 600)
@@ -35,7 +35,7 @@
 import org.savara.bpel.generator.ProtocolToBPELModelGenerator;
 import org.savara.bpel.model.*;
 import org.savara.bpel.util.BPELModelUtil;
-import org.savara.common.model.util.PropertyName;
+import org.savara.protocol.model.util.PropertyName;
 import org.savara.common.util.XMLUtils;
 import org.savara.contract.model.Contract;
 import org.savara.contract.model.Interface;



More information about the savara-commits mailing list