[savara-commits] savara SVN: r568 - in branches/experimental/2.0.x/bundles: org.savara.common/src/main/java/org/savara/common/model/util and 2 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Wed Jan 12 12:15:21 EST 2011


Author: objectiser
Date: 2011-01-12 12:15:21 -0500 (Wed, 12 Jan 2011)
New Revision: 568

Modified:
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/generator/results/ESBBroker at Broker.bpel
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/generator/results/ESBBroker at Buyer.bpel
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/generator/results/ESBBroker at CreditAgency.bpel
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/generator/results/ESBBroker at SupplierQuoteEngine.bpel
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/generator/results/ESBBroker at SupplierTxnProcessor.bpel
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/generator/results/ReqRespFault at Buyer.bpel
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/generator/results/ReqRespFault at Seller.bpel
   branches/experimental/2.0.x/bundles/org.savara.common/src/main/java/org/savara/common/model/util/PropertyName.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.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/ProtocolModelConverterRuleImpl.java
Log:
SAVARA-158 - store type information in the TypeImport components of the protocol model, rather than as properties on the type references in the message signatures.

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/generator/results/ESBBroker at Broker.bpel
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/generator/results/ESBBroker at Broker.bpel	2011-01-12 14:30:08 UTC (rev 567)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/generator/results/ESBBroker at Broker.bpel	2011-01-12 17:15:21 UTC (rev 568)
@@ -25,17 +25,17 @@
         <variable messageType="brk:cancelRequest" name="cancelRequestVar"/>
     </variables>
     <sequence>
-        <receive createInstance="yes" variable="makeEnquiryRequestVar" operation="makeEnquiry" portType="brk:Broker" partnerLink="BuyerToBroker" name="Receive_enquiry"/>
+        <receive createInstance="yes" variable="makeEnquiryRequestVar" operation="makeEnquiry" portType="brk:Broker" partnerLink="BuyerToBroker" name="Receive_Enquiry"/>
         <while>
             <sequence>
                 <scope>
                     <sequence>
-                        <invoke outputVariable="getQuoteResponseVar" inputVariable="getQuoteRequestVar" operation="getQuote" portType="spr:SupplierQuoteEngine" partnerLink="BrokerToSupplierQuoteEngine" name="Send_requestForQuote"/>
+                        <invoke outputVariable="getQuoteResponseVar" inputVariable="getQuoteRequestVar" operation="getQuote" portType="spr:SupplierQuoteEngine" partnerLink="BrokerToSupplierQuoteEngine" name="Send_RequestForQuote"/>
                     </sequence>
                 </scope>
             </sequence>
         </while>
-        <reply variable="makeEnquiryResponseVar" operation="makeEnquiry" portType="brk:Broker" partnerLink="BuyerToBroker" name="Send_quoteList"/>
+        <reply variable="makeEnquiryResponseVar" operation="makeEnquiry" portType="brk:Broker" partnerLink="BuyerToBroker" name="Send_QuoteList"/>
         <pick>
             <onMessage variable="buyRequestVar" operation="buy" portType="brk:Broker" partnerLink="BuyerToBroker">
                 <sequence>
@@ -43,14 +43,14 @@
                         <faultHandlers>
                             <catch faultMessageType="cay:invalidCreditFault" faultVariable="invalidCreditFaultVar" faultName="cay:invalidCredit">
 <sequence>
-    <reply faultName="brk:rejected" variable="rejectedFaultVar" operation="buy" portType="brk:Broker" partnerLink="BuyerToBroker" name="Send_orderRejected"/>
+    <reply faultName="brk:rejected" variable="rejectedFaultVar" operation="buy" portType="brk:Broker" partnerLink="BuyerToBroker" name="Send_OrderRejected"/>
 </sequence>
                             </catch>
                         </faultHandlers>
                         <sequence>
-                            <invoke outputVariable="checkCreditResponseVar" inputVariable="checkCreditRequestVar" operation="checkCredit" portType="cay:CreditAgency" partnerLink="BrokerToCreditAgency" name="Send_CreditCheckRequest"/>
-                            <invoke outputVariable="confirmResponseVar" inputVariable="confirmRequestVar" operation="confirm" portType="spr:SupplierTxnProcessor" partnerLink="BrokerToSupplierTxnProcessor" name="Send_orderConfirmed"/>
-                            <reply variable="buyResponseVar" operation="buy" portType="brk:Broker" partnerLink="BuyerToBroker" name="Send_bookingReference"/>
+                            <invoke outputVariable="checkCreditResponseVar" inputVariable="checkCreditRequestVar" operation="checkCredit" portType="cay:CreditAgency" partnerLink="BrokerToCreditAgency" name="Send_CreditInformation"/>
+                            <invoke outputVariable="confirmResponseVar" inputVariable="confirmRequestVar" operation="confirm" portType="spr:SupplierTxnProcessor" partnerLink="BrokerToSupplierTxnProcessor" name="Send_OrderConfirmed"/>
+                            <reply variable="buyResponseVar" operation="buy" portType="brk:Broker" partnerLink="BuyerToBroker" name="Send_BookingReference"/>
                         </sequence>
                     </scope>
                 </sequence>

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/generator/results/ESBBroker at Buyer.bpel
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/generator/results/ESBBroker at Buyer.bpel	2011-01-12 14:30:08 UTC (rev 567)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/generator/results/ESBBroker at Buyer.bpel	2011-01-12 17:15:21 UTC (rev 568)
@@ -15,7 +15,7 @@
         <variable messageType="brk:cancelRequest" name="cancelRequestVar"/>
     </variables>
     <sequence>
-        <invoke outputVariable="makeEnquiryResponseVar" inputVariable="makeEnquiryRequestVar" operation="makeEnquiry" portType="brk:Broker" partnerLink="BuyerToBroker" name="Send_enquiry"/>
+        <invoke outputVariable="makeEnquiryResponseVar" inputVariable="makeEnquiryRequestVar" operation="makeEnquiry" portType="brk:Broker" partnerLink="BuyerToBroker" name="Send_Enquiry"/>
         <if>
             <sequence>
                 <scope>
@@ -25,13 +25,13 @@
                         </catch>
                     </faultHandlers>
                     <sequence>
-                        <invoke outputVariable="buyResponseVar" inputVariable="buyRequestVar" operation="buy" portType="brk:Broker" partnerLink="BuyerToBroker" name="Send_buy"/>
+                        <invoke outputVariable="buyResponseVar" inputVariable="buyRequestVar" operation="buy" portType="brk:Broker" partnerLink="BuyerToBroker" name="Send_Buy"/>
                     </sequence>
                 </scope>
             </sequence>
             <else>
                 <sequence>
-                    <invoke inputVariable="cancelRequestVar" operation="cancel" portType="brk:Broker" partnerLink="BuyerToBroker" name="Send_cancel"/>
+                    <invoke inputVariable="cancelRequestVar" operation="cancel" portType="brk:Broker" partnerLink="BuyerToBroker" name="Send_Cancel"/>
                 </sequence>
             </else>
         </if>

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/generator/results/ESBBroker at CreditAgency.bpel
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/generator/results/ESBBroker at CreditAgency.bpel	2011-01-12 14:30:08 UTC (rev 567)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/generator/results/ESBBroker at CreditAgency.bpel	2011-01-12 17:15:21 UTC (rev 568)
@@ -13,14 +13,14 @@
         <variable messageType="cay:invalidCreditFault" name="invalidCreditFaultVar"/>
     </variables>
     <sequence>
-        <receive createInstance="yes" variable="checkCreditRequestVar" operation="checkCredit" portType="cay:CreditAgency" partnerLink="BrokerToCreditAgency" name="Receive_CreditCheckRequest"/>
+        <receive createInstance="yes" variable="checkCreditRequestVar" operation="checkCredit" portType="cay:CreditAgency" partnerLink="BrokerToCreditAgency" name="Receive_CreditInformation"/>
         <if>
             <sequence>
-                <reply variable="checkCreditResponseVar" operation="checkCredit" portType="cay:CreditAgency" partnerLink="BrokerToCreditAgency" name="Send_CreditCheckOk"/>
+                <reply variable="checkCreditResponseVar" operation="checkCredit" portType="cay:CreditAgency" partnerLink="BrokerToCreditAgency" name="Send_CreditValid"/>
             </sequence>
             <else>
                 <sequence>
-                    <reply faultName="cay:invalidCredit" variable="invalidCreditFaultVar" operation="checkCredit" portType="cay:CreditAgency" partnerLink="BrokerToCreditAgency" name="Send_CreditCheckInvalid"/>
+                    <reply faultName="cay:invalidCredit" variable="invalidCreditFaultVar" operation="checkCredit" portType="cay:CreditAgency" partnerLink="BrokerToCreditAgency" name="Send_CreditInvalid"/>
                 </sequence>
             </else>
         </if>

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/generator/results/ESBBroker at SupplierQuoteEngine.bpel
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/generator/results/ESBBroker at SupplierQuoteEngine.bpel	2011-01-12 14:30:08 UTC (rev 567)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/generator/results/ESBBroker at SupplierQuoteEngine.bpel	2011-01-12 17:15:21 UTC (rev 568)
@@ -10,7 +10,7 @@
         <variable messageType="spr:getQuoteResponse" name="getQuoteResponseVar"/>
     </variables>
     <sequence>
-        <receive createInstance="yes" variable="getQuoteRequestVar" operation="getQuote" portType="spr:SupplierQuoteEngine" partnerLink="BrokerToSupplierQuoteEngine" name="Receive_requestForQuote"/>
-        <reply variable="getQuoteResponseVar" operation="getQuote" portType="spr:SupplierQuoteEngine" partnerLink="BrokerToSupplierQuoteEngine" name="Send_quote"/>
+        <receive createInstance="yes" variable="getQuoteRequestVar" operation="getQuote" portType="spr:SupplierQuoteEngine" partnerLink="BrokerToSupplierQuoteEngine" name="Receive_RequestForQuote"/>
+        <reply variable="getQuoteResponseVar" operation="getQuote" portType="spr:SupplierQuoteEngine" partnerLink="BrokerToSupplierQuoteEngine" name="Send_Quote"/>
     </sequence>
 </process>

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/generator/results/ESBBroker at SupplierTxnProcessor.bpel
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/generator/results/ESBBroker at SupplierTxnProcessor.bpel	2011-01-12 14:30:08 UTC (rev 567)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/generator/results/ESBBroker at SupplierTxnProcessor.bpel	2011-01-12 17:15:21 UTC (rev 568)
@@ -12,7 +12,7 @@
         <variable messageType="spr:confirmResponse" name="confirmResponseVar"/>
     </variables>
     <sequence>
-        <receive createInstance="yes" variable="confirmRequestVar" operation="confirm" portType="spr:SupplierTxnProcessor" partnerLink="BrokerToSupplierTxnProcessor" name="Receive_orderConfirmed"/>
-        <reply variable="confirmResponseVar" operation="confirm" portType="spr:SupplierTxnProcessor" partnerLink="BrokerToSupplierTxnProcessor" name="Send_bookingReference"/>
+        <receive createInstance="yes" variable="confirmRequestVar" operation="confirm" portType="spr:SupplierTxnProcessor" partnerLink="BrokerToSupplierTxnProcessor" name="Receive_OrderConfirmed"/>
+        <reply variable="confirmResponseVar" operation="confirm" portType="spr:SupplierTxnProcessor" partnerLink="BrokerToSupplierTxnProcessor" name="Send_BookingReference"/>
     </sequence>
 </process>

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/generator/results/ReqRespFault at Buyer.bpel
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/generator/results/ReqRespFault at Buyer.bpel	2011-01-12 14:30:08 UTC (rev 567)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/generator/results/ReqRespFault at Buyer.bpel	2011-01-12 17:15:21 UTC (rev 568)
@@ -17,7 +17,7 @@
                 </catch>
             </faultHandlers>
             <sequence>
-                <invoke outputVariable="checkCreditResponseVar" inputVariable="checkCreditRequestVar" operation="checkCredit" portType="slr:Seller" partnerLink="BuyerToSeller" name="Send_CreditCheckRequest"/>
+                <invoke outputVariable="checkCreditResponseVar" inputVariable="checkCreditRequestVar" operation="checkCredit" portType="slr:Seller" partnerLink="BuyerToSeller" name="Send_CreditInformation"/>
             </sequence>
         </scope>
     </sequence>

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/generator/results/ReqRespFault at Seller.bpel
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/generator/results/ReqRespFault at Seller.bpel	2011-01-12 14:30:08 UTC (rev 567)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/generator/results/ReqRespFault at Seller.bpel	2011-01-12 17:15:21 UTC (rev 568)
@@ -11,14 +11,14 @@
         <variable messageType="slr:insufficientCreditFault" name="insufficientCreditFaultVar"/>
     </variables>
     <sequence>
-        <receive createInstance="yes" variable="checkCreditRequestVar" operation="checkCredit" portType="slr:Seller" partnerLink="BuyerToSeller" name="Receive_CreditCheckRequest"/>
+        <receive createInstance="yes" variable="checkCreditRequestVar" operation="checkCredit" portType="slr:Seller" partnerLink="BuyerToSeller" name="Receive_CreditInformation"/>
         <if>
             <sequence>
-                <reply variable="checkCreditResponseVar" operation="checkCredit" portType="slr:Seller" partnerLink="BuyerToSeller" name="Send_CreditCheckOk"/>
+                <reply variable="checkCreditResponseVar" operation="checkCredit" portType="slr:Seller" partnerLink="BuyerToSeller" name="Send_CreditValid"/>
             </sequence>
             <else>
                 <sequence>
-                    <reply faultName="slr:insufficientCredit" variable="insufficientCreditFaultVar" operation="checkCredit" portType="slr:Seller" partnerLink="BuyerToSeller" name="Send_CreditCheckInvalid"/>
+                    <reply faultName="slr:insufficientCredit" variable="insufficientCreditFaultVar" operation="checkCredit" portType="slr:Seller" partnerLink="BuyerToSeller" name="Send_CreditInvalid"/>
                 </sequence>
             </else>
         </if>

Modified: branches/experimental/2.0.x/bundles/org.savara.common/src/main/java/org/savara/common/model/util/PropertyName.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.common/src/main/java/org/savara/common/model/util/PropertyName.java	2011-01-12 14:30:08 UTC (rev 567)
+++ branches/experimental/2.0.x/bundles/org.savara.common/src/main/java/org/savara/common/model/util/PropertyName.java	2011-01-12 17:15:21 UTC (rev 568)
@@ -25,8 +25,6 @@
 	
 	public static final String NAMESPACE = "Namespace";
 	
-	public static final String DATA_TYPE = "DataType";
-
 	public static final String INTERFACE_NAME = "InterfaceName";
 	
 	public static final String FAULT_NAME = "FaultName";
@@ -34,9 +32,6 @@
 	public static final String REQUEST_LABEL = "RequestLabel";
 	public static final String REPLY_TO_LABEL = "ReplyToLabel";
 
-	// TODO: Determine if required (SAVARA-158)
-	public static final String TYPE_SYSTEM = "TypeSystem";
-	
 	// XSD sub types
 	public static final String XSD_ELEMENT = "XSDElement";
 	public static final String XSD_TYPE = "XSDType";

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-12 14:30:08 UTC (rev 567)
+++ branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/generator/impl/ContractIntrospector.java	2011-01-12 17:15:21 UTC (rev 568)
@@ -42,8 +42,11 @@
 import org.scribble.protocol.model.Run;
 import org.scribble.protocol.model.ModelObject;
 import org.scribble.protocol.model.Role;
+import org.scribble.protocol.model.TypeImport;
+import org.scribble.protocol.model.TypeImportList;
 import org.scribble.protocol.model.TypeReference;
 import org.scribble.protocol.model.When;
+import org.scribble.protocol.util.TypeReferenceUtil;
 
 /**
  * This class examines a protocol to determine the contract that represents
@@ -441,13 +444,23 @@
 			TypeDefinition td=new TypeDefinition();
 			td.setName(tref.getName());
 			
-			td.setDataType((String)tref.getProperties().get(PropertyName.DATA_TYPE));
+			TypeImport ti=TypeReferenceUtil.getTypeImport(tref);
+			if (ti != null) {
+				TypeImportList til=(TypeImportList)ti.getParent();
+				
+				td.setDataType(ti.getDataType().getDetails());
+				
+				if (til != null) {
+					td.setTypeSystem(til.getFormat());
+				}
+			}
 			
+			//td.setDataType((String)tref.getProperties().get(PropertyName.DATA_TYPE));
+			
 			// Copy properties that may provide additional information about the type
 			td.getProperties().putAll(tref.getProperties());
 			
-			//td.setNamespace(tref.getNamespace());
-			td.setTypeSystem((String)tref.getProperties().get(PropertyName.TYPE_SYSTEM));
+			//td.setTypeSystem((String)tref.getProperties().get(PropertyName.TYPE_SYSTEM));
 			
 			getContract().getTypeDefinitions().add(td);
 		}

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-12 14:30:08 UTC (rev 567)
+++ branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ConverterUtil.java	2011-01-12 17:15:21 UTC (rev 568)
@@ -68,6 +68,8 @@
 		}
 		
 		if (typeName != null) {
+			ret.setName(infoType.getName());
+			/*
 			ret.setName(org.pi4soa.common.xml.XMLUtils.getLocalname(typeName));
 			
 			ret.getProperties().put(PropertyName.DATA_TYPE,
@@ -75,7 +77,7 @@
 							org.pi4soa.common.xml.XMLUtils.getLocalname(typeName))).toString());
 			
 			ret.getProperties().put(PropertyName.TYPE_SYSTEM, TypeSystem.XSD);
-			//ret.setNamespace(org.pi4soa.common.xml.XMLUtils.getNamespace(typeName, resolver, null));
+			*/
 		}
 		
 		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	2011-01-12 14:30:08 UTC (rev 567)
