[savara-commits] savara SVN: r517 - branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules.

do-not-reply at jboss.org do-not-reply at jboss.org
Fri Dec 31 14:22:39 EST 2010


Author: objectiser
Date: 2010-12-31 14:22:39 -0500 (Fri, 31 Dec 2010)
New Revision: 517

Modified:
   branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ProtocolModelConverterRuleImpl.java
Log:
Added map of prefixes and locations to namespaces to the top level properties of the 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	2010-12-31 16:15:46 UTC (rev 516)
+++ branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ProtocolModelConverterRuleImpl.java	2010-12-31 19:22:39 UTC (rev 517)
@@ -27,6 +27,10 @@
 
 public class ProtocolModelConverterRuleImpl implements ConverterRule {
 
+	private static final String SCHEMA_LOCATIONS = "SchemaLocations";
+	private static final String NAMESPACES = "Namespaces";
+
+
 	/**
 	 * This method determines whether the rule can be applied
 	 * to the supplied CDL type.
@@ -59,7 +63,26 @@
 		//ret.getSource().setComponentURI(
 		ret.getProperties().put("CDLType",
 				CDLTypeUtil.getURIFragment(cdlpack));
+		
+		// Store namespace prefix info
+		java.util.Iterator<NameSpace> nss=cdlpack.getTypeDefinitions().getNameSpaces().iterator();
+		
+		java.util.Map<String,String> prefixes=new java.util.HashMap<String, String>();
+		java.util.Map<String,String> locations=new java.util.HashMap<String, String>();
+		
+		while (nss.hasNext()) {
+			NameSpace ns=nss.next();
 			
+			prefixes.put(ns.getURI(), ns.getPrefix());
+			
+			if (ns.getSchemaLocation() != null && ns.getSchemaLocation().trim().length() > 0) {
+				locations.put(ns.getURI(), ns.getSchemaLocation());
+			}
+		}
+		
+		ret.getProperties().put(NAMESPACES, prefixes);
+		ret.getProperties().put(SCHEMA_LOCATIONS, locations);
+			
 		// TODO: Consider how to use the namespace information
 		//ret.setNamespace(getNamespace(cdlpack));
 		



More information about the savara-commits mailing list