From: <lh...@us...> - 2008-08-08 12:10:39
|
Revision: 108 http://tinytim.svn.sourceforge.net/tinytim/?rev=108&view=rev Author: lheuer Date: 2008-08-08 12:10:45 +0000 (Fri, 08 Aug 2008) Log Message: ----------- - Signatures are Integers now (previously Strings) - Added Literal.get(..) to retrieve either an existing Lit. or null Modified Paths: -------------- tinytim/trunk/src/main/java/org/tinytim/core/CopyUtils.java tinytim/trunk/src/main/java/org/tinytim/core/DuplicateRemovalUtils.java tinytim/trunk/src/main/java/org/tinytim/core/IFactory.java tinytim/trunk/src/main/java/org/tinytim/core/ILiteral.java tinytim/trunk/src/main/java/org/tinytim/core/ILiteralAware.java tinytim/trunk/src/main/java/org/tinytim/core/ILocator.java tinytim/trunk/src/main/java/org/tinytim/core/IdGenerator.java tinytim/trunk/src/main/java/org/tinytim/core/Literal.java tinytim/trunk/src/main/java/org/tinytim/core/MergeUtils.java tinytim/trunk/src/main/java/org/tinytim/core/SignatureGenerator.java tinytim/trunk/src/main/java/org/tinytim/index/LiteralIndexImpl.java tinytim/trunk/src/main/java/org/tinytim/voc/Vocabulary.java tinytim/trunk/src/main/java/org/tinytim/voc/XSD.java Modified: tinytim/trunk/src/main/java/org/tinytim/core/CopyUtils.java =================================================================== --- tinytim/trunk/src/main/java/org/tinytim/core/CopyUtils.java 2008-08-07 15:08:28 UTC (rev 107) +++ tinytim/trunk/src/main/java/org/tinytim/core/CopyUtils.java 2008-08-08 12:10:45 UTC (rev 108) @@ -176,7 +176,7 @@ */ private static void _copyCharacteristics(Topic topic, TopicImpl targetTopic, Map<Topic, Topic> mergeMap) { - Map<String, Reifiable> sigs = ((TopicMapImpl) targetTopic.getTopicMap()).getCollectionFactory().createMap(); + Map<Integer, Reifiable> sigs = ((TopicMapImpl) targetTopic.getTopicMap()).getCollectionFactory().createMap(); for (Occurrence occ: targetTopic.getOccurrences()) { sigs.put(SignatureGenerator.generateSignature(occ), occ); } @@ -226,7 +226,7 @@ */ private static void _copyVariants(Name source, NameImpl target, Map<Topic, Topic> mergeMap) { - Map<String, Variant> sigs = ((TopicMapImpl) target.getTopicMap()).getCollectionFactory().createMap(); + Map<Integer, Variant> sigs = ((TopicMapImpl) target.getTopicMap()).getCollectionFactory().createMap(); for (Variant variant: target.getVariants()) { sigs.put(SignatureGenerator.generateSignature(variant), variant); } @@ -321,7 +321,7 @@ private static void _copyAssociations(TopicMap source, TopicMapImpl target, Map<Topic, Topic> mergeMap) { Set<Association> assocs = target.getAssociations(); - Map<String, Association> sigs = target.getCollectionFactory().createMap(assocs.size()); + Map<Integer, Association> sigs = target.getCollectionFactory().createMap(assocs.size()); for (Association assoc: assocs) { sigs.put(SignatureGenerator.generateSignature(assoc), assoc); } Modified: tinytim/trunk/src/main/java/org/tinytim/core/DuplicateRemovalUtils.java =================================================================== --- tinytim/trunk/src/main/java/org/tinytim/core/DuplicateRemovalUtils.java 2008-08-07 15:08:28 UTC (rev 107) +++ tinytim/trunk/src/main/java/org/tinytim/core/DuplicateRemovalUtils.java 2008-08-08 12:10:45 UTC (rev 108) @@ -22,9 +22,9 @@ import java.util.ArrayList; import java.util.Collection; -import java.util.HashMap; import java.util.Map; +import org.tinytim.utils.ICollectionFactory; import org.tmapi.core.Association; import org.tmapi.core.Name; import org.tmapi.core.Occurrence; @@ -56,7 +56,7 @@ for (Topic topic: tm.getTopics()) { removeDuplicates(topic); } - Map<String, Association> sig2Assoc = tm.getCollectionFactory().createMap(); + Map<Integer, Association> sig2Assoc = tm.getCollectionFactory().createMap(); TypeInstanceIndex typeInstanceIdx = tm.getIndexManager().getTypeInstanceIndex(); if (!typeInstanceIdx.isAutoUpdated()) { typeInstanceIdx.reindex(); @@ -64,13 +64,12 @@ for (Topic type: typeInstanceIdx.getAssociationTypes()) { _removeDuplicateAssociations(sig2Assoc, typeInstanceIdx.getAssociations(type)); } - _removeDuplicateAssociations(sig2Assoc, typeInstanceIdx.getAssociations(null)); } - private static void _removeDuplicateAssociations(Map<String, Association> sig2Assoc, Collection<Association> assocs) { + private static void _removeDuplicateAssociations(Map<Integer, Association> sig2Assoc, Collection<Association> assocs) { sig2Assoc.clear(); Association existing = null; - String sig = null; + Integer sig = null; for (Association assoc: assocs) { removeDuplicates(assoc); sig = SignatureGenerator.generateSignature(assoc); @@ -91,8 +90,9 @@ * @param topic The topic from which duplicates should be removed from. */ public static void removeDuplicates(Topic topic) { - _removeDuplicateOccurrences(topic.getOccurrences()); - _removeDuplicateNames(topic.getNames()); + ICollectionFactory collFactory = ((TopicMapImpl) topic.getTopicMap()).getCollectionFactory(); + _removeDuplicateOccurrences(topic.getOccurrences(), collFactory); + _removeDuplicateNames(topic.getNames(), collFactory); } /** @@ -101,9 +101,10 @@ * @param name The name from which the duplicates should be removed. */ public static void removeDuplicates(Name name) { - Map<String, Variant> sigs = new HashMap<String, Variant>(); + Map<Integer, Variant> sigs = ((TopicMapImpl) name.getTopicMap()).getCollectionFactory().createMap(); + Integer sig = null; for (Variant variant: new ArrayList<Variant>(name.getVariants())) { - String sig = SignatureGenerator.generateSignature(variant); + sig = SignatureGenerator.generateSignature(variant); Variant existing = sigs.get(sig); if (existing != null) { MergeUtils.handleExistingConstruct(variant, existing); @@ -120,11 +121,12 @@ * * @param occs */ - private static void _removeDuplicateOccurrences(Collection<Occurrence> occs) { - Map<String, Occurrence> sigs = new HashMap<String, Occurrence>(occs.size()); + private static void _removeDuplicateOccurrences(Collection<Occurrence> occs, ICollectionFactory collFactory) { + Map<Integer, Occurrence> sigs = collFactory.createMap(occs.size()); Occurrence existing = null; + Integer sig = null; for (Occurrence occ: new ArrayList<Occurrence>(occs)) { - String sig = SignatureGenerator.generateSignature(occ); + sig = SignatureGenerator.generateSignature(occ); existing = sigs.get(sig); if (existing != null) { MergeUtils.handleExistingConstruct(occ, existing); @@ -141,12 +143,13 @@ * * @param names */ - private static void _removeDuplicateNames(Collection<Name> names) { - Map<String, Name> sigs = new HashMap<String, Name>(names.size()); + private static void _removeDuplicateNames(Collection<Name> names, ICollectionFactory collFactory) { + Map<Integer, Name> sigs = collFactory.createMap(names.size()); Name existing = null; + Integer sig = null; for (Name name: new ArrayList<Name>(names)) { removeDuplicates(name); - String sig = SignatureGenerator.generateSignature(name); + sig = SignatureGenerator.generateSignature(name); existing = sigs.get(sig); if (existing != null) { MergeUtils.handleExistingConstruct(name, existing); @@ -165,9 +168,9 @@ * @param assoc The association to remove duplicate roles from. */ public static void removeDuplicates(Association assoc) { - Map<String, Role> sig2Role = ((TopicMapImpl) assoc.getTopicMap()).getCollectionFactory().createMap(); + Map<Integer, Role> sig2Role = ((TopicMapImpl) assoc.getTopicMap()).getCollectionFactory().createMap(); Role existing = null; - String sig = null; + Integer sig = null; for (Role role: new ArrayList<Role>(assoc.getRoles())) { sig = SignatureGenerator.generateSignature(role); existing = sig2Role.get(sig); Modified: tinytim/trunk/src/main/java/org/tinytim/core/IFactory.java =================================================================== --- tinytim/trunk/src/main/java/org/tinytim/core/IFactory.java 2008-08-07 15:08:28 UTC (rev 107) +++ tinytim/trunk/src/main/java/org/tinytim/core/IFactory.java 2008-08-08 12:10:45 UTC (rev 108) @@ -31,7 +31,7 @@ * * * @author Lars Heuer (heuer[at]semagia.com) <a href="http://www.semagia.com/">Semagia</a> - * @version $Rev:$ - $Date:$ + * @version $Rev$ - $Date$ */ public interface IFactory { Modified: tinytim/trunk/src/main/java/org/tinytim/core/ILiteral.java =================================================================== --- tinytim/trunk/src/main/java/org/tinytim/core/ILiteral.java 2008-08-07 15:08:28 UTC (rev 107) +++ tinytim/trunk/src/main/java/org/tinytim/core/ILiteral.java 2008-08-08 12:10:45 UTC (rev 108) @@ -31,7 +31,7 @@ * This interface is not meant to be used outside of the tinyTiM package. * * @author Lars Heuer (heuer[at]semagia.com) <a href="http://www.semagia.com/">Semagia</a> - * @version $Rev:$ - $Date:$ + * @version $Rev$ - $Date$ */ public interface ILiteral { Modified: tinytim/trunk/src/main/java/org/tinytim/core/ILiteralAware.java =================================================================== --- tinytim/trunk/src/main/java/org/tinytim/core/ILiteralAware.java 2008-08-07 15:08:28 UTC (rev 107) +++ tinytim/trunk/src/main/java/org/tinytim/core/ILiteralAware.java 2008-08-08 12:10:45 UTC (rev 108) @@ -26,7 +26,7 @@ * This interface is not meant to be used outside of the tinyTiM package. * * @author Lars Heuer (heuer[at]semagia.com) <a href="http://www.semagia.com/">Semagia</a> - * @version $Rev:$ - $Date:$ + * @version $Rev$ - $Date$ */ public interface ILiteralAware { Modified: tinytim/trunk/src/main/java/org/tinytim/core/ILocator.java =================================================================== --- tinytim/trunk/src/main/java/org/tinytim/core/ILocator.java 2008-08-07 15:08:28 UTC (rev 107) +++ tinytim/trunk/src/main/java/org/tinytim/core/ILocator.java 2008-08-08 12:10:45 UTC (rev 108) @@ -28,7 +28,7 @@ * This interface is not meant to be used outside of the tinyTiM package. * * @author Lars Heuer (heuer[at]semagia.com) <a href="http://www.semagia.com/">Semagia</a> - * @version $Rev:$ - $Date:$ + * @version $Rev$ - $Date$ */ public interface ILocator extends ILiteral, Locator { Modified: tinytim/trunk/src/main/java/org/tinytim/core/IdGenerator.java =================================================================== --- tinytim/trunk/src/main/java/org/tinytim/core/IdGenerator.java 2008-08-07 15:08:28 UTC (rev 107) +++ tinytim/trunk/src/main/java/org/tinytim/core/IdGenerator.java 2008-08-08 12:10:45 UTC (rev 108) @@ -26,7 +26,7 @@ * * * @author Lars Heuer (heuer[at]semagia.com) <a href="http://www.semagia.com/">Semagia</a> - * @version $Rev:$ - $Date:$ + * @version $Rev$ - $Date$ */ final class IdGenerator { Modified: tinytim/trunk/src/main/java/org/tinytim/core/Literal.java =================================================================== --- tinytim/trunk/src/main/java/org/tinytim/core/Literal.java 2008-08-07 15:08:28 UTC (rev 107) +++ tinytim/trunk/src/main/java/org/tinytim/core/Literal.java 2008-08-08 12:10:45 UTC (rev 108) @@ -37,7 +37,7 @@ * This class is not meant to be used outside of the tinyTiM package. * * @author Lars Heuer (heuer[at]semagia.com) <a href="http://www.semagia.com/">Semagia</a> - * @version $Rev:$ - $Date:$ + * @version $Rev$ - $Date$ */ public final class Literal implements ILiteral { @@ -49,6 +49,9 @@ private final Locator _datatype; private Literal(final String value, final Locator datatype) { + if (value == null) { + throw new IllegalArgumentException("The value must not be null"); + } _value = value; _datatype = datatype; } @@ -61,6 +64,34 @@ return _value; } + public static synchronized ILiteral get(String value) { + return _STRINGS.get(new Literal(value, XSD.STRING)); + } + + public static synchronized ILiteral getIRI(String value) { + if (value == null) { + throw new IllegalArgumentException("The value must not be null"); + } + return _IRIS.get(new IRI(value)); + } + + public static synchronized ILiteral get(String value, Locator datatype) { + if (value == null) { + throw new IllegalArgumentException("The value must not be null"); + } + if (datatype == null) { + throw new IllegalArgumentException("The datatype must not be null"); + } + if (XSD.ANY_URI.equals(datatype)) { + return getIRI(value); + } + if (XSD.STRING.equals(datatype)) { + return get(value); + } + return _LITERALS.get(new Literal(value, datatype)); + + } + public static synchronized ILiteral create(final String value, final Locator datatype) { if (value == null) { throw new IllegalArgumentException("The value must not be null"); @@ -84,9 +115,6 @@ } public static synchronized ILiteral create(String value) { - if (value == null) { - throw new IllegalArgumentException("The value must not be null"); - } ILiteral literal = new Literal(value, XSD.STRING); ILiteral existing = _STRINGS.get(literal); if (existing != null) { Modified: tinytim/trunk/src/main/java/org/tinytim/core/MergeUtils.java =================================================================== --- tinytim/trunk/src/main/java/org/tinytim/core/MergeUtils.java 2008-08-07 15:08:28 UTC (rev 107) +++ tinytim/trunk/src/main/java/org/tinytim/core/MergeUtils.java 2008-08-08 12:10:45 UTC (rev 108) @@ -121,7 +121,7 @@ for(Topic type: source.getTypes()) { target.addType(type); } - Map<String, Reifiable> sigs = ((TopicMapImpl) source.getTopicMap()).getCollectionFactory().createMap(); + Map<Integer, Reifiable> sigs = ((TopicMapImpl) source.getTopicMap()).getCollectionFactory().createMap(); for (Occurrence occ: target.getOccurrences()) { sigs.put(SignatureGenerator.generateSignature(occ), occ); } @@ -177,7 +177,7 @@ * @param target The association which takes the role characteristics. */ static void moveRoleCharacteristics(Association source, Association target) { - Map<String, Role> sigs = ((TopicMapImpl) target.getTopicMap()).getCollectionFactory().<String, Role>createMap(); + Map<Integer, Role> sigs = ((TopicMapImpl) target.getTopicMap()).getCollectionFactory().createMap(); for (Role role: target.getRoles()) { sigs.put(SignatureGenerator.generateSignature(role), role); } @@ -196,7 +196,7 @@ */ @SuppressWarnings("unchecked") static void moveVariants(Name source, Name target) { - Map<String, Variant> sigs = ((TopicMapImpl) target.getTopicMap()).getCollectionFactory().<String, Variant>createMap(); + Map<Integer, Variant> sigs = ((TopicMapImpl) target.getTopicMap()).getCollectionFactory().createMap(); for (Variant var: target.getVariants()) { sigs.put(SignatureGenerator.generateSignature(var), var); } Modified: tinytim/trunk/src/main/java/org/tinytim/core/SignatureGenerator.java =================================================================== --- tinytim/trunk/src/main/java/org/tinytim/core/SignatureGenerator.java 2008-08-07 15:08:28 UTC (rev 107) +++ tinytim/trunk/src/main/java/org/tinytim/core/SignatureGenerator.java 2008-08-08 12:10:45 UTC (rev 108) @@ -21,6 +21,7 @@ package org.tinytim.core; import java.util.Arrays; +import java.util.Collection; import java.util.Set; import org.tmapi.core.Association; @@ -61,24 +62,23 @@ * @param assoc The association to generate the signature for. * @return The association's signature. */ - public static String generateSignature(Association assoc) { - StringBuilder sb = new StringBuilder(); - sb.append(_generateTypeSignature(assoc)) - .append('s') - .append(_generateScopeSignature(assoc)) - .append('.'); - Set<Role> roles = assoc.getRoles(); - String[] roleSigs = new String[roles.size()]; + public static int generateSignature(Association assoc) { + return Arrays.hashCode(new int[] {_generateTypeSignature(assoc), + _generateScopeSignature(assoc), + _generateRolesSignature(assoc.getRoles())}); + } + + private static int _generateRolesSignature(final Collection<Role> roles) { + if (roles.isEmpty()) { + return 0; + } + int[] ids = new int[roles.size()]; int i = 0; for (Role role : roles) { - roleSigs[i++] = generateSignature(role); + ids[i++] = generateSignature(role); } - Arrays.sort(roleSigs); - for (String sig : roleSigs) { - sb.append(sig) - .append('.'); - } - return sb.toString(); + Arrays.sort(ids); + return Arrays.hashCode(ids); } /** @@ -87,12 +87,10 @@ * @param role The role to generate the signature for. * @return The role's signature. */ - public static String generateSignature(Role role) { - StringBuilder sb = new StringBuilder(); - sb.append(_generateTypeSignature(role)) - .append('p') - .append(role.getPlayer() == null ? "" : role.getPlayer().getId()); - return sb.toString(); + public static int generateSignature(final Role role) { + return Arrays.hashCode(new int[] { + _signature(role.getType()), _signature(role.getPlayer()) + }); } /** @@ -101,14 +99,12 @@ * @param occ The occurrence to create the signature for. * @return The signature of the occurrence. */ - public static String generateSignature(Occurrence occ) { - StringBuilder sb = new StringBuilder(); - sb.append(_generateTypeSignature(occ)) - .append('s') - .append(_generateScopeSignature(occ)) - .append('v') - .append(_generateDataSignature((ILiteralAware) occ)); - return sb.toString(); + public static int generateSignature(final Occurrence occ) { + return Arrays.hashCode(new int[] { + _generateTypeSignature(occ), + _generateScopeSignature(occ), + _generateDataSignature((ILiteralAware)occ) + }); } /** @@ -119,14 +115,12 @@ * @param name The name to generate the signature for. * @return A signature for the name. */ - public static String generateSignature(Name name) { - StringBuilder sb = new StringBuilder(); - sb.append(_generateTypeSignature(name)) - .append('s') - .append(_generateScopeSignature(name)) - .append('v') - .append(_generateDataSignature((ILiteralAware) name)); - return sb.toString(); + public static int generateSignature(final Name name) { + return Arrays.hashCode(new int[] { + _generateTypeSignature(name), + _generateScopeSignature(name), + _generateDataSignature((ILiteralAware)name) + }); } /** @@ -135,12 +129,11 @@ * @param variant The variant to generate the signature for. * @return A signature for the variant. */ - public static String generateSignature(Variant variant) { - StringBuilder sb = new StringBuilder(); - sb.append(_generateScopeSignature(variant)) - .append('v') - .append(_generateDataSignature((ILiteralAware)variant)); - return sb.toString(); + public static int generateSignature(final Variant variant) { + return Arrays.hashCode(new int[] { + _generateScopeSignature(variant), + _generateDataSignature((ILiteralAware)variant) + }); } /** @@ -149,7 +142,7 @@ * @param construct An occurrence or variant. * @return The signature. */ - private static int _generateDataSignature(ILiteralAware construct) { + private static int _generateDataSignature(final ILiteralAware construct) { return System.identityHashCode(construct.getLiteral()); } @@ -159,9 +152,8 @@ * @param typed The typed Topic Maps construct. * @return The signature. */ - private static String _generateTypeSignature(Typed typed) { - Topic type = typed.getType(); - return type == null ? "" : type.getId(); + private static int _generateTypeSignature(final Typed typed) { + return _signature(typed.getType()); } /** @@ -173,23 +165,22 @@ * @param scoped The scoped Topic Maps construct. * @return The signature. */ - private static String _generateScopeSignature(Scoped scoped) { + private static int _generateScopeSignature(final Scoped scoped) { Set<Topic> scope = scoped.getScope(); if (scope.isEmpty()) { - return ""; + return 0; } - String[] ids = new String[scope.size()]; + int[] ids = new int[scope.size()]; int i = 0; for (Topic topic : scope) { - ids[i++] = topic.getId(); + ids[i++] = _signature(topic); } Arrays.sort(ids); - StringBuilder sb = new StringBuilder(); - for (String id : ids) { - sb.append(id) - .append('.'); - } - return sb.toString(); + return Arrays.hashCode(ids); } + private static int _signature(Topic topic) { + return System.identityHashCode(topic); + } + } Modified: tinytim/trunk/src/main/java/org/tinytim/index/LiteralIndexImpl.java =================================================================== --- tinytim/trunk/src/main/java/org/tinytim/index/LiteralIndexImpl.java 2008-08-07 15:08:28 UTC (rev 107) +++ tinytim/trunk/src/main/java/org/tinytim/index/LiteralIndexImpl.java 2008-08-08 12:10:45 UTC (rev 108) @@ -45,7 +45,7 @@ * * * @author Lars Heuer (heuer[at]semagia.com) <a href="http://www.semagia.com/">Semagia</a> - * @version $Rev:$ - $Date:$ + * @version $Rev$ - $Date$ */ public class LiteralIndexImpl extends AbstractIndex implements LiteralIndex { @@ -73,10 +73,13 @@ * @see org.tmapi.index.LiteralIndex#getNames(java.lang.String) */ public Collection<Name> getNames(String value) { - return _getNames(Literal.create(value)); + return _getNames(Literal.get(value)); } private Collection<Name> _getNames(ILiteral literal) { + if (literal == null) { + return Collections.<Name>emptySet(); + } Collection<Name> names = _lit2Names.get(literal); return names == null ? Collections.<Name>emptySet() : new ArrayList<Name>(names); @@ -86,24 +89,30 @@ * @see org.tmapi.index.LiteralIndex#getOccurrences(java.lang.String) */ public Collection<Occurrence> getOccurrences(String value) { - return _getOccurrences(Literal.create(value)); + return _getOccurrences(Literal.get(value)); } /* (non-Javadoc) * @see org.tmapi.index.LiteralIndex#getOccurrences(org.tmapi.core.Locator) */ public Collection<Occurrence> getOccurrences(Locator value) { - return _getOccurrences(Literal.create(value)); + if (value == null) { + throw new IllegalArgumentException("The value must not be null"); + } + return _getOccurrences((ILiteral) value); } /* (non-Javadoc) * @see org.tmapi.index.LiteralIndex#getOccurrences(java.lang.String, org.tmapi.core.Locator) */ public Collection<Occurrence> getOccurrences(String value, Locator datatype) { - return _getOccurrences(Literal.create(value, datatype)); + return _getOccurrences(Literal.get(value, datatype)); } private Collection<Occurrence> _getOccurrences(ILiteral literal) { + if (literal == null) { + return Collections.<Occurrence>emptySet(); + } Collection<Occurrence> occs = _lit2Occs.get(literal); return occs == null ? Collections.<Occurrence>emptySet() : new ArrayList<Occurrence>(occs); @@ -113,24 +122,30 @@ * @see org.tmapi.index.LiteralIndex#getVariants(java.lang.String) */ public Collection<Variant> getVariants(String value) { - return _getVariants(Literal.create(value)); + return _getVariants(Literal.get(value)); } /* (non-Javadoc) * @see org.tmapi.index.LiteralIndex#getVariants(org.tmapi.core.Locator) */ public Collection<Variant> getVariants(Locator value) { - return _getVariants(Literal.create(value)); + if (value == null) { + throw new IllegalArgumentException("The value must not be null"); + } + return _getVariants((ILiteral) value); } /* (non-Javadoc) * @see org.tmapi.index.LiteralIndex#getVariants(java.lang.String, org.tmapi.core.Locator) */ public Collection<Variant> getVariants(String value, Locator datatype) { - return _getVariants(Literal.create(value, datatype)); + return _getVariants(Literal.get(value, datatype)); } private Collection<Variant> _getVariants(ILiteral literal) { + if (literal == null) { + return Collections.<Variant>emptySet(); + } Collection<Variant> variants = _lit2Variants.get(literal); return variants == null ? Collections.<Variant>emptySet() : new ArrayList<Variant>(variants); Modified: tinytim/trunk/src/main/java/org/tinytim/voc/Vocabulary.java =================================================================== --- tinytim/trunk/src/main/java/org/tinytim/voc/Vocabulary.java 2008-08-07 15:08:28 UTC (rev 107) +++ tinytim/trunk/src/main/java/org/tinytim/voc/Vocabulary.java 2008-08-08 12:10:45 UTC (rev 108) @@ -27,7 +27,7 @@ * * * @author Lars Heuer (heuer[at]semagia.com) <a href="http://www.semagia.com/">Semagia</a> - * @version $Rev:$ - $Date:$ + * @version $Rev$ - $Date$ */ abstract class Vocabulary { Modified: tinytim/trunk/src/main/java/org/tinytim/voc/XSD.java =================================================================== --- tinytim/trunk/src/main/java/org/tinytim/voc/XSD.java 2008-08-07 15:08:28 UTC (rev 107) +++ tinytim/trunk/src/main/java/org/tinytim/voc/XSD.java 2008-08-08 12:10:45 UTC (rev 108) @@ -26,7 +26,7 @@ * * * @author Lars Heuer (heuer[at]semagia.com) <a href="http://www.semagia.com/">Semagia</a> - * @version $Rev:$ - $Date:$ + * @version $Rev$ - $Date$ */ public final class XSD extends Vocabulary { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |