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));
Show replies by date