You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by cl...@apache.org on 2013/10/28 10:48:03 UTC
svn commit: r1536294 - in /jena/trunk:
jena-core/src/main/java/com/hp/hpl/jena/rdf/model/
jena-core/src/main/java/com/hp/hpl/jena/rdf/model/impl/
jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/
jena-security/src/main/java/org/apache/jena/securi...
Author: claude
Date: Mon Oct 28 09:48:03 2013
New Revision: 1536294
URL: http://svn.apache.org/r1536294
Log:
JENA-540
Added resetRDFWriterF() and removeWriter()
Updated documentation
Modified:
jena/trunk/jena-core/src/main/java/com/hp/hpl/jena/rdf/model/RDFWriterF.java
jena/trunk/jena-core/src/main/java/com/hp/hpl/jena/rdf/model/impl/ModelCom.java
jena/trunk/jena-core/src/main/java/com/hp/hpl/jena/rdf/model/impl/RDFWriterFImpl.java
jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/TestRDFWriterMap.java
jena/trunk/jena-security/src/main/java/org/apache/jena/security/model/impl/SecuredModelImpl.java
Modified: jena/trunk/jena-core/src/main/java/com/hp/hpl/jena/rdf/model/RDFWriterF.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-core/src/main/java/com/hp/hpl/jena/rdf/model/RDFWriterF.java?rev=1536294&r1=1536293&r2=1536294&view=diff
==============================================================================
--- jena/trunk/jena-core/src/main/java/com/hp/hpl/jena/rdf/model/RDFWriterF.java (original)
+++ jena/trunk/jena-core/src/main/java/com/hp/hpl/jena/rdf/model/RDFWriterF.java Mon Oct 28 09:48:03 2013
@@ -51,7 +51,22 @@ public interface RDFWriterF {
/** set the class name for the RDFWriter for a langauge
* @param lang the language for which this class should be used
* @param className the class name for writers for this language
+ * @throws NullPointerException if lang or classname is null.
* @return the old class name for this language
*/
public String setWriterClassName(String lang, String className);
+
+ /**
+ * Resets the values to the initial condition.
+ */
+ public void resetRDFWriterF();
+
+ /**
+ * Remove lang from list of writers.
+ * Must be one of the classes that was added using setWriterClassName()
+ * @param lang The lang to remove.
+ * @return the old class name for this language
+ * @throws IllegalArgumentException if lang is one of the initial languages
+ */
+ public String removeWriter( String lang ) throws IllegalArgumentException;
}
Modified: jena/trunk/jena-core/src/main/java/com/hp/hpl/jena/rdf/model/impl/ModelCom.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-core/src/main/java/com/hp/hpl/jena/rdf/model/impl/ModelCom.java?rev=1536294&r1=1536293&r2=1536294&view=diff
==============================================================================
--- jena/trunk/jena-core/src/main/java/com/hp/hpl/jena/rdf/model/impl/ModelCom.java (original)
+++ jena/trunk/jena-core/src/main/java/com/hp/hpl/jena/rdf/model/impl/ModelCom.java Mon Oct 28 09:48:03 2013
@@ -300,6 +300,15 @@ implements Model, PrefixMapping, Lock
}
@Override
+ public void resetRDFWriterF() {
+ writerFactory.resetRDFWriterF();
+ }
+
+ @Override
+ public String removeWriter( String lang ) throws IllegalArgumentException {
+ return writerFactory.removeWriter( lang );
+ }
+ @Override
public Model write(Writer writer)
{
getWriter() .write(this, writer, "");
Modified: jena/trunk/jena-core/src/main/java/com/hp/hpl/jena/rdf/model/impl/RDFWriterFImpl.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-core/src/main/java/com/hp/hpl/jena/rdf/model/impl/RDFWriterFImpl.java?rev=1536294&r1=1536293&r2=1536294&view=diff
==============================================================================
--- jena/trunk/jena-core/src/main/java/com/hp/hpl/jena/rdf/model/impl/RDFWriterFImpl.java (original)
+++ jena/trunk/jena-core/src/main/java/com/hp/hpl/jena/rdf/model/impl/RDFWriterFImpl.java Mon Oct 28 09:48:03 2013
@@ -21,6 +21,7 @@ package com.hp.hpl.jena.rdf.model.impl;
import com.hp.hpl.jena.*;
import com.hp.hpl.jena.rdf.model.*;
+import java.util.Arrays;
import java.util.Properties;
import com.hp.hpl.jena.shared.*;
import com.hp.hpl.jena.n3.N3JenaWriter;
@@ -79,12 +80,26 @@ public class RDFWriterFImpl extends Obje
protected static final String PROPNAMEBASE = Jena.PATH + ".writer.";
static { // static initializer - set default readers
- langToClassName = new Properties();
+ reset();
+ }
+
+ private static void reset() {
+ Properties newLangToClassName = new Properties();
for (int i = 0; i < LANGS.length; i++) {
- langToClassName.setProperty(
+ newLangToClassName.setProperty(
LANGS[i],
JenaRuntime.getSystemProperty(PROPNAMEBASE + LANGS[i], DEFAULTWRITERS[i]));
}
+ // do the setup all at once.
+ langToClassName = newLangToClassName;
+ }
+
+ private static String remove( String lang) throws IllegalArgumentException {
+ if (Arrays.asList( LANGS ).contains( lang ))
+ {
+ throw new IllegalArgumentException( lang+" is a required language set in initialization");
+ }
+ return langToClassName.remove(lang).toString();
}
/** Creates new RDFReaderFImpl */
@@ -128,4 +143,14 @@ public class RDFWriterFImpl extends Obje
return oldClassName;
}
+ @Override
+ public void resetRDFWriterF() {
+ reset();
+ }
+
+ @Override
+ public String removeWriter(String lang) throws IllegalArgumentException {
+ return remove(lang);
+ }
+
}
Modified: jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/TestRDFWriterMap.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/TestRDFWriterMap.java?rev=1536294&r1=1536293&r2=1536294&view=diff
==============================================================================
--- jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/TestRDFWriterMap.java (original)
+++ jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/TestRDFWriterMap.java Mon Oct 28 09:48:03 2013
@@ -125,6 +125,18 @@ public class TestRDFWriterMap extends Je
throw new JenaException(e);
}
}
+
+ @Override
+ public void resetRDFWriterF() {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public String removeWriter(String lang) throws IllegalArgumentException {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
public static final String TURTLE_WRITER_ALT2 = N3JenaWriter.turtleWriterAlt2;
Modified: jena/trunk/jena-security/src/main/java/org/apache/jena/security/model/impl/SecuredModelImpl.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-security/src/main/java/org/apache/jena/security/model/impl/SecuredModelImpl.java?rev=1536294&r1=1536293&r2=1536294&view=diff
==============================================================================
--- jena/trunk/jena-security/src/main/java/org/apache/jena/security/model/impl/SecuredModelImpl.java (original)
+++ jena/trunk/jena-security/src/main/java/org/apache/jena/security/model/impl/SecuredModelImpl.java Mon Oct 28 09:48:03 2013
@@ -93,6 +93,7 @@ import org.apache.jena.security.utils.Co
*/
public class SecuredModelImpl extends SecuredItemImpl implements SecuredModel
{
+
// a class that implements ModelChangedListener
private class SecuredModelChangedListener implements ModelChangedListener
{
@@ -1667,6 +1668,16 @@ public class SecuredModelImpl extends Se
{
return holder.getBaseItem().getWriter(lang);
}
+
+ @Override
+ public void resetRDFWriterF() {
+ holder.getBaseItem().resetRDFWriterF();
+ }
+
+ @Override
+ public String removeWriter(String lang) throws IllegalArgumentException {
+ return holder.getBaseItem().removeWriter(lang);
+ }
@Override
public boolean independent()