[savara-commits] savara SVN: r516 - in branches/experimental/2.0.x: bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change and 5 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Fri Dec 31 11:15:46 EST 2010


Author: objectiser
Date: 2010-12-31 11:15:46 -0500 (Fri, 31 Dec 2010)
New Revision: 516

Modified:
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/BPELDefinitions.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/ProtocolModelChangeRule.java
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/util/InteractionUtil.java
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/util/PartnerLinkUtil.java
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/util/VariableUtil.java
   branches/experimental/2.0.x/bundles/org.savara.core/META-INF/MANIFEST.MF
   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/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/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.core/src/java/org/savara/core/eclipse/osgi/Activator.java
Log:
Updates to generate similar BPEL to previous version. Namespace is an issue at the moment.

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/BPELDefinitions.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/BPELDefinitions.java	2010-12-23 12:25:28 UTC (rev 515)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/BPELDefinitions.java	2010-12-31 16:15:46 UTC (rev 516)
@@ -23,4 +23,6 @@
 	
 	public static final String BPEL_TYPE="bpel";
 	
+	public static final String BPEL_SCOPE_PROPERTY="bpel.scope";
+
 }

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	2010-12-23 12:25:28 UTC (rev 515)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ChoiceModelChangeRule.java	2010-12-31 16:15:46 UTC (rev 516)
@@ -19,6 +19,7 @@
 
 import javax.xml.namespace.QName;
 
+import org.savara.bpel.BPELDefinitions;
 import org.savara.bpel.model.TActivityContainer;
 import org.savara.bpel.model.TBoolean;
 import org.savara.bpel.model.TCatch;
