You can subscribe to this list here.
2008 |
Jan
|
Feb
|
Mar
|
Apr
(48) |
May
(21) |
Jun
(3) |
Jul
(10) |
Aug
(66) |
Sep
(11) |
Oct
(7) |
Nov
(73) |
Dec
(12) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2009 |
Jan
(3) |
Feb
(17) |
Mar
(19) |
Apr
(1) |
May
(4) |
Jun
|
Jul
(43) |
Aug
(18) |
Sep
(1) |
Oct
(1) |
Nov
(2) |
Dec
|
2010 |
Jan
(3) |
Feb
(7) |
Mar
(21) |
Apr
(2) |
May
(1) |
Jun
(1) |
Jul
(6) |
Aug
(6) |
Sep
(7) |
Oct
|
Nov
(1) |
Dec
|
2011 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <lh...@us...> - 2009-08-12 11:55:02
|
Revision: 344 http://tinytim.svn.sourceforge.net/tinytim/?rev=344&view=rev Author: lheuer Date: 2009-08-12 11:54:51 +0000 (Wed, 12 Aug 2009) Log Message: ----------- * Updated mio-xtm which handles XTM 1.0 xml:base correctly * XTM10TopicMapReader and the XTMTopicMapReader converts XTM 1.0 PSIs to TMDM PSIs and XTM 1.0 reification to TMDM reification automatically Modified Paths: -------------- tinytim/trunk/CHANGES.txt tinytim-mio/trunk/CHANGES.txt tinytim-mio/trunk/build.xml tinytim-mio/trunk/src/main/java/org/tinytim/mio/AbstractTopicMapReader.java tinytim-mio/trunk/src/main/java/org/tinytim/mio/XTM10TopicMapReader.java tinytim-mio/trunk/src/main/java/org/tinytim/mio/XTMTopicMapReader.java Added Paths: ----------- tinytim-mio/trunk/lib/semagia-mio-xtm-0.9.5.jar tinytim-mio/trunk/lib/tinytim-2.0.0a6-snapshot-200908121355.jar Removed Paths: ------------- tinytim-mio/trunk/lib/semagia-mio-xtm-0.9.4.jar tinytim-mio/trunk/lib/tinytim-2.0.0a5.jar Modified: tinytim/trunk/CHANGES.txt =================================================================== --- tinytim/trunk/CHANGES.txt 2009-08-12 11:48:07 UTC (rev 343) +++ tinytim/trunk/CHANGES.txt 2009-08-12 11:54:51 UTC (rev 344) @@ -4,10 +4,12 @@ 2.0.0 a6 (xx.yy.2009) --------------------- +* Added support to convert XTM 1.0 class-instance relationships + to TMDM type-instance relationships +* Added support to convert XTM 1.0 PSIs to TMDM PSIs - 2.0.0 a5 (23.07.2009) --------------------- Modified: tinytim-mio/trunk/CHANGES.txt =================================================================== --- tinytim-mio/trunk/CHANGES.txt 2009-08-12 11:48:07 UTC (rev 343) +++ tinytim-mio/trunk/CHANGES.txt 2009-08-12 11:54:51 UTC (rev 344) @@ -4,9 +4,11 @@ 2.0.0 a6 (xx.yy.2009) --------------------- +* XTM(10)TopicMapReader converts automatically XTM 1.0 PSIs to + TMDM PSIs and XTM 1.0 reification to TMDM reification. +* XTM10TopicMapReader handles xml:base correctly - 2.0.0 a5 (23.07.2009) --------------------- * JTMTopicMapReader / JTMTopicMapWriter implement the new JSON Topic Maps Modified: tinytim-mio/trunk/build.xml =================================================================== --- tinytim-mio/trunk/build.xml 2009-08-12 11:48:07 UTC (rev 343) +++ tinytim-mio/trunk/build.xml 2009-08-12 11:54:51 UTC (rev 344) @@ -11,7 +11,7 @@ <property name="lib.junit" value="${dir.lib}/junit-4.5.jar"/> <property name="lib.tmapi" value="${dir.lib}/tmapi-2.0a2.jar"/> - <property name="lib.tinytim" value="${dir.lib}/tinytim-2.0.0a5.jar"/> + <property name="lib.tinytim" value="${dir.lib}/tinytim-2.0.0a6-snapshot-200908121355.jar"/> <property name="lib.tinytim.tests" value="${dir.lib}/tinytim-2.0.0a5-tests.jar"/> <property name="lib.logging" value="${dir.lib}/slf4j-api-1.5.8.jar"/> <property name="lib.logger" value="${dir.lib}/slf4j-jdk14-1.5.8.jar"/> @@ -22,7 +22,7 @@ <property name="lib.rdf" value="${dir.lib}/semagia-mio-rdf-0.9.3.jar"/> <property name="lib.snello" value="${dir.lib}/semagia-mio-snello-0.9.3.jar"/> <property name="lib.tmxml" value="${dir.lib}/semagia-mio-tmxml-0.9.3.jar"/> - <property name="lib.xtm" value="${dir.lib}/semagia-mio-xtm-0.9.4.jar"/> + <property name="lib.xtm" value="${dir.lib}/semagia-mio-xtm-0.9.5.jar"/> <target name="help"> <echo message="------------------------"/> Deleted: tinytim-mio/trunk/lib/semagia-mio-xtm-0.9.4.jar =================================================================== (Binary files differ) Added: tinytim-mio/trunk/lib/semagia-mio-xtm-0.9.5.jar =================================================================== (Binary files differ) Property changes on: tinytim-mio/trunk/lib/semagia-mio-xtm-0.9.5.jar ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Deleted: tinytim-mio/trunk/lib/tinytim-2.0.0a5.jar =================================================================== (Binary files differ) Added: tinytim-mio/trunk/lib/tinytim-2.0.0a6-snapshot-200908121355.jar =================================================================== (Binary files differ) Property changes on: tinytim-mio/trunk/lib/tinytim-2.0.0a6-snapshot-200908121355.jar ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: tinytim-mio/trunk/src/main/java/org/tinytim/mio/AbstractTopicMapReader.java =================================================================== --- tinytim-mio/trunk/src/main/java/org/tinytim/mio/AbstractTopicMapReader.java 2009-08-12 11:48:07 UTC (rev 343) +++ tinytim-mio/trunk/src/main/java/org/tinytim/mio/AbstractTopicMapReader.java 2009-08-12 11:54:51 UTC (rev 344) @@ -145,7 +145,8 @@ } /** - * Called if parsing has been finished without errors, does nothing by default. + * Called if parsing has been finished without errors, + * does nothing by default. * <p> * The {@link #_deserializer} is still available. * </p> Modified: tinytim-mio/trunk/src/main/java/org/tinytim/mio/XTM10TopicMapReader.java =================================================================== --- tinytim-mio/trunk/src/main/java/org/tinytim/mio/XTM10TopicMapReader.java 2009-08-12 11:48:07 UTC (rev 343) +++ tinytim-mio/trunk/src/main/java/org/tinytim/mio/XTM10TopicMapReader.java 2009-08-12 11:54:51 UTC (rev 344) @@ -19,6 +19,7 @@ import java.io.IOException; import java.io.InputStream; +import org.tinytim.utils.XTM10Utils; import org.tmapi.core.TopicMap; import com.semagia.mio.Source; @@ -88,4 +89,14 @@ super(topicMap, Syntax.XTM_10, source); } + /* (non-Javadoc) + * @see org.tinytim.mio.AbstractTopicMapReader#postProcess() + */ + @Override + protected void postProcess() { + if (super._tm != null) { + XTM10Utils.convertToTMDM(super._tm); + } + } + } Modified: tinytim-mio/trunk/src/main/java/org/tinytim/mio/XTMTopicMapReader.java =================================================================== --- tinytim-mio/trunk/src/main/java/org/tinytim/mio/XTMTopicMapReader.java 2009-08-12 11:48:07 UTC (rev 343) +++ tinytim-mio/trunk/src/main/java/org/tinytim/mio/XTMTopicMapReader.java 2009-08-12 11:54:51 UTC (rev 344) @@ -19,8 +19,10 @@ import java.io.IOException; import java.io.InputStream; +import org.tinytim.utils.XTM10Utils; import org.tmapi.core.TopicMap; +import com.semagia.mio.IVersionAwareDeserializer; import com.semagia.mio.Source; import com.semagia.mio.Syntax; @@ -87,4 +89,16 @@ super(topicMap, Syntax.XTM, source); } + /* (non-Javadoc) + * @see org.tinytim.mio.AbstractTopicMapReader#postProcess() + */ + @Override + protected void postProcess() { + if (super._deserializer instanceof IVersionAwareDeserializer + && ((IVersionAwareDeserializer) super._deserializer).getVersion().equals("1.0") + && super._tm != null) { + XTM10Utils.convertToTMDM(super._tm); + } + } + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lh...@us...> - 2009-08-12 11:48:18
|
Revision: 343 http://tinytim.svn.sourceforge.net/tinytim/?rev=343&view=rev Author: lheuer Date: 2009-08-12 11:48:07 +0000 (Wed, 12 Aug 2009) Log Message: ----------- Added support to convert XTM 1.0 PSIs to TMDM PSIs Modified Paths: -------------- tinytim/trunk/src/main/java/org/tinytim/utils/XTM10Utils.java Modified: tinytim/trunk/src/main/java/org/tinytim/utils/XTM10Utils.java =================================================================== --- tinytim/trunk/src/main/java/org/tinytim/utils/XTM10Utils.java 2009-08-02 13:33:01 UTC (rev 342) +++ tinytim/trunk/src/main/java/org/tinytim/utils/XTM10Utils.java 2009-08-12 11:48:07 UTC (rev 343) @@ -17,6 +17,8 @@ import java.util.logging.Logger; +import org.tinytim.voc.TMDM; +import org.tinytim.voc.XTM10; import org.tmapi.core.Construct; import org.tmapi.core.Locator; import org.tmapi.core.Reifiable; @@ -27,7 +29,7 @@ * Utility functions to convert XTM 1.0 legacy features into the TMDM equivalent. * * @author Lars Heuer (heuer[at]semagia.com) <a href="http://www.semagia.com/">Semagia</a> - * @version $Rev:$ - $Date:$ + * @version $Rev$ - $Date$ */ public class XTM10Utils { @@ -38,6 +40,55 @@ private static final Logger LOG = Logger.getLogger(XTM10Utils.class.getName()); /** + * Converts XTM 1.0 PSIs to TMDM PSIs and converts the XTM 1.0 + * reification mechanism to TMDM reification. + * + * @see #convertClassInstanceToTypeInstance(TopicMap) + * @see #convertReification(TopicMap) + * + * @param topicMap + */ + public static void convertToTMDM(final TopicMap topicMap) { + convertXTM10PSIs(topicMap); + convertReification(topicMap); + } + + /** + * Converts <tt>xtm10:class-instance</tt>, <tt>xtm10:class</tt>, + * <tt>xtm10:instance</tt>, <tt>xtm10:superclass-subclass</tt>, + * <tt>xtm10:superclass</tt>, <tt>xtm10:subclass</tt>, and + * <tt>xtm10:sort</tt> to the TMDM equivalent. + * + * The XTM 1.0 PSIs will be removed and replaced with the TMDM equivalent. + * + * @param topicMap The topic map to convert. + */ + public static void convertXTM10PSIs(final TopicMap topicMap) { + _replaceSubjectIdentifier(topicMap, XTM10.CLASS_INSTANCE, TMDM.TYPE_INSTANCE); + _replaceSubjectIdentifier(topicMap, XTM10.CLASS, TMDM.TYPE); + _replaceSubjectIdentifier(topicMap, XTM10.INSTANCE, TMDM.INSTANCE); + _replaceSubjectIdentifier(topicMap, XTM10.SUPERCLASS_SUBCLASS, TMDM.SUPERTYPE_SUBTYPE); + _replaceSubjectIdentifier(topicMap, XTM10.SUPERCLASS, TMDM.SUPERTYPE); + _replaceSubjectIdentifier(topicMap, XTM10.SUBCLASS, TMDM.SUBTYPE); + _replaceSubjectIdentifier(topicMap, XTM10.SORT, TMDM.SORT); + } + + /** + * Replaces the <tt>source</tt> subject identifier with the <tt>target</tt>. + * + * @param topicMap The topic map. + * @param source The source PSI + * @param target The target PSI. + */ + private static void _replaceSubjectIdentifier(final TopicMap topicMap, final Locator source, final Locator target) { + Topic topic = topicMap.getTopicBySubjectIdentifier(source); + if (topic != null) { + topic.addSubjectIdentifier(target); + topic.removeSubjectIdentifier(source); + } + } + + /** * Converts the XTM 1.0 reification mechanism into TMDM reification. * <p> * In XTM 1.0 a construct was reified if it has a source locator (item This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lh...@us...> - 2009-08-02 13:33:10
|
Revision: 342 http://tinytim.svn.sourceforge.net/tinytim/?rev=342&view=rev Author: lheuer Date: 2009-08-02 13:33:01 +0000 (Sun, 02 Aug 2009) Log Message: ----------- Test cases for RDF/XML and N-Triples Modified Paths: -------------- tinytim-mio/trunk/src/test/java/org/tinytim/mio/AllTests.java Added Paths: ----------- tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestNTriplesTopicMapReader.java tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestRDFXMLTopicMapReader.java Modified: tinytim-mio/trunk/src/test/java/org/tinytim/mio/AllTests.java =================================================================== --- tinytim-mio/trunk/src/test/java/org/tinytim/mio/AllTests.java 2009-07-29 10:37:58 UTC (rev 341) +++ tinytim-mio/trunk/src/test/java/org/tinytim/mio/AllTests.java 2009-08-02 13:33:01 UTC (rev 342) @@ -33,6 +33,8 @@ TestSuite suite = new TestSuite(); suite.addTest(TestJTMTopicMapReader.suite()); suite.addTest(TestN3TopicMapReader.suite()); + suite.addTest(TestNTriplesTopicMapReader.suite()); + suite.addTest(TestRDFXMLTopicMapReader.suite()); suite.addTest(TestLTMTopicMapReader.suite()); suite.addTest(TestTMXMLTopicMapReader.suite()); suite.addTest(TestTMXMLValidatingTopicMapReader.suite()); Added: tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestNTriplesTopicMapReader.java =================================================================== --- tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestNTriplesTopicMapReader.java (rev 0) +++ tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestNTriplesTopicMapReader.java 2009-08-02 13:33:01 UTC (rev 342) @@ -0,0 +1,59 @@ +/* + * Copyright 2008 Lars Heuer (heuer[at]semagia.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.tinytim.mio; + +import java.net.URL; + +import org.tmapi.core.TopicMap; + +import com.semagia.mio.Source; + +import junit.framework.Test; +import junit.framework.TestSuite; + +/** + * + * + * @author Lars Heuer (heuer[at]semagia.com) <a href="http://www.semagia.com/">Semagia</a> + * @version $Rev:$ - $Date:$ + */ +public class TestNTriplesTopicMapReader extends TestSuite { + + public static Test suite() { + TestSuite suite = new TestSuite(); + for (URL url: CXTMTestUtils.filterValidFiles("rdf", "nt")) { + suite.addTest(new TestNTriplesTopicMapReaderCase(url, "rdf")); + } + return suite; + } + + private static class TestNTriplesTopicMapReaderCase extends AbstractCXTMTestCase { + + protected TestNTriplesTopicMapReaderCase(URL url, String subdir) { + super(url, subdir); + } + + /* (non-Javadoc) + * @see org.tinytim.mio.AbstractCXTMTestCase#makeReader(org.tmapi.core.TopicMap, java.net.URL) + */ + @Override + protected TopicMapReader makeReader(TopicMap tm, URL file) throws Exception { + NTriplesTopicMapReader reader = new NTriplesTopicMapReader(tm, new Source(file.toURI().toString())); + return reader; + } + + } +} Property changes on: tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestNTriplesTopicMapReader.java ___________________________________________________________________ Added: svn:keywords + Rev Date Id Added: svn:eol-style + native Added: tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestRDFXMLTopicMapReader.java =================================================================== --- tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestRDFXMLTopicMapReader.java (rev 0) +++ tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestRDFXMLTopicMapReader.java 2009-08-02 13:33:01 UTC (rev 342) @@ -0,0 +1,59 @@ +/* + * Copyright 2008 Lars Heuer (heuer[at]semagia.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.tinytim.mio; + +import java.net.URL; + +import org.tmapi.core.TopicMap; + +import com.semagia.mio.Source; + +import junit.framework.Test; +import junit.framework.TestSuite; + +/** + * + * + * @author Lars Heuer (heuer[at]semagia.com) <a href="http://www.semagia.com/">Semagia</a> + * @version $Rev:$ - $Date:$ + */ +public class TestRDFXMLTopicMapReader extends TestSuite { + + public static Test suite() { + TestSuite suite = new TestSuite(); + for (URL url: CXTMTestUtils.filterValidFiles("rdf", "rdf")) { + suite.addTest(new TestRDFXMLTopicMapReaderCase(url, "rdf")); + } + return suite; + } + + private static class TestRDFXMLTopicMapReaderCase extends AbstractCXTMTestCase { + + protected TestRDFXMLTopicMapReaderCase(URL url, String subdir) { + super(url, subdir); + } + + /* (non-Javadoc) + * @see org.tinytim.mio.AbstractCXTMTestCase#makeReader(org.tmapi.core.TopicMap, java.net.URL) + */ + @Override + protected TopicMapReader makeReader(TopicMap tm, URL file) throws Exception { + RDFXMLTopicMapReader reader = new RDFXMLTopicMapReader(tm, new Source(file.toURI().toString())); + return reader; + } + + } +} Property changes on: tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestRDFXMLTopicMapReader.java ___________________________________________________________________ Added: svn:keywords + Rev Date Id Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lh...@us...> - 2009-07-29 10:38:06
|
Revision: 341 http://tinytim.svn.sourceforge.net/tinytim/?rev=341&view=rev Author: lheuer Date: 2009-07-29 10:37:58 +0000 (Wed, 29 Jul 2009) Log Message: ----------- Better LTM Unicode support (passes now all CXTM tests) Modified Paths: -------------- tinytim-mio/trunk/build.xml Added Paths: ----------- tinytim-mio/trunk/lib/semagia-mio-ltm-0.9.5.jar Removed Paths: ------------- tinytim-mio/trunk/lib/semagia-mio-ltm-0.9.4.jar Modified: tinytim-mio/trunk/build.xml =================================================================== --- tinytim-mio/trunk/build.xml 2009-07-28 11:14:03 UTC (rev 340) +++ tinytim-mio/trunk/build.xml 2009-07-29 10:37:58 UTC (rev 341) @@ -18,7 +18,7 @@ <property name="lib.jing" value="${dir.lib}/jing.jar"/> <property name="lib.mio" value="${dir.lib}/semagia-mio-0.9.4.jar"/> <property name="lib.jtm" value="${dir.lib}/semagia-mio-jtm-0.9.3.jar"/> - <property name="lib.ltm" value="${dir.lib}/semagia-mio-ltm-0.9.4.jar"/> + <property name="lib.ltm" value="${dir.lib}/semagia-mio-ltm-0.9.5.jar"/> <property name="lib.rdf" value="${dir.lib}/semagia-mio-rdf-0.9.3.jar"/> <property name="lib.snello" value="${dir.lib}/semagia-mio-snello-0.9.3.jar"/> <property name="lib.tmxml" value="${dir.lib}/semagia-mio-tmxml-0.9.3.jar"/> Deleted: tinytim-mio/trunk/lib/semagia-mio-ltm-0.9.4.jar =================================================================== (Binary files differ) Added: tinytim-mio/trunk/lib/semagia-mio-ltm-0.9.5.jar =================================================================== (Binary files differ) Property changes on: tinytim-mio/trunk/lib/semagia-mio-ltm-0.9.5.jar ___________________________________________________________________ Added: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2009-07-28 11:14:13
|
Revision: 340 http://tinytim.svn.sourceforge.net/tinytim/?rev=340&view=rev Author: bosso Date: 2009-07-28 11:14:03 +0000 (Tue, 28 Jul 2009) Log Message: ----------- added build to svn:ignore Property Changed: ---------------- tinytim-mio/trunk/ Property changes on: tinytim-mio/trunk ___________________________________________________________________ Added: svn:ignore + build .project .classpath .settings bin This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2009-07-28 10:00:43
|
Revision: 339 http://tinytim.svn.sourceforge.net/tinytim/?rev=339&view=rev Author: bosso Date: 2009-07-28 10:00:29 +0000 (Tue, 28 Jul 2009) Log Message: ----------- * added build to svn:ignore * minor changes regarding java6 warnings (seen in eclipse) Modified Paths: -------------- tinytim/trunk/src/main/java/org/tinytim/core/TopicMapSystemFactoryImpl.java tinytim/trunk/src/main/java/org/tinytim/index/TypeInstanceIndexImpl.java Property Changed: ---------------- tinytim/trunk/ Property changes on: tinytim/trunk ___________________________________________________________________ Added: svn:ignore + .project .settings build .classpath Modified: tinytim/trunk/src/main/java/org/tinytim/core/TopicMapSystemFactoryImpl.java =================================================================== --- tinytim/trunk/src/main/java/org/tinytim/core/TopicMapSystemFactoryImpl.java 2009-07-23 20:45:41 UTC (rev 338) +++ tinytim/trunk/src/main/java/org/tinytim/core/TopicMapSystemFactoryImpl.java 2009-07-28 10:00:29 UTC (rev 339) @@ -158,7 +158,7 @@ public void setProperty(final String propertyName, Object value) { if (value != null) { if (Property.TMSHARE.equals(propertyName)) { - if (!(value instanceof Set)) { + if (!(value instanceof Set<?>)) { value = Collections.singleton(value); } } Modified: tinytim/trunk/src/main/java/org/tinytim/index/TypeInstanceIndexImpl.java =================================================================== --- tinytim/trunk/src/main/java/org/tinytim/index/TypeInstanceIndexImpl.java 2009-07-23 20:45:41 UTC (rev 338) +++ tinytim/trunk/src/main/java/org/tinytim/index/TypeInstanceIndexImpl.java 2009-07-28 10:00:29 UTC (rev 339) @@ -333,7 +333,6 @@ } private final class AddTypedHandler extends _EvtHandler { - @SuppressWarnings("unchecked") public void handleEvent(Event evt, IConstruct sender, Object oldValue, Object newValue) { Typed typed = (Typed) newValue; @@ -343,7 +342,6 @@ } private final class RemoveTypedHandler extends _EvtHandler { - @SuppressWarnings("unchecked") public void handleEvent(Event evt, IConstruct sender, Object oldValue, Object newValue) { Typed typed = (Typed) oldValue; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lh...@us...> - 2009-07-23 20:45:51
|
Revision: 338 http://tinytim.svn.sourceforge.net/tinytim/?rev=338&view=rev Author: lheuer Date: 2009-07-23 20:45:41 +0000 (Thu, 23 Jul 2009) Log Message: ----------- Don't update the CXTM tests anymore Property Changed: ---------------- tinytim-mio/tags/release-2.0.0a5/src/test/ Property changes on: tinytim-mio/tags/release-2.0.0a5/src/test ___________________________________________________________________ Deleted: svn:externals - cxtm https://cxtm-tests.svn.sourceforge.net/svnroot/cxtm-tests/trunk/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lh...@us...> - 2009-07-23 20:28:22
|
Revision: 337 http://tinytim.svn.sourceforge.net/tinytim/?rev=337&view=rev Author: lheuer Date: 2009-07-23 20:28:10 +0000 (Thu, 23 Jul 2009) Log Message: ----------- Updated to the official build (no difference to the previous build, though) Modified Paths: -------------- tinytim/trunk/lib/tmapi-2.0a2-tests.jar tinytim/trunk/lib/tmapi-2.0a2.jar tinytim-mio/trunk/lib/tmapi-2.0a2.jar Modified: tinytim/trunk/lib/tmapi-2.0a2-tests.jar =================================================================== (Binary files differ) Modified: tinytim/trunk/lib/tmapi-2.0a2.jar =================================================================== (Binary files differ) Modified: tinytim-mio/trunk/lib/tmapi-2.0a2.jar =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lh...@us...> - 2009-07-23 17:05:19
|
Revision: 336 http://tinytim.svn.sourceforge.net/tinytim/?rev=336&view=rev Author: lheuer Date: 2009-07-23 17:05:14 +0000 (Thu, 23 Jul 2009) Log Message: ----------- trunk represents next release now Modified Paths: -------------- tinytim-mio/trunk/CHANGES.txt tinytim-mio/trunk/build.properties Modified: tinytim-mio/trunk/CHANGES.txt =================================================================== --- tinytim-mio/trunk/CHANGES.txt 2009-07-23 17:03:09 UTC (rev 335) +++ tinytim-mio/trunk/CHANGES.txt 2009-07-23 17:05:14 UTC (rev 336) @@ -2,6 +2,11 @@ Changes Log =========== +2.0.0 a6 (xx.yy.2009) +--------------------- + + + 2.0.0 a5 (23.07.2009) --------------------- * JTMTopicMapReader / JTMTopicMapWriter implement the new JSON Topic Maps Modified: tinytim-mio/trunk/build.properties =================================================================== --- tinytim-mio/trunk/build.properties 2009-07-23 17:03:09 UTC (rev 335) +++ tinytim-mio/trunk/build.properties 2009-07-23 17:05:14 UTC (rev 336) @@ -1,5 +1,5 @@ version=2.0.0 -version_suffix=a5 -release_type= +version_suffix=a6 +#release_type= debug=off optimize=on This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lh...@us...> - 2009-07-23 17:03:10
|
Revision: 335 http://tinytim.svn.sourceforge.net/tinytim/?rev=335&view=rev Author: lheuer Date: 2009-07-23 17:03:09 +0000 (Thu, 23 Jul 2009) Log Message: ----------- Tagging Added Paths: ----------- tinytim-mio/tags/release-2.0.0a5/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lh...@us...> - 2009-07-23 17:02:09
|
Revision: 334 http://tinytim.svn.sourceforge.net/tinytim/?rev=334&view=rev Author: lheuer Date: 2009-07-23 17:01:57 +0000 (Thu, 23 Jul 2009) Log Message: ----------- Preparing release Modified Paths: -------------- tinytim-mio/trunk/CHANGES.txt tinytim-mio/trunk/build.properties tinytim-mio/trunk/build.xml Added Paths: ----------- tinytim-mio/trunk/lib/tinytim-2.0.0a5-tests.jar tinytim-mio/trunk/lib/tinytim-2.0.0a5.jar Removed Paths: ------------- tinytim-mio/trunk/lib/tinytim-2.0.0a4-tests.jar tinytim-mio/trunk/lib/tinytim-2.0.0a5-snapshot-200907221908.jar Modified: tinytim-mio/trunk/CHANGES.txt =================================================================== --- tinytim-mio/trunk/CHANGES.txt 2009-07-23 16:49:53 UTC (rev 333) +++ tinytim-mio/trunk/CHANGES.txt 2009-07-23 17:01:57 UTC (rev 334) @@ -2,7 +2,7 @@ Changes Log =========== -2.0.0 a5 (xx.07.2009) +2.0.0 a5 (23.07.2009) --------------------- * JTMTopicMapReader / JTMTopicMapWriter implement the new JSON Topic Maps specification (<http://www.cerny-online.com/jtm/1.0/> Modified: tinytim-mio/trunk/build.properties =================================================================== --- tinytim-mio/trunk/build.properties 2009-07-23 16:49:53 UTC (rev 333) +++ tinytim-mio/trunk/build.properties 2009-07-23 17:01:57 UTC (rev 334) @@ -1,5 +1,5 @@ version=2.0.0 version_suffix=a5 -#release_type= +release_type= debug=off optimize=on Modified: tinytim-mio/trunk/build.xml =================================================================== --- tinytim-mio/trunk/build.xml 2009-07-23 16:49:53 UTC (rev 333) +++ tinytim-mio/trunk/build.xml 2009-07-23 17:01:57 UTC (rev 334) @@ -6,14 +6,23 @@ <property name="dir.src" value="${basedir}/src/main/java"/> <property name="dir.test" value="${basedir}/src/test/java"/> + <property name="dir.cxtm" value="${basedir}/src/test/cxtm/"/> <property name="dir.lib" value="${basedir}/lib"/> <property name="lib.junit" value="${dir.lib}/junit-4.5.jar"/> <property name="lib.tmapi" value="${dir.lib}/tmapi-2.0a2.jar"/> - <property name="lib.tinytim" value="${dir.lib}/tinytim-2.0.0a5-snapshot-200907221908.jar"/> - <property name="lib.tinytim.tests" value="${dir.lib}/tinytim-2.0.0a4-tests.jar"/> + <property name="lib.tinytim" value="${dir.lib}/tinytim-2.0.0a5.jar"/> + <property name="lib.tinytim.tests" value="${dir.lib}/tinytim-2.0.0a5-tests.jar"/> <property name="lib.logging" value="${dir.lib}/slf4j-api-1.5.8.jar"/> + <property name="lib.logger" value="${dir.lib}/slf4j-jdk14-1.5.8.jar"/> + <property name="lib.jing" value="${dir.lib}/jing.jar"/> <property name="lib.mio" value="${dir.lib}/semagia-mio-0.9.4.jar"/> + <property name="lib.jtm" value="${dir.lib}/semagia-mio-jtm-0.9.3.jar"/> + <property name="lib.ltm" value="${dir.lib}/semagia-mio-ltm-0.9.4.jar"/> + <property name="lib.rdf" value="${dir.lib}/semagia-mio-rdf-0.9.3.jar"/> + <property name="lib.snello" value="${dir.lib}/semagia-mio-snello-0.9.3.jar"/> + <property name="lib.tmxml" value="${dir.lib}/semagia-mio-tmxml-0.9.3.jar"/> + <property name="lib.xtm" value="${dir.lib}/semagia-mio-xtm-0.9.4.jar"/> <target name="help"> <echo message="------------------------"/> @@ -74,6 +83,9 @@ noindex="false" windowtitle="tinyTiM MIO API v${dist.version}" doctitle="tinyTiM API MIO v${dist.version}"> + <fileset dir="${dir.src}"> + <exclude name="org/tinytim/mio/internal/**"/> + </fileset> <!-- <doclet name="net.gleamynode.apiviz.APIviz" path="${dir.lib}/apiviz-1.2.5.GA.jar"> @@ -105,6 +117,7 @@ </javac> <junit printsummary="true" showoutput="false" errorProperty="test.failed" failureProperty="test.failed"> + <sysproperty key="org.tinytim.cxtm-test-dir" value="${dir.cxtm}"/> <classpath> <pathelement location="${dir.build.classes}"/> <pathelement location="${dir.build.tests}"/> @@ -112,14 +125,19 @@ <pathelement location="${lib.tmapi}"/> <pathelement location="${lib.tinytim}"/> <pathelement location="${lib.tinytim.tests}"/> + <pathelement location="${lib.logging}"/> + <pathelement location="${lib.logger}"/> + <pathelement location="${lib.jing}"/> <pathelement location="${lib.mio}"/> + <pathelement location="${lib.jtm}"/> + <pathelement location="${lib.ltm}"/> + <pathelement location="${lib.rdf}"/> + <pathelement location="${lib.snello}"/> + <pathelement location="${lib.tmxml}"/> + <pathelement location="${lib.xtm}"/> </classpath> <formatter type="brief" usefile="false"/> - <batchtest fork="no" todir="${dir.build}"> - <fileset dir="${dir.build.tests}/"> - <include name="**/Test**.class"/> - </fileset> - </batchtest> + <test name="org.tinytim.mio.AllTests"/> </junit> <fail message="Tests failed. Check test output." if="test.failed"/> </target> Deleted: tinytim-mio/trunk/lib/tinytim-2.0.0a4-tests.jar =================================================================== (Binary files differ) Deleted: tinytim-mio/trunk/lib/tinytim-2.0.0a5-snapshot-200907221908.jar =================================================================== (Binary files differ) Added: tinytim-mio/trunk/lib/tinytim-2.0.0a5-tests.jar =================================================================== (Binary files differ) Property changes on: tinytim-mio/trunk/lib/tinytim-2.0.0a5-tests.jar ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: tinytim-mio/trunk/lib/tinytim-2.0.0a5.jar =================================================================== (Binary files differ) Property changes on: tinytim-mio/trunk/lib/tinytim-2.0.0a5.jar ___________________________________________________________________ Added: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lh...@us...> - 2009-07-23 16:49:55
|
Revision: 333 http://tinytim.svn.sourceforge.net/tinytim/?rev=333&view=rev Author: lheuer Date: 2009-07-23 16:49:53 +0000 (Thu, 23 Jul 2009) Log Message: ----------- trunk represents 2.0.0a6 now Modified Paths: -------------- tinytim/trunk/CHANGES.txt tinytim/trunk/README.txt tinytim/trunk/build.properties Modified: tinytim/trunk/CHANGES.txt =================================================================== --- tinytim/trunk/CHANGES.txt 2009-07-23 16:47:14 UTC (rev 332) +++ tinytim/trunk/CHANGES.txt 2009-07-23 16:49:53 UTC (rev 333) @@ -2,6 +2,12 @@ Changes Log =========== +2.0.0 a6 (xx.yy.2009) +--------------------- + + + + 2.0.0 a5 (23.07.2009) --------------------- Modified: tinytim/trunk/README.txt =================================================================== --- tinytim/trunk/README.txt 2009-07-23 16:47:14 UTC (rev 332) +++ tinytim/trunk/README.txt 2009-07-23 16:49:53 UTC (rev 333) @@ -11,7 +11,7 @@ Installation ------------ -No real installation needed, simply put the ``tinytim-2.0.0a5.jar`` and +No real installation needed, simply put the ``tinytim-2.0.0a6.jar`` and ``tmapi-2.0a2.jar`` into your classpath. That's all. :) Optionally, you can put the ``trove-<VERSION>.jar`` into your classpath which makes tinyTiM slightly more memory efficient and faster. Modified: tinytim/trunk/build.properties =================================================================== --- tinytim/trunk/build.properties 2009-07-23 16:47:14 UTC (rev 332) +++ tinytim/trunk/build.properties 2009-07-23 16:49:53 UTC (rev 333) @@ -1,5 +1,5 @@ version=2.0.0 -version_suffix=a5 -release_type= +version_suffix=a6 +#release_type= debug=off optimize=on This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lh...@us...> - 2009-07-23 16:47:22
|
Revision: 332 http://tinytim.svn.sourceforge.net/tinytim/?rev=332&view=rev Author: lheuer Date: 2009-07-23 16:47:14 +0000 (Thu, 23 Jul 2009) Log Message: ----------- Added Paths: ----------- tinytim/tags/release-2.0.0a5/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lh...@us...> - 2009-07-23 16:45:59
|
Revision: 331 http://tinytim.svn.sourceforge.net/tinytim/?rev=331&view=rev Author: lheuer Date: 2009-07-23 16:45:58 +0000 (Thu, 23 Jul 2009) Log Message: ----------- Preparing release Modified Paths: -------------- tinytim/trunk/CHANGES.txt tinytim/trunk/README.txt tinytim/trunk/build.properties Modified: tinytim/trunk/CHANGES.txt =================================================================== --- tinytim/trunk/CHANGES.txt 2009-07-23 16:41:16 UTC (rev 330) +++ tinytim/trunk/CHANGES.txt 2009-07-23 16:45:58 UTC (rev 331) @@ -2,9 +2,10 @@ Changes Log =========== -2.0.0 a5 (xx.yy.2009) +2.0.0 a5 (23.07.2009) --------------------- +* Updated to TMAPI 2.0a2 * Updated TMCL constants (implemented by Hannes Niederhausen) Bugfixes: @@ -16,6 +17,7 @@ * Bug #2824837 -- Same iid at a duplicate statement does not work + 2.0.0 a4 (06.12.2008) --------------------- Modified: tinytim/trunk/README.txt =================================================================== --- tinytim/trunk/README.txt 2009-07-23 16:41:16 UTC (rev 330) +++ tinytim/trunk/README.txt 2009-07-23 16:45:58 UTC (rev 331) @@ -11,8 +11,8 @@ Installation ------------ -No real installation needed, simply put the ``tinytim-2.0.0a4.jar`` and -``tmapi-2.0a1.jar`` into your classpath. That's all. :) +No real installation needed, simply put the ``tinytim-2.0.0a5.jar`` and +``tmapi-2.0a2.jar`` into your classpath. That's all. :) Optionally, you can put the ``trove-<VERSION>.jar`` into your classpath which makes tinyTiM slightly more memory efficient and faster. Modified: tinytim/trunk/build.properties =================================================================== --- tinytim/trunk/build.properties 2009-07-23 16:41:16 UTC (rev 330) +++ tinytim/trunk/build.properties 2009-07-23 16:45:58 UTC (rev 331) @@ -1,5 +1,5 @@ version=2.0.0 version_suffix=a5 -#release_type= +release_type= debug=off optimize=on This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lh...@us...> - 2009-07-23 16:41:29
|
Revision: 330 http://tinytim.svn.sourceforge.net/tinytim/?rev=330&view=rev Author: lheuer Date: 2009-07-23 16:41:16 +0000 (Thu, 23 Jul 2009) Log Message: ----------- Added CXTM tests, a bit hackish, though Added Paths: ----------- tinytim-mio/trunk/src/test/java/org/tinytim/mio/ tinytim-mio/trunk/src/test/java/org/tinytim/mio/AbstractCXTMTestCase.java tinytim-mio/trunk/src/test/java/org/tinytim/mio/AllTests.java tinytim-mio/trunk/src/test/java/org/tinytim/mio/CXTMTestUtils.java tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestCTMTopicMapReader.java tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestJTMTopicMapReader.java tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestJTMTopicMapWriter.java tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestLTMTopicMapReader.java tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestN3TopicMapReader.java tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestSnelloTopicMapReader.java tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestTMXMLTopicMapReader.java tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestTMXMLValidatingTopicMapReader.java tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestXTM10TopicMapReader.java tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestXTM10TopicMapWriter.java tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestXTM10ValidatingTopicMapReader.java tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestXTM20TopicMapReader.java tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestXTM20ValidatingTopicMapReader.java Added: tinytim-mio/trunk/src/test/java/org/tinytim/mio/AbstractCXTMTestCase.java =================================================================== --- tinytim-mio/trunk/src/test/java/org/tinytim/mio/AbstractCXTMTestCase.java (rev 0) +++ tinytim-mio/trunk/src/test/java/org/tinytim/mio/AbstractCXTMTestCase.java 2009-07-23 16:41:16 UTC (rev 330) @@ -0,0 +1,77 @@ +/* + * Copyright 2008 Lars Heuer (heuer[at]semagia.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.tinytim.mio; + +import java.io.ByteArrayOutputStream; +import java.io.FileInputStream; +import java.io.InputStream; +import java.net.URL; +import java.util.Arrays; + +import org.tinytim.core.TinyTimTestCase; +import org.tmapi.core.TopicMap; + +/** + * + * + * @author Lars Heuer (heuer[at]semagia.com) <a href="http://www.semagia.com/">Semagia</a> + * @version $Rev:$ - $Date:$ + */ +public abstract class AbstractCXTMTestCase extends TinyTimTestCase { + + protected URL _url; + private String _subdir; + + protected AbstractCXTMTestCase(URL url, String subdir) { + super(url.getFile().substring(url.getFile().lastIndexOf('/')+1)); + _url = url; + _subdir = subdir; + } + + protected abstract TopicMapReader makeReader(TopicMap tm, URL url) throws Exception; + + /* (non-Javadoc) + * @see junit.framework.TestCase#runTest() + */ + @Override + protected void runTest() throws Throwable { + TopicMapReader reader; + try { + reader = makeReader(_tm, _url); + } + catch (Exception ex) { + ex.printStackTrace(); + throw ex; + } + reader.read(); + ByteArrayOutputStream result = new ByteArrayOutputStream(); + CXTMTopicMapWriter writer = new CXTMTopicMapWriter(result, _url.toExternalForm()); + writer.write(_tm); + ByteArrayOutputStream expected = new ByteArrayOutputStream(); + InputStream tmp = new FileInputStream(CXTMTestUtils.getCXTMFile(_url, _subdir)); + int b; + while ((b = tmp.read()) != -1) { + expected.write(b); + } + byte[] res = result.toByteArray(); + byte[] ref = expected.toByteArray(); + if (!Arrays.equals(res, ref)) { + System.out.println(result.toString("utf-8")); + fail("Expected: " + expected.toString("utf-8") + "\n, got: " + result.toString("utf-8")); + } + } + +} Added: tinytim-mio/trunk/src/test/java/org/tinytim/mio/AllTests.java =================================================================== --- tinytim-mio/trunk/src/test/java/org/tinytim/mio/AllTests.java (rev 0) +++ tinytim-mio/trunk/src/test/java/org/tinytim/mio/AllTests.java 2009-07-23 16:41:16 UTC (rev 330) @@ -0,0 +1,46 @@ +/* + * Copyright 2008 Lars Heuer (heuer[at]semagia.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.tinytim.mio; + +import junit.framework.TestSuite; + +/** + * + * + * @author Lars Heuer (heuer[at]semagia.com) <a href="http://www.semagia.com/">Semagia</a> + * @version $Rev:$ - $Date:$ + */ +public class AllTests extends TestSuite { + + public static void main(String[] args) { + junit.textui.TestRunner.run(suite()); + } + + public static TestSuite suite() { + TestSuite suite = new TestSuite(); + suite.addTest(TestJTMTopicMapReader.suite()); + suite.addTest(TestN3TopicMapReader.suite()); + suite.addTest(TestLTMTopicMapReader.suite()); + suite.addTest(TestTMXMLTopicMapReader.suite()); + suite.addTest(TestTMXMLValidatingTopicMapReader.suite()); + suite.addTest(TestSnelloTopicMapReader.suite()); + suite.addTest(TestXTM10TopicMapReader.suite()); + suite.addTest(TestXTM10ValidatingTopicMapReader.suite()); + suite.addTest(TestXTM20TopicMapReader.suite()); + suite.addTest(TestXTM20ValidatingTopicMapReader.suite()); + return suite; + } +} Added: tinytim-mio/trunk/src/test/java/org/tinytim/mio/CXTMTestUtils.java =================================================================== --- tinytim-mio/trunk/src/test/java/org/tinytim/mio/CXTMTestUtils.java (rev 0) +++ tinytim-mio/trunk/src/test/java/org/tinytim/mio/CXTMTestUtils.java 2009-07-23 16:41:16 UTC (rev 330) @@ -0,0 +1,63 @@ +/* + * Copyright 2008 Lars Heuer (heuer[at]semagia.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.tinytim.mio; + +import java.io.File; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.ArrayList; +import java.util.List; + +/** + * + * + * @author Lars Heuer (heuer[at]semagia.com) <a href="http://www.semagia.com/">Semagia</a> + * @version $Rev:$ - $Date:$ + */ +public class CXTMTestUtils { + + public static final String DOC_IRI = "http://tinytim.sourceforge.net/map"; + + private static final String _TEST_DIR = System.getProperty("org.tinytim.cxtm-test-dir"); + + public static List<URL> filterValidFiles(String subdir, String ext) { + File dir = null; + if (_TEST_DIR == null) { + dir = new File(CXTMTestUtils.class.getResource("../../../" + subdir + "/in").getFile()); + } + else { + dir = new File(_TEST_DIR + subdir + "/in"); + } + List<URL> urls = new ArrayList<URL>(); + for (File file : dir.listFiles()) { + if (!file.getName().endsWith(ext)) { + continue; + } + try { + urls.add(file.toURI().toURL()); + } + catch (MalformedURLException ex) { + throw new RuntimeException(ex); + } + } + return urls; + } + + public static String getCXTMFile(URL url, String subdir) { + String fileName = url.getFile().replace("/in/", "/baseline/"); + return fileName + ".cxtm"; + } +} Added: tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestCTMTopicMapReader.java =================================================================== --- tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestCTMTopicMapReader.java (rev 0) +++ tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestCTMTopicMapReader.java 2009-07-23 16:41:16 UTC (rev 330) @@ -0,0 +1,56 @@ +/* + * Copyright 2008 Lars Heuer (heuer[at]semagia.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.tinytim.mio; + +import java.net.URL; + +import org.tmapi.core.TopicMap; + +import junit.framework.Test; +import junit.framework.TestSuite; + +/** + * + * + * @author Lars Heuer (heuer[at]semagia.com) <a href="http://www.semagia.com/">Semagia</a> + * @version $Rev:$ - $Date:$ + */ +public class TestCTMTopicMapReader extends TestSuite { + + public static Test suite() { + TestSuite suite = new TestSuite(); + for (URL url: CXTMTestUtils.filterValidFiles("ctm", "ctm")) { + suite.addTest(new TestCTMTopicMapReaderCase(url, "ctm")); + } + return suite; + } + + private static class TestCTMTopicMapReaderCase extends AbstractCXTMTestCase { + + protected TestCTMTopicMapReaderCase(URL url, String subdir) { + super(url, subdir); + } + + /* (non-Javadoc) + * @see org.tinytim.mio.AbstractCXTMTestCase#makeReader(org.tmapi.core.TopicMap, java.net.URL) + */ + @Override + protected TopicMapReader makeReader(TopicMap tm, URL file) throws Exception { + return new CTMTopicMapReader(tm, file.openStream(), file.toExternalForm()); + } + + } +} Added: tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestJTMTopicMapReader.java =================================================================== --- tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestJTMTopicMapReader.java (rev 0) +++ tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestJTMTopicMapReader.java 2009-07-23 16:41:16 UTC (rev 330) @@ -0,0 +1,57 @@ +/* + * Copyright 2008 Lars Heuer (heuer[at]semagia.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.tinytim.mio; + +import java.net.URL; + +import org.tmapi.core.TopicMap; + +import junit.framework.Test; +import junit.framework.TestSuite; + +/** + * + * + * @author Lars Heuer (heuer[at]semagia.com) <a href="http://www.semagia.com/">Semagia</a> + * @version $Rev:$ - $Date:$ + */ +public class TestJTMTopicMapReader extends TestSuite { + + public static Test suite() { + TestSuite suite = new TestSuite(); + for (URL url: CXTMTestUtils.filterValidFiles("jtm", "jtm")) { + suite.addTest(new TestN3TopicMapReaderCase(url, "jtm")); + } + return suite; + } + + private static class TestN3TopicMapReaderCase extends AbstractCXTMTestCase { + + protected TestN3TopicMapReaderCase(URL url, String subdir) { + super(url, subdir); + } + + /* (non-Javadoc) + * @see org.tinytim.mio.AbstractCXTMTestCase#makeReader(org.tmapi.core.TopicMap, java.net.URL) + */ + @Override + protected TopicMapReader makeReader(TopicMap tm, URL file) throws Exception { + JTMTopicMapReader reader = new JTMTopicMapReader(tm, file.openStream(), file.toExternalForm()); + return reader; + } + + } +} Added: tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestJTMTopicMapWriter.java =================================================================== --- tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestJTMTopicMapWriter.java (rev 0) +++ tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestJTMTopicMapWriter.java 2009-07-23 16:41:16 UTC (rev 330) @@ -0,0 +1,50 @@ +/* + * Copyright 2008 Lars Heuer (heuer[at]semagia.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.tinytim.mio; + +import java.io.ByteArrayOutputStream; + +import org.tinytim.core.TinyTimTestCase; +import org.tmapi.core.Topic; + +/** + * + * + * @author Lars Heuer (heuer[at]semagia.com) <a href="http://www.semagia.com/">Semagia</a> + * @version $Rev:$ - $Date:$ + */ +public class TestJTMTopicMapWriter extends TinyTimTestCase { + + public void testWriting() throws Exception { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + String base = "http://www.semagia.com/"; + TopicMapWriter writer = new JTMTopicMapWriter(out, base); + _tm.createTopicByItemIdentifier(createLocator(base + "#iid")); + Topic topic = createTopic(); + topic.addItemIdentifier(createLocator("http://www.sesssmsm.de/")); + _tm.setReifier(topic); + createAssociation(); + createRole(); + createRole(); + createRole(); + createRole(); + createVariant(); + createVariant(); + createName(); + writer.write(_tm); + System.out.println(out.toString("utf-8")); + } +} Added: tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestLTMTopicMapReader.java =================================================================== --- tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestLTMTopicMapReader.java (rev 0) +++ tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestLTMTopicMapReader.java 2009-07-23 16:41:16 UTC (rev 330) @@ -0,0 +1,58 @@ +/* + * Copyright 2008 Lars Heuer (heuer[at]semagia.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.tinytim.mio; + +import java.net.URL; + +import org.tmapi.core.TopicMap; + +import junit.framework.Test; +import junit.framework.TestSuite; + +/** + * + * + * @author Lars Heuer (heuer[at]semagia.com) <a href="http://www.semagia.com/">Semagia</a> + * @version $Rev:$ - $Date:$ + */ +public class TestLTMTopicMapReader extends TestSuite { + + public static Test suite() { + TestSuite suite = new TestSuite(); + for (URL url: CXTMTestUtils.filterValidFiles("ltm", "ltm")) { + suite.addTest(new TestLTMTopicMapReaderCase(url, "ltm")); + } + return suite; + } + + private static class TestLTMTopicMapReaderCase extends AbstractCXTMTestCase { + + protected TestLTMTopicMapReaderCase(URL url, String subdir) { + super(url, subdir); + } + + /* (non-Javadoc) + * @see org.tinytim.mio.AbstractCXTMTestCase#makeReader(org.tmapi.core.TopicMap, java.net.URL) + */ + @Override + protected TopicMapReader makeReader(TopicMap tm, URL file) throws Exception { + LTMTopicMapReader reader = new LTMTopicMapReader(tm, file.openStream(), file.toExternalForm()); + reader.setLegacyReifierHandling(true); + return reader; + } + + } +} Added: tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestN3TopicMapReader.java =================================================================== --- tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestN3TopicMapReader.java (rev 0) +++ tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestN3TopicMapReader.java 2009-07-23 16:41:16 UTC (rev 330) @@ -0,0 +1,59 @@ +/* + * Copyright 2008 Lars Heuer (heuer[at]semagia.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.tinytim.mio; + +import java.net.URL; + +import org.tmapi.core.TopicMap; + +import com.semagia.mio.Source; + +import junit.framework.Test; +import junit.framework.TestSuite; + +/** + * + * + * @author Lars Heuer (heuer[at]semagia.com) <a href="http://www.semagia.com/">Semagia</a> + * @version $Rev:$ - $Date:$ + */ +public class TestN3TopicMapReader extends TestSuite { + + public static Test suite() { + TestSuite suite = new TestSuite(); + for (URL url: CXTMTestUtils.filterValidFiles("rdf", "n3")) { + suite.addTest(new TestN3TopicMapReaderCase(url, "rdf")); + } + return suite; + } + + private static class TestN3TopicMapReaderCase extends AbstractCXTMTestCase { + + protected TestN3TopicMapReaderCase(URL url, String subdir) { + super(url, subdir); + } + + /* (non-Javadoc) + * @see org.tinytim.mio.AbstractCXTMTestCase#makeReader(org.tmapi.core.TopicMap, java.net.URL) + */ + @Override + protected TopicMapReader makeReader(TopicMap tm, URL file) throws Exception { + N3TopicMapReader reader = new N3TopicMapReader(tm, new Source(file.toURI().toString())); + return reader; + } + + } +} Added: tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestSnelloTopicMapReader.java =================================================================== --- tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestSnelloTopicMapReader.java (rev 0) +++ tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestSnelloTopicMapReader.java 2009-07-23 16:41:16 UTC (rev 330) @@ -0,0 +1,56 @@ +/* + * Copyright 2008 Lars Heuer (heuer[at]semagia.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.tinytim.mio; + +import java.net.URL; + +import org.tmapi.core.TopicMap; + +import junit.framework.Test; +import junit.framework.TestSuite; + +/** + * + * + * @author Lars Heuer (heuer[at]semagia.com) <a href="http://www.semagia.com/">Semagia</a> + * @version $Rev:$ - $Date:$ + */ +public class TestSnelloTopicMapReader extends TestSuite { + + public static Test suite() { + TestSuite suite = new TestSuite(); + for (URL url: CXTMTestUtils.filterValidFiles("snello", "stm")) { + suite.addTest(new TestSnelloTopicMapReaderCase(url, "stm")); + } + return suite; + } + + private static class TestSnelloTopicMapReaderCase extends AbstractCXTMTestCase { + + protected TestSnelloTopicMapReaderCase(URL url, String subdir) { + super(url, subdir); + } + + /* (non-Javadoc) + * @see org.tinytim.mio.AbstractCXTMTestCase#makeReader(org.tmapi.core.TopicMap, java.net.URL) + */ + @Override + protected TopicMapReader makeReader(TopicMap tm, URL file) throws Exception { + return new SnelloTopicMapReader(tm, file.openStream(), file.toExternalForm()); + } + + } +} Added: tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestTMXMLTopicMapReader.java =================================================================== --- tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestTMXMLTopicMapReader.java (rev 0) +++ tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestTMXMLTopicMapReader.java 2009-07-23 16:41:16 UTC (rev 330) @@ -0,0 +1,61 @@ +/* + * Copyright 2008 Lars Heuer (heuer[at]semagia.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.tinytim.mio; + +import java.net.URL; + +import org.tmapi.core.TopicMap; + +import junit.framework.Test; +import junit.framework.TestSuite; + +/** + * + * + * @author Lars Heuer (heuer[at]semagia.com) <a href="http://www.semagia.com/">Semagia</a> + * @version $Rev:$ - $Date:$ + */ +public class TestTMXMLTopicMapReader extends TestSuite { + + public static Test suite() { + TestSuite suite = new TestSuite(); + for (URL url: CXTMTestUtils.filterValidFiles("tmxml", "xml")) { + suite.addTest(new TestTMXMLTopicMapReaderCase(url, "tmxml", false)); + } + return suite; + } + + private static class TestTMXMLTopicMapReaderCase extends AbstractCXTMTestCase { + + private boolean _validate; + + protected TestTMXMLTopicMapReaderCase(URL url, String subdir, boolean validate) { + super(url, subdir); + _validate = validate; + } + + /* (non-Javadoc) + * @see org.tinytim.mio.AbstractCXTMTestCase#makeReader(org.tmapi.core.TopicMap, java.net.URL) + */ + @Override + protected TopicMapReader makeReader(TopicMap tm, URL file) throws Exception { + TMXMLTopicMapReader reader = new TMXMLTopicMapReader(tm, file.openStream(), file.toExternalForm()); + reader.setValidation(_validate); + return reader; + } + + } +} Added: tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestTMXMLValidatingTopicMapReader.java =================================================================== --- tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestTMXMLValidatingTopicMapReader.java (rev 0) +++ tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestTMXMLValidatingTopicMapReader.java 2009-07-23 16:41:16 UTC (rev 330) @@ -0,0 +1,61 @@ +/* + * Copyright 2008 Lars Heuer (heuer[at]semagia.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.tinytim.mio; + +import java.net.URL; + +import org.tmapi.core.TopicMap; + +import junit.framework.Test; +import junit.framework.TestSuite; + +/** + * + * + * @author Lars Heuer (heuer[at]semagia.com) <a href="http://www.semagia.com/">Semagia</a> + * @version $Rev:$ - $Date:$ + */ +public class TestTMXMLValidatingTopicMapReader extends TestSuite { + + public static Test suite() { + TestSuite suite = new TestSuite(); + for (URL url: CXTMTestUtils.filterValidFiles("tmxml", "xml")) { + suite.addTest(new TestTMXMLTopicMapReaderCase(url, "tmxml", true)); + } + return suite; + } + + private static class TestTMXMLTopicMapReaderCase extends AbstractCXTMTestCase { + + private boolean _validate; + + protected TestTMXMLTopicMapReaderCase(URL url, String subdir, boolean validate) { + super(url, subdir); + _validate = validate; + } + + /* (non-Javadoc) + * @see org.tinytim.mio.AbstractCXTMTestCase#makeReader(org.tmapi.core.TopicMap, java.net.URL) + */ + @Override + protected TopicMapReader makeReader(TopicMap tm, URL file) throws Exception { + TMXMLTopicMapReader reader = new TMXMLTopicMapReader(tm, file.openStream(), file.toExternalForm()); + reader.setValidation(_validate); + return reader; + } + + } +} Added: tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestXTM10TopicMapReader.java =================================================================== --- tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestXTM10TopicMapReader.java (rev 0) +++ tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestXTM10TopicMapReader.java 2009-07-23 16:41:16 UTC (rev 330) @@ -0,0 +1,61 @@ +/* + * Copyright 2008 Lars Heuer (heuer[at]semagia.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.tinytim.mio; + +import java.net.URL; + +import org.tmapi.core.TopicMap; + +import junit.framework.Test; +import junit.framework.TestSuite; + +/** + * + * + * @author Lars Heuer (heuer[at]semagia.com) <a href="http://www.semagia.com/">Semagia</a> + * @version $Rev:$ - $Date:$ + */ +public class TestXTM10TopicMapReader extends TestSuite { + + public static Test suite() { + TestSuite suite = new TestSuite(); + for (URL url: CXTMTestUtils.filterValidFiles("xtm1", "xtm")) { + suite.addTest(new TestXTM20TopicMapReaderCase(url, "xtm1", false)); + } + return suite; + } + + private static class TestXTM20TopicMapReaderCase extends AbstractCXTMTestCase { + + private boolean _validate; + + protected TestXTM20TopicMapReaderCase(URL url, String subdir, boolean validate) { + super(url, subdir); + _validate = validate; + } + + /* (non-Javadoc) + * @see org.tinytim.mio.AbstractCXTMTestCase#makeReader(org.tmapi.core.TopicMap, java.net.URL) + */ + @Override + protected TopicMapReader makeReader(TopicMap tm, URL file) throws Exception { + XTM10TopicMapReader reader = new XTM10TopicMapReader(tm, file.openStream(), file.toExternalForm()); + reader.setValidation(_validate); + return reader; + } + + } +} Added: tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestXTM10TopicMapWriter.java =================================================================== --- tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestXTM10TopicMapWriter.java (rev 0) +++ tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestXTM10TopicMapWriter.java 2009-07-23 16:41:16 UTC (rev 330) @@ -0,0 +1,42 @@ +/* + * Copyright 2008 Lars Heuer (heuer[at]semagia.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.tinytim.mio; + +import java.io.ByteArrayOutputStream; + +import org.tinytim.core.TinyTimTestCase; + +/** + * + * + * @author Lars Heuer (heuer[at]semagia.com) <a href="http://www.semagia.com/">Semagia</a> + * @version $Rev:$ - $Date:$ + */ +public class TestXTM10TopicMapWriter extends TinyTimTestCase { + + public void testWriting() throws Exception { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + String base = "http://www.semagia.com/"; + TopicMapWriter writer = new XTM10TopicMapWriter(out, base); + _tm.createTopicByItemIdentifier(createLocator(base + "#iid")); + createAssociation(); + createRole(); + createVariant(); + createName(); + writer.write(_tm); + System.out.println(out.toString("utf-8")); + } +} Added: tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestXTM10ValidatingTopicMapReader.java =================================================================== --- tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestXTM10ValidatingTopicMapReader.java (rev 0) +++ tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestXTM10ValidatingTopicMapReader.java 2009-07-23 16:41:16 UTC (rev 330) @@ -0,0 +1,61 @@ +/* + * Copyright 2008 Lars Heuer (heuer[at]semagia.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.tinytim.mio; + +import java.net.URL; + +import org.tmapi.core.TopicMap; + +import junit.framework.Test; +import junit.framework.TestSuite; + +/** + * + * + * @author Lars Heuer (heuer[at]semagia.com) <a href="http://www.semagia.com/">Semagia</a> + * @version $Rev:$ - $Date:$ + */ +public class TestXTM10ValidatingTopicMapReader extends TestSuite { + + public static Test suite() { + TestSuite suite = new TestSuite(); + for (URL url: CXTMTestUtils.filterValidFiles("xtm1", "xtm")) { + suite.addTest(new TestXTM20TopicMapReaderCase(url, "xtm1", true)); + } + return suite; + } + + private static class TestXTM20TopicMapReaderCase extends AbstractCXTMTestCase { + + private boolean _validate; + + protected TestXTM20TopicMapReaderCase(URL url, String subdir, boolean validate) { + super(url, subdir); + _validate = validate; + } + + /* (non-Javadoc) + * @see org.tinytim.mio.AbstractCXTMTestCase#makeReader(org.tmapi.core.TopicMap, java.net.URL) + */ + @Override + protected TopicMapReader makeReader(TopicMap tm, URL file) throws Exception { + XTM10TopicMapReader reader = new XTM10TopicMapReader(tm, file.openStream(), file.toExternalForm()); + reader.setValidation(_validate); + return reader; + } + + } +} Added: tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestXTM20TopicMapReader.java =================================================================== --- tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestXTM20TopicMapReader.java (rev 0) +++ tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestXTM20TopicMapReader.java 2009-07-23 16:41:16 UTC (rev 330) @@ -0,0 +1,67 @@ +/* + * Copyright 2008 Lars Heuer (heuer[at]semagia.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.tinytim.mio; + +import java.net.URL; + +import org.tmapi.core.TopicMap; + +import junit.framework.Test; +import junit.framework.TestSuite; + +/** + * + * + * @author Lars Heuer (heuer[at]semagia.com) <a href="http://www.semagia.com/">Semagia</a> + * @version $Rev:$ - $Date:$ + */ +public class TestXTM20TopicMapReader extends TestSuite { + + public static Test suite() { + TestSuite suite = new TestSuite(); + for (URL url: CXTMTestUtils.filterValidFiles("xtm2", "xtm")) { + suite.addTest(new TestXTM20TopicMapReaderCase(url, "xtm2")); + suite.addTest(new TestXTM20TopicMapReaderCase(url, "xtm2", true)); + } + return suite; + } + + private static class TestXTM20TopicMapReaderCase extends AbstractCXTMTestCase { + + private boolean _validate; + + TestXTM20TopicMapReaderCase(URL url, String subdir) { + this(url, subdir, false); + } + + TestXTM20TopicMapReaderCase(URL url, String subdir, boolean validate) { + super(url, subdir); + _validate = validate; + } + + + /* (non-Javadoc) + * @see org.tinytim.mio.AbstractCXTMTestCase#makeReader(org.tmapi.core.TopicMap, java.net.URL) + */ + @Override + protected TopicMapReader makeReader(TopicMap tm, URL file) throws Exception { + XTM20TopicMapReader reader = new XTM20TopicMapReader(tm, file.openStream(), file.toExternalForm()); + reader.setValidation(_validate); + return reader; + } + + } +} Added: tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestXTM20ValidatingTopicMapReader.java =================================================================== --- tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestXTM20ValidatingTopicMapReader.java (rev 0) +++ tinytim-mio/trunk/src/test/java/org/tinytim/mio/TestXTM20ValidatingTopicMapReader.java 2009-07-23 16:41:16 UTC (rev 330) @@ -0,0 +1,66 @@ +/* + * Copyright 2008 Lars Heuer (heuer[at]semagia.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.tinytim.mio; + +import java.net.URL; + +import org.tmapi.core.TopicMap; + +import junit.framework.Test; +import junit.framework.TestSuite; + +/** + * + * + * @author Lars Heuer (heuer[at]semagia.com) <a href="http://www.semagia.com/">Semagia</a> + * @version $Rev:$ - $Date:$ + */ +public class TestXTM20ValidatingTopicMapReader extends TestSuite { + + public static Test suite() { + TestSuite suite = new TestSuite(); + for (URL url: CXTMTestUtils.filterValidFiles("xtm2", "xtm")) { + suite.addTest(new TestXTM20TopicMapReaderCase(url, "xtm2", true)); + } + return suite; + } + + private static class TestXTM20TopicMapReaderCase extends AbstractCXTMTestCase { + + private boolean _validate; + + TestXTM20TopicMapReaderCase(URL url, String subdir) { + this(url, subdir, false); + } + + TestXTM20TopicMapReaderCase(URL url, String subdir, boolean validate) { + super(url, subdir); + _validate = validate; + } + + + /* (non-Javadoc) + * @see org.tinytim.mio.AbstractCXTMTestCase#makeReader(org.tmapi.core.TopicMap, java.net.URL) + */ + @Override + protected TopicMapReader makeReader(TopicMap tm, URL file) throws Exception { + XTM20TopicMapReader reader = new XTM20TopicMapReader(tm, file.openStream(), file.toExternalForm()); + reader.setValidation(_validate); + return reader; + } + + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lh...@us...> - 2009-07-23 12:26:39
|
Revision: 329 http://tinytim.svn.sourceforge.net/tinytim/?rev=329&view=rev Author: lheuer Date: 2009-07-23 12:26:38 +0000 (Thu, 23 Jul 2009) Log Message: ----------- Fixes #2824837 and the remaining problem with the VariantReifier3 test Modified Paths: -------------- tinytim/trunk/CHANGES.txt tinytim/trunk/src/main/java/org/tinytim/core/AssociationImpl.java tinytim/trunk/src/main/java/org/tinytim/mio/TinyTimMapInputHandler.java tinytim/trunk/src/test/java/org/tinytim/mio/TestTinyTimMapInputHandler.java Modified: tinytim/trunk/CHANGES.txt =================================================================== --- tinytim/trunk/CHANGES.txt 2009-07-23 12:21:03 UTC (rev 328) +++ tinytim/trunk/CHANGES.txt 2009-07-23 12:26:38 UTC (rev 329) @@ -9,11 +9,11 @@ Bugfixes: --------- -* Bug #2812460 -- Port the Check class from Ontopia back to - tinyTiM +* Bug #2812460 -- Port the Check class from Ontopia back to tinyTiM * Bug #2809821 -- Ensure same topic map constraint * Bug #2561306 -- Move TinyTimMapInputHandler to the core * Bug #2824834 -- Reifier at duplicate construct fails +* Bug #2824837 -- Same iid at a duplicate statement does not work 2.0.0 a4 (06.12.2008) Modified: tinytim/trunk/src/main/java/org/tinytim/core/AssociationImpl.java =================================================================== --- tinytim/trunk/src/main/java/org/tinytim/core/AssociationImpl.java 2009-07-23 12:21:03 UTC (rev 328) +++ tinytim/trunk/src/main/java/org/tinytim/core/AssociationImpl.java 2009-07-23 12:26:38 UTC (rev 329) @@ -19,13 +19,13 @@ import java.util.Set; import org.tinytim.internal.api.Event; +import org.tinytim.internal.api.IAssociation; import org.tinytim.internal.api.IConstant; import org.tinytim.internal.api.IScope; import org.tinytim.internal.api.ITopicMap; import org.tinytim.internal.utils.Check; import org.tinytim.internal.utils.CollectionFactory; -import org.tmapi.core.Association; import org.tmapi.core.Role; import org.tmapi.core.Topic; import org.tmapi.core.TopicMap; @@ -36,7 +36,7 @@ * @author Lars Heuer (heuer[at]semagia.com) <a href="http://www.semagia.com/">Semagia</a> * @version $Rev$ - $Date$ */ -final class AssociationImpl extends ScopedImpl implements Association { +final class AssociationImpl extends ScopedImpl implements IAssociation { private Set<Role> _roles; Modified: tinytim/trunk/src/main/java/org/tinytim/mio/TinyTimMapInputHandler.java =================================================================== --- tinytim/trunk/src/main/java/org/tinytim/mio/TinyTimMapInputHandler.java 2009-07-23 12:21:03 UTC (rev 328) +++ tinytim/trunk/src/main/java/org/tinytim/mio/TinyTimMapInputHandler.java 2009-07-23 12:26:38 UTC (rev 329) @@ -17,9 +17,11 @@ import java.util.List; import java.util.Map; +import java.util.Set; import org.tinytim.core.Scope; import org.tinytim.core.value.Literal; +import org.tinytim.internal.api.IAssociation; import org.tinytim.internal.api.IConstruct; import org.tinytim.internal.api.IConstructFactory; import org.tinytim.internal.api.ILiteralAware; @@ -35,15 +37,14 @@ import org.tinytim.utils.TypeInstanceConverter; import org.tinytim.voc.TMDM; -import org.tmapi.core.Association; import org.tmapi.core.Construct; import org.tmapi.core.Locator; import org.tmapi.core.Reifiable; import org.tmapi.core.Role; -import org.tmapi.core.Scoped; import org.tmapi.core.Topic; import org.tmapi.core.TopicMap; import org.tmapi.core.Typed; +import org.tmapi.core.Variant; import com.semagia.mio.IMapHandler; import com.semagia.mio.IRef; @@ -76,11 +77,13 @@ private static final int _STATE_SIZE = 10; private static final int _SCOPE_SIZE = 6; private static final int _DELAYED_REIFICATION_SIZE = 2; + private static final int _DELAYED_ITEM_IDENTIFIER_SIZE = 2; private final IConstructFactory _factory; private final ITopicMap _tm; private final List<Topic> _scope; - private final Map<Reifiable, Topic> _delayedReification; + private final Map<Reifiable, ITopic> _delayedReification; + private final Map<IConstruct, Set<Locator>> _delayedItemIdentifiers; private byte[] _stateStack; private int _stateSize; private IConstruct[] _constructStack; @@ -94,6 +97,7 @@ _factory = _tm.getConstructFactory(); _scope = CollectionFactory.createList(_SCOPE_SIZE); _delayedReification = CollectionFactory.createIdentityMap(_DELAYED_REIFICATION_SIZE); + _delayedItemIdentifiers = CollectionFactory.createIdentityMap(_DELAYED_ITEM_IDENTIFIER_SIZE); } /* (non-Javadoc) @@ -114,6 +118,12 @@ @Override public void endTopicMap() throws MIOException { TypeInstanceConverter.convertAssociationsToTypes(_tm); + if (!_delayedReification.isEmpty()) { + throw new MIOException("ERROR: Unhandled reifications"); + } + if (!_delayedItemIdentifiers.isEmpty()) { + throw new MIOException("ERROR: Unhandled item identifiers"); + } _constructStack = null; _stateStack = null; _scope.clear(); @@ -148,7 +158,7 @@ */ @Override public void endAssociation() throws MIOException { - _leaveStatePopReifiable(ASSOCIATION); + _handleDelayedEvents(_leaveStatePopConstruct(ASSOCIATION)); } /* (non-Javadoc) @@ -157,7 +167,7 @@ @Override public void startRole() throws MIOException { assert _state() == ASSOCIATION; - _enterState(ROLE, _factory.createRole((Association) _peekConstruct())); + _enterState(ROLE, _factory.createRole((IAssociation) _peekConstruct())); } /* (non-Javadoc) @@ -199,7 +209,7 @@ */ @Override public void endOccurrence() throws MIOException { - _leaveStatePopReifiable(OCCURRENCE); + _handleDelayedEvents(_leaveStatePopConstruct(OCCURRENCE)); } /* (non-Javadoc) @@ -222,7 +232,7 @@ if (name.getType() == null) { name.setType(_tm.createTopicBySubjectIdentifier(TMDM.TOPIC_NAME)); } - _handleDelayedReifier(name); + _handleDelayedEvents(name); } /* (non-Javadoc) @@ -273,7 +283,7 @@ */ @Override public void startScope() throws MIOException { - assert _peekConstruct() instanceof Scoped; + assert _peekConstruct() instanceof IScoped; _enterState(SCOPE); } @@ -346,8 +356,8 @@ public void itemIdentifier(String itemIdentifier) throws MIOException { Locator iid = _tm.createLocator(itemIdentifier); IConstruct tmo = _peekConstruct(); + IConstruct existing = (IConstruct) _tm.getConstructByItemIdentifier(iid); if (_state() == TOPIC) { - IConstruct existing = (IConstruct) _tm.getConstructByItemIdentifier(iid); if (existing != null && existing.isTopic() && !existing.equals(tmo)) { _merge((Topic) existing, (ITopic) tmo); } @@ -357,8 +367,24 @@ _merge(topic, (ITopic) tmo); } } + tmo.addItemIdentifier(iid); } - tmo.addItemIdentifier(iid); + else if (existing != null && !existing.equals(tmo)) { + if (!_areMergable(tmo, existing)) { + throw new MIOException("A Topic Maps construct with the item identifier '" + itemIdentifier + "' exists already"); + } + else { + Set<Locator> iids = _delayedItemIdentifiers.get(tmo); + if (iids == null) { + iids = CollectionFactory.createIdentitySet(); + } + iids.add(iid); + _delayedItemIdentifiers.put(tmo, iids); + } + } + else { + tmo.addItemIdentifier(iid); + } } /* (non-Javadoc) @@ -481,10 +507,6 @@ return construct; } - private Reifiable _leaveStatePopReifiable(byte state) throws MIOException { - return _handleDelayedReifier((Reifiable) _leaveStatePopConstruct(state)); - } - /** * Returns the Topic Maps construct on top of the stack. * @@ -495,75 +517,88 @@ } /** - * + * Issues the delayed item identifier and reifier events. * - * @param reifiable - * @return - * @throws MIOException + * @param construct */ - private Reifiable _handleDelayedReifier(final Reifiable reifiable) throws MIOException { - Topic reifier = _delayedReification.remove(reifiable); - final IConstruct c = (IConstruct) reifiable; - if (reifier != null) { - return _handleDelayedReifier(reifiable, reifier); + private void _handleDelayedEvents(IConstruct tmc) throws MIOException { + IConstruct existing = _processDelayedEvents(tmc); + if (tmc.isAssociation()) { + IAssociation existingAssoc = (IAssociation) existing; + IConstruct existingRole = null; + for (Role role: ((IAssociation) tmc).getRoles()) { + existingRole = _processDelayedEvents((IConstruct) role); + if (existingRole != null && existingAssoc == null) { + existingAssoc = (IAssociation) existingRole.getParent(); + } + } + if (existingAssoc != null && !existingAssoc.equals(tmc)) { + MergeUtils.moveRoleCharacteristics((IAssociation) tmc, existingAssoc); + existing = existingAssoc; + } } - List<? extends Reifiable> reifiables = null; - if (c.isAssociation()) { - reifiables = CollectionFactory.createList(((Association) c).getRoles()); + else if (tmc.isName()) { + IName existingName = (IName) existing; + IConstruct existingVariant = null; + for (Variant role: ((IName) tmc).getVariants()) { + existingVariant = _processDelayedEvents((IConstruct) role); + if (existingVariant != null && existingName == null) { + existingName = (IName) existingVariant.getParent(); + } + } + if (existingName != null && !existingName.equals(tmc)) { + MergeUtils.moveVariants((IName) tmc, existingName); + existing = existingName; + } } - else if (c.isName()) { - reifiables = CollectionFactory.createList(((IName) c).getVariants()); + if (existing != null && !existing.equals(tmc)) { + tmc.remove(); } - if (reifiables == null || _delayedReification.isEmpty()) { - return reifiable; + } + + private IConstruct _processDelayedEvents(IConstruct tmc) throws MIOException { + IConstruct existing = null; + Set<Locator> iids = _delayedItemIdentifiers.remove(tmc); + Topic reifier = _delayedReification.remove(tmc); + final int signature = SignatureGenerator.generateSignature(tmc); + if (iids != null) { + existing = _handleItemIdentifiers(signature, tmc, iids); } - boolean foundReifier = false; - final int parentSignature = SignatureGenerator.generateSignature(c); - for (Reifiable r: reifiables) { - reifier = _delayedReification.remove(r); - if (reifier == null) { - continue; - } - if (parentSignature == SignatureGenerator.generateSignature((IConstruct) reifier.getReified().getParent())) { - _handleDelayedReifier(r, reifier); - foundReifier = !c.equals(reifier.getReified().getParent()); - } - else { - throw new MIOException("The topic '" + reifier + "' reifies another construct"); - } + if (reifier != null) { + existing = _handleReification(signature, tmc, reifier); } - if (foundReifier) { - c.remove(); + return existing; + } + + private IConstruct _handleReification(int signature, IConstruct tmc, + Topic reifier) throws MIOException { + final IConstruct existing = (IConstruct) reifier.getReified(); + final boolean checkParent = tmc.isRole() || tmc.isVariant(); + final int parentSignature = checkParent ? SignatureGenerator.generateSignature((IConstruct)tmc.getParent()) + : -1; + if (signature != SignatureGenerator.generateSignature(existing) + || (checkParent && parentSignature != SignatureGenerator.generateSignature((IConstruct) existing.getParent()))) { + throw new MIOException("The topic '" + reifier + "' reifies another construct"); } - return reifiable; + MergeUtils.moveItemIdentifiers(tmc, existing); + return existing; } - /** - * - * - * @param reifiable - * @param reifier - * @return - * @throws MIOException - */ - private Reifiable _handleDelayedReifier(final Reifiable reifiable, final Topic reifier) throws MIOException { - IConstruct c = (IConstruct) reifiable; - IConstruct reified = (IConstruct) reifier.getReified(); - if (SignatureGenerator.generateSignature(c) == - SignatureGenerator.generateSignature(reified)) { - MergeUtils.moveItemIdentifiers(reifiable, reifier.getReified()); - if (c.isAssociation()) { - MergeUtils.moveRoleCharacteristics((Association) c, (Association) reifier.getReified()); + private IConstruct _handleItemIdentifiers(int signature, IConstruct tmc, + Set<Locator> iids) throws MIOException { + IConstruct existing = null; + final boolean checkParent = tmc.isRole() || tmc.isVariant(); + final int parentSignature = checkParent ? SignatureGenerator.generateSignature((IConstruct)tmc.getParent()) + : -1; + for (Locator iid: iids) { + existing = (IConstruct) _tm.getConstructByItemIdentifier(iid); + if (signature != SignatureGenerator.generateSignature(existing) + || (checkParent && parentSignature != SignatureGenerator.generateSignature((IConstruct) existing.getParent()))) { + throw new MIOException("The item identifier '" + iid + "' is already assigned"); } - else if (c.isName()) { - MergeUtils.moveVariants((IName)c, (IName) reified); - } - reifiable.remove(); - return reifier.getReified(); + MergeUtils.moveItemIdentifiers(tmc, existing); } - else { - throw new MIOException("The topic " + reifier + " reifies another construct"); - } + return existing; } /** @@ -596,7 +631,7 @@ case TYPE: ((Typed) _peekConstruct()).setType(topic); break; case PLAYER: ((Role) _peekConstruct()).setPlayer(topic); break; case THEME: _scope.add(topic); break; - case REIFIER: _handleReifier((Reifiable) _peekConstruct(), topic); break; + case REIFIER: _handleReifier((Reifiable) _peekConstruct(), (ITopic) topic); break; } } @@ -607,7 +642,7 @@ * @param reifier * @throws MIOException */ - private void _handleReifier(Reifiable reifiable, Topic reifier) throws MIOException { + private void _handleReifier(Reifiable reifiable, ITopic reifier) throws MIOException { final Reifiable reified = reifier.getReified(); if (reified != null && !reifiable.equals(reified)) { if (!_areMergable((IConstruct) reifiable, (IConstruct) reified)) { @@ -644,8 +679,8 @@ private boolean _areMergable(IConstruct a, IConstruct b) { return _sameConstructKind(a, b) - && (a.isRole() && b.isRole() - || (a.isVariant() && b.isVariant() && a.getParent().getParent().equals(b.getParent().getParent())) + && (a.isRole() + || (a.isVariant() && a.getParent().getParent().equals(b.getParent().getParent())) || a.getParent().equals(b.getParent())); } Modified: tinytim/trunk/src/test/java/org/tinytim/mio/TestTinyTimMapInputHandler.java =================================================================== --- tinytim/trunk/src/test/java/org/tinytim/mio/TestTinyTimMapInputHandler.java 2009-07-23 12:21:03 UTC (rev 328) +++ tinytim/trunk/src/test/java/org/tinytim/mio/TestTinyTimMapInputHandler.java 2009-07-23 12:26:38 UTC (rev 329) @@ -51,74 +51,74 @@ _handler = new TinyTimMapInputHandler(_tm); } -// public void testVariantNoValue() throws Exception { -// final IRef theTopic = Ref.createItemIdentifier("http://test.semagia.com/the-topic"); -// final IRef theme = Ref.createItemIdentifier("http://test.semagia.com/theme"); -// TinyTimMapInputHandler handler = _handler; -// handler.startTopicMap(); -// handler.startTopic(theTopic); -// handler.startName(); -// handler.value("Semagia"); -// handler.startVariant(); -// handler.startScope(); -// handler.startTheme(); -// handler.topicRef(theme); -// handler.endTheme(); -// handler.endScope(); -// try { -// handler.endVariant(); -// fail("Expected an error since the variant has no value"); -// } -// catch (MIOException ex) { -// // noop. -// } -// } -// -// public void testNameNoValue() throws Exception { -// final IRef theTopic = Ref.createItemIdentifier("http://test.semagia.com/the-topic"); -// TinyTimMapInputHandler handler = _handler; -// handler.startTopicMap(); -// handler.startTopic(theTopic); -// handler.startName(); -// try { -// handler.endName(); -// fail("Expected an error since the name has no value"); -// } -// catch (MIOException ex) { -// // noop. -// } -// } -// -// /** -// * <a href="http://code.google.com/p/mappa/issues/detail?id=23">http://code.google.com/p/mappa/issues/detail?id=23</a> -// */ -// public void testMappaIssue23() throws Exception { -// String iid = "http://mappa.semagia.com/issue-23"; -// String iid2 = "http://mappa.semagia.com/issue-23_"; -// final IRef TOPIC_NAME = Ref.createSubjectIdentifier(TMDM.TOPIC_NAME.getReference()); -// TinyTimMapInputHandler handler = _handler; -// handler.startTopicMap(); -// handler.startTopic(Ref.createItemIdentifier(iid)); -// handler.startName(); -// handler.value("test"); -// handler.startType(); -// handler.topicRef(TOPIC_NAME); -// handler.endType(); -// handler.endName(); -// handler.endTopic(); -// handler.startTopic(Ref.createItemIdentifier(iid2)); -// handler.startName(); -// handler.value("a test"); -// handler.startType(); -// handler.topicRef(TOPIC_NAME); -// handler.endType(); -// handler.endName(); -// handler.subjectIdentifier(TOPIC_NAME.getIRI()); -// handler.endTopic(); -// handler.endTopicMap(); -// } + public void testVariantNoValue() throws Exception { + final IRef theTopic = Ref.createItemIdentifier("http://test.semagia.com/the-topic"); + final IRef theme = Ref.createItemIdentifier("http://test.semagia.com/theme"); + TinyTimMapInputHandler handler = _handler; + handler.startTopicMap(); + handler.startTopic(theTopic); + handler.startName(); + handler.value("Semagia"); + handler.startVariant(); + handler.startScope(); + handler.startTheme(); + handler.topicRef(theme); + handler.endTheme(); + handler.endScope(); + try { + handler.endVariant(); + fail("Expected an error since the variant has no value"); + } + catch (MIOException ex) { + // noop. + } + } + public void testNameNoValue() throws Exception { + final IRef theTopic = Ref.createItemIdentifier("http://test.semagia.com/the-topic"); + TinyTimMapInputHandler handler = _handler; + handler.startTopicMap(); + handler.startTopic(theTopic); + handler.startName(); + try { + handler.endName(); + fail("Expected an error since the name has no value"); + } + catch (MIOException ex) { + // noop. + } + } + /** + * <a href="http://code.google.com/p/mappa/issues/detail?id=23">http://code.google.com/p/mappa/issues/detail?id=23</a> + */ + public void testMappaIssue23() throws Exception { + String iid = "http://mappa.semagia.com/issue-23"; + String iid2 = "http://mappa.semagia.com/issue-23_"; + final IRef TOPIC_NAME = Ref.createSubjectIdentifier(TMDM.TOPIC_NAME.getReference()); + TinyTimMapInputHandler handler = _handler; + handler.startTopicMap(); + handler.startTopic(Ref.createItemIdentifier(iid)); + handler.startName(); + handler.value("test"); + handler.startType(); + handler.topicRef(TOPIC_NAME); + handler.endType(); + handler.endName(); + handler.endTopic(); + handler.startTopic(Ref.createItemIdentifier(iid2)); + handler.startName(); + handler.value("a test"); + handler.startType(); + handler.topicRef(TOPIC_NAME); + handler.endType(); + handler.endName(); + handler.subjectIdentifier(TOPIC_NAME.getIRI()); + handler.endTopic(); + handler.endTopicMap(); + } + + /** * <a href="http://code.google.com/p/ontopia/issues/detail?id=84">http://code.google.com/p/ontopia/issues/detail?id=84</a> * <a href="http://code.google.com/p/ontopia/issues/detail?id=77">http://code.google.com/p/ontopia/issues/detail?id=77</a> */ @@ -494,6 +494,50 @@ } } + public void testSameIIDIssueAssociation() throws Exception { + TinyTimMapInputHandler handler = _handler; + final IRef assocType = Ref.createItemIdentifier("http://test.semagia.com/assoc-type"); + final IRef roleType = Ref.createItemIdentifier("http://test.semagia.com/role-type"); + final IRef rolePlayer = Ref.createItemIdentifier("http://test.semagia.com/role-player"); + final String iid = "http://test.semagia.com/iid"; + handler.startTopicMap(); + handler.startAssociation(); + handler.itemIdentifier(iid); + handler.startType(); + handler.topicRef(assocType); + handler.endType(); + handler.startRole(); + handler.startType(); + handler.topicRef(roleType); + handler.endType(); + handler.startPlayer(); + handler.topicRef(rolePlayer); + handler.endPlayer(); + handler.endRole(); + handler.endAssociation(); + + handler.startAssociation(); + handler.itemIdentifier(iid); + handler.startType(); + handler.topicRef(assocType); + handler.endType(); + handler.startRole(); + handler.startType(); + handler.topicRef(roleType); + handler.endType(); + handler.startPlayer(); + handler.topicRef(rolePlayer); + handler.endPlayer(); + handler.endRole(); + handler.endAssociation(); + handler.endTopicMap(); + assertEquals(1, _tm.getAssociations().size()); + final Association assoc = _tm.getAssociations().iterator().next(); + final Construct tmc = _tm.getConstructByItemIdentifier(createLocator(iid)); + assertNotNull(tmc); + assertEquals(assoc, tmc); + } + /** * Simple startTopicMap, followed by an endTopicMap event. */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2009-07-23 12:21:29
|
Revision: 328 http://tinytim.svn.sourceforge.net/tinytim/?rev=328&view=rev Author: bosso Date: 2009-07-23 12:21:03 +0000 (Thu, 23 Jul 2009) Log Message: ----------- updated other-role-constraint tmcl changes Modified Paths: -------------- tinytim-mio/trunk/src/main/java/org/tinytim/mio/CTMTopicMapWriter.java tinytim-mio/trunk/src/main/java/org/tinytim/mio/internal/ctm/impl/DefaultTMCLPreprocessor.java Modified: tinytim-mio/trunk/src/main/java/org/tinytim/mio/CTMTopicMapWriter.java =================================================================== --- tinytim-mio/trunk/src/main/java/org/tinytim/mio/CTMTopicMapWriter.java 2009-07-23 12:16:14 UTC (rev 327) +++ tinytim-mio/trunk/src/main/java/org/tinytim/mio/CTMTopicMapWriter.java 2009-07-23 12:21:03 UTC (rev 328) @@ -564,7 +564,8 @@ TMCL.ROLE_PLAYER_CONSTRAINT, TMCL.SCOPE_CONSTRAINT, TMCL.REIFIER_CONSTRAINT, TMCL.ASSOCIATION_ROLE_CONSTRAINT, - TMCL.OTHER_ROLE_CONSTRAINT, + TMCL.ROLE_COMBINATION_CONSTRAINT, + TMCL.TOPIC_REIFIES_CONSTRAINT, TMCL.OCCURRENCE_DATATYPE_CONSTRAINT, TMCL.UNIQUE_VALUE_CONSTRAINT, TMCL.REGULAR_EXPRESSION_CONSTRAINT Modified: tinytim-mio/trunk/src/main/java/org/tinytim/mio/internal/ctm/impl/DefaultTMCLPreprocessor.java =================================================================== --- tinytim-mio/trunk/src/main/java/org/tinytim/mio/internal/ctm/impl/DefaultTMCLPreprocessor.java 2009-07-23 12:16:14 UTC (rev 327) +++ tinytim-mio/trunk/src/main/java/org/tinytim/mio/internal/ctm/impl/DefaultTMCLPreprocessor.java 2009-07-23 12:21:03 UTC (rev 328) @@ -48,6 +48,8 @@ */ public class DefaultTMCLPreprocessor implements ITMCLPreprocessor { + @SuppressWarnings("unused") + // TODO can we remove it, if we don't use it? private static final Logger LOG = Logger .getLogger(DefaultTMCLPreprocessor.class.getName()); @@ -109,7 +111,6 @@ */ @Override public Set<Locator> getSuppressableSubjectIdentifiers() { - // TODO Auto-generated method stub return null; } @@ -150,7 +151,7 @@ _processOverlapConstraints(topicMap, tiIdx, topics, assocs); _processAssociationRoleConstraints(topicMap, tiIdx, topics, assocs); _processRolePlayerConstraints(topicMap, tiIdx, topics, assocs); - _processOtherRoleConstraints(topicMap, tiIdx, topics, assocs); + _processRoleCombinationConstraints(topicMap, tiIdx, topics, assocs); _processOccurrenceConstraints(topicMap, tiIdx, topics, assocs); _processNameConstraints(topicMap, tiIdx, topics, assocs); _processScopeConstraints(topicMap, tiIdx, topics, assocs); @@ -408,17 +409,17 @@ removeConstraint(constraint, topics, occCounter); } - private void _processOtherRoleConstraints(TopicMap topicMap, + private void _processRoleCombinationConstraints(TopicMap topicMap, TypeInstanceIndex tiIdx, Collection<Topic> topics, Collection<Association> assocs) { for (Topic constraint : _getConstraintInstances(topicMap, tiIdx, - TMCL.OTHER_ROLE_CONSTRAINT)) { - _processOtherRoleConstraint(constraint, topics, assocs); + TMCL.ROLE_COMBINATION_CONSTRAINT)) { + _processRoleCombinationConstraint(constraint, topics, assocs); } } - private void _processOtherRoleConstraint(Topic constraint, + private void _processRoleCombinationConstraint(Topic constraint, Collection<Topic> topics, Collection<Association> assocs) { Topic type = _getConstrainedTopicTypePlayer(constraint, assocs); Topic assocType = _getConstrainedStatementPlayer(constraint, assocs); @@ -427,7 +428,7 @@ Topic otherPlayer = _getOtherConstrainedTopicTypePlayer(constraint, assocs); - DefaultTemplate tpl = new DefaultTemplate("other-role"); + DefaultTemplate tpl = new DefaultTemplate("role-combination"); tpl.addParameter(roleType); tpl.addParameter(type); tpl.addParameter(otherRole); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lh...@us...> - 2009-07-23 12:16:21
|
Revision: 327 http://tinytim.svn.sourceforge.net/tinytim/?rev=327&view=rev Author: lheuer Date: 2009-07-23 12:16:14 +0000 (Thu, 23 Jul 2009) Log Message: ----------- Removed print statement Modified Paths: -------------- tinytim-mio/trunk/lib/semagia-mio-xtm-0.9.4.jar Modified: tinytim-mio/trunk/lib/semagia-mio-xtm-0.9.4.jar =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lh...@us...> - 2009-07-22 17:44:36
|
Revision: 326 http://tinytim.svn.sourceforge.net/tinytim/?rev=326&view=rev Author: lheuer Date: 2009-07-22 17:44:29 +0000 (Wed, 22 Jul 2009) Log Message: ----------- Finally, all tests pass Modified Paths: -------------- tinytim/trunk/src/main/java/org/tinytim/mio/TinyTimMapInputHandler.java Modified: tinytim/trunk/src/main/java/org/tinytim/mio/TinyTimMapInputHandler.java =================================================================== --- tinytim/trunk/src/main/java/org/tinytim/mio/TinyTimMapInputHandler.java 2009-07-22 17:31:46 UTC (rev 325) +++ tinytim/trunk/src/main/java/org/tinytim/mio/TinyTimMapInputHandler.java 2009-07-22 17:44:29 UTC (rev 326) @@ -248,7 +248,6 @@ if (scope.isUnconstrained() || name.getScopeObject().equals(scope)) { _reportError("The variant has no scope"); } - _handleDelayedReifier(variant); } /* (non-Javadoc) @@ -552,11 +551,13 @@ IConstruct reified = (IConstruct) reifier.getReified(); if (SignatureGenerator.generateSignature(c) == SignatureGenerator.generateSignature(reified)) { - MergeUtils.moveItemIdentifiers(reifiable, reifier.getReified()); if (c.isAssociation()) { MergeUtils.moveRoleCharacteristics((Association) c, (Association) reifier.getReified()); } + else if (c.isName()) { + MergeUtils.moveVariants((IName)c, (IName) reified); + } reifiable.remove(); return reifier.getReified(); } @@ -648,14 +649,6 @@ || a.getParent().equals(b.getParent())); } - private void _replaceConstructOnStack(Construct source, IConstruct target) { - for (int i=0; i <_constructSize; i++) { - if (_constructStack[i].equals(source)) { - _constructStack[i] = target; - } - } - } - /** * Merges the <tt>source</tt> topic with the <tt>target</tt>. * @@ -667,7 +660,11 @@ * @param target The target topic. */ private void _merge(Topic source, ITopic target) { - _replaceConstructOnStack(source, target); + for (int i=0; i <_constructSize; i++) { + if (_constructStack[i].equals(source)) { + _constructStack[i] = target; + } + } for (Reifiable reifiable: CollectionFactory.createList(_delayedReification.keySet())) { Topic topic = _delayedReification.get(reifiable); if (topic.equals(target)) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lh...@us...> - 2009-07-22 17:31:49
|
Revision: 325 http://tinytim.svn.sourceforge.net/tinytim/?rev=325&view=rev Author: lheuer Date: 2009-07-22 17:31:46 +0000 (Wed, 22 Jul 2009) Log Message: ----------- Would have been great if I added the snapshot I refer to. Done. Added Paths: ----------- tinytim-mio/trunk/lib/tinytim-2.0.0a5-snapshot-200907221908.jar Added: tinytim-mio/trunk/lib/tinytim-2.0.0a5-snapshot-200907221908.jar =================================================================== (Binary files differ) Property changes on: tinytim-mio/trunk/lib/tinytim-2.0.0a5-snapshot-200907221908.jar ___________________________________________________________________ Added: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lh...@us...> - 2009-07-22 17:11:19
|
Revision: 324 http://tinytim.svn.sourceforge.net/tinytim/?rev=324&view=rev Author: lheuer Date: 2009-07-22 17:11:13 +0000 (Wed, 22 Jul 2009) Log Message: ----------- Updated TMAPI libs, changed float -> int, long, BigInt handling Modified Paths: -------------- tinytim/trunk/lib/tmapi-2.0a2-tests.jar tinytim/trunk/lib/tmapi-2.0a2.jar tinytim/trunk/src/main/java/org/tinytim/core/value/Literal.java tinytim-mio/trunk/build.xml tinytim-mio/trunk/lib/tmapi-2.0a2.jar Removed Paths: ------------- tinytim-mio/trunk/lib/tinytim-2.0.0a5-snapshot-200907221824.jar Modified: tinytim/trunk/lib/tmapi-2.0a2-tests.jar =================================================================== (Binary files differ) Modified: tinytim/trunk/lib/tmapi-2.0a2.jar =================================================================== (Binary files differ) Modified: tinytim/trunk/src/main/java/org/tinytim/core/value/Literal.java =================================================================== --- tinytim/trunk/src/main/java/org/tinytim/core/value/Literal.java 2009-07-22 16:37:45 UTC (rev 323) +++ tinytim/trunk/src/main/java/org/tinytim/core/value/Literal.java 2009-07-22 17:11:13 UTC (rev 324) @@ -214,7 +214,7 @@ * @see org.tinytim.internal.api.ILiteral#integerValue() */ public BigInteger integerValue() { - return new BigInteger(_value); + return decimalValue().toBigInteger(); } /* (non-Javadoc) @@ -228,14 +228,14 @@ * @see org.tinytim.internal.api.ILiteral#intValue() */ public int intValue() { - return Integer.valueOf(_value); + return decimalValue().intValue(); } /* (non-Javadoc) * @see org.tinytim.internal.api.ILiteral#longValue() */ public long longValue() { - return Long.valueOf(_value); + return decimalValue().longValue(); } /* (non-Javadoc) Modified: tinytim-mio/trunk/build.xml =================================================================== --- tinytim-mio/trunk/build.xml 2009-07-22 16:37:45 UTC (rev 323) +++ tinytim-mio/trunk/build.xml 2009-07-22 17:11:13 UTC (rev 324) @@ -10,7 +10,7 @@ <property name="lib.junit" value="${dir.lib}/junit-4.5.jar"/> <property name="lib.tmapi" value="${dir.lib}/tmapi-2.0a2.jar"/> - <property name="lib.tinytim" value="${dir.lib}/tinytim-2.0.0a5-snapshot-200907221824.jar"/> + <property name="lib.tinytim" value="${dir.lib}/tinytim-2.0.0a5-snapshot-200907221908.jar"/> <property name="lib.tinytim.tests" value="${dir.lib}/tinytim-2.0.0a4-tests.jar"/> <property name="lib.logging" value="${dir.lib}/slf4j-api-1.5.8.jar"/> <property name="lib.mio" value="${dir.lib}/semagia-mio-0.9.4.jar"/> Deleted: tinytim-mio/trunk/lib/tinytim-2.0.0a5-snapshot-200907221824.jar =================================================================== (Binary files differ) Modified: tinytim-mio/trunk/lib/tmapi-2.0a2.jar =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lh...@us...> - 2009-07-22 16:37:57
|
Revision: 323 http://tinytim.svn.sourceforge.net/tinytim/?rev=323&view=rev Author: lheuer Date: 2009-07-22 16:37:45 +0000 (Wed, 22 Jul 2009) Log Message: ----------- Removed print statement :( Modified Paths: -------------- tinytim/trunk/src/main/java/org/tinytim/mio/TinyTimMapInputHandler.java Modified: tinytim/trunk/src/main/java/org/tinytim/mio/TinyTimMapInputHandler.java =================================================================== --- tinytim/trunk/src/main/java/org/tinytim/mio/TinyTimMapInputHandler.java 2009-07-22 16:26:19 UTC (rev 322) +++ tinytim/trunk/src/main/java/org/tinytim/mio/TinyTimMapInputHandler.java 2009-07-22 16:37:45 UTC (rev 323) @@ -504,7 +504,6 @@ */ private Reifiable _handleDelayedReifier(final Reifiable reifiable) throws MIOException { Topic reifier = _delayedReification.remove(reifiable); - System.out.println(reifiable + ": " + reifier); final IConstruct c = (IConstruct) reifiable; if (reifier != null) { return _handleDelayedReifier(reifiable, reifier); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lh...@us...> - 2009-07-22 16:26:39
|
Revision: 322 http://tinytim.svn.sourceforge.net/tinytim/?rev=322&view=rev Author: lheuer Date: 2009-07-22 16:26:19 +0000 (Wed, 22 Jul 2009) Log Message: ----------- Updated tinyTiM Modified Paths: -------------- tinytim-mio/trunk/build.xml Added Paths: ----------- tinytim-mio/trunk/lib/tinytim-2.0.0a5-snapshot-200907221824.jar Removed Paths: ------------- tinytim-mio/trunk/lib/tinytim-2.0.0a5-snapshot-200907151305.jar Modified: tinytim-mio/trunk/build.xml =================================================================== --- tinytim-mio/trunk/build.xml 2009-07-22 16:19:50 UTC (rev 321) +++ tinytim-mio/trunk/build.xml 2009-07-22 16:26:19 UTC (rev 322) @@ -10,7 +10,7 @@ <property name="lib.junit" value="${dir.lib}/junit-4.5.jar"/> <property name="lib.tmapi" value="${dir.lib}/tmapi-2.0a2.jar"/> - <property name="lib.tinytim" value="${dir.lib}/tinytim-2.0.0a5-snapshot-200907151305.jar"/> + <property name="lib.tinytim" value="${dir.lib}/tinytim-2.0.0a5-snapshot-200907221824.jar"/> <property name="lib.tinytim.tests" value="${dir.lib}/tinytim-2.0.0a4-tests.jar"/> <property name="lib.logging" value="${dir.lib}/slf4j-api-1.5.8.jar"/> <property name="lib.mio" value="${dir.lib}/semagia-mio-0.9.4.jar"/> Deleted: tinytim-mio/trunk/lib/tinytim-2.0.0a5-snapshot-200907151305.jar =================================================================== (Binary files differ) Added: tinytim-mio/trunk/lib/tinytim-2.0.0a5-snapshot-200907221824.jar =================================================================== (Binary files differ) Property changes on: tinytim-mio/trunk/lib/tinytim-2.0.0a5-snapshot-200907221824.jar ___________________________________________________________________ Added: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lh...@us...> - 2009-07-22 16:19:55
|
Revision: 321 http://tinytim.svn.sourceforge.net/tinytim/?rev=321&view=rev Author: lheuer Date: 2009-07-22 16:19:50 +0000 (Wed, 22 Jul 2009) Log Message: ----------- Preparing CXTM test integration Property Changed: ---------------- tinytim-mio/trunk/src/test/ Property changes on: tinytim-mio/trunk/src/test ___________________________________________________________________ Added: svn:externals + cxtm https://cxtm-tests.svn.sourceforge.net/svnroot/cxtm-tests/trunk/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lh...@us...> - 2009-07-22 16:16:46
|
Revision: 320 http://tinytim.svn.sourceforge.net/tinytim/?rev=320&view=rev Author: lheuer Date: 2009-07-22 16:16:41 +0000 (Wed, 22 Jul 2009) Log Message: ----------- Updated CHANGES.txt Modified Paths: -------------- tinytim/trunk/CHANGES.txt Modified: tinytim/trunk/CHANGES.txt =================================================================== --- tinytim/trunk/CHANGES.txt 2009-07-22 16:11:03 UTC (rev 319) +++ tinytim/trunk/CHANGES.txt 2009-07-22 16:16:41 UTC (rev 320) @@ -13,6 +13,7 @@ tinyTiM * Bug #2809821 -- Ensure same topic map constraint * Bug #2561306 -- Move TinyTimMapInputHandler to the core +* Bug #2824834 -- Reifier at duplicate construct fails 2.0.0 a4 (06.12.2008) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |