Revision: 1993
Author: [email protected]
Date: Thu Aug 5 06:43:30 2010
Log: Added ns prefixes to XML output for more readable and reusable XML.
http://code.google.com/p/simal/source/detail?r=1993
Modified:
/trunk/uk.ac.osswatch.simal.core/src/main/java/uk/ac/osswatch/simal/model/AbstractResource.java
/trunk/uk.ac.osswatch.simal.core/src/main/java/uk/ac/osswatch/simal/model/jena/Resource.java
/trunk/uk.ac.osswatch.simal.core/src/main/java/uk/ac/osswatch/simal/rdf/io/RDFUtils.java
/trunk/uk.ac.osswatch.simal.core/src/test/java/uk/ac/osswatch/simal/integrationTest/model/TestResource.java
=======================================
---
/trunk/uk.ac.osswatch.simal.core/src/main/java/uk/ac/osswatch/simal/model/AbstractResource.java
Tue Feb 16 01:53:18 2010
+++
/trunk/uk.ac.osswatch.simal.core/src/main/java/uk/ac/osswatch/simal/model/AbstractResource.java
Thu Aug 5 06:43:30 2010
@@ -20,7 +20,11 @@
import org.apache.commons.lang.StringEscapeUtils;
+import com.hp.hpl.jena.rdf.model.RDFWriter;
+import com.hp.hpl.jena.xmloutput.impl.BaseXMLWriter;
+
import uk.ac.osswatch.simal.rdf.SimalRepositoryException;
+import uk.ac.osswatch.simal.rdf.io.RDFUtils;
public abstract class AbstractResource implements IResource {
private static final long serialVersionUID = 1L;
@@ -111,5 +115,21 @@
public void setPath(String path) {
this.path = path;
}
+
+ /**
+ * Set namespace prefixes for more readable XML output.
+ * @param writer
+ * @return same writer with prefixes set.
+ */
+ protected RDFWriter setNsPrefixes(BaseXMLWriter writer) {
+ writer.setNsPrefix("", RDFUtils.DOAP_NS);
+ writer.setNsPrefix(RDFUtils.SIMAL_PREFIX, RDFUtils.SIMAL_NS);
+ writer.setNsPrefix(RDFUtils.FOAF_PREFIX, RDFUtils.FOAF_NS);
+ writer.setNsPrefix(RDFUtils.DC_PREFIX, RDFUtils.DC_NS);
+ writer.setNsPrefix(RDFUtils.RDF_PREFIX, RDFUtils.RDF_NS);
+ writer.setNsPrefix(RDFUtils.RDFS_PREFIX, RDFUtils.RDFS_NS);
+
+ return writer;
+ }
}
=======================================
---
/trunk/uk.ac.osswatch.simal.core/src/main/java/uk/ac/osswatch/simal/model/jena/Resource.java
Wed Jan 6 19:02:17 2010
+++
/trunk/uk.ac.osswatch.simal.core/src/main/java/uk/ac/osswatch/simal/model/jena/Resource.java
Thu Aug 5 06:43:30 2010
@@ -41,6 +41,7 @@
import com.hp.hpl.jena.util.ResourceUtils;
import com.hp.hpl.jena.vocabulary.DC;
import com.hp.hpl.jena.vocabulary.RDFS;
+import com.hp.hpl.jena.xmloutput.impl.BaseXMLWriter;
public class Resource extends AbstractResource {
private static final long serialVersionUID = -10828811166985970L;
@@ -204,8 +205,12 @@
public String toXML() throws SimalRepositoryException {
Model model = ResourceUtils.reachableClosure(getJenaResource());
RDFWriter writer = model.getWriter("RDF/XML-ABBREV");
+ if(writer instanceof BaseXMLWriter) {
+ writer = setNsPrefixes((BaseXMLWriter) writer);
+ }
StringWriter sw = new StringWriter();
writer.write(model, sw, null);
+
return sw.toString();
}
@@ -216,7 +221,6 @@
* @param property
* @return
*/
- @SuppressWarnings("unchecked")
protected List<Statement> listProperties(Property property) {
List<Statement> props =
getJenaResource().listProperties(property).toList();
=======================================
---
/trunk/uk.ac.osswatch.simal.core/src/main/java/uk/ac/osswatch/simal/rdf/io/RDFUtils.java
Mon Jun 7 06:47:17 2010
+++
/trunk/uk.ac.osswatch.simal.core/src/main/java/uk/ac/osswatch/simal/rdf/io/RDFUtils.java
Thu Aug 5 06:43:30 2010
@@ -46,6 +46,8 @@
public static final String CATEGORY_NAMESPACE_URI
= "http://simal.oss-watch.ac.uk/defaultCategoryNS#";
public static final String SIMAL_NS
= "http://oss-watch.ac.uk/ns/0.2/simal#";
+ public static final String SIMAL_PREFIX = "simal";
+
public static final String SIMAL_PERSON = SIMAL_NS + "Person";
public static final String SIMAL_PROJECT = SIMAL_NS + "Project";
public static final String SIMAL_CATEGORY_ID = "categoryId";
@@ -53,10 +55,19 @@
public static final String SIMAL_PROJECT_ID = "projectId";
public static final String DOAP_NS = DOAP.NS;
+ // TODO Change to public static final String DC_NS = DCTerms.NS;
public static final String DC_NS = DC.NS;
public static final String FOAF_NS = FOAF.NS;
public static final String RDF_NS = RDF.getURI();
public static final String RDFS_NS = RDFS.getURI();
+ public static final String VCARD_NS = "http://www.w3.org/2006/vcard/ns#";
+
+ public static final String DOAP_PREFIX = "doap";
+ public static final String DC_PREFIX = "dc";
+ public static final String FOAF_PREFIX = "foaf";
+ public static final String RDF_PREFIX = "rdf";
+ public static final String RDFS_PREFIX = "rdfs";
+ public static final String VCARD_PREFIX = "v";
private RDFUtils() {
}
=======================================
---
/trunk/uk.ac.osswatch.simal.core/src/test/java/uk/ac/osswatch/simal/integrationTest/model/TestResource.java
Sun Jun 28 15:37:20 2009
+++
/trunk/uk.ac.osswatch.simal.core/src/test/java/uk/ac/osswatch/simal/integrationTest/model/TestResource.java
Thu Aug 5 06:43:30 2010
@@ -15,9 +15,7 @@
*/
package uk.ac.osswatch.simal.integrationTest.model;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
+import static org.junit.Assert.*;
import java.io.File;
import java.io.FileInputStream;
@@ -58,6 +56,11 @@
public void testToXML() throws SimalRepositoryException {
String xml = project1.toXML();
assertNotNull(xml);
+ // Testing wither namespace prefixes have been set correctly:
+ assertTrue("Namespace simal not set correctly.",
xml.indexOf("xmlns:simal") > -1);
+ assertTrue("Namespace doap not set correctly.",
xml.indexOf("xmlns=\"http://usefulinc.com/ns/doap#\"") > -1);
+ assertTrue("Namespace foaf not set correctly.",
xml.indexOf("xmlns:foaf") > -1);
+ assertTrue("Namespace dc not set correctly.", xml.indexOf("xmlns:dc")
-1);
}
@Test
--
You received this message because you are subscribed to the Google Groups "Simal
Commits" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/simal-commits?hl=en.