From: <lh...@us...> - 2008-11-18 14:08:00
|
Revision: 200 http://tinytim.svn.sourceforge.net/tinytim/?rev=200&view=rev Author: lheuer Date: 2008-11-18 14:07:47 +0000 (Tue, 18 Nov 2008) Log Message: ----------- - CXTMTopicMapWriter: Datatype locators are not normalized anymore (not yet in the draft dtd. 2008-05-15) - XTM20TopicMapWriter: iids are taken into account - AbstractTopicMapReader: Did wrongly checked if field _deserializer is null and not against the argument "deserializer") - TinyTimMapInputHandler: * Tried to set an element outside the array to null. Fixed * Using construct.equals(other) instead of construct == other (since that may only work for the memory impl of tinyTiM) Modified Paths: -------------- tinytim-mio/trunk/src/main/java/org/tinytim/mio/AbstractTopicMapReader.java tinytim-mio/trunk/src/main/java/org/tinytim/mio/AbstractTopicMapWriter.java tinytim-mio/trunk/src/main/java/org/tinytim/mio/AbstractXTMTopicMapReader.java tinytim-mio/trunk/src/main/java/org/tinytim/mio/CXTMTopicMapWriter.java tinytim-mio/trunk/src/main/java/org/tinytim/mio/TinyTimMapInputHandler.java tinytim-mio/trunk/src/main/java/org/tinytim/mio/XTM10TopicMapWriter.java tinytim-mio/trunk/src/main/java/org/tinytim/mio/XTM20TopicMapWriter.java Modified: tinytim-mio/trunk/src/main/java/org/tinytim/mio/AbstractTopicMapReader.java =================================================================== --- tinytim-mio/trunk/src/main/java/org/tinytim/mio/AbstractTopicMapReader.java 2008-11-15 13:17:29 UTC (rev 199) +++ tinytim-mio/trunk/src/main/java/org/tinytim/mio/AbstractTopicMapReader.java 2008-11-18 14:07:47 UTC (rev 200) @@ -71,7 +71,7 @@ protected AbstractTopicMapReader(final TopicMap topicMap, final Syntax syntax, final File source, final String docIRI) throws IOException { - this(topicMap, syntax, new Source(new FileInputStream(source), docIRI)); + this(topicMap, syntax, new FileInputStream(source), docIRI); } /** @@ -82,8 +82,8 @@ * @param source * @param docIRI */ - protected AbstractTopicMapReader(TopicMap topicMap, Syntax syntax, - InputStream source, String docIRI) { + protected AbstractTopicMapReader(final TopicMap topicMap, final Syntax syntax, + final InputStream source, final String docIRI) { this(topicMap, syntax, new Source(source, docIRI)); } @@ -108,14 +108,15 @@ */ protected AbstractTopicMapReader(final IMapHandler handler, final Syntax syntax, final Source source) { - this(handler, DeserializerRegistry.createDeserializer(syntax), source); + this(handler, DeserializerRegistry.createDeserializer(syntax), source, syntax); } protected AbstractTopicMapReader(final IMapHandler handler, - final IDeserializer deserializer, final Source source) { - if (_deserializer == null) { - throw new IllegalArgumentException("Deserializer not found"); + final IDeserializer deserializer, final Source source, final Syntax syntax) { + if (deserializer == null) { + throw new IllegalArgumentException("Deserializer for " + syntax.getName() + " not found"); } + _deserializer = deserializer; _deserializer.setProperty(Property.VALIDATE, Boolean.FALSE); _deserializer.setMapHandler(handler); _source = source; Modified: tinytim-mio/trunk/src/main/java/org/tinytim/mio/AbstractTopicMapWriter.java =================================================================== --- tinytim-mio/trunk/src/main/java/org/tinytim/mio/AbstractTopicMapWriter.java 2008-11-15 13:17:29 UTC (rev 199) +++ tinytim-mio/trunk/src/main/java/org/tinytim/mio/AbstractTopicMapWriter.java 2008-11-18 14:07:47 UTC (rev 200) @@ -56,7 +56,8 @@ continue; } id = reference.substring(fragIdx+1); - if (id.startsWith("id")) { + System.out.println("Id: " + id); + if (id.startsWith("id-")) { id = null; } if (id != null) { Modified: tinytim-mio/trunk/src/main/java/org/tinytim/mio/AbstractXTMTopicMapReader.java =================================================================== --- tinytim-mio/trunk/src/main/java/org/tinytim/mio/AbstractXTMTopicMapReader.java 2008-11-15 13:17:29 UTC (rev 199) +++ tinytim-mio/trunk/src/main/java/org/tinytim/mio/AbstractXTMTopicMapReader.java 2008-11-18 14:07:47 UTC (rev 200) @@ -33,7 +33,7 @@ * @author Lars Heuer (heuer[at]semagia.com) <a href="http://www.semagia.com/">Semagia</a> * @version $Rev$ - $Date$ */ -abstract class AbstractXTMTopicMapReader extends AbstractTopicMapReader { +public abstract class AbstractXTMTopicMapReader extends AbstractTopicMapReader { public AbstractXTMTopicMapReader(TopicMap topicMap, Syntax syntax, File source) throws IOException { Modified: tinytim-mio/trunk/src/main/java/org/tinytim/mio/CXTMTopicMapWriter.java =================================================================== --- tinytim-mio/trunk/src/main/java/org/tinytim/mio/CXTMTopicMapWriter.java 2008-11-15 13:17:29 UTC (rev 199) +++ tinytim-mio/trunk/src/main/java/org/tinytim/mio/CXTMTopicMapWriter.java 2008-11-18 14:07:47 UTC (rev 200) @@ -448,7 +448,7 @@ _out.endElement("value"); _out.newline(); _out.startElement("datatype"); - _out.characters(_normalizeLocator(obj.getDatatype())); + _out.characters(obj.getDatatype().getReference()); _out.endElement("datatype"); _out.newline(); } @@ -652,7 +652,7 @@ normLoc = normLoc.substring(slashPos); } } - if (normLoc.startsWith("/")) { + if (normLoc.charAt(0) == '/') { normLoc = normLoc.substring(1); } _locator2Norm.put(locator, normLoc); Modified: tinytim-mio/trunk/src/main/java/org/tinytim/mio/TinyTimMapInputHandler.java =================================================================== --- tinytim-mio/trunk/src/main/java/org/tinytim/mio/TinyTimMapInputHandler.java 2008-11-15 13:17:29 UTC (rev 199) +++ tinytim-mio/trunk/src/main/java/org/tinytim/mio/TinyTimMapInputHandler.java 2008-11-18 14:07:47 UTC (rev 200) @@ -435,7 +435,7 @@ private IConstruct _leaveStatePopConstruct(int state) throws MIOException { _leaveState(state); final IConstruct construct = _peekConstruct(); - _constructStack[_constructSize] = null; + _constructStack[_constructSize-1] = null; _constructSize--; return construct; } @@ -494,7 +494,7 @@ */ private void _merge(Topic source, ITopic target) { for (int i=0; i <_constructSize; i++) { - if (_constructStack[i] == source) { + if (_constructStack[i].equals(source)) { _constructStack[i] = target; } } Modified: tinytim-mio/trunk/src/main/java/org/tinytim/mio/XTM10TopicMapWriter.java =================================================================== --- tinytim-mio/trunk/src/main/java/org/tinytim/mio/XTM10TopicMapWriter.java 2008-11-15 13:17:29 UTC (rev 199) +++ tinytim-mio/trunk/src/main/java/org/tinytim/mio/XTM10TopicMapWriter.java 2008-11-18 14:07:47 UTC (rev 200) @@ -138,7 +138,6 @@ protected void _writeAssociation(final Association assoc) throws IOException { Set<Role> roles = assoc.getRoles(); if (roles.isEmpty()) { - LOG.info("Omitting association id " + assoc.getId() + " since it has no roles"); return; } _attrs.clear(); Modified: tinytim-mio/trunk/src/main/java/org/tinytim/mio/XTM20TopicMapWriter.java =================================================================== --- tinytim-mio/trunk/src/main/java/org/tinytim/mio/XTM20TopicMapWriter.java 2008-11-15 13:17:29 UTC (rev 199) +++ tinytim-mio/trunk/src/main/java/org/tinytim/mio/XTM20TopicMapWriter.java 2008-11-18 14:07:47 UTC (rev 200) @@ -18,7 +18,6 @@ import java.io.IOException; import java.io.OutputStream; import java.util.Set; -import java.util.logging.Logger; import org.tinytim.internal.api.IScope; import org.tinytim.internal.api.IScoped; @@ -53,8 +52,6 @@ */ public class XTM20TopicMapWriter extends AbstractXTMWriter { - private static final Logger LOG = Logger.getLogger(XTM20TopicMapWriter.class.getName()); - private Topic _defaultNameType; /** @@ -108,11 +105,12 @@ protected void _writeTopic(final Topic topic) throws IOException { // Ignore the topic if it is the default name type and it has no further - // characteristics (iids do not count) + // characteristics if (_isDefaultNameType(topic) && topic.getReified() == null && topic.getSubjectIdentifiers().size() == 1 && topic.getSubjectLocators().isEmpty() + && topic.getItemIdentifiers().isEmpty() && topic.getRolesPlayed().isEmpty() && topic.getTypes().isEmpty() && topic.getNames().isEmpty() @@ -142,7 +140,6 @@ protected void _writeAssociation(final Association assoc) throws IOException { Set<Role> roles = assoc.getRoles(); if (roles.isEmpty()) { - LOG.info("Omitting association id " + assoc.getId() + " since it has no roles"); return; } _out.startElement("association", _reifier(assoc)); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |