|
From: <lh...@us...> - 2009-03-11 15:00:29
|
Revision: 289
http://tinytim.svn.sourceforge.net/tinytim/?rev=289&view=rev
Author: lheuer
Date: 2009-03-11 15:00:12 +0000 (Wed, 11 Mar 2009)
Log Message:
-----------
- Added XTM10Utils tests
- TMCL vocabulary
- TMCL namespace added
Modified Paths:
--------------
tinytim/trunk/src/main/java/org/tinytim/utils/XTM10Utils.java
tinytim/trunk/src/main/java/org/tinytim/voc/Namespace.java
Added Paths:
-----------
tinytim/trunk/src/main/java/org/tinytim/voc/TMCL.java
tinytim/trunk/src/test/java/org/tinytim/utils/TestXTM10Utils.java
Modified: tinytim/trunk/src/main/java/org/tinytim/utils/XTM10Utils.java
===================================================================
--- tinytim/trunk/src/main/java/org/tinytim/utils/XTM10Utils.java 2009-03-10 15:31:31 UTC (rev 288)
+++ tinytim/trunk/src/main/java/org/tinytim/utils/XTM10Utils.java 2009-03-11 15:00:12 UTC (rev 289)
@@ -31,6 +31,10 @@
*/
public class XTM10Utils {
+ private XTM10Utils() {
+ // noop.
+ }
+
private static final Logger LOG = Logger.getLogger(XTM10Utils.class.getName());
/**
Modified: tinytim/trunk/src/main/java/org/tinytim/voc/Namespace.java
===================================================================
--- tinytim/trunk/src/main/java/org/tinytim/voc/Namespace.java 2009-03-10 15:31:31 UTC (rev 288)
+++ tinytim/trunk/src/main/java/org/tinytim/voc/Namespace.java 2009-03-11 15:00:12 UTC (rev 289)
@@ -48,6 +48,11 @@
public static final String TMDM_MODEL = "http://psi.topicmaps.org/iso13250/model/";
/**
+ * TMCL namespace (<tt>http://psi.topicmaps.org/tmcl/</tt>)
+ */
+ public static final String TMCL = "http://psi.topicmaps.org/tmcl/";
+
+ /**
* XTM 2.0 namespace (<tt>http://www.topicmaps.org/xtm/</tt>).
*/
public static final String XTM_20 = "http://www.topicmaps.org/xtm/";
Added: tinytim/trunk/src/main/java/org/tinytim/voc/TMCL.java
===================================================================
--- tinytim/trunk/src/main/java/org/tinytim/voc/TMCL.java (rev 0)
+++ tinytim/trunk/src/main/java/org/tinytim/voc/TMCL.java 2009-03-11 15:00:12 UTC (rev 289)
@@ -0,0 +1,127 @@
+/*
+ * Copyright 2008 - 2009 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.voc;
+
+import org.tmapi.core.Locator;
+
+/**
+ * Constants for TMCL PSIs.
+ * <p>
+ * These PSIs are not stable yet.
+ * </p>
+ *
+ * @author Lars Heuer (heuer[at]semagia.com) <a href="http://www.semagia.com/">Semagia</a>
+ * @version $Rev$ - $Date$
+ */
+public final class TMCL extends Vocabulary {
+
+ private TMCL() {
+ // noop.
+ }
+
+ private static final String _BASE = Namespace.TMCL;
+
+ // Topic types
+
+ public static final Locator TOPIC_TYPE = _createLocator(_BASE + "topictype");
+
+ public static final Locator ASSOCIATION_TYPE = _createLocator(_BASE + "associationtype");
+
+ public static final Locator ROLE_TYPE = _createLocator(_BASE + "roletype");
+
+ public static final Locator OCCURRENCE_TYPE = _createLocator(_BASE + "occurrencetype");
+
+ public static final Locator NAME_TYPE = _createLocator(_BASE + "nametype");
+
+ public static final Locator SCOPE_TYPE = _createLocator(_BASE + "scopetype");
+
+
+ // Role types
+
+ public static final Locator TOPIC_TYPE_ROLE = _createLocator(_BASE + "topictype-role");
+
+ public static final Locator ASSOCIATION_TYPE_ROLE = _createLocator(_BASE + "associationtype-role");
+
+ public static final Locator ROLE_TYPE_ROLE = _createLocator(_BASE + "roletype-role");
+
+ public static final Locator OTHERROLE_TYPE_ROLE = _createLocator(_BASE + "roletype-role");
+
+ public static final Locator OCCURRENCE_TYPE_ROLE = _createLocator(_BASE + "occurrencetype-role");
+
+ public static final Locator NAME_TYPE_ROLE = _createLocator(_BASE + "nametype-role");
+
+ public static final Locator SCOPE_TYPE_ROLE = _createLocator(_BASE + "scopetype-role");
+
+ public static final Locator CONSTRAINT_ROLE = _createLocator(_BASE + "constraint-role");
+
+
+ // Model topics
+ public static final Locator CONSTRAINT = _createLocator(_BASE + "constraint");
+
+ public static final Locator VALIDATION_EXPRESSION = _createLocator(_BASE + "validation-expression");
+
+ public static final Locator APPLIES_TO = _createLocator(_BASE + "applies-to");
+
+ public static final Locator CARD_MIN = _createLocator(_BASE + "card-min");
+
+ public static final Locator CARD_MAX = _createLocator(_BASE + "card-max");
+
+ //TODO: TMCL uses sometimes "regexp" and sometimes "reg-exp"
+ public static final Locator REGEXP = _createLocator(_BASE + "reg-exp");
+
+ public static final Locator DATATYPE = _createLocator(_BASE + "datatype");
+
+
+ // Constraint types
+ public static final Locator TOPIC_TYPE_CONSTRAINT = _createLocator(_BASE + "topictype-constraint");
+
+ public static final Locator ASSOCIATION_TYPE_CONSTRAINT = _createLocator(_BASE + "associationtype-constraint");
+
+ public static final Locator ROLE_TYPE_CONSTRAINT = _createLocator(_BASE + "roletype-constraint");
+
+ public static final Locator OCCURRENCE_TYPE_CONSTRAINT = _createLocator(_BASE + "occurrencetype-constraint");
+
+ public static final Locator NAME_TYPE_CONSTRAINT = _createLocator(_BASE + "nametype-constraint");
+
+ public static final Locator ABSTRACT_TOPIC_TYPE_CONSTRAINT = _createLocator(_BASE + "abstract-topictype-constraint");
+
+ public static final Locator EXCLUSIVE_INSTANCE = _createLocator(_BASE + "exclusive-instance");
+
+ public static final Locator SUBJECT_IDENTIFIER_CONSTRAINT = _createLocator(_BASE + "subjectidentifier-constraint");
+
+ public static final Locator SUBJECT_LOCATOR_CONSTRAINT = _createLocator(_BASE + "subjectlocator-constraint");
+
+ public static final Locator NAME_CONSTRAINT = _createLocator(_BASE + "topicname-constraint");
+
+ public static final Locator NAME_TYPE_SCOPE_CONSTRAINT = _createLocator(_BASE + "nametypescope-constraint");
+
+ public static final Locator OCCURRENCE_TYPE_SCOPE_CONSTRAINT = _createLocator(_BASE + "occurrencetypescope-constraint");
+
+ public static final Locator OCCURRENCE_DATATYPE_CONSTRAINT = _createLocator(_BASE + "occurrencedatatype-constraint");
+
+ public static final Locator ASSOCIATION_TYPE_SCOPE_CONSTRAINT = _createLocator(_BASE + "associationtypescope-constraint");
+
+ public static final Locator ASSOCIATION_ROLE_CONSTRAINT = _createLocator(_BASE + "associationrole-constraint");
+
+ public static final Locator ROLE_PLAYER_CONSTRAINT = _createLocator(_BASE + "roleplayer-constraint");
+
+ public static final Locator OTHERROLE_CONSTRAINT = _createLocator(_BASE + "otherrole-constraint");
+
+ public static final Locator TOPIC_OCCURRENCE_CONSTRAINT = _createLocator(_BASE + "topicoccurrence-constraint");
+
+ public static final Locator UNIQUE_OCCURRENCE_CONSTRAINT = _createLocator(_BASE + "uniqueoccurrence-constraint");
+
+}
Property changes on: tinytim/trunk/src/main/java/org/tinytim/voc/TMCL.java
___________________________________________________________________
Added: svn:keywords
+ Rev Date Id
Added: svn:eol-style
+ native
Added: tinytim/trunk/src/test/java/org/tinytim/utils/TestXTM10Utils.java
===================================================================
--- tinytim/trunk/src/test/java/org/tinytim/utils/TestXTM10Utils.java (rev 0)
+++ tinytim/trunk/src/test/java/org/tinytim/utils/TestXTM10Utils.java 2009-03-11 15:00:12 UTC (rev 289)
@@ -0,0 +1,82 @@
+/*
+ * Copyright 2008 - 2009 Lars Heuer (heuer[at]semagia.com). All rights reserved.
+ *
+ * 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.utils;
+
+import org.tinytim.core.TinyTimTestCase;
+import org.tmapi.core.Locator;
+import org.tmapi.core.Name;
+import org.tmapi.core.Reifiable;
+import org.tmapi.core.Topic;
+
+/**
+ * Tests against the {@link XTM10Utils}.
+ *
+ * @author Lars Heuer (heuer[at]semagia.com) <a href="http://www.semagia.com/">Semagia</a>
+ * @version $Rev:$ - $Date:$
+ */
+public class TestXTM10Utils extends TinyTimTestCase {
+
+ private void _testConvertReification(Reifiable reifiable) {
+ final Locator loc = _tm.createLocator("http://www.semagia.com/test");
+ Topic t = _tm.createTopicBySubjectIdentifier(loc);
+ reifiable.addItemIdentifier(loc);
+ assertNull(reifiable.getReifier());
+ assertNull(t.getReified());
+ assertEquals(1, t.getSubjectIdentifiers().size());
+ assertEquals(loc, t.getSubjectIdentifiers().iterator().next());
+ assertEquals(1, reifiable.getItemIdentifiers().size());
+ assertEquals(loc, reifiable.getItemIdentifiers().iterator().next());
+ XTM10Utils.convertReification(_tm);
+ assertEquals(t, reifiable.getReifier());
+ assertEquals(reifiable, t.getReified());
+ assertEquals(0, t.getSubjectIdentifiers().size());
+ assertEquals(0, reifiable.getItemIdentifiers().size());
+ reifiable.setReifier(null);
+ t.remove();
+ }
+
+ public void testConvertReification() {
+ _testConvertReification(_tm);
+ _testConvertReification(createAssociation());
+ _testConvertReification(createRole());
+ _testConvertReification(createOccurrence());
+ _testConvertReification(createName());
+ _testConvertReification(createVariant());
+ }
+
+ public void testConvertReificationSkipReified() {
+ final Locator loc = _tm.createLocator("http://www.semagia.com/test");
+ Topic t = _tm.createTopicBySubjectIdentifier(loc);
+ Name reifiedName = createName();
+ reifiedName.setReifier(t);
+ assertEquals(t, reifiedName.getReifier());
+ assertEquals(reifiedName, t.getReified());
+ Name name = createName();
+ name.addItemIdentifier(loc);
+ assertEquals(1, t.getSubjectIdentifiers().size());
+ assertEquals(loc, t.getSubjectIdentifiers().iterator().next());
+ assertEquals(1, name.getItemIdentifiers().size());
+ assertEquals(loc, name.getItemIdentifiers().iterator().next());
+ XTM10Utils.convertReification(_tm);
+ assertEquals(t, reifiedName.getReifier());
+ assertEquals(reifiedName, t.getReified());
+ assertEquals(1, t.getSubjectIdentifiers().size());
+ assertEquals(loc, t.getSubjectIdentifiers().iterator().next());
+ assertEquals(1, name.getItemIdentifiers().size());
+ assertEquals(loc, name.getItemIdentifiers().iterator().next());
+ }
+
+}
Property changes on: tinytim/trunk/src/test/java/org/tinytim/utils/TestXTM10Utils.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.
|