+++ branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/InteractionConverterRuleImpl.java	2011-01-12 17:15:21 UTC (rev 568)
@@ -743,6 +743,7 @@
 			ms.getTypeReferences().add(ref);
 			
 			// TODO: Determine if required (SAVARA-158)
+			/*
 			ms.getProperties().put(PropertyName.TYPE_SYSTEM, TypeSystem.XSD);
 			
 			if (NamesUtil.isSet(itype.getTypeName())) {
@@ -765,6 +766,7 @@
 									ns);
 				}
 				*/
+			/*
 			} else if (NamesUtil.isSet(itype.getElementName())) {
 				String ns=CDLTypeUtil.getNamespace(itype.getElementName(),
 						cdl);
@@ -785,7 +787,7 @@
 									ns);
 				}
 				*/
-			}
+			//}
 		}
 		
 		return(ms);

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-12 14:30:08 UTC (rev 567)
+++ branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ProtocolModelConverterRuleImpl.java	2011-01-12 17:15:21 UTC (rev 568)
@@ -21,12 +21,17 @@
 
 import java.util.logging.Logger;
 
+import javax.xml.namespace.QName;
+
 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.contract.generator.ContractGenerator;
 import org.savara.contract.generator.ContractGeneratorFactory;
 import org.scribble.protocol.model.*;
+import org.scribble.protocol.model.DataType;
 
 public class ProtocolModelConverterRuleImpl implements ConverterRule {
 
@@ -82,27 +87,10 @@
 		ret.getProperties().put(PropertyName.NAMESPACE_PREFIXES, prefixes);
 		ret.getProperties().put(PropertyName.SCHEMA_LOCATIONS, locations);
 			
-		// TODO: Consider how to use the namespace information
-		//ret.setNamespace(getNamespace(cdlpack));
-		
-		// Convert token locators
-		/* TODO: How to deal with identity and locators
-		java.util.Iterator<TokenLocator> locators=
-				cdlpack.getTypeDefinitions().getTokenLocators().iterator();
-		
-		while (locators.hasNext()) {
-			TokenLocator locator=locators.next();
+		// Convert information types into type imports
+		for (org.pi4soa.cdl.InformationType itype : cdlpack.getTypeDefinitions().getInformationTypes()) {
 			
-			IdentityLocator idLocator=new IdentityLocator();
-			idLocator.setLocator(locator.getToken().getName(),
-						locator.getQuery());
-			
-			TypeReference typeRef=ConverterUtil.getTypeReference(locator.getInformationType());
-			idLocator.setType(typeRef);
-			
-			ret.getIdentityLocators().add(idLocator);
 		}
-		*/
 		
 		// Convert root choreography
 		java.util.Iterator<org.pi4soa.cdl.Choreography> iter=
@@ -127,26 +115,6 @@
 			logger.severe("Failed to find conversation conversion rule");
 		}
 		
-		// Clear the inner definition for any Compose activities
-		// The inner definitions are temporarily established to
-		// help internal analysis, e.g. to determine initiator
-		// roles
-		
-		/*
-		 * TODO: Not sure if necessary to clear out definitions???
-		 *
-		for (int i=0; i < context.getComposeActivities().size(); i++) {
-			// Save parent
-			Protocol defn=context.getComposeActivities().get(i).getProtocol();
-			ModelObject parent=defn.getParent();
-			
-			context.getComposeActivities().get(i).setInlineDefinition(null);
-			
-			// Re-establish parent
-			defn.setParent(parent);
-		}
-		*/
-		
 		// Derive contracts associated with the protocol model
 		ContractGenerator cg=ContractGeneratorFactory.getContractGenerator();
 		if (cg != null) {
@@ -155,61 +123,72 @@
 		
 		return(ret);
 	}
-
-
-	/**
-	 * This method generates a namespace associated with
-	 * the supplied CDL package.
-	 * 
-	 * @param cdlpack The choreography package
-	 * @return The namespace
-	 */
-	/*
-	protected static org.scribble.protocol.model.Namespace getNamespace(
-							org.pi4soa.cdl.Package cdlpack) {
-		org.scribble.protocol.model.Namespace ret=new org.scribble.protocol.model.Namespace();
+	
+	protected void setupTypeImport(org.pi4soa.cdl.InformationType infoType, ProtocolModel model) {
+		org.pi4soa.common.xml.XMLPrefixResolver resolver=
+			org.pi4soa.cdl.util.CDLTypeUtil.getPrefixResolver(infoType.getPackage());
+		String typeName=null;
 		
-		String ns=cdlpack.getTargetNamespace()+"/"+cdlpack.getName();
-		
-		if (ns.startsWith("http://")) {
-			ns = ns.substring(7);
+		if (org.pi4soa.common.util.NamesUtil.isSet(infoType.getTypeName())) {
+			typeName = infoType.getTypeName();
+		} else if (org.pi4soa.common.util.NamesUtil.isSet(infoType.getElementName())) {
+			typeName = infoType.getElementName();
 		}
 		
-		if (ns.startsWith("www.")) {
-			ns = ns.substring(4);
-		}
-		
-		java.util.StringTokenizer st=new java.util.StringTokenizer(ns, "/");
-		boolean f_first=true;
-		String namespace=null;
-		
-		while (st.hasMoreTokens()) {
-			String token=st.nextToken();
+		if (typeName != null) {
+			String prefix=XMLUtils.getPrefix(typeName);
+			String location=null;
 			
-			if (f_first) {
-				java.util.StringTokenizer innerst=
-						new java.util.StringTokenizer(token, ".");
-				while (innerst.hasMoreTokens()) {
-					if (namespace == null) {
-						namespace = innerst.nextToken();
-					} else {
-						namespace = innerst.nextToken()+"."+namespace;
+			// Find location
+			if (prefix != null) {
+				for (NameSpace ns : infoType.getPackage().getTypeDefinitions().getNameSpaces()) {
+					if (ns.getPrefix().equals(prefix)) {
+						location = ns.getURI();
+						break;
 					}
 				}
+			}
+			
+			// Check if type import exists for the location
+			TypeImportList til=null;
+			
+			for (ImportList il : model.getImports()) {
+				if (il instanceof TypeImportList) {
+					TypeImportList tilist=(TypeImportList)il;
+					
+					if ((tilist.getLocation() == null && location == null) ||
+						(tilist.getLocation() != null && location != null &&
+								tilist.getLocation().equals(location))) {
+						til = tilist;
+						break;
+					}
+				}
+			}
+			
+			if (til == null) {
+				til = new TypeImportList();
+				til.setFormat(TypeSystem.XSD);
+				til.setLocation(location);
 				
-				f_first = false;
+				model.getImports().add(til);
+			}
+			
+			TypeImport ti=til.getTypeImport(infoType.getName());
+			
+			String dataType=(new QName(org.pi4soa.common.xml.XMLUtils.getNamespace(typeName, resolver, null),
+					org.pi4soa.common.xml.XMLUtils.getLocalname(typeName))).toString();
+			
+			if (ti == null) {
+				ti = new TypeImport();
+				ti.setName(infoType.getName());
+				ti.setDataType(new DataType(dataType));
+				
+				til.getTypeImports().add(ti);
 			} else {
-				namespace += "."+token;
+				// TODO: Verify same data type
 			}
 		}
-		
-		if (namespace != null) {
-			ret.setName(namespace.toLowerCase());
-		}
-		
-		return(ret);
 	}
-	*/
 
 	private static Logger logger = Logger.getLogger(ProtocolModelConverterRuleImpl.class.getName());
 }



More information about the savara-commits mailing list