@@ -112,23 +113,30 @@
 			if (context.getParent() instanceof TSequence) {
 				// Find fault handler
 				TSequence seq=(TSequence)context.getParent();
-				TScope scope=new TScope();
+				TScope scope=(TScope)context.getProperties().get(BPELDefinitions.BPEL_SCOPE_PROPERTY);
+				
+				if (scope == null) {
+					scope = new TScope();
+					scope.setFaultHandlers(new TFaultHandlers());
+
+					context.getProperties().put(BPELDefinitions.BPEL_SCOPE_PROPERTY, scope);
+				}
+				
 				TFaultHandlers fh=scope.getFaultHandlers();
 				
 				for (int i=0; i < paths.size(); i++) {
 					When path=paths.get(i);
 					
-					if (path.getBlock().getContents().size() > 0) {
-						Activity act=path.getBlock().getContents().get(0);
+					//if (path.getBlock().getContents().size() > 0) {
+					//	Activity act=path.getBlock().getContents().get(0);
 						TSequence subseq=null;
 						
-						if (act instanceof Interaction &&
-								InteractionPatterns.isFaultResponse(
-										(Interaction)act)) {
-							String faultName=InteractionPatterns.getFaultName((Interaction)act);
+						if (//act instanceof Interaction &&
+								InteractionPatterns.isFaultResponse(path)) {
+							String faultName=InteractionPatterns.getFaultName(path);
 							
 							Contract contract = ModelChangeUtils.getContract(context,
-										((Interaction)act).getFromRole().getName());
+										elem.getFromRole().getName());
 							
 							// Define fault message type
 							QName qname= WSDLGeneratorUtil.getFaultMessageType(contract.getNamespace(),
@@ -167,21 +175,21 @@
 							java.util.List<Object> acts=
 								((TSequence)context.getParent()).getActivity();
 							
-							if (acts.size() > 0 && act instanceof Interaction &&
+							if (acts.size() > 0 && //act instanceof Interaction &&
 									acts.get(acts.size()-1) instanceof TInvoke) {
 								Contract contract = ModelChangeUtils.getContract(context,
-										((Interaction)act).getFromRole().getName());
+										elem.getFromRole().getName());
 							
 								QName qname=null;
-								if (InteractionUtil.isRequest((Interaction)act)) {
+								if (InteractionUtil.isRequest(path)) {
 									qname = WSDLGeneratorUtil.getRequestMessageType(contract.getNamespace(),
-											((Interaction)act).getMessageSignature().getOperation());
-								} else if (InteractionPatterns.isFaultResponse((Interaction)act)) {
+											path.getMessageSignature().getOperation());
+								} else if (InteractionPatterns.isFaultResponse(path)) {
 									qname = WSDLGeneratorUtil.getFaultMessageType(contract.getNamespace(),
-											InteractionPatterns.getFaultName((Interaction)act));
+											InteractionPatterns.getFaultName(path));
 								} else {
 									qname = WSDLGeneratorUtil.getResponseMessageType(contract.getNamespace(),
-														((Interaction)act).getMessageSignature().getOperation());
+														path.getMessageSignature().getOperation());
 								}
 
 								String varName=qname.getLocalPart()+"Var"; //InteractionPatterns.getVariableName((Interaction)act);
@@ -191,7 +199,7 @@
 
 								// Create variable
 								if (varName != null) {
-									createVariable(context, varName, (Interaction)act, bpelModel);
+									createVariable(context, varName, path, bpelModel);
 								}
 							}
 						}
@@ -200,12 +208,12 @@
 						
 						context.setParent(subseq);
 						
-						for (int j=1; j < path.getBlock().getContents().size(); j++) {
+						for (int j=0; j < path.getBlock().getContents().size(); j++) {
 							context.insert(model, path.getBlock().getContents().get(j), null);
 						}
 						
 						context.setParent(parent);
-					}
+					//}
 				}
 			} else {
 				// TODO: Error handling
@@ -213,16 +221,24 @@
 		} else if (InteractionPatterns.isSwitch(elem)) {
 			TPick act=new TPick();
 			
+			Contract contract=ModelChangeUtils.getContract(context,
+					elem.enclosingProtocol().getRole().getName());
+			
 			if (context.getParent() instanceof TSequence) {
 				((TSequence)context.getParent()).getActivity().add(act);
 			}
 			
 			Role role=null;
+			String roleNamespace=null;
 		
 			if (elem.enclosingProtocol() != null) {
 				role = elem.enclosingProtocol().getRole();
 			}
 
+			if (contract != null) {
+				roleNamespace = contract.getNamespace();
+			}
+		
 			for (int i=0; i < paths.size(); i++) {
 				When path=paths.get(i);
 				
@@ -254,8 +270,6 @@
 				
 				//String mainPrefix=null;
 				
-				Contract contract=ModelChangeUtils.getContract(context, elem.enclosingProtocol().getRole().getName());
-				
 				/* TODO: namespace issue
 				if (contract != null) {
 					mainPrefix = bpelModel.addNamespace(contract.getNamespace());
@@ -275,7 +289,7 @@
 					
 					String plt=elem.getFromRole().getName()+"To"+role.getName()+"Service"+"LT";
 										
-					pl.setPartnerLinkType(new QName(contract.getNamespace(), plt));
+					pl.setPartnerLinkType(new QName(roleNamespace, plt));
 
 					contract = ModelChangeUtils.getContract(context, role.getName());
 					
@@ -300,7 +314,7 @@
 					
 					String plt=role.getName()+"To"+elem.getFromRole().getName()+"Requester"+"LT";
 					
-					pl.setPartnerLinkType(new QName(contract.getNamespace(), plt));
+					pl.setPartnerLinkType(new QName(roleNamespace, plt));
 
 					//portType = role.getName()+
 					//		recv.getFromRole().getName()+"CallbackPT";				

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	2010-12-23 12:25:28 UTC (rev 515)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/InteractionModelChangeRule.java	2010-12-31 16:15:46 UTC (rev 516)
@@ -19,6 +19,7 @@
 
 import javax.xml.namespace.QName;
 
+import org.savara.bpel.BPELDefinitions;
 import org.savara.bpel.model.TActivity;
 import org.savara.bpel.model.TBoolean;
 import org.savara.bpel.model.TFaultHandlers;
@@ -110,6 +111,7 @@
 		String portType=null;	
 		String varName=null; //InteractionPatterns.getVariableName(interaction);
 		Interface intf=null;
+		String roleNamespace=null;
 			
 		if (interaction.enclosingProtocol() != null) {
 			role = interaction.enclosingProtocol().getRole();
@@ -129,6 +131,10 @@
 		}
 		*/
 		
+		if (contract != null) {
+			roleNamespace = contract.getNamespace();
+		}
+		
 		Role roleType=null;
 		
 		if (InteractionUtil.isRequest(interaction)) {
@@ -243,6 +249,8 @@
 					scope.setFaultHandlers(fhs);
 					
 					context.setParent(seq);
+					
+					context.getProperties().put(BPELDefinitions.BPEL_SCOPE_PROPERTY, scope);
 				}
 				
 				act = new TInvoke();
@@ -253,7 +261,7 @@
 				
 				String plt=role.getName()+"To"+interaction.getToRoles().get(0).getName()+"LT";
 				
-				pl.setPartnerLinkType(new QName(contract.getNamespace(), plt));
+				pl.setPartnerLinkType(new QName(roleNamespace, plt));
 
 				//portType = interaction.getToRole().getName()+"PT";
 				
@@ -270,7 +278,7 @@
 				
 				String plt=interaction.getToRoles().get(0)+"To"+role.getName()+"Service"+"LT";
 				
-				pl.setPartnerLinkType(new QName(contract.getNamespace(), plt));
+				pl.setPartnerLinkType(new QName(roleNamespace, plt));
 
 				//portType = role.getName()+"PT";
 				
@@ -332,7 +340,7 @@
 					
 					String plt=interaction.getFromRole().getName()+"To"+role.getName()+"Service"+"LT";
 
-					pl.setPartnerLinkType(new QName(contract.getNamespace(), plt));
+					pl.setPartnerLinkType(new QName(roleNamespace, plt));
 	
 					//portType = role.getName()+"PT";
 				} else {
@@ -342,7 +350,7 @@
 					
 					String plt=role.getName()+"To"+interaction.getFromRole().getName()+"Requester"+"LT";
 					
-					pl.setPartnerLinkType(new QName(contract.getNamespace(), plt));
+					pl.setPartnerLinkType(new QName(roleNamespace, plt));
 	
 					//portType = role.getName()+
 					//		interaction.getFromRole().getName()+"CallbackPT";				

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	2010-12-23 12:25:28 UTC (rev 515)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/InteractionPatterns.java	2010-12-31 16:15:46 UTC (rev 516)
@@ -127,6 +127,13 @@
 					int matched=0;
 					
 					for (int i=0; i < paths.size(); i++) {
+						When when=paths.get(i);
+						
+						if (InteractionUtil.isResponse(when) &&
+								getReplyToLabel(when).equals(requestLabel)) {
+							matched++;
+						}
+						/*
 						if (paths.get(i).getBlock().getContents().size() > 0) {
 							Interaction in=getPickPathInteraction(paths.get(i).getBlock());
 							
@@ -136,6 +143,7 @@
 								matched++;
 							}
 						}
+						*/
 					}
 					
 					if (matched == paths.size()) {

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	2010-12-23 12:25:28 UTC (rev 515)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ProtocolModelChangeRule.java	2010-12-31 16:15:46 UTC (rev 516)
@@ -17,6 +17,7 @@
  */
 package org.savara.bpel.model.change;
 
+import org.savara.bpel.BPELDefinitions;
 import org.savara.bpel.model.TImport;
 import org.savara.bpel.model.TProcess;
 import org.savara.bpel.model.TScope;
@@ -179,6 +180,8 @@
 			// the fact that added elements are copied (in
 			// turn due to an xml parser exception).
 			scope.setSequence(seq);
+			
+			context.getProperties().put(BPELDefinitions.BPEL_SCOPE_PROPERTY, scope);
 		}
 
 		// Process the activities within the conversation

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/util/InteractionUtil.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/util/InteractionUtil.java	2010-12-23 12:25:28 UTC (rev 515)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/util/InteractionUtil.java	2010-12-31 16:15:46 UTC (rev 516)
@@ -85,7 +85,8 @@
 		if (role != null && ((interaction.getFromRole() != null &&
 				interaction.getFromRole().equals(
 						role)) ||
-			(interaction.getToRoles().contains(
+			(interaction.getToRoles().size() > 0 &&
+					interaction.getToRoles().contains(
 						role) == false))) {
 			ret = true;
 		}

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/util/PartnerLinkUtil.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/util/PartnerLinkUtil.java	2010-12-23 12:25:28 UTC (rev 515)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/util/PartnerLinkUtil.java	2010-12-31 16:15:46 UTC (rev 516)
@@ -24,6 +24,10 @@
 	public static TPartnerLink getPartnerLink(TProcess process, String name) {
 		TPartnerLink ret=null;
 		
+		if (process.getPartnerLinks() == null) {
+			process.setPartnerLinks(new TPartnerLinks());
+		}
+		
 		java.util.List<TPartnerLink> pls=process.getPartnerLinks().getPartnerLink();
 		for (int i=0; ret == null && i < pls.size(); i++) {
 			if (pls.get(i).getName().equals(name)) {

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/util/VariableUtil.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/util/VariableUtil.java	2010-12-23 12:25:28 UTC (rev 515)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/util/VariableUtil.java	2010-12-31 16:15:46 UTC (rev 516)
@@ -24,6 +24,10 @@
 	public static TVariable getVariable(TProcess process, String varName) {
 		TVariable ret=null;
 		
+		if (process.getVariables() == null) {
+			process.setVariables(new TVariables());
+		}
+		
 		java.util.List<TVariable> vars=process.getVariables().getVariable();
 		for (int i=0; ret == null && i < vars.size(); i++) {
 			if (vars.get(i).getName().equals(varName)) {

Modified: branches/experimental/2.0.x/bundles/org.savara.core/META-INF/MANIFEST.MF
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.core/META-INF/MANIFEST.MF	2010-12-23 12:25:28 UTC (rev 515)
+++ branches/experimental/2.0.x/bundles/org.savara.core/META-INF/MANIFEST.MF	2010-12-31 16:15:46 UTC (rev 516)
@@ -10,4 +10,5 @@
  org.scribble.protocol.model
 Require-Bundle: org.scribble.common
 Export-Package: org.savara.model.change,
+ org.savara.model.generator,
  org.savara.util

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	2010-12-23 12:25:28 UTC (rev 515)
+++ branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ChoiceConverterRuleImpl.java	2010-12-31 16:15:46 UTC (rev 516)
@@ -126,6 +126,10 @@
 								if (toRoles.contains(toRole) == false) {
 									toRoles.add(toRole);
 								}
+								
+								if (ed.getAction() == ExchangeActionType.RESPOND) {
+									block.getProperties().put("ReplyToLabel", ConverterUtil.getLabel(ed));
+								}
 							}
 						}
 						

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	2010-12-23 12:25:28 UTC (rev 515)
+++ branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ConverterUtil.java	2010-12-31 16:15:46 UTC (rev 516)
@@ -21,6 +21,7 @@
 
 import javax.xml.namespace.QName;
 
+import org.pi4soa.cdl.ExchangeDetails;
 import org.scribble.protocol.model.*;
 
 /**
@@ -69,4 +70,22 @@
 		
 		return(ret);
 	}
+	
+	/**
+	 * This method creates a label appropriate for the request
+	 * response correlation associated with the supplied exchange.
+	 * 
+	 * @param details The exchange
+	 * @return The label
+	 */
+	public static String getLabel(ExchangeDetails details) {
+		String ret=null;
+		
+		if (details.getInteraction() != null) {
+			ret = details.getInteraction().getOperation();
+		}
+		
+		return(ret);
+	}
+	
 }

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	2010-12-23 12:25:28 UTC (rev 515)
+++ branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/InteractionConverterRuleImpl.java	2010-12-31 16:15:46 UTC (rev 516)
@@ -380,7 +380,7 @@
 						InteractionUtil.getResponseExchangeDetails(details);
 				
 				if (resps != null && resps.size() > 0) {
-					interaction.getProperties().put("RequestLabel", getLabel(details));
+					interaction.getProperties().put("RequestLabel", ConverterUtil.getLabel(details));
 				}
 				
 				// Check if fault thrown
@@ -436,7 +436,7 @@
 				}
 				
 				if (details.getAction() == ExchangeActionType.RESPOND) {
-					interaction.getProperties().put("ReplyToLabel", getLabel(details));
+					interaction.getProperties().put("ReplyToLabel", ConverterUtil.getLabel(details));
 				}
 
 				// Check if fault thrown
@@ -773,23 +773,6 @@
 	}
 	
 	/**
-	 * This method creates a label appropriate for the request
-	 * response correlation associated with the supplied exchange.
-	 * 
-	 * @param details The exchange
-	 * @return The label
-	 */
-	protected String getLabel(ExchangeDetails details) {
-		String ret=null;
-		
-		if (details.getInteraction() != null) {
-			ret = details.getInteraction().getOperation();
-		}
-		
-		return(ret);
-	}
-	
-	/**
 	 * This method returns the interface name associated with the
 	 * supplied role type.
 	 * 

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	2010-12-23 12:25:28 UTC (rev 515)
+++ branches/experimental/2.0.x/tools/plugins/org.savara.tools.bpel/src/java/org/savara/tools/bpel/generator/Generator.java	2010-12-31 16:15:46 UTC (rev 516)
@@ -217,6 +217,8 @@
 		
 		CachedJournal journal=new CachedJournal();
 		
+		System.out.println("PROJECTOR="+ScribbleServices.getProtocolProjector());
+		
 		ProtocolModel local=ScribbleServices.getProtocolProjector().project(m_protocolModel,
 								localRole, journal);
 		

Modified: branches/experimental/2.0.x/tools/plugins/org.savara.tools.core/src/java/org/savara/core/eclipse/osgi/Activator.java
===================================================================
--- branches/experimental/2.0.x/tools/plugins/org.savara.tools.core/src/java/org/savara/core/eclipse/osgi/Activator.java	2010-12-23 12:25:28 UTC (rev 515)
+++ branches/experimental/2.0.x/tools/plugins/org.savara.tools.core/src/java/org/savara/core/eclipse/osgi/Activator.java	2010-12-31 16:15:46 UTC (rev 516)
@@ -22,6 +22,7 @@
 import org.osgi.framework.ServiceReference;
 import org.savara.core.eclipse.ScribbleServices;
 import org.scribble.protocol.parser.ProtocolParserManager;
+import org.scribble.protocol.projection.ProtocolProjector;
 
 import java.util.logging.*;
 
@@ -61,6 +62,13 @@
 		ProtocolParserManager ppm=(ProtocolParserManager)context.getService(sref);
 		
 		ScribbleServices.setParserManager(ppm);
+		
+		// Initialize the protocol projector
+		sref=context.getServiceReference(ProtocolProjector.class.getName());
+		
+		ProtocolProjector pp=(ProtocolProjector)context.getService(sref);
+		
+		ScribbleServices.setProtocolProjector(pp);
 	}
 	
 	/*



More information about the savara-commits mailing list