[Mulgara-svn] r1245 - trunk/src/jar/content-rdfxml/java/org/mulgara/content/rdfxml/writer

alexhall at mulgara.org alexhall at mulgara.org
Fri Sep 5 20:11:28 UTC 2008


Author: alexhall
Date: 2008-09-05 13:11:27 -0700 (Fri, 05 Sep 2008)
New Revision: 1245

Modified:
   trunk/src/jar/content-rdfxml/java/org/mulgara/content/rdfxml/writer/NamespaceMap.java
Log:
Fix generics in the namespace map for the RDF/XML writer.  The existing implementation mixed URI's and strings which caused the RDF and RDFS namespaces to be mapped twice (once as a string and once as a URI).  This could lead to uses of generated prefixes for predicates in the RDF namespace (e.g. "ns7:type" instead of "rdf:type") in the exported RDF/XML.

Modified: trunk/src/jar/content-rdfxml/java/org/mulgara/content/rdfxml/writer/NamespaceMap.java
===================================================================
--- trunk/src/jar/content-rdfxml/java/org/mulgara/content/rdfxml/writer/NamespaceMap.java	2008-09-05 18:47:47 UTC (rev 1244)
+++ trunk/src/jar/content-rdfxml/java/org/mulgara/content/rdfxml/writer/NamespaceMap.java	2008-09-05 20:11:27 UTC (rev 1245)
@@ -68,7 +68,7 @@
  *
  * @licence <a href="{@docRoot}/../../LICENCE">Mozilla Public License v1.1</a>
  */
-public class NamespaceMap extends HashMap<String,Object> {
+public class NamespaceMap extends HashMap<String,String> {
 
   /** For serialization */
   private static final long serialVersionUID = 1161744419591660130L;
@@ -77,7 +77,7 @@
   private final static Logger logger = Logger.getLogger(NamespaceMap.class.getName());
 
   /** A mirror of this map (where keys and values are swapped) */
-  private Map<Object,String> mirror = null;
+  private Map<String,String> mirror = null;
 
   /** Prefix used to abbreviate RDF Namespace */
   private static final String RDF_PREFIX = "rdf";
@@ -94,11 +94,11 @@
    */
   public NamespaceMap(Statements statements, ResolverSession session) throws GraphException {
 
-    mirror = new HashMap<Object,String>();
+    mirror = new HashMap<String,String>();
 
     //add default namespaces
-    put(RDF_PREFIX, RDF.BASE_URI);
-    put(RDFS_PREFIX, RDFS.BASE_URI);
+    put(RDF_PREFIX, RDF.BASE_URI.toString());
+    put(RDFS_PREFIX, RDFS.BASE_URI.toString());
     put("owl", "http://www.w3.org/2002/07/owl#");
     put("dc", "http://purl.org/dc/elements/1.1/");
 
@@ -314,7 +314,8 @@
    * @param value Object
    * @return Object
    */
-  public Object put(String key, Object value) {
+  @Override
+  public String put(String key, String value) {
 
     mirror.put(value, key);
     return super.put(key, value);




More information about the Mulgara-svn mailing list