You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(9) |
Jun
(30) |
Jul
(74) |
Aug
(2) |
Sep
(91) |
Oct
(27) |
Nov
(77) |
Dec
(33) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(175) |
Feb
(133) |
Mar
(94) |
Apr
(65) |
May
(108) |
Jun
(100) |
Jul
(46) |
Aug
(19) |
Sep
(145) |
Oct
(289) |
Nov
(134) |
Dec
(211) |
2003 |
Jan
(106) |
Feb
(269) |
Mar
(106) |
Apr
(202) |
May
(300) |
Jun
(83) |
Jul
(70) |
Aug
(217) |
Sep
(183) |
Oct
(292) |
Nov
(324) |
Dec
(117) |
2004 |
Jan
(318) |
Feb
(151) |
Mar
(64) |
Apr
(195) |
May
(279) |
Jun
(263) |
Jul
(280) |
Aug
(167) |
Sep
(91) |
Oct
(175) |
Nov
(34) |
Dec
(38) |
2005 |
Jan
|
Feb
|
Mar
(4) |
Apr
|
May
(5) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(5) |
2006 |
Jan
|
Feb
|
Mar
(5) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
(6) |
2007 |
Jan
(2) |
Feb
(11) |
Mar
(1) |
Apr
(33) |
May
(13) |
Jun
(1) |
Jul
(3) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
2008 |
Jan
(191) |
Feb
|
Mar
(1) |
Apr
|
May
(1) |
Jun
(33) |
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
(14) |
2009 |
Jan
(39) |
Feb
(6) |
Mar
(22) |
Apr
(31) |
May
(78) |
Jun
(74) |
Jul
(39) |
Aug
(22) |
Sep
(16) |
Oct
(32) |
Nov
(4) |
Dec
(5) |
2010 |
Jan
(1) |
Feb
|
Mar
(33) |
Apr
(45) |
May
(66) |
Jun
(63) |
Jul
(32) |
Aug
(56) |
Sep
(19) |
Oct
(1) |
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(4) |
Nov
|
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
(1) |
2016 |
Jan
(1) |
Feb
(1) |
Mar
(3) |
Apr
|
May
(1) |
Jun
|
Jul
(2) |
Aug
(1) |
Sep
|
Oct
(1) |
Nov
(1) |
Dec
|
From: Gerd M. <li...@us...> - 2001-06-13 13:01:11
|
Update of /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/ozone In directory usw-pr-cvs1:/tmp/cvs-serv32022 Modified Files: OzoneTopicMapImpl.java Log Message: - fixed: merged changes from the transient implementation |
From: Gerd M. <li...@us...> - 2001-06-13 12:59:57
|
Update of /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/ozone In directory usw-pr-cvs1:/tmp/cvs-serv31663 Modified Files: OzoneXTMBuilder.java Log Message: - added: better argument handling |
From: Gerd M. <li...@us...> - 2001-06-13 12:59:00
|
Update of /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/ozone In directory usw-pr-cvs1:/tmp/cvs-serv31450 Modified Files: OzoneTopicMapObjectImpl.java Log Message: - fixed: listener stuff did not work |
From: Gerd M. <li...@us...> - 2001-06-13 12:58:26
|
Update of /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/ozone In directory usw-pr-cvs1:/tmp/cvs-serv31344 Modified Files: OzoneTopicImpl.java Log Message: - fixed: getBaseTopic() must return self(), not this ! |
From: Kal A. <kal...@us...> - 2001-06-12 07:45:04
|
Update of /cvsroot/tm4j/tm4j/src/com/techquila/topicmap In directory usw-pr-cvs1:/tmp/cvs-serv14123 Modified Files: TopicMap.java Log Message: Added getObjects() method |
From: Kal A. <kal...@us...> - 2001-06-11 21:57:32
|
Update of /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/test In directory usw-pr-cvs1:/tmp/cvs-serv26081 Modified Files: ParserTest.java Log Message: Added test of correct setting and indexing of resourceID property on TopicMapObjects during parse. |
From: Kal A. <kal...@us...> - 2001-06-11 21:56:27
|
Update of /cvsroot/tm4j/tm4j/src/com/techquila/topicmap In directory usw-pr-cvs1:/tmp/cvs-serv25801 Modified Files: TopicMapImpl.java Log Message: Added indexing of Association objects when added to the topic map. |
From: Kal A. <kal...@us...> - 2001-06-11 21:55:33
|
Update of /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/utils In directory usw-pr-cvs1:/tmp/cvs-serv25548 Modified Files: XTMBuilder.java Log Message: Fix to ensure that the URI of the resource which causes the creation of a TopicMapObject is correctly recorded in the resourceID property. |
From: Kal A. <kal...@us...> - 2001-06-11 21:54:10
|
Update of /cvsroot/tm4j/tm4j/resource/tests In directory usw-pr-cvs1:/tmp/cvs-serv25138 Added Files: resid-test.xtm Log Message: Initial version |
From: Kal A. <kal...@us...> - 2001-06-10 17:29:30
|
Update of /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/utils In directory usw-pr-cvs1:/tmp/cvs-serv9251 Modified Files: XTMBuilder.java Log Message: Fixed to ensure that a resourceID is assigned to stub topics which cannot be resolved during a build. |
From: Kal A. <kal...@us...> - 2001-06-10 17:28:14
|
Update of /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/test In directory usw-pr-cvs1:/tmp/cvs-serv9084 Modified Files: ParserTest.java Log Message: Added test of creation of resource ID for stub topics. |
From: Kal A. <kal...@us...> - 2001-06-05 01:44:08
|
Update of /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/test In directory usw-pr-cvs1:/tmp/cvs-serv26852 Modified Files: IndexTest.java Log Message: Added test of scoped name merging Index: IndexTest.java =================================================================== RCS file: /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/test/IndexTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** IndexTest.java 2001/05/25 13:46:21 1.2 --- IndexTest.java 2001/06/04 22:45:13 1.3 *************** *** 1,2 **** --- 1,6 ---- + /* + * $Header$ + */ + package com.techquila.topicmap.test; *************** *** 117,121 **** --- 121,183 ---- assert("Expected to find t1 indexed against " + s2, t.equals(t1)); + + // Remove subject indicators + t1.setSubjectIndicators(null); + t2.setSubjectIndicators(null); + t = tm.getTopicBySubjectIndicator(s1); + assert("Expected to find no topic indexed against subject indicator: " + s1, + t == null); + t = tm.getTopicBySubjectIndicator(s2); + assert("Expected to find no topic indexed against subject indicator: " + s2, + t == null); + } + + public void testNameIndex() + { + BaseName bn1 = tm.getFactory().createBaseName(null); + BaseName bn2 = tm.getFactory().createBaseName(null); + bn1.setString("foo"); + bn2.setString("bar"); + + // Index + t1.addName(bn1); + t2.addName(bn2); + + assert("Expected t1 to not be merged.", t1.getMergedTopics().size() == 0); + assert("Expected t2 to not be merged.", t2.getMergedTopics().size() == 0); + + // Force merge + t1.addName(bn2); + assert("Expected t1 and t2 to be merged.", t1.getBaseTopic().getMergedTopics().size() == 1); + + // Force demerge + t1.setNames(null); + assert("Expected t1 to have no names.", + t1.getNames().size() == 0); + assert("Expected t1 and t2 to be demerged.", + (t1.getMergedTopics().size() == 0) && (t2.getMergedTopics().size() == 0)); + + t2.setNames(null); + assert("Expected t1 to have no names.", t1.getNames().size() == 0); + assert("Expected t2 to have no names.", t2.getNames().size() == 0); + + // Force merge by name + t1.addName(bn1); + t2.addName(bn1); + // Force additional merge by subject indicator + t1.addSubjectIndicator("test"); + t2.addSubjectIndicator("test"); + // Remove merge by name: + t1.setNames(null); + assert("Expected t1 and t2 to remain merged.", + (t1.getMergedTopics().size() == 1) || (t2.getMergedTopics().size() == 1)); } } + + /* + * $Log$ + * Revision 1.3 2001/06/04 22:45:13 kal_ahmed + * Added test of scoped name merging + * + */ |
From: Gerd M. <li...@us...> - 2001-06-01 16:56:50
|
Update of /cvsroot/tm4j/tm4j In directory usw-pr-cvs1:/tmp/cvs-serv17903 Modified Files: build.xml Log Message: - added: ozone-test target Index: build.xml =================================================================== RCS file: /cvsroot/tm4j/tm4j/build.xml,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** build.xml 2001/05/29 18:08:48 1.5 --- build.xml 2001/06/01 16:56:48 1.6 *************** *** 43,46 **** --- 43,47 ---- <echo message=" ozone-install --> intializes a ozone database"/> <echo message=" ozone-run --> runs a ozone server"/> + <echo message=" ozone-test --> small ozone test, that stores an XTM file"/> <echo message=" distrib-all --> generates the TM4J source and binary distributions"/> <echo message=" clean-all --> cleans up all compiled classes"/> *************** *** 302,305 **** --- 303,307 ---- com.techquila.topicmap.ozone.OzoneAssociationImpl com.techquila.topicmap.ozone.OzoneTopicMapUtilsImpl + com.techquila.topicmap.ozone.OzoneXTMBuilderHelperImpl "/> *************** *** 355,365 **** </target> ! <!--target name="ozoneTest" depends="init"> ! <java classname="com.techquila.topicmap.ozone.XTMReaderImpl" classpathref="project.class.path"> <arg value="ozonedb:local:${ozoneDB.dir}"/> ! <arg value="resource/tests/music-xtm.xml"/> </java> ! </target--> </project> --- 357,374 ---- </target> ! <target name="ozone-test-args" unless="ozone.test.file"> ! <echo> ! #### You have to specify an XTM file with '-Dozone.test.file=filename' !" #### ! </echo> ! </target> ! ! <target name="ozone-test" if="ozone.test.file" depends="ozone-test-args, init"> ! <java classname="com.techquila.topicmap.ozone.OzoneXTMBuilder" classpathref="project.class.path"> <arg value="ozonedb:local:${ozoneDB.dir}"/> ! <!--arg value="ozonedb:remote://localhost:${ozoneDB.port}"/--> ! <arg value="${ozone.test.file}"/> </java> ! </target> </project> |
Update of /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/ozone In directory usw-pr-cvs1:/tmp/cvs-serv17139 Modified Files: OzoneAssociation.java OzoneAssociationImpl.java OzoneBaseName.java OzoneBaseNameImpl.java OzoneMember.java OzoneMemberImpl.java OzoneOccurrence.java OzoneOccurrenceImpl.java OzoneScope.java OzoneScopeImpl.java OzoneScopedObject.java OzoneScopedObjectImpl.java OzoneTopic.java OzoneTopicImpl.java OzoneTopicMap.java OzoneTopicMapFactoryImpl.java OzoneTopicMapImpl.java OzoneTopicMapObject.java OzoneTopicMapObjectImpl.java OzoneTopicMapUtils.java OzoneTopicMapUtilsImpl.java OzoneVariant.java OzoneVariantImpl.java OzoneVariantName.java OzoneVariantNameImpl.java Log Message: - changed: license and author notice Index: OzoneAssociation.java =================================================================== RCS file: /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/ozone/OzoneAssociation.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** OzoneAssociation.java 2001/05/29 17:32:45 1.1 --- OzoneAssociation.java 2001/06/01 16:56:15 1.2 *************** *** 1,8 **** /* * You can redistribute this software and/or modify it under the terms of ! * the Infozone Software License version 2 published by the Infozone Group ! * (http://www.infozone-group.org). * ! * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id$ --- 1,7 ---- /* * You can redistribute this software and/or modify it under the terms of ! * the TM4J Software License published with this distribution. * ! * Copyright (C) 2001 Khalil Ahmed, Gerd Mueller. All rights reserved. * * $Id$ *************** *** 29,32 **** --- 28,34 ---- * @see com.techquila.topicmap.Member * @see com.techquila.topicmap.ScopedObject + * + * @author <a href="mailto:ka...@te...">Kal Ahmed</a> + * @author <a href="mailto:ge...@sm...">Gerd Mueller</a> */ public abstract interface OzoneAssociation extends OzoneScopedObject, Association { Index: OzoneAssociationImpl.java =================================================================== RCS file: /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/ozone/OzoneAssociationImpl.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** OzoneAssociationImpl.java 2001/05/29 17:32:45 1.1 --- OzoneAssociationImpl.java 2001/06/01 16:56:15 1.2 *************** *** 1,8 **** /* * You can redistribute this software and/or modify it under the terms of ! * the Infozone Software License version 2 published by the Infozone Group ! * (http://www.infozone-group.org). * ! * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id$ --- 1,7 ---- /* * You can redistribute this software and/or modify it under the terms of ! * the TM4J Software License published with this distribution. * ! * Copyright (C) 2001 Khalil Ahmed, Gerd Mueller. All rights reserved. * * $Id$ *************** *** 30,33 **** --- 29,35 ---- * @see com.techquila.topicmap.Topic * @see com.techquila.topicmap.Member + * + * @author <a href="mailto:ka...@te...">Kal Ahmed</a> + * @author <a href="mailto:ge...@sm...">Gerd Mueller</a> */ public class OzoneAssociationImpl extends OzoneScopedObjectImpl Index: OzoneBaseName.java =================================================================== RCS file: /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/ozone/OzoneBaseName.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** OzoneBaseName.java 2001/05/29 17:32:45 1.1 --- OzoneBaseName.java 2001/06/01 16:56:15 1.2 *************** *** 1,8 **** /* * You can redistribute this software and/or modify it under the terms of ! * the Infozone Software License version 2 published by the Infozone Group ! * (http://www.infozone-group.org). * ! * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id$ --- 1,7 ---- /* * You can redistribute this software and/or modify it under the terms of ! * the TM4J Software License published with this distribution. * ! * Copyright (C) 2001 Khalil Ahmed, Gerd Mueller. All rights reserved. * * $Id$ *************** *** 18,22 **** ! /** */ public interface OzoneBaseName extends OzoneScopedObject, BaseName { --- 17,25 ---- ! /** ! * ! * @author <a href="mailto:ka...@te...">Kal Ahmed</a> ! * @author <a href="mailto:ge...@sm...">Gerd Mueller</a> ! */ public interface OzoneBaseName extends OzoneScopedObject, BaseName { Index: OzoneBaseNameImpl.java =================================================================== RCS file: /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/ozone/OzoneBaseNameImpl.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** OzoneBaseNameImpl.java 2001/05/29 17:32:45 1.1 --- OzoneBaseNameImpl.java 2001/06/01 16:56:15 1.2 *************** *** 1,8 **** /* * You can redistribute this software and/or modify it under the terms of ! * the Infozone Software License version 2 published by the Infozone Group ! * (http://www.infozone-group.org). * ! * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id$ --- 1,7 ---- /* * You can redistribute this software and/or modify it under the terms of ! * the TM4J Software License published with this distribution. * ! * Copyright (C) 2001 Khalil Ahmed, Gerd Mueller. All rights reserved. * * $Id$ *************** *** 23,26 **** --- 22,28 ---- /** + * + * @author <a href="mailto:ka...@te...">Kal Ahmed</a> + * @author <a href="mailto:ge...@sm...">Gerd Mueller</a> */ public class OzoneBaseNameImpl extends OzoneScopedObjectImpl Index: OzoneMember.java =================================================================== RCS file: /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/ozone/OzoneMember.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** OzoneMember.java 2001/05/29 17:32:45 1.1 --- OzoneMember.java 2001/06/01 16:56:15 1.2 *************** *** 1,8 **** /* * You can redistribute this software and/or modify it under the terms of ! * the Infozone Software License version 2 published by the Infozone Group ! * (http://www.infozone-group.org). * ! * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id$ --- 1,7 ---- /* * You can redistribute this software and/or modify it under the terms of ! * the TM4J Software License published with this distribution. * ! * Copyright (C) 2001 Khalil Ahmed, Gerd Mueller. All rights reserved. * * $Id$ *************** *** 18,22 **** ! /** */ public interface OzoneMember extends OzoneTopicMapObject, Member { --- 17,25 ---- ! /** ! * ! * @author <a href="mailto:ka...@te...">Kal Ahmed</a> ! * @author <a href="mailto:ge...@sm...">Gerd Mueller</a> ! */ public interface OzoneMember extends OzoneTopicMapObject, Member { Index: OzoneMemberImpl.java =================================================================== RCS file: /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/ozone/OzoneMemberImpl.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** OzoneMemberImpl.java 2001/05/29 17:32:45 1.1 --- OzoneMemberImpl.java 2001/06/01 16:56:15 1.2 *************** *** 1,8 **** /* * You can redistribute this software and/or modify it under the terms of ! * the Infozone Software License version 2 published by the Infozone Group ! * (http://www.infozone-group.org). * ! * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id$ --- 1,7 ---- /* * You can redistribute this software and/or modify it under the terms of ! * the TM4J Software License published with this distribution. * ! * Copyright (C) 2001 Khalil Ahmed, Gerd Mueller. All rights reserved. * * $Id$ *************** *** 22,25 **** --- 21,27 ---- /** + * + * @author <a href="mailto:ka...@te...">Kal Ahmed</a> + * @author <a href="mailto:ge...@sm...">Gerd Mueller</a> */ public class OzoneMemberImpl extends OzoneScopedObjectImpl Index: OzoneOccurrence.java =================================================================== RCS file: /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/ozone/OzoneOccurrence.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** OzoneOccurrence.java 2001/05/29 17:32:45 1.1 --- OzoneOccurrence.java 2001/06/01 16:56:15 1.2 *************** *** 1,8 **** /* * You can redistribute this software and/or modify it under the terms of ! * the Infozone Software License version 2 published by the Infozone Group ! * (http://www.infozone-group.org). * ! * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id$ --- 1,7 ---- /* * You can redistribute this software and/or modify it under the terms of ! * the TM4J Software License published with this distribution. * ! * Copyright (C) 2001 Khalil Ahmed, Gerd Mueller. All rights reserved. * * $Id$ *************** *** 25,28 **** --- 24,30 ---- * * @see Topic + * + * @author <a href="mailto:ka...@te...">Kal Ahmed</a> + * @author <a href="mailto:ge...@sm...">Gerd Mueller</a> */ public interface OzoneOccurrence extends OzoneScopedObject, Occurrence { Index: OzoneOccurrenceImpl.java =================================================================== RCS file: /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/ozone/OzoneOccurrenceImpl.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** OzoneOccurrenceImpl.java 2001/05/29 17:32:45 1.1 --- OzoneOccurrenceImpl.java 2001/06/01 16:56:15 1.2 *************** *** 1,8 **** /* * You can redistribute this software and/or modify it under the terms of ! * the Infozone Software License version 2 published by the Infozone Group ! * (http://www.infozone-group.org). * ! * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id$ --- 1,7 ---- /* * You can redistribute this software and/or modify it under the terms of ! * the TM4J Software License published with this distribution. * ! * Copyright (C) 2001 Khalil Ahmed, Gerd Mueller. All rights reserved. * * $Id$ *************** *** 24,27 **** --- 23,29 ---- * An occurrence may be scoped and may contain either an in-line data resource (as a string) or * a reference to an external resource (specified as a URI). + * + * @author <a href="mailto:ka...@te...">Kal Ahmed</a> + * @author <a href="mailto:ge...@sm...">Gerd Mueller</a> */ public class OzoneOccurrenceImpl extends OzoneScopedObjectImpl Index: OzoneScope.java =================================================================== RCS file: /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/ozone/OzoneScope.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** OzoneScope.java 2001/05/29 17:32:45 1.1 --- OzoneScope.java 2001/06/01 16:56:15 1.2 *************** *** 1,8 **** /* * You can redistribute this software and/or modify it under the terms of ! * the Infozone Software License version 2 published by the Infozone Group ! * (http://www.infozone-group.org). * ! * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id$ --- 1,7 ---- /* * You can redistribute this software and/or modify it under the terms of ! * the TM4J Software License published with this distribution. * ! * Copyright (C) 2001 Khalil Ahmed, Gerd Mueller. All rights reserved. * * $Id$ *************** *** 15,18 **** --- 14,20 ---- /** + * + * @author <a href="mailto:ka...@te...">Kal Ahmed</a> + * @author <a href="mailto:ge...@sm...">Gerd Mueller</a> */ public interface OzoneScope extends OzoneTopicMapObject, Scope { Index: OzoneScopeImpl.java =================================================================== RCS file: /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/ozone/OzoneScopeImpl.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** OzoneScopeImpl.java 2001/05/29 17:32:45 1.1 --- OzoneScopeImpl.java 2001/06/01 16:56:15 1.2 *************** *** 1,8 **** /* * You can redistribute this software and/or modify it under the terms of ! * the Infozone Software License version 2 published by the Infozone Group ! * (http://www.infozone-group.org). * ! * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id$ --- 1,7 ---- /* * You can redistribute this software and/or modify it under the terms of ! * the TM4J Software License published with this distribution. * ! * Copyright (C) 2001 Khalil Ahmed, Gerd Mueller. All rights reserved. * * $Id$ *************** *** 26,29 **** --- 25,31 ---- /** + * + * @author <a href="mailto:ka...@te...">Kal Ahmed</a> + * @author <a href="mailto:ge...@sm...">Gerd Mueller</a> */ public class OzoneScopeImpl extends OzoneTopicMapObjectImpl Index: OzoneScopedObject.java =================================================================== RCS file: /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/ozone/OzoneScopedObject.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** OzoneScopedObject.java 2001/05/29 17:32:45 1.1 --- OzoneScopedObject.java 2001/06/01 16:56:15 1.2 *************** *** 1,8 **** /* * You can redistribute this software and/or modify it under the terms of ! * the Infozone Software License version 2 published by the Infozone Group ! * (http://www.infozone-group.org). * ! * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id$ --- 1,7 ---- /* * You can redistribute this software and/or modify it under the terms of ! * the TM4J Software License published with this distribution. * ! * Copyright (C) 2001 Khalil Ahmed, Gerd Mueller. All rights reserved. * * $Id$ *************** *** 18,22 **** ! /** */ public interface OzoneScopedObject extends OzoneTopicMapObject, ScopedObject { --- 17,25 ---- ! /** ! * ! * @author <a href="mailto:ka...@te...">Kal Ahmed</a> ! * @author <a href="mailto:ge...@sm...">Gerd Mueller</a> ! */ public interface OzoneScopedObject extends OzoneTopicMapObject, ScopedObject { Index: OzoneScopedObjectImpl.java =================================================================== RCS file: /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/ozone/OzoneScopedObjectImpl.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** OzoneScopedObjectImpl.java 2001/05/29 17:32:45 1.1 --- OzoneScopedObjectImpl.java 2001/06/01 16:56:15 1.2 *************** *** 1,8 **** /* * You can redistribute this software and/or modify it under the terms of ! * the Infozone Software License version 2 published by the Infozone Group ! * (http://www.infozone-group.org). * ! * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id$ --- 1,7 ---- /* * You can redistribute this software and/or modify it under the terms of ! * the TM4J Software License published with this distribution. * ! * Copyright (C) 2001 Khalil Ahmed, Gerd Mueller. All rights reserved. * * $Id$ *************** *** 20,23 **** --- 19,25 ---- /** * Base class for all topic map objects which have a validity scope. + * + * @author <a href="mailto:ka...@te...">Kal Ahmed</a> + * @author <a href="mailto:ge...@sm...">Gerd Mueller</a> */ public abstract class OzoneScopedObjectImpl extends OzoneTopicMapObjectImpl Index: OzoneTopic.java =================================================================== RCS file: /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/ozone/OzoneTopic.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** OzoneTopic.java 2001/05/29 17:32:45 1.1 --- OzoneTopic.java 2001/06/01 16:56:15 1.2 *************** *** 1,8 **** /* * You can redistribute this software and/or modify it under the terms of ! * the Infozone Software License version 2 published by the Infozone Group ! * (http://www.infozone-group.org). * ! * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id$ --- 1,7 ---- /* * You can redistribute this software and/or modify it under the terms of ! * the TM4J Software License published with this distribution. * ! * Copyright (C) 2001 Khalil Ahmed, Gerd Mueller. All rights reserved. * * $Id$ *************** *** 23,26 **** --- 22,28 ---- /** * This interface describes a Topic (<code>topic</code>) construct in a Topic Map + * + * @author <a href="mailto:ka...@te...">Kal Ahmed</a> + * @author <a href="mailto:ge...@sm...">Gerd Mueller</a> */ public interface OzoneTopic extends OzoneScopedObject, Topic { Index: OzoneTopicImpl.java =================================================================== RCS file: /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/ozone/OzoneTopicImpl.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** OzoneTopicImpl.java 2001/05/29 17:32:45 1.1 --- OzoneTopicImpl.java 2001/06/01 16:56:15 1.2 *************** *** 1,8 **** /* * You can redistribute this software and/or modify it under the terms of ! * the Infozone Software License version 2 published by the Infozone Group ! * (http://www.infozone-group.org). * ! * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id$ --- 1,7 ---- /* * You can redistribute this software and/or modify it under the terms of ! * the TM4J Software License published with this distribution. * ! * Copyright (C) 2001 Khalil Ahmed, Gerd Mueller. All rights reserved. * * $Id$ *************** *** 41,44 **** --- 40,46 ---- /** * Defines a single topic in the TopicMap. + * + * @author <a href="mailto:ka...@te...">Kal Ahmed</a> + * @author <a href="mailto:ge...@sm...">Gerd Mueller</a> */ public class OzoneTopicImpl extends OzoneScopedObjectImpl implements OzoneTopic { Index: OzoneTopicMap.java =================================================================== RCS file: /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/ozone/OzoneTopicMap.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** OzoneTopicMap.java 2001/05/29 17:32:45 1.1 --- OzoneTopicMap.java 2001/06/01 16:56:15 1.2 *************** *** 1,8 **** /* * You can redistribute this software and/or modify it under the terms of ! * the Infozone Software License version 2 published by the Infozone Group ! * (http://www.infozone-group.org). * ! * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id$ --- 1,7 ---- /* * You can redistribute this software and/or modify it under the terms of ! * the TM4J Software License published with this distribution. * ! * Copyright (C) 2001 Khalil Ahmed, Gerd Mueller. All rights reserved. * * $Id$ *************** *** 26,29 **** --- 25,31 ---- /** * This interface defines the whole Topic Map construct. + * + * @author <a href="mailto:ka...@te...">Kal Ahmed</a> + * @author <a href="mailto:ge...@sm...">Gerd Mueller</a> */ public interface OzoneTopicMap extends OzoneTopicMapObject, TopicMap { Index: OzoneTopicMapFactoryImpl.java =================================================================== RCS file: /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/ozone/OzoneTopicMapFactoryImpl.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** OzoneTopicMapFactoryImpl.java 2001/05/29 17:32:45 1.1 --- OzoneTopicMapFactoryImpl.java 2001/06/01 16:56:15 1.2 *************** *** 1,8 **** /* * You can redistribute this software and/or modify it under the terms of ! * the Infozone Software License version 2 published by the Infozone Group ! * (http://www.infozone-group.org). * ! * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id$ --- 1,7 ---- /* * You can redistribute this software and/or modify it under the terms of ! * the TM4J Software License published with this distribution. * ! * Copyright (C) 2001 Khalil Ahmed, Gerd Mueller. All rights reserved. * * $Id$ *************** *** 32,38 **** /** * Implements the TopicMapFactory interface for creating in-memory Topic Map objects. */ public class OzoneTopicMapFactoryImpl extends Object ! implements TopicMapFactory { public final static String DEFAULT_BASE_URL = "http://topicmap.techquila.com/default"; --- 31,40 ---- /** * Implements the TopicMapFactory interface for creating in-memory Topic Map objects. + * + * @author <a href="mailto:ka...@te...">Kal Ahmed</a> + * @author <a href="mailto:ge...@sm...">Gerd Mueller</a> */ public class OzoneTopicMapFactoryImpl extends Object ! implements TopicMapFactory, java.io.Serializable { public final static String DEFAULT_BASE_URL = "http://topicmap.techquila.com/default"; Index: OzoneTopicMapImpl.java =================================================================== RCS file: /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/ozone/OzoneTopicMapImpl.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** OzoneTopicMapImpl.java 2001/05/29 17:32:45 1.1 --- OzoneTopicMapImpl.java 2001/06/01 16:56:15 1.2 *************** *** 1,8 **** /* * You can redistribute this software and/or modify it under the terms of ! * the Infozone Software License version 2 published by the Infozone Group ! * (http://www.infozone-group.org). * ! * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id$ --- 1,7 ---- /* * You can redistribute this software and/or modify it under the terms of ! * the TM4J Software License published with this distribution. * ! * Copyright (C) 2001 Khalil Ahmed, Gerd Mueller. All rights reserved. * * $Id$ *************** *** 45,48 **** --- 44,50 ---- * The TopicMap is the root container for all of the other topic map objects. * This implementation of the TopicMap interface maintains all indices in memory. + * + * @author <a href="mailto:ka...@te...">Kal Ahmed</a> + * @author <a href="mailto:ge...@sm...">Gerd Mueller</a> */ public class OzoneTopicMapImpl extends OzoneTopicMapObjectImpl Index: OzoneTopicMapObject.java =================================================================== RCS file: /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/ozone/OzoneTopicMapObject.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** OzoneTopicMapObject.java 2001/05/29 17:32:45 1.1 --- OzoneTopicMapObject.java 2001/06/01 16:56:15 1.2 *************** *** 1,8 **** /* * You can redistribute this software and/or modify it under the terms of ! * the Infozone Software License version 2 published by the Infozone Group ! * (http://www.infozone-group.org). * ! * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id$ --- 1,7 ---- /* * You can redistribute this software and/or modify it under the terms of ! * the TM4J Software License published with this distribution. * ! * Copyright (C) 2001 Khalil Ahmed, Gerd Mueller. All rights reserved. * * $Id$ *************** *** 19,23 **** ! /** */ public interface OzoneTopicMapObject extends OzoneRemote, TopicMapObject, PropertyChangeListener { --- 18,26 ---- ! /** ! * ! * @author <a href="mailto:ka...@te...">Kal Ahmed</a> ! * @author <a href="mailto:ge...@sm...">Gerd Mueller</a> ! */ public interface OzoneTopicMapObject extends OzoneRemote, TopicMapObject, PropertyChangeListener { Index: OzoneTopicMapObjectImpl.java =================================================================== RCS file: /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/ozone/OzoneTopicMapObjectImpl.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** OzoneTopicMapObjectImpl.java 2001/05/29 17:32:45 1.1 --- OzoneTopicMapObjectImpl.java 2001/06/01 16:56:15 1.2 *************** *** 1,8 **** /* * You can redistribute this software and/or modify it under the terms of ! * the Infozone Software License version 2 published by the Infozone Group ! * (http://www.infozone-group.org). * ! * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id$ --- 1,7 ---- /* * You can redistribute this software and/or modify it under the terms of ! * the TM4J Software License published with this distribution. * ! * Copyright (C) 2001 Khalil Ahmed, Gerd Mueller. All rights reserved. * * $Id$ *************** *** 14,18 **** import com.techquila.topicmap.TopicMapObject; ! import com.techquila.utils.MultiValuePropertyChangeSupport; import java.util.HashMap; --- 13,17 ---- import com.techquila.topicmap.TopicMapObject; ! import com.techquila.utils.MultiValuePropertyChangeEvent; import java.util.HashMap; *************** *** 24,27 **** --- 23,29 ---- /** + * + * @author <a href="mailto:ka...@te...">Kal Ahmed</a> + * @author <a href="mailto:ge...@sm...">Gerd Mueller</a> */ public abstract class OzoneTopicMapObjectImpl extends OzoneObject *************** *** 30,41 **** final static long serialVersionUID = 1L; - private static boolean useChangeSupport = true; - - /** */ ! protected HashMap m_namedPropertyListeners; ! protected ArrayList m_allPropertyListeners; ! protected transient MultiValuePropertyChangeSupport m_changeSupport; /** */ protected String m_id; --- 32,40 ---- final static long serialVersionUID = 1L; /** */ ! private final static String ALL_PROPERTIES = "__ALL__PROPERTIES__"; ! protected HashMap m_propertyListeners = new HashMap(); + /** */ protected String m_id; *************** *** 45,51 **** /** */ public OzoneTopicMapObjectImpl() { - if (useChangeSupport) { - m_changeSupport = new MultiValuePropertyChangeSupport( this ); - } } --- 44,47 ---- *************** *** 78,114 **** /** */ ! public void addPropertyChangeListener( String propertyName, ! PropertyChangeListener listener ) { ! if (useChangeSupport) { ! m_changeSupport.addPropertyChangeListener( propertyName, listener ); ! ! } else { ! if (m_namedPropertyListeners == null) { ! m_namedPropertyListeners = new HashMap(); ! } ! ! ArrayList propListeners = (ArrayList)m_namedPropertyListeners.get( propertyName ); ! if (propListeners == null) { ! propListeners = new ArrayList(); ! } ! propListeners.add( listener ); ! m_namedPropertyListeners.put( propertyName, propListeners ); ! } } /** */ ! public void addPropertyChangeListener( PropertyChangeListener listener ) { ! if (useChangeSupport) { ! m_changeSupport.addPropertyChangeListener( listener ); ! ! } else { ! if (m_allPropertyListeners == null) { ! m_allPropertyListeners = new ArrayList(); ! } ! if (!m_allPropertyListeners.contains( listener )) { ! m_allPropertyListeners.add( listener ); ! } } } --- 74,92 ---- /** */ ! public void addPropertyChangeListener( PropertyChangeListener listener ) { ! addPropertyChangeListener( ALL_PROPERTIES, listener ); } /** */ ! public void addPropertyChangeListener( String propertyName, ! PropertyChangeListener listener ) { ! ArrayList listeners = (ArrayList)m_propertyListeners.get( propertyName ); ! if (listeners == null) { ! listeners = new ArrayList(); ! m_propertyListeners.put( listeners, propertyName ); } + + listeners.add( propertyName ); } *************** *** 116,123 **** /** */ public void removePropertyChangeListener( PropertyChangeListener listener ) { ! if (useChangeSupport) { ! m_changeSupport.removePropertyChangeListener( listener ); ! } else { ! m_allPropertyListeners.remove( listener ); } } --- 94,100 ---- /** */ public void removePropertyChangeListener( PropertyChangeListener listener ) { ! for (Iterator it = m_propertyListeners.values().iterator(); it.hasNext(); ) { ! ArrayList listeners = (ArrayList)it.next(); ! listeners.remove( listener ); } } *************** *** 127,157 **** public void firePropertyChange( String propertyName, Object oldVal, Object newVal ) { ! ! if (useChangeSupport) { ! m_changeSupport.firePropertyChange( propertyName, oldVal, newVal ); ! ! } else { ! if (m_namedPropertyListeners != null) { ! ArrayList propListeners = (ArrayList)m_namedPropertyListeners.get( propertyName ); ! if (propListeners != null) { ! ! Iterator i = propListeners.iterator(); ! while (i.hasNext()) { ! PropertyChangeListener l = (PropertyChangeListener)i.next(); ! l.propertyChange( new PropertyChangeEvent( ! this, propertyName, oldVal, newVal ) ); ! } ! } ! } ! ! if (m_allPropertyListeners != null) { ! Iterator i = m_allPropertyListeners.iterator(); ! while (i.hasNext()) { ! PropertyChangeListener l = (PropertyChangeListener)i.next(); ! l.propertyChange( new PropertyChangeEvent( ! this, propertyName, oldVal, newVal ) ); ! } ! } ! } } --- 104,111 ---- public void firePropertyChange( String propertyName, Object oldVal, Object newVal ) { ! PropertyChangeEvent event = new PropertyChangeEvent( ! this, propertyName, oldVal, newVal ); ! firePropertyChange( propertyName, event ); ! firePropertyChange( ALL_PROPERTIES, event ); } *************** *** 160,166 **** public void firePropertyChange( String propertyName, Object oldValue, int operation, Object operand, Object newValue ) { ! if (useChangeSupport) { ! m_changeSupport.firePropertyChange( propertyName, oldValue, ! operation, operand, newValue ); } } --- 114,131 ---- public void firePropertyChange( String propertyName, Object oldValue, int operation, Object operand, Object newValue ) { ! MultiValuePropertyChangeEvent event = new MultiValuePropertyChangeEvent( ! this, propertyName, oldValue, operation, operand, newValue ); ! firePropertyChange( propertyName, event ); ! firePropertyChange( ALL_PROPERTIES, event ); ! } ! ! ! /** */ ! private void firePropertyChange( String propertyName, PropertyChangeEvent event ) { ! ArrayList listeners = (ArrayList)m_propertyListeners.get( propertyName ); ! if (listeners != null) { ! for (Iterator it = listeners.iterator(); it.hasNext(); ) { ! ((PropertyChangeListener)it.next()).propertyChange( event ); ! } } } *************** *** 173,176 **** public void propertyChange( PropertyChangeEvent ev ) { } ! } --- 138,141 ---- public void propertyChange( PropertyChangeEvent ev ) { } ! } Index: OzoneTopicMapUtils.java =================================================================== RCS file: /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/ozone/OzoneTopicMapUtils.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** OzoneTopicMapUtils.java 2001/05/29 17:32:45 1.1 --- OzoneTopicMapUtils.java 2001/06/01 16:56:15 1.2 *************** *** 1,8 **** /* * You can redistribute this software and/or modify it under the terms of ! * the Infozone Software License version 2 published by the Infozone Group ! * (http://www.infozone-group.org). * ! * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id$ --- 1,7 ---- /* * You can redistribute this software and/or modify it under the terms of ! * the TM4J Software License published with this distribution. * ! * Copyright (C) 2001 Khalil Ahmed, Gerd Mueller. All rights reserved. * * $Id$ *************** *** 25,28 **** --- 24,30 ---- * * @see TopicMap + * + * @author <a href="mailto:ka...@te...">Kal Ahmed</a> + * @author <a href="mailto:ge...@sm...">Gerd Mueller</a> */ public interface OzoneTopicMapUtils extends OzoneRemote, TopicMapUtils { Index: OzoneTopicMapUtilsImpl.java =================================================================== RCS file: /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/ozone/OzoneTopicMapUtilsImpl.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** OzoneTopicMapUtilsImpl.java 2001/05/29 17:32:45 1.1 --- OzoneTopicMapUtilsImpl.java 2001/06/01 16:56:15 1.2 *************** *** 1,8 **** /* * You can redistribute this software and/or modify it under the terms of ! * the Infozone Software License version 2 published by the Infozone Group ! * (http://www.infozone-group.org). * ! * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id$ --- 1,7 ---- /* * You can redistribute this software and/or modify it under the terms of ! * the TM4J Software License published with this distribution. * ! * Copyright (C) 2001 Khalil Ahmed, Gerd Mueller. All rights reserved. * * $Id$ *************** *** 33,36 **** --- 32,38 ---- * This means that this class may be used as the TopicMapUtils implementation for * any family of Topic Map objects which implement those interfaces. + * + * @author <a href="mailto:ka...@te...">Kal Ahmed</a> + * @author <a href="mailto:ge...@sm...">Gerd Mueller</a> */ public class OzoneTopicMapUtilsImpl extends OzoneObject Index: OzoneVariant.java =================================================================== RCS file: /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/ozone/OzoneVariant.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** OzoneVariant.java 2001/05/29 17:32:45 1.1 --- OzoneVariant.java 2001/06/01 16:56:15 1.2 *************** *** 1,8 **** /* * You can redistribute this software and/or modify it under the terms of ! * the Infozone Software License version 2 published by the Infozone Group ! * (http://www.infozone-group.org). * ! * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id$ --- 1,7 ---- /* * You can redistribute this software and/or modify it under the terms of ! * the TM4J Software License published with this distribution. * ! * Copyright (C) 2001 Khalil Ahmed, Gerd Mueller. All rights reserved. * * $Id$ *************** *** 18,21 **** --- 17,23 ---- /** + * + * @author <a href="mailto:ka...@te...">Kal Ahmed</a> + * @author <a href="mailto:ge...@sm...">Gerd Mueller</a> */ public interface OzoneVariant extends OzoneBaseName, Variant { Index: OzoneVariantImpl.java =================================================================== RCS file: /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/ozone/OzoneVariantImpl.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** OzoneVariantImpl.java 2001/05/29 17:32:45 1.1 --- OzoneVariantImpl.java 2001/06/01 16:56:15 1.2 *************** *** 1,8 **** /* * You can redistribute this software and/or modify it under the terms of ! * the Infozone Software License version 2 published by the Infozone Group ! * (http://www.infozone-group.org). * ! * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id$ --- 1,7 ---- /* * You can redistribute this software and/or modify it under the terms of ! * the TM4J Software License published with this distribution. * ! * Copyright (C) 2001 Khalil Ahmed, Gerd Mueller. All rights reserved. * * $Id$ *************** *** 23,26 **** --- 22,28 ---- /** + * + * @author <a href="mailto:ka...@te...">Kal Ahmed</a> + * @author <a href="mailto:ge...@sm...">Gerd Mueller</a> */ public class OzoneVariantImpl extends OzoneBaseNameImpl Index: OzoneVariantName.java =================================================================== RCS file: /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/ozone/OzoneVariantName.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** OzoneVariantName.java 2001/05/29 17:32:45 1.1 --- OzoneVariantName.java 2001/06/01 16:56:15 1.2 *************** *** 1,8 **** /* * You can redistribute this software and/or modify it under the terms of ! * the Infozone Software License version 2 published by the Infozone Group ! * (http://www.infozone-group.org). * ! * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id$ --- 1,7 ---- /* * You can redistribute this software and/or modify it under the terms of ! * the TM4J Software License published with this distribution. * ! * Copyright (C) 2001 Khalil Ahmed, Gerd Mueller. All rights reserved. * * $Id$ *************** *** 16,20 **** ! /** */ public interface OzoneVariantName extends OzoneTopicMapObject, VariantName { --- 15,23 ---- ! /** ! * ! * @author <a href="mailto:ka...@te...">Kal Ahmed</a> ! * @author <a href="mailto:ge...@sm...">Gerd Mueller</a> ! */ public interface OzoneVariantName extends OzoneTopicMapObject, VariantName { Index: OzoneVariantNameImpl.java =================================================================== RCS file: /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/ozone/OzoneVariantNameImpl.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** OzoneVariantNameImpl.java 2001/05/29 17:32:45 1.1 --- OzoneVariantNameImpl.java 2001/06/01 16:56:15 1.2 *************** *** 1,8 **** /* * You can redistribute this software and/or modify it under the terms of ! * the Infozone Software License version 2 published by the Infozone Group ! * (http://www.infozone-group.org). * ! * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id$ --- 1,7 ---- /* * You can redistribute this software and/or modify it under the terms of ! * the TM4J Software License published with this distribution. * ! * Copyright (C) 2001 Khalil Ahmed, Gerd Mueller. All rights reserved. * * $Id$ *************** *** 17,21 **** import java.net.URL; ! public class OzoneVariantNameImpl extends OzoneTopicMapObjectImpl implements OzoneVariantName { --- 16,24 ---- import java.net.URL; ! /** ! * ! * @author <a href="mailto:ka...@te...">Kal Ahmed</a> ! * @author <a href="mailto:ge...@sm...">Gerd Mueller</a> ! */ public class OzoneVariantNameImpl extends OzoneTopicMapObjectImpl implements OzoneVariantName { |
From: Gerd M. <li...@us...> - 2001-06-01 16:55:40
|
Update of /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/ozone In directory usw-pr-cvs1:/tmp/cvs-serv15598 Added Files: OzoneXTMBuilder.java OzoneXTMBuilderHelper.java OzoneXTMBuilderHelperImpl.java Log Message: - initial check in --- NEW FILE: OzoneXTMBuilder.java --- /* * You can redistribute this software and/or modify it under the terms of * the TM4J Software License published with this distribution. * * Copyright (C) 2001 Khalil Ahmed, Gerd Mueller. All rights reserved. * * $Id: OzoneXTMBuilder.java,v 1.1 2001/06/01 16:55:37 lilli Exp $ */ package com.techquila.topicmap.ozone; import org.ozoneDB.OzoneInterface; import org.ozoneDB.ExternalDatabase; import org.ozoneDB.xml.util.SAXChunkConsumer; import org.ozoneDB.xml.util.SAXChunkProducer; import org.ozoneDB.xml.util.SAXChunkProducerDelegate; import com.techquila.topicmap.TopicMap; import org.xml.sax.InputSource; import org.xml.sax.helpers.ParserAdapter; import org.apache.xerces.parsers.SAXParser; //import javax.xml.parsers.SAXParser; //import javax.xml.parsers.SAXParserFactory; import java.io.File; /** * * @author <a href="mailto:ka...@te...">Kal Ahmed</a> * @author <a href="mailto:ge...@sm...">Gerd Mueller</a> */ public class OzoneXTMBuilder implements SAXChunkProducerDelegate { private OzoneInterface m_database = null; private OzoneXTMBuilderHelper m_helper = null; /** */ public OzoneXTMBuilder( OzoneInterface database ) { m_database = database; } /** */ public TopicMap buildTopicMap( InputSource input ) throws Exception { return buildTopicMap( input, null ); } /** */ public TopicMap buildTopicMap( InputSource input, TopicMap existingTopicMap ) throws Exception { m_helper = (OzoneXTMBuilderHelper)m_database .createObject( OzoneXTMBuilderHelperImpl.class.getName() ); if (existingTopicMap != null) { m_helper.setTopicMap( existingTopicMap ); } SAXChunkProducer producer = new SAXChunkProducer( this ); SAXParser parser = new SAXParser(); //SAXParserFactory.newInstance().newSAXParser(); //ParserAdapter adapter = new ParserAdapter( parser.getParser() ); parser.setContentHandler( producer ); parser.parse( input ); TopicMap result = m_helper.getTopicMap(); m_database.deleteObject( m_helper ); return result; } /** */ public void processChunk( SAXChunkProducer producer ) throws Exception { m_helper.putChunk( producer.chunkStream().toByteArray() ); } /** */ public static void main( String[] args ) throws Exception { if (args.length < 2) { System.out.println( "usage: java OzoneXTMBuilder <database URL> <XTM file>" ); System.exit( 0 ); } if (!new File( args[1] ).exists()) { System.out.println( "File '" + args[1] + "' doesn't exist !" ); System.exit( 0 ); } ExternalDatabase database = ExternalDatabase.openDatabase( args[0] ); OzoneXTMBuilder builder = new OzoneXTMBuilder( database ); TopicMap tm = (TopicMap)database.objectForName( "topicmap" ); boolean newTMap = (tm == null); tm = builder.buildTopicMap( new InputSource( args[1] ), tm ); if (newTMap) { database.nameObject( (OzoneTopicMap)tm, "topicmap" ); } System.out.println( " --> found " + tm.getTopicCount() + " topics" ); database.close(); } } --- NEW FILE: OzoneXTMBuilderHelper.java --- /* * You can redistribute this software and/or modify it under the terms of * the TM4J Software License published with this distribution. * * Copyright (C) 2001 Khalil Ahmed, Gerd Mueller. All rights reserved. * * $Id: OzoneXTMBuilderHelper.java,v 1.1 2001/06/01 16:55:37 lilli Exp $ */ package com.techquila.topicmap.ozone; import org.ozoneDB.OzoneRemote; import com.techquila.topicmap.TopicMap; import org.xml.sax.SAXException; import java.io.IOException; /** * * @author <a href="mailto:ka...@te...">Kal Ahmed</a> * @author <a href="mailto:ge...@sm...">Gerd Mueller</a> */ public interface OzoneXTMBuilderHelper extends OzoneRemote { /** */ public void putChunk( byte[] chunkData ) throws SAXException, IOException; // update /** */ public void setTopicMap( TopicMap topicMap ); // update /** */ public TopicMap getTopicMap(); } --- NEW FILE: OzoneXTMBuilderHelperImpl.java --- /* * You can redistribute this software and/or modify it under the terms of * the TM4J Software License published with this distribution. * * Copyright (C) 2001 Khalil Ahmed, Gerd Mueller. All rights reserved. * * $Id: OzoneXTMBuilderHelperImpl.java,v 1.1 2001/06/01 16:55:37 lilli Exp $ */ package com.techquila.topicmap.ozone; import org.ozoneDB.OzoneObject; import org.ozoneDB.xml.util.SAXChunkConsumer; import com.techquila.topicmap.TopicMap; import com.techquila.topicmap.utils.XTMParser; import com.techquila.topicmap.utils.XTMBuilder; import org.xml.sax.SAXException; import java.io.IOException; /** * * @author <a href="mailto:ka...@te...">Kal Ahmed</a> * @author <a href="mailto:ge...@sm...">Gerd Mueller</a> */ public class OzoneXTMBuilderHelperImpl extends OzoneObject implements OzoneXTMBuilderHelper { private TopicMap m_topicMap = null; transient private SAXChunkConsumer m_consumer = null; transient private XTMBuilder m_builder = null; /** */ public OzoneXTMBuilderHelperImpl() { } /** */ public void putChunk( byte[] chunkData ) throws SAXException, IOException { if (m_consumer == null) { m_builder = (m_topicMap == null) ? new XTMBuilder( new OzoneTopicMapFactoryImpl( database() ) ) : new XTMBuilder( m_topicMap ); m_consumer = new SAXChunkConsumer( new XTMParser( m_builder ) ); } m_consumer.processChunk( chunkData ); } /** */ public void setTopicMap( TopicMap topicMap ) { if (!(topicMap instanceof OzoneTopicMap)) { throw new IllegalArgumentException( "setTopicMap(): Can't mix non ozone topicmap with ozone topicmap !" ); } m_topicMap = topicMap; } /** */ public TopicMap getTopicMap() { return m_builder.getTopicMap(); } } |
From: Gerd M. <li...@us...> - 2001-06-01 16:46:59
|
Update of /cvsroot/tm4j/tm4j/lib In directory usw-pr-cvs1:/tmp/cvs-serv21184 Modified Files: ozone.jar Log Message: - added jta stuff Index: ozone.jar =================================================================== RCS file: /cvsroot/tm4j/tm4j/lib/ozone.jar,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 Binary files /tmp/cvs3uDdMp and /tmp/cvsQc6XZJ differ |
From: Gerd M. <li...@us...> - 2001-05-29 18:08:50
|
Update of /cvsroot/tm4j/tm4j In directory usw-pr-cvs1:/tmp/cvs-serv18716 Modified Files: build.xml Log Message: - added: ozone build stuff Index: build.xml =================================================================== RCS file: /cvsroot/tm4j/tm4j/build.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** build.xml 2001/05/26 14:21:59 1.4 --- build.xml 2001/05/29 18:08:48 1.5 *************** *** 1,248 **** ! <?xml version="1.0"?> ! ! <!-- ! - ANT build file for TM4J ! - ! - $Id$ ! --> ! ! <project name="TM4J" default="usage"> ! ! <target name="usage"> ! <echo message=""/> ! <echo message=""/> ! <echo message="TM4J Build file"/> ! <echo message="Requires ANT 1.3 or later."/> ! <echo message="-------------------------------------------------------------"/> ! <echo message=""/> ! <echo message=" available targets are:"/> ! <echo message=""/> ! <echo message=" all --> generates tm4j.jar, tmnav.jar, tmp3.jar and the docs"/> ! <echo message=" tm4j-build --> compiles the tm4j source code"/> ! <echo message=" tm4j-jar --> generates the tm4j JAR file"/> ! <echo message=" tm4j-clean --> cleans up compiled classes"/> ! <echo message=" tmnav-build --> compiles the tmnav source code"/> ! <echo message=" tmnav-jar --> generates the tmnav JAR file"/> ! <echo message=" tmnav-clean --> cleans up compiled classes"/> ! <echo message=" tmp3-build --> compiles the tmp3 source code"/> ! <echo message=" tmp3-jar --> generates the tmp3 JAR file"/> ! <echo message=" tmp3-clean --> cleans up compiled classes"/> ! <echo message=" distrib-all --> generates the TM4J source and binary distributions"/> ! <echo message=" clean-all --> cleans up all compiled classes"/> ! <echo message=" usage --> show this message (default)"/> ! <echo message=""/> ! <echo message="-------------------------------------------------------------"/> ! <echo message=""/> ! <echo message=""/> ! </target> ! ! <target name="init"> ! <property name="std-excludes" value="**/*.old,**/*.scc,**/makefile"/> ! <property name="dist" value="./build"/> ! <property name="classdir" value="${dist}/classes"/> ! <property name="jre-dir" value="/usr/local/java/jdk1.3/jre"/> ! <property name="xerces-jar" value="lib/xerces.jar"/> ! <property name="junit-jar" value="lib/junit.jar"/> ! <mkdir dir="${dist}"/> ! <mkdir dir="${dist}/bin"/> ! <mkdir dir="${dist}/lib"/> ! <mkdir dir="${dist}/docs"/> ! <mkdir dir="${dist}/docs/javadoc"/> ! <mkdir dir="${classdir}"/> ! ! <available property="brain.present" classname="com.natrificial.db.core.Knowledge"/> ! </target> ! ! <target name="all" depends="init"> ! <antcall target="tm4j-jar"/> ! <antcall target="tmnav-jar"/> ! <antcall target="tmp3-jar"/> ! <antcall target="doc"/> ! </target> ! ! <target name="clean-all"> ! <antcall target="tm4j-clean"/> ! <antcall target="tmnav-clean"/> ! <antcall target="tmp3-clean"/> ! </target> ! ! <patternset id="readmes"> ! <include name="README.txt, LICENSE.txt"/> ! </patternset> ! ! <patternset id="bin-distrib"> ! <include name="${dist}/docs/**"/> ! <include name="${dist}/lib/*.jar"/> ! </patternset> ! ! <patternset id="src-distrib"> ! <include name="${dist}/bin/**, ${dist}/docs/**, ${dist}/jars/**, build.*"/> ! </patternset> ! ! <target name="distrib-all" depends="init"> ! <antcall target="all"/> ! <copy todir="${dist}/docs"> ! <fileset dir="docs"/> ! </copy> ! <copy todir="${dist}/src"> ! <fileset dir="src" ! includes="**/*.java" ! excludes="tests/**, CVS/**"/> ! </copy> ! <copy todir="${dist}/bin"> ! <fileset dir="bin" ! excludes="CVS/**"/> ! </copy> ! <copy todir="${dist}/lib"> ! <fileset dir="lib" ! excludes="CVS/**"/> ! </copy> ! <copy todir="${dist}"> ! <fileset dir="." includes="build.xml, README.txt, LICENSE.txt"/> ! </copy> ! ! <tar tarfile="${dist}/tm4j-bin-${version}.tar" ! basedir="${dist}"> ! <include name="lib/**"/> ! <include name="docs/**"/> ! <include name="*.txt"/> ! </tar> ! <gzip src="${dist}/tm4j-bin-${version}.tar" ! zipfile="${dist}/tm4j-bin-${version}.tar.gz"/> ! <delete file="${dist}/tm4j-bin-${version}.tar"/> ! ! <tar tarfile="${dist}/tm4j-src-${version}.tar" ! basedir="${dist}"> ! <include name="src/**"/> ! <include name="docs/**"/> ! <include name="*.txt"/> ! <include name="build.xml"/> ! </tar> ! <gzip src="${dist}/tm4j-src-${version}.tar" ! zipfile="${dist}/tm4j-src-${version}.tar.gz"/> ! <delete file="${dist}/tm4j-src-${version}.tar"/> ! ! </target> ! ! ! <target name="doc"> ! <javadoc ! sourcepath="src" ! classpath="${xerces-jar}" ! destdir="${dist}/docs/javadoc" ! packagenames="com.techquila.utils, ! com.techquila.topicmap, ! com.techquila.topicmap.cmd, ! com.techquila.topicmap.utils" ! author="true" ! version="true" ! protected="true" ! windowtitle="TM4J API Documentation" ! /> ! </target> ! ! <!-- TM4J Project --> ! <patternset id="tm4j.sources"> ! <include name="com/techquila/topicmap/*.java"/> ! <include name="com/techquila/topicmap/cmd/*.java"/> ! <include name="com/techquila/topicmap/utils/*.java"/> ! <include name="com/techquila/utils/*.java"/> ! </patternset> ! ! <patternset id="tm4j.classes"> ! <include name="com/techquila/topicmap/*.class"/> ! <include name="com/techquila/topicmap/cmd/*.class"/> ! <include name="com/techquila/topicmap/utils/*.class"/> ! <include name="com/techquila/utils/*.class"/> ! </patternset> ! ! <target name="tm4j-build" depends="init"> ! <javac srcdir="src" ! classpath="${xerces-jar};${junit-jar}" ! destdir="${classdir}"> ! <patternset refid="tm4j.sources"/> ! </javac> ! </target> ! ! <target name="tm4j-clean" depends="init"> ! <delete> ! <fileset dir="${classdir}"> ! <patternset refid="tm4j.classes"/> ! </fileset> ! </delete> ! </target> ! ! <target name="tm4j-jar" ! depends="tm4j-build"> ! <jar jarfile="${dist}/lib/tm4j.jar"> ! <fileset dir="${classdir}"> ! <patternset refid="tm4j.classes"/> ! </fileset> ! </jar> ! </target> ! ! <target name="build-tests" depends="tm4j-build"> ! <javac srcdir="src" destdir="${classdir}" ! includes="com/techquila/topicmap/test/**"/> ! </target> ! ! <target name="clean" depends="init"> ! <antcall target="tm4j-clean"/> ! <antcall target="tmp3-clean"/> ! <antcall target="tmnav-clean"/> ! </target> ! ! <!-- TMNAV PROJECT --> ! <patternset id="tmnav.sources"> ! <include name="com/techquila/tmnav/*.java"/> ! <include name="com/techquila/tmnav/brain/*.java"/> ! <exclude name="com/techquila/tmnav/TMNav.java"/> ! </patternset> ! ! <patternset id="tmnav.classes"> ! <include name="com/techquila/tmnav/*.class"/> ! <include name="com/techquila/tmnav/brain/*.class"/> ! </patternset> ! ! <target name="tmnav-build" depends="tm4j-build" if="brain.present"> ! <javac srcdir="src" destdir="${classdir}"> ! <patternset refid="tmnav.sources"/> ! </javac> ! </target> ! ! <target name="tmnav-jar" depends="tmnav-build" if="brain.present"> ! <echo>BrainSDK detected. Building TMNav.</echo> ! <jar jarfile="${dist}/lib/tmnav.jar" ! basedir="${classdir}"> ! <patternset refid="tmnav.classes"/> ! </jar> ! </target> ! ! <target name="tmnav-clean" depends="init"> ! <delete dir="${classdir}/com/techquila/tmnav"/> ! </target> ! ! <!-- TMP3 PROJECT --> ! <patternset id="tmp3.classes"> ! <include name="com/techquila/tmp3/*.class"/> ! </patternset> ! ! <target name="tmp3-build" depends="tm4j-build"> ! <javac srcdir="src" destdir="${classdir}" ! includes="com/techquila/tmp3/**"/> ! </target> ! ! <target name="tmp3-jar" depends="tmp3-build"> ! <jar jarfile="${dist}/lib/tmp3.jar"> ! <fileset dir="${classdir}"> ! <patternset refid="tmp3.classes"/> ! </fileset> ! </jar> ! </target> ! ! <target name="tmp3-clean" depends="init"> ! <delete dir="${classdir}/com/techquila/tmp3"/> ! <delete file="${dist}/lib/tmp3.jar"/> ! </target> ! ! </project> \ No newline at end of file --- 1,365 ---- ! <?xml version="1.0"?> ! ! <!-- ! - ANT build file for TM4J ! - ! - $Id$ ! --> ! ! <project name="TM4J" default="usage"> ! ! <!-- classpath that includes the lib dir, needed for java tasks --> ! <path id="project.class.path"> ! <pathelement path="${java.class.path}"/> ! <fileset dir="lib"> ! <include name="**/*.jar"/> ! </fileset> ! <pathelement location="build/classes"/> ! </path> ! ! <target name="usage"> ! <echo message=""/> ! <echo message=""/> ! <echo message="TM4J Build file"/> ! <echo message="Requires ANT 1.3 or later."/> ! <echo message="-------------------------------------------------------------"/> ! <echo message=""/> ! <echo message=" available targets are:"/> ! <echo message=""/> ! <echo message=" all --> generates tm4j.jar, tmnav.jar, tmp3.jar and the docs"/> ! <echo message=" tm4j-build --> compiles the tm4j source code"/> ! <echo message=" tm4j-jar --> generates the tm4j JAR file"/> ! <echo message=" tm4j-clean --> cleans up compiled classes"/> ! <echo message=" tmnav-build --> compiles the tmnav source code"/> ! <echo message=" tmnav-jar --> generates the tmnav JAR file"/> ! <echo message=" tmnav-clean --> cleans up compiled classes"/> ! <echo message=" tmp3-build --> compiles the tmp3 source code"/> ! <echo message=" tmp3-jar --> generates the tmp3 JAR file"/> ! <echo message=" tmp3-clean --> cleans up compiled classes"/> ! <echo message=" ozone-base --> compiles the ozone source code"/> ! <echo message=" ozone-build --> compiles the ozone source code including the proxies"/> ! <echo message=" ozone-jar --> generates the ozone JAR file"/> ! <echo message=" ozone-clean --> cleans up compiled classes"/> ! <echo message=" ozone-install --> intializes a ozone database"/> ! <echo message=" ozone-run --> runs a ozone server"/> ! <echo message=" distrib-all --> generates the TM4J source and binary distributions"/> ! <echo message=" clean-all --> cleans up all compiled classes"/> ! <echo message=" usage --> show this message (default)"/> ! <echo message=""/> ! <echo message="-------------------------------------------------------------"/> ! <echo message=""/> ! <echo message=""/> ! </target> ! ! <target name="init"> ! <property name="std-excludes" value="**/*.old,**/*.scc,**/makefile"/> ! <property name="dist" value="./build"/> ! <property name="classdir" value="${dist}/classes"/> ! <property name="srcdir" value="./src"/> ! <property name="jre-dir" value="/usr/local/java/jdk1.3/jre"/> ! <property name="xerces-jar" value="lib/xerces.jar"/> ! <property name="junit-jar" value="lib/junit.jar"/> ! ! <property name="ozoneDB.dir" value="db"/> ! <property name="ozoneDB.port" value="3333"/> ! <property name="ozoneDB.adminPort" value="3000"/> ! ! <mkdir dir="${dist}"/> ! <mkdir dir="${dist}/bin"/> ! <mkdir dir="${dist}/lib"/> ! <mkdir dir="${dist}/docs"/> ! <mkdir dir="${dist}/docs/javadoc"/> ! <mkdir dir="${classdir}"/> ! ! <available property="brain.present" classname="com.natrificial.db.core.Knowledge"/> ! </target> ! ! <target name="all" depends="init"> ! <antcall target="tm4j-jar"/> ! <antcall target="tmnav-jar"/> ! <antcall target="tmp3-jar"/> ! <antcall target="doc"/> ! </target> ! ! <target name="clean-all"> ! <antcall target="tm4j-clean"/> ! <antcall target="tmnav-clean"/> ! <antcall target="tmp3-clean"/> ! </target> ! ! <patternset id="readmes"> ! <include name="README.txt, LICENSE.txt"/> ! </patternset> ! ! <patternset id="bin-distrib"> ! <include name="${dist}/docs/**"/> ! <include name="${dist}/lib/*.jar"/> ! </patternset> ! ! <patternset id="src-distrib"> ! <include name="${dist}/bin/**, ${dist}/docs/**, ${dist}/jars/**, build.*"/> ! </patternset> ! ! <target name="distrib-all" depends="init"> ! <antcall target="all"/> ! <copy todir="${dist}/docs"> ! <fileset dir="docs"/> ! </copy> ! <copy todir="${dist}/src"> ! <fileset dir="src" ! includes="**/*.java" ! excludes="tests/**, CVS/**"/> ! </copy> ! <copy todir="${dist}/bin"> ! <fileset dir="bin" ! excludes="CVS/**"/> ! </copy> ! <copy todir="${dist}/lib"> ! <fileset dir="lib" ! excludes="CVS/**"/> ! </copy> ! <copy todir="${dist}"> ! <fileset dir="." includes="build.xml, README.txt, LICENSE.txt"/> ! </copy> ! ! <tar tarfile="${dist}/tm4j-bin-${version}.tar" ! basedir="${dist}"> ! <include name="lib/**"/> ! <include name="docs/**"/> ! <include name="*.txt"/> ! </tar> ! <gzip src="${dist}/tm4j-bin-${version}.tar" ! zipfile="${dist}/tm4j-bin-${version}.tar.gz"/> ! <delete file="${dist}/tm4j-bin-${version}.tar"/> ! ! <tar tarfile="${dist}/tm4j-src-${version}.tar" ! basedir="${dist}"> ! <include name="src/**"/> ! <include name="docs/**"/> ! <include name="*.txt"/> ! <include name="build.xml"/> ! </tar> ! <gzip src="${dist}/tm4j-src-${version}.tar" ! zipfile="${dist}/tm4j-src-${version}.tar.gz"/> ! <delete file="${dist}/tm4j-src-${version}.tar"/> ! ! </target> ! ! ! <target name="doc"> ! <javadoc ! sourcepath="src" ! classpath="${xerces-jar}" ! destdir="${dist}/docs/javadoc" ! packagenames="com.techquila.utils, ! com.techquila.topicmap, ! com.techquila.topicmap.cmd, ! com.techquila.topicmap.utils" ! author="true" ! version="true" ! protected="true" ! windowtitle="TM4J API Documentation" ! /> ! </target> ! ! <!-- TM4J Project --> ! <patternset id="tm4j.sources"> ! <include name="com/techquila/topicmap/*.java"/> ! <include name="com/techquila/topicmap/cmd/*.java"/> ! <include name="com/techquila/topicmap/utils/*.java"/> ! <include name="com/techquila/utils/*.java"/> ! </patternset> ! ! <patternset id="tm4j.classes"> ! <include name="com/techquila/topicmap/*.class"/> ! <include name="com/techquila/topicmap/cmd/*.class"/> ! <include name="com/techquila/topicmap/utils/*.class"/> ! <include name="com/techquila/utils/*.class"/> ! </patternset> ! ! <target name="tm4j-build" depends="init"> ! <javac srcdir="src" ! classpath="${xerces-jar};${junit-jar}" ! destdir="${classdir}"> ! <patternset refid="tm4j.sources"/> ! </javac> ! </target> ! ! <target name="tm4j-clean" depends="init"> ! <delete> ! <fileset dir="${classdir}"> ! <patternset refid="tm4j.classes"/> ! </fileset> ! </delete> ! </target> ! ! <target name="tm4j-jar" ! depends="tm4j-build"> ! <jar jarfile="${dist}/lib/tm4j.jar"> ! <fileset dir="${classdir}"> ! <patternset refid="tm4j.classes"/> ! </fileset> ! </jar> ! </target> ! ! <target name="build-tests" depends="tm4j-build"> ! <javac srcdir="src" destdir="${classdir}" ! includes="com/techquila/topicmap/test/**"/> ! </target> ! ! <target name="clean" depends="init"> ! <antcall target="tm4j-clean"/> ! <antcall target="tmp3-clean"/> ! <antcall target="tmnav-clean"/> ! </target> ! ! <!-- TMNAV PROJECT --> ! <patternset id="tmnav.sources"> ! <include name="com/techquila/tmnav/*.java"/> ! <include name="com/techquila/tmnav/brain/*.java"/> ! <exclude name="com/techquila/tmnav/TMNav.java"/> ! </patternset> ! ! <patternset id="tmnav.classes"> ! <include name="com/techquila/tmnav/*.class"/> ! <include name="com/techquila/tmnav/brain/*.class"/> ! </patternset> ! ! <target name="tmnav-build" depends="tm4j-build" if="brain.present"> ! <javac srcdir="src" destdir="${classdir}"> ! <patternset refid="tmnav.sources"/> ! </javac> ! </target> ! ! <target name="tmnav-jar" depends="tmnav-build" if="brain.present"> ! <echo>BrainSDK detected. Building TMNav.</echo> ! <jar jarfile="${dist}/lib/tmnav.jar" ! basedir="${classdir}"> ! <patternset refid="tmnav.classes"/> ! </jar> ! </target> ! ! <target name="tmnav-clean" depends="init"> ! <delete dir="${classdir}/com/techquila/tmnav"/> ! </target> ! ! <!-- TMP3 PROJECT --> ! <patternset id="tmp3.classes"> ! <include name="com/techquila/tmp3/*.class"/> ! </patternset> ! ! <target name="tmp3-build" depends="tm4j-build"> ! <javac srcdir="src" destdir="${classdir}" ! includes="com/techquila/tmp3/**"/> ! </target> ! ! <target name="tmp3-jar" depends="tmp3-build"> ! <jar jarfile="${dist}/lib/tmp3.jar"> ! <fileset dir="${classdir}"> ! <patternset refid="tmp3.classes"/> ! </fileset> ! </jar> ! </target> ! ! <target name="tmp3-clean" depends="init"> ! <delete dir="${classdir}/com/techquila/tmp3"/> ! <delete file="${dist}/lib/tmp3.jar"/> ! </target> ! ! <!-- ozone PROJECT --> ! <patternset id="ozone.sources"> ! <include name="com/techquila/topicmap/ozone/*.java"/> ! </patternset> ! ! <patternset id="ozone.classes"> ! <include name="com/techquila/topicmap/ozone/*.class"/> ! </patternset> ! ! <!-- compile only the implementation --> ! <target name="ozone-base" depends="tm4j-build"> ! <javac srcdir="src" ! classpathref="project.class.path" ! destdir="${classdir}" ! > ! <patternset refid="ozone.sources"/> ! </javac> ! </target> ! ! ! <!-- compile also the proxies --> ! <target name="ozone-build" depends="ozone-base"> ! <property name="proxies" value=" ! com.techquila.topicmap.ozone.OzoneTopicMapObjectImpl ! com.techquila.topicmap.ozone.OzoneScopedObjectImpl ! com.techquila.topicmap.ozone.OzoneScopeImpl ! com.techquila.topicmap.ozone.OzoneMemberImpl ! com.techquila.topicmap.ozone.OzoneVariantNameImpl ! com.techquila.topicmap.ozone.OzoneVariantImpl ! com.techquila.topicmap.ozone.OzoneBaseNameImpl ! com.techquila.topicmap.ozone.OzoneOccurrenceImpl ! com.techquila.topicmap.ozone.OzoneTopicImpl ! com.techquila.topicmap.ozone.OzoneTopicMapImpl ! com.techquila.topicmap.ozone.OzoneAssociationImpl ! com.techquila.topicmap.ozone.OzoneTopicMapUtilsImpl ! "/> ! ! <!-- generate proxies --> ! <java classname="org.ozoneDB.tools.OPP.OPP" ! classpathref="project.class.path" ! fork="yes"> ! <jvmarg value="-Dozone.javac=javac"/> ! <arg line="-KS -st"/> ! <arg value="-o${srcdir}/com/techquila/topicmap/ozone"/> ! <arg line="${proxies}"/> ! </java> ! ! <!-- compile all the previously generated proxies --> ! <javac srcdir="${srcdir}" ! classpathref="project.class.path" ! destdir="${classdir}" ! includes="com/techquila/topicmap/ozone/*_Proxy.java"> ! </javac> ! </target> ! ! <target name="ozone-jar" depends="ozone-build"> ! <jar jarfile="${dist}/lib/tmozone.jar" ! basedir="${classdir}"> ! <patternset refid="ozone.classes"/> ! </jar> ! </target> ! ! <target name="ozone-clean" depends="init"> ! <delete> ! <fileset dir="${classdir}"> ! <patternset refid="ozone.classes"/> ! </fileset> ! </delete> ! </target> ! ! <target name="ozone-install" depends="init"> ! <delete dir="${ozoneDB.dir}"/> ! <java classname="org.ozoneDB.tools.Install" ! classpathref="project.class.path" ! fork="yes"> ! <jvmarg line="-DozoneDB.port=${ozoneDB.port} -DozoneDB.adminPort=${ozoneDB.adminPort}"/> ! <arg line="-d${ozoneDB.dir}"/> ! </java> ! </target> ! ! <target name="ozone-run" depends="init"> ! <java classname="org.ozoneDB.core.Server" ! classpathref="project.class.path" ! fork="no"> ! <arg line="-d${ozoneDB.dir} -u${user.name}"/> ! </java> ! </target> ! ! <!--target name="ozoneTest" depends="init"> ! <java classname="com.techquila.topicmap.ozone.XTMReaderImpl" ! classpathref="project.class.path"> ! <arg value="ozonedb:local:${ozoneDB.dir}"/> ! <arg value="resource/tests/music-xtm.xml"/> ! </java> ! </target--> ! ! </project> |
From: Gerd M. <li...@us...> - 2001-05-29 17:49:47
|
Update of /cvsroot/tm4j/tm4j/lib In directory usw-pr-cvs1:/tmp/cvs-serv13811 Modified Files: xerces.jar Added Files: LICENSE.ozone jakarta-regexp.jar ozone.jar Log Message: --- NEW FILE: LICENSE.ozone --- The Ozone Database Project http://www.ozone-db.org mailto:oz...@oz... Included in the ozone distribution is code and documentation made available by other copyright holders and under different licenses. All these licenses allow worldwide, royalty free distribution, whether alone or as part of a larger product. License, copyright and disclaimer of these software is included in this directory. Ozone Library License, Version 1 ================================ The original code and portions created by SMB are Copyright (C) 1997-2000 by SMB GmbH, Rohrteichstr. 18, 04347 Leipzig, Germany, http://www.softwarebuero.de. All rights reserved. This library is free software; you can redistribute it and/or modify it provided that the terms of the GNU Library General Public License as published by the Free Software Foundation version 2 of the License; and the following terms are met. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. All advertising materials mentioning features or use of this software must display the following acknowledgment: "This product includes software developed by the Ozone Database Project (http://www.ozone-db.org/)." The name "ozone" must not be used to endorse or promote software products derived from this software without prior written permission of SMB. Software products derived from this software may not be called "ozone" nor may "ozone" appear in their names. without prior written permission of SMB. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN- TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. Ozone Core License, Version 1 ================================ The original code and portions created by SMB are Copyright (C) 1997-2000 by SMB GmbH, Rohrteichstr. 18, 04347 Leipzig, Germany, http://www.softwarebuero.de. All rights reserved. This program is free software; you can redistribute it and/or modify it provided that the terms of the GNU General Public License as published by the Free Software Foundation version 2 of the License; and the following terms are met. All advertising materials mentioning features or use of this software must display the following acknowledgment: "This product includes software developed by the Ozone Database Project (http://www.ozone-db.org/)." The name "ozone" must not be used to endorse or promote software products derived from this software without prior written permission of SMB. Software products derived from this software may not be called "ozone" nor may "ozone" appear in their names. without prior written permission of SMB. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details --- NEW FILE: jakarta-regexp.jar --- PK Ná¢xÁK= ñ¢/)hÂË+8)Ä ôú0 ËB¼åÃÞôáF}¸4¼îÃûxÍð¶@²BäpÅû°7¼Zú0D ûXL°ygÒÌXz/¨6OåÒò¼eólV7 µáxµl}Es¸u4GOªÃäE*Xn÷24WAK¸NWíSä-wK4®v ¶áÈñpdtY[ÑbiÍHŦ[7R½ãUp$1ÄT jHOT[xq|~'Þª|Gø°ö08[\ä6áªâ¦i\â1êµ*69<a)[ËôT«¡Âêw$BÇ\ÔÖE®<çnèN?8d.pÃá¶¡¥UnÛ¦-:X?ª|,çö´6&(Pô¯± rîP^ÈèôæÓt _¥RÎaÆ1bd;tè޳ʳü².¦ÖGË㫺±DZ¨ºÔw"OrKøig²ZÇi²JC¦^²Á-Ãû+OT«G³,n,ÐTP*çujMqç`nUJ%îiEe®¨)§Åpô©V46ÅløïPïê¬>+Ùµ¬Ã3bO/Ùæjñ<in¤%ª-£éK¨Ú8 @~OþÏ´1f-ÞÔ¾r«ø¨\Í£Zk-ÑHê}aMÓ©#æ¼(¡Î1¯ð|¹²c·ÒÎññEÁiúÃø¿"9MO§he´ÖFw >¤ ÃUr^¤1VD]#¨Aw!4»3£Ñ½P¢{µÖ=Ôÿ°ß¿¨{î¾-v-êjnvÇk!8Û¹ó;hñ×oãì6:âµt@èý.ÒkHë ¨%Âï)Ûöçâ©G º-.»{¼[H¼Éº:Þ»8W¶ÐTð^'¼+¥ØµKOþ*÷Í~¥mÝËÞ ¼·ñdSø¥ÐÑ2î&¼SÐG*YzËç¢[àce°@j ØF1; Î@<Ø¡ÇC]¾Xgò:K³ö8ëX<¦Ã]N#nÌÔ1`®ë@{ ÔûõiLùiª_¯¬«QýUµg±*×0å¡¿:5º¡ÐiÃn¨c²éìº4í¦.½-êLDâØôLÞ*ÐcáDg«Þ"¾`Òãbð`tmÑpNÖÅJ#Ð gènôF`ÜÈBñ3 §Wol uºÛËÖÄ£¡îö &s ×1¯È*3!ý²D[WwU}ÐÈb -ueĸAÚîH"!F ËdyYµøÙ¼!ÃVcxc4ÇÂ5Ȫç¨EÅCìªmÙÅZ(îÎ(þ¼³_âÂì¬âáh{Y veQ£[QVW¹:nÂÚaS§Ç7)MIӲѳíÉ,ÿwÍjÓ0=;/íµÑë¾dr+Dª¸¸9˪gueLq²è(><]æû²}º¾¬|EuC]å$]Ï*àû¢_ý!JÊ3ʹBÝ¡øô §U[ ¦¨Nè¨ï=(ñ@§nD£á¨äo~EÙè¯ t& î®0+¤m[¨»UJLáÒEè2˳9*EH8+{F$*Ô¢ÊÞHÔÅÐÓêùËÊëË«¥êÕÖ,Î*¬u«]-F´>ÐÒi²fÚPºJº'ë>e¦)YKD{zu uÎWäJ¾UÖ¥Ò{=ÒêÇÁ ÜmKtgÒPê°J^«^x#½F² Îæ Û £0skªõ@wUÌt^ï0ôDw¦¶f¨«ci¦,ª3ÚC(ïQL:fM0Ä-QV²æñá\ND>,ÖcCD'1ÍkÚ ¿néÖKCëõfsÖOG·,wÅÃerÀ´AÏÌxo|ýt¤YãÁ gQÚëé ĺ§Å±vvóècT[sâw½i=àkÁÉÀ×b&ͶpXP{ éìVO x]$5é ÑÝ }B³FrÍ åq_ `ÉævLfN°3ÃJ8Vp`úT+]&¢8ãõ¸!Ô:;Cy{kB á`¬,µúp[Ñè¤&Î4z±%hhhÄMfM"s¥rðsÚ:±XÛnÄkcØðÑ1ï0<ݬ4´G/ÞtâXÏhµäçÐsÛ=´ñfÉÆ4oTNµ<,É`Å"-gQÒ ª3¼E²<íÒçúÙ²}ö®³æ©ï{¬2£udmrÌJ@{t¶¤Ge#Wd¢`ÒWäøÜ²q%tNá`NDVk±Öñ] %.MJ'gLc³!¸<¦ê°ÂÆ´JC4qMt'âa¸o´wW,h+º±[Üd¤¨ZÌÌ[¬Äë!ÖÒÆk¸Xö È@ÉΫÁtJt;q¼Dã±ÆP¼CqѪP7}Vñpz5`ÌáØ$'Rm¬è-aÛ*¨¥¤ëæÍiÞ8kð&V¸Äã Ïcy ¥×èMªKmìgt `ßÿ£Ýß t¶Ñ à´~B»èàÓø¾ÞßF¿¦½ô6ü&ù§t1VN^¬wCgÆ &)nIN<F 5èöf²Áój¯#¤Ûûé&©S¬Ë÷æ{¦Ã¦}4ÝçÉËÄ\±« Iß2Öø~Û ÿ«ðÒü¾~æ/°$.È.!¤]ÙS²*%Ûå9/c¼· eËç¹XTó1¶Ï+´¾¨pýÙç!ò=s̺¥´,£tâ }ß;1\ÌqÓâäA¤g©ò2ÏÝO2³´ä\n ÆB FMÚ×ú12CÁÆÏ³\2JéÇ5Ø36côN7¹MCî?Câ g~býtÐçqZ~ûú]qhÂ}Ù:|yÅÆ n/5¤Wû-¹Y"WhEBjÑÛ dLKÌNIßiKÌnÅó_Þ=@ý4Úï<@¹^ç)ÿ¡HgB´ FéF:=LF¤Ù°%ÖeÍF[¾YÚ#3(OÛòlr î +lOk¥Ú,ª3q]ÁëµíÚîtæià4ÒØG#¹ÆòÍ¥4gB¶Çá,Úe.wð\ú6_Dð<ú>ϧ$/ S|1=Ãé}à?ð:ð/åI\Á%¼çr%.Ëx=/ǯ¯ånåZnç+ð ©ã¯åÍÜÈ;¹÷Bâ!¾ï×câ§x¿«îK¸Æ~+íiàµåqÄæâM¶î³ã¶É|o´Uò6Ûå¼ÓfßÁ7Û6ðÛn¾ÅvïµÝÍ·Ûç;mÇù[¶ó]¶§y~ßµ½È÷Ú^ãloñC¶wøí~ØÃì±{øqû>j_Ê'ìU|Ò^ϧì½ü}7?c?Úsy_´ÿ°¿Ì/ÙßäWíïñöOùUø-ÍÉokS§ñ{Z)ïÓfñûÚþ@«âßjµè×ñZ=¤mäµMè÷q¶kwðiínà{øSmÀFÚ;|>1Ï?ÆùGòÿÿÔPÃPç>Ãn)s%V³SKm9Ó%qøÑmÕòU l ó¹¤ÀIÚÙ-«D{)*YfBM?åù<¥¢OX8ÆúÏ«±&ÅÝ´}ÆtÙ;#s~ß¿ôù]%§2Ýßwp¥û®÷ãjÓO+é GéÔK¸0=-Çi'=?¢{én¬C<s¯j=HÁü3+Ò§Iÿ7 ß´)ýì¡Zs]Ê|ÜLý/nçgLÆá׬?á¢q7O@îa[JùZ(îûb îs¡{¢(F©ë*8´Xî´ñijн>¨ß#[Ìv¤w.nºv¤¨°¶f\ö¯>ä½Õõô{ë&D!$TëWáµpíJg.àRHöÃÞOöa> p¥ÚöuCÂQ$0OÿPKBzlr $År ôcì¢ÓLÚ t}Ìà[ÌëêÒà jð²§4xEßhð[ ^ÓàM þ Á5øokðg ÞÑà} >Ðà/ü]4økð _jð_kðÿÖ4D -öÕÐa¶Ñp¼35¥á ^¤á·á´áy6eÃÑ6̳a¾ ½6¼ÀSl8ÕÓl8ÝSa«¦3(b0.³¶1À³àr;Ìív WpžÏ`fÀ¸â*Wg¸Áµ®cp=rí vÿÃcüÉüÁN»ÜÄàfË-ÜìV·ñv3ØÃäí,r÷r'w1ØË=·eÈ>w³È~÷0ù¹×@;îãîïçÙ?À"rÛ.ýÁîù!®}Ø'¡Ác^`pÁè¢ pÁÓ~å Ýø r kmpÚì2dÁ»ì¿v`oxÊNxÔ}¸ yýi 7ÐhSZUb`ýø´p$/¦½aúÌñ=µþÀúX&B}¨÷ÇüV°@¿¹¡·Îå²'FIÉ5D[b!O´)Dì Bs $åVÒ]ÂðGFÇ=µ!O¤¥¡Á_Û@rª$$U4ÇýøRCÑ¥U%kæÌ.Y°¸t.uÌTIùìª*£¦¤rá¢òÒå´0¦Î®Z@ªXÚØßìÆ<-|c8âÉ5,møBTM³§YßS{ik ÔÓx¨Ö&:zjÐ+UDýC»3x¬X¸®D¶>77Ñ-N1ÅØèoi嵡í£, ÅJx!Þæ2w¬<EcÃh¼²H¢Õ¢Êª²åglä¹%7GâþVêº< UèC/I컫'{t'-ñpøùþæú8Ëß¹0ÜÜè¾¥ö³/±©®!}Bgqü¤WܤģIå¡ó¬¨¼°tMEåâ ³ËITuyùì9å¥IzI%öÒRªïVôB+mqéâÊÙ«¢-±@hn׿$õ4ú#gJ)l³'¯!Ü{ÂÍ ãóÉ?UGB©5O|©"Dó®õ#M-t¬M5:Ë5úìAîêHz¯LåTwSË3L¬*a@jåohæ$¦M5iêiÅVSSH·7,æß6m&;òÇ£,SK'ºv%¥v£TÊ-zÄ\òÍ4ÃtõÂp$MT6QCATÅý1"Y©¶DÜV«MÍÑJÅH ¼°Ù$ÁÃ{¥V[X¬-uü@$k`NâXcX 52²" IkH·`®hm"u¼<yË&7£ôU7ª IçmáH ¡ K&K<Ö`§í fVÊVÆrÍ&Fì6äiÏÒ\£E4M¶¥¦y ;¤\màᥫÊpFý{!Ýe77ÇCÉùv·V:æ6égÁÅæÄùÉVÂ^ËÌ»a%F]6ÐÒÝÄãd6ú[Óº§eFªkUDwÚvFÔ[Hï_×Ñ~= &ÒýsE,òbçª2ðìsL=ÕVéÐt VÝyeTh¦ÙÓÔmMþ8«mBm9kUSKHêÆÑÛä rE¨5^¹V7(Ksîø2[jñ$3áu eÑ£'ÏGËyKüͼñhòÐ--dÑ$kmÕuQ6<.8ýéÞCÙ&ß8ÃÔ1%:kй¡ãðOÂÿË·%Âá-þD¿¯¦hѯh;Ñÿg¢3þ½Ö` N0õg¥kR>³nÛa`»¢ÃÔNhÉQæMå¾4ÆKÐI5¿£5~jxÙòQXÂRúªè[B_õ1(ZqJ ÚPë}&¯pn:s;!¾9y:ÇoâäëZÇ«s&NÎ 8ctN3Nç48ãuN3Aç3q&êfç|ÓbâLÒ9&N¡ÎYgâÕ9ë Î#¼?ðWKÁM0D»6±PNC?ÀØ ñ9¬_Bø7üPZàFi]2r(öÃq°¹ÒÃeæÉB('àr"N>%/À9çÊb\-gâ9kÅØ(Kq-r^.Ëá-ý¸L«ÓPC¤4¤ÃøNúĽp罩URýLGzê÷@×5¶øL'ovay;.èi.ûî>º^&Ó8Ë :aËQU¶}×5zMm83 ÁHéîemÐ_F ,º{EcörWýÿ¾ ¹ïïÚ2ÁÿvªÓØÂ i3õ wòP}Lèy¡éBrÐI_7Á0¯Ç}xL1ôô 6¦Z!Sm§ºúª-Ð_mlu9WÛ!_] cÔU0Q]SÕaÕש¡Qíu\ªn+ÔnËîôûäõ YÉ#Y°'Z²àÑí0Ê~ç¥L ¨8Û¹2Y\ïªó(2æ·Ãw¦OµÃjc%½ip²ÀÜ6°ÉvP¹>ͬ ×ö¬1;p¶G£ÀMv+_[sgìKîÖ ;úDø|ÉäÍ㸻kØØ½|Rn¥¯ÁÓzÜMo/nûöódn*£ø\ÌÚÏQý4í¬¾Ìvðxjtgî¤|A'bG&º3uÙ}]o¤Ó\ Õü?"p ôdRjÐVêEX/Bá6'ÅPxC÷ÅøPÏD>(ÀAb,p´^1ÇàD1'©8]LÃb1ç"\ J°UÌÅmb^-ÊðF± ôFЦM `c[Ykôµó¶ÁÇævÖSË9ÏL²ÜÆîý3Qaíp·QcÏèÂhjûΦuíÔY¥+©~0ßI¬ã aèßH¯s\búííuNI{{EɲänÁ:îS¥ÑJº¼,òAÈÀ)Aò¤ñGË£¤:ÁòqÊã°^þZä°M {˯a§< {ä)h¿ýòwð|~%'äð²ü#ü[¾]ò}òÌÅþòo8Hþs-?Á1òS$?§{ÍX*¿Â2ù5.ßЦÀØ¢l¸]eâåÀëUÞLômÊw+¶«¾øêÕ JPõÒ®Öb?xÞÈ[Cbmò&§ÄýaócD@ðÒ¥{¿¯Z!-½ßÔ¤®{!§ ²§ç<#ĺ',ìtäXö&ë¢c0{ÅØ#°àáTZ½ibE}YêKp©¯`úrÔ7àQ§!ÏPhQ0Õb ¹ Ê-vXlé+,½¡ÎâìæhûÃc©Gþ>2ÀK w Ï}Ö:=¯Ë®N¿vôÒõ¸Äþp?±Ð¦$:Ù`lÎTnÿT/!»&g´-ÇRdÜÝõYÎYõ=kÏxT]@ÝNØ }áv@xì ó Î}t#ºÄ£ÆýøÄ£¨2»ßÕg%×ú¶÷K¦Ãѧ·Ù £}ß:uÅVÂ<ÑÀçx'Øgà<ÅÀS L;/áI#1<i$kú A¯¥v-#£Ç#×Çn Ì2¯$óy¬W\.#ÛÙBe)öm2GIåVÎñû` ÏlûÝrvv¸ì¦g¢üW¯ ~xÃÁhÜð&7£wcoºÃ!ø üD|¿èfÒ¹$sàÉ!qʼ³¦B˶=0Ál ym0,}FªÈëÌcr¾øjÎyóÛmìíû,¹í)u§?ÏË)ùF[éSNHUߪoÝÛõrÎn0eòÝr¦ün9S;ìPýVÏñ0ÂYòt+Ìu[i$á³årT gmÚ$çÖ6ºûº5 ùÖÄDk©álNsÛj|öt½fºý_ ÚÆvê>Pê~°«èÆßA·ýB¡: ê,¡i,#¼R=~õÕq¨Az¶}«znWÏC§:Ç ?«NÂóêüø¯©Wá-õ:¼§Þ¨·àõ'´¨70G½×í$=É?ºuJýÜ~|+\À¼§S³¶ê5¦Z²óÇ¢R÷ÈÖ¤[g\,é IÂR#«u¯oe§Ïk0½=õËìÈþCè]º¿yð>yCÎD&ÃÆQã 035d®¬ì|×åÙ×3Dnj¹ÝO!úCÑ4ðÓ4ã~FùÓ3äv¥`øü"N';·f~ç£C_Q¼§ëÈÉîÚihýõø¤}:E#~ð*qªçÂÆ £ZÇ`Î#Pvæ|Ûíèæ¥ðxb7pQ÷W ¢ÒÄ÷×7CâqýH<®ßa$q¡!7Ó ùqýÇxä8 Çu~x¸ÄÛbÈñãúÝ=<Ký1¦Vu°ÝÖtx]ÃÙÐ8`ºrõÔd=Æ«S¿#u¦ã¢;Óä,«»EU}3ÜëNÝ-åîgûÎÒßa0ç\]ïÉþ(NuÝ ßKëå%\;äj¸C®}²Úe~*ëá¹È<)ãð¬ÜLùíVø@nå¨ä(§½Üã58R^òz<_îÄ)rÎ7a¼È;Lç*àsNÈØÞcc$Þ,:Ï ôQDZÃ9³T²J ÇlÇ:[ÉO[ÅsætIm;Çe--%Å)LLpìÎ*ŬuÒH¡Ì¢S³ÊvVAÍÎ2Es1[XXäÚf¬UfVÀv²¹×ôïOÝfÊ,ÊV^A0o^ö³QÞ* ó¶ãT§ÂØN ±Óu¢ú1µE+_¸ÄV²D/ÏÙ¥Ä!tð.( êôu&+èæ³!ÎÞÂekC´AZ±¢H²²¥~º×-éNsP}uQÁUt¯GµOÐÎZK.¤ÆBb-º¬(.ûáã<£6³.¹gïFD¥ 4zÉÀ :SÔɬ4b~% ®DeÑhlÁHò"A÷ {®G»ï1È|qO|º!NáÛÜê·¼[x o Ñ·3ÖÓ÷ØMwø§Iy9<EQnãºô .ZECL>5Z¶î×ñ«<ø&^âõªSGôo§ïÞµú´Xûµ>mYUâ^o+2ñU67Ðl»ý$QÕ¦ ù.j%¡ªÑdo"$;ÃL1GÝi÷Æ7µm|KÜÐS¼HOóò<V:=ÃtÇiýôÎÒ2Á$Ã=ΣB°Dq ^ÄUz ×8ÆÅgdáKzßÑ,îÒ~&h¿Ò+øòøüA~½ýXu4]<by!2;^÷¢«Ü4·_±5n´oY}¸5jo<SæúÈ%7k¼Å_°§+p¿cÚT3Ád ²"¸MÆ ¯ÄcXf3¶>¯¨]É~|Úxb ÉêÒ¡p_¨ENÍÄâÖðð`F`ZÎçßÛH4§·b˯Y¶:C¾viMN×ö»Yvmòyh¥B 8½®VyËãºe»Û»5¯Ì9º.§ß-mñ |òvgW[ïõ ZÛ¼-²ÏïöÊßÓdX$4_°mËãÒõRº¸=®ÓÊ1)<í9rLY+ ¸·J}Ù¨+9Å¥t¨%̦#RsL®¨ÛE5¥;í¡ýS))ÑÏ`Ó¡¤|tJýÙ¡?¦ÃCtQ)CQ©Ì¾T$w(űÄp&dbÉòM;Zh¶DF fº¹Y70Ãâ¸hS&7&hEKW' áÌt$ÓQG8J4-æ@Ê ÂsõcX]È|C4)±k:ܧ%©RYºæùäºp<+ùèh¥§£x qñ,#MKÚ 5yxëº. êl8 3¨ì2m¼ tÎAJÄ!ÈíJâd©ô²XIÖ bVAJÒ-H±<!È%q bTjAÊÄ&È %iÄ¢$^A+I %J²[eJbä6%©Ä¤$kY¤$~AV òqîXö|ËIn^Áø±; _?AGèÈÆ°¢°ß£×hæèfZzѬÀVV½Ì^Ö0K£2DçåâeD£ÊT½^ÍôOï½¼k}ÑXYjª¾Ôtè4Jf°¶Ë|ÇØ©ÖOáÁs¥ÓØtn>Îb)Õ(Ñ#´@¹ÏNCCÛ+Q5L2}õ§¸§¬vsnP÷ÖÖ©s¦·öXÆ&²M£òùjª©ki4kHPÖ)ÜoÑÁh3W:b[EÓ; ºÑ"U¹©{iY-ÔuZUn¹è£E¬¶/¨z·èÇa²U[(#ÊK.i4èÄ ,úG>û¨YtíÄìYy]ãpØÌª|ÒIتçɱ-ÚQíìØì6s]ÙÌl ËÈçÞë-ÄA¬"yj5NU ¶xîààÆlÃYj3Ô¡çÑϨ9¦iÞ¸¾À!\¦»ü }«|I#Wð¾&yßâ;üð~ÂUüßñ+þ¦q¿1 ®±bb˨½ >pòà¡'x6ØÅNJkrÖæ\èLîËWHK )Ï7ÄM½pôe~|¾·)®°æïRº%¦p÷e¬i·Yßn_dÎ-"Ncʱ+1L§á© Î0`ðâI5r'Õnöoóüíåñh°£}6Ѷû#þÖMòh =Ð)oðÖGÃíQÿÖÙFõåDqõ¤jS`cù(ÎkªsãÆ@t¶©´DY¥ªè(R*ßÖTÙ{ µ8¢¸&u# POEiõfS«Û°9ÐM ϯ²ÅÒÏ¥8hçÔêÿÚ±zª:Ëÿ|ýÄTù-©BÓðOêl{FÏé©«jêyTÂGÕüQk<ÁÇGMRéù7æ_«X.hIÅ)RúW)s3pÌi ;ñyvs¬Dv¿(»ZCþX êp[Afu¸#÷wÄûCȳ«ÃÑhg$^1íc y×UÖú-5RUuË|ÔE5MØ¡wÏ*¦¤UNIBc}eµ×¨e¥Ò½]H<}£5¸4\5Ûü¡`[Q8Òvá]ìø:·nDüBh[Nªaÿ\Å ðÿü¥MÕ×UW6zk|¼õ^Úmæ/]VÛTS[ãCãf¯®aie-Êç]aè¾pQwÀsEñpQ´³cÎD]ýºJ_3úÂLÔ-ÄZlªC·¥cªª²zIw¡©ZU¦Q¢¡ÒW½Ø¬V][×è5˽äa#1 èm¬®¬÷.ªkª3«,l®òíûê×øu863U_»¬CRu5+«k+CÞà]VÝTék²qÙóÌj YM ffjÑà:£ÅðIÊ«_\WU[é[Wíkj¨Mʳ"+!oQCeý⤼Ëê+P/'!ìK®\[·Âlt}C/Y¯~¯:9Ïè¼eõõÔ^BÇ+-«c;0.;ü¡¢@4Î*BÏ5xË(¸d`PÖbè!÷ âþíl¥ÍÛp½<±Áö ¶,1ÃÜ`ì26ôWpc07:Ö³-ÁXm mâN1¬Zm¦c¾ÀvÜdG¬7 ƦðÂÎP¨!ÐÞòG½]Øe,f-bÆDÈX$DÁªÆ¨©)© \ëN#1¸ÚÍ|Zï±Î 1sCÁ×·¢ÕþÍ}<lºÆàUj]!/´ãö]º¦£ÌÏl\AÞoãF²t87Èuä"ϰqrnãÈ ç#wØx riã9ÈGØxòa6îDeãÃ;m¼ îÍ 4E@¦sèóÕÀ«ÇÉnëdúq¸Ö-|N/äºkó:-(ºËw¹ö¿3Ôü(ÜnO.>t> ø<éR^ÍY]¢¤YØÜGP)SÙª³àKuZMVÊGÝØ!¸ Æ)OÂ$åi(SÎÀ4å9¥üæ)?¯ò"3wÐ53#,c²¡Nh³·mý,¶ýKÈU~ mÌû´q5Á.ktmªÝ îÇÂÝú6è~Ð8 ïâáDÌgRLDçÐܱU«àêvcÿÌÁ5å]ÊçõBaIáÅ}pý,áÎ}°u¤RÂ×ÍYaÉ©ýoöÁUÃÌYÂÈ_'L´W= õpªBz ÕÇa´ú(QùêSPé%êiôïJxÃ2i´mé¤U!?5e)OÀ1ýY¸ÃU54-\ç>£ÎoÍ:xÀàpÍõHsçàÔmpÇe9CüéíV}4ún ¶G¡M}ýoþ!=_/4>Ì+@UjzðÈ^¸°Y¦ËnÉ*öÚéºñð{Ðl]t¢¹F?Oìê>4µx:y4ùdÊ' G>ò4ÏÀDùLÂôù<Ì/A|¼òh¯ÁJyÖÊ7!* Þ)×É?ÁÍòm¸U¾{P÷°üWó`X<c¹5äVÃNW¬$ØEÐìf´)#´¸Åq¹9n h³6;UwÕ3º3Xpëéêz]Z¥B9Ðÿ3åhª ç+¾ñï(M¶Ó×è.êkëXOüsJS¬è¾,Féî .[[õïµ¶ÆÖZÙÚS~2*ó8õ¬¦;QQ*è*ݹ_ݪcv'¶3]èëÍ¥G t [ærOV/Bna.êG`·¡gÈØOµº³¥gì©Wu5'&ÖL¬XçÕ^ù.öÉ_Pßr< P Ï|àC+¯Ñ+,¹Á*o³xÌÛIêÂ[óZ|e¹Òi£4 MÇc¸{À}¦FÖ@£»Mºa?h¼Ð5×ôqV9аþcC7m^iټݲy¦eëJËÖíÖ3ÓÖ5u«¹¶ô´ªz2[±¸m¨x\Rñ, Ó¼ Ö+JÜÆ¸_ÀçL6_ÃøRéYöÙÁe øråï¦'Çi |#ØÃr:÷d\ ¸o91+2éz¿Æ¨3&±Î@ Dí7{ùå)çAkì ×N|-t§£Æ[î¼wßÀ©ìÒ3Ö{öA¦qhÀºýÏãÀ¸ùÚÁÓ±L¥Ý@MÜ tÓ~ôUwÎäCwåÀ_ 77B_y|9Là+ 7ÃÓ| á~x·ÂY¾>äíð1ï`i<Â|ÍclßÁ.æW±Kø.¶_Ã.ãÝl9¿ã7²¿]Åoa×ñ=ì¾}ßÁ¾ÁïdGø]ì¾âسü{å÷±·øìü{}ÌûÁQT~RÉäO)¹ü´2Q&ò+SøOAiá/)k0ÝyùkJUnã¿Tö`úNþ[ånþGå0[y µÎ-ây±U¼#Ââ=LyÿíòB±C`zØ%'ëät±[Î7ÊÅMò´¸E_¯¯Ê×ñ]}NÜ)ßägâ ¢W&îUï¨Äj±8®6SêrñCu8nÏ©;ÅOÔ]âEuxYÝ+^S×ÕgÄïÔçÄ9õmñ.ÞÕÜ(ËÅ9mªxOó¿h3ÄZøX[">ÕV~mZLÓÚe¶Yº´.£])Gh7È´¯ËÚ7å Úa9J»WÖÉ"í¸£ã´ÉñÚ²Xû¹tkoÈí-Y®ýUNÕþ./Ö>BÏät3RÎv8ä\G¬rèÒë):ò¥ÏQ&ëSec¶\æ¨+ËUF¹Ñ±J¶;ÖÈc»8®â/ȸãÙ÷®¼d]*.².üª;ÿ8\üý¨×d=äÒÿº±ô{¬»iõ Öú@0 ÌßÀÚ"KÜxGé b+{¡ds/LþôQP×|¨odâºË u)Ö÷ÁuôHÅ·Lefèê¼B]ÂYÝÑÓÿÉ/Îy¨2>aÂ7ð½H-ÍSé{:4]bU'8ÔlHW]àRÃpu\¨æÁµ ¦lT1mï.út]Õáh9pÑt°9æ< r»Ó3q¡Ùîu¶ùGîE<¼al0¬´ÿEn!1ÇGÜ?ÈG^¿»¡o+ ¿cX-À{ÿU-dÓ2Õ§aªgÍä½`ØLâTñXíó(£Úîæ¾©P©í0/³£¡»|Q»Q´ßx¿»§Âh]·HadÒ[¡æ×üähü ÝtyÜâCë\~aúè«á¡ðÕÐÏ{Èz$â@0Ì-Ͱ\>ÅçWK1̱´}{i¨îp¥w,ú"È".»ùH45 6ý/©Ò7¡öRO³ajb^\ ûSÔ rqS\éNUà5© Hmï7}ú;fåPKc£ì ì ½ h»G¨U0ÚÐH)! 1²-K))m³Ý*$>ø@¢&&& )/bDc!<úàRç¬UİÉ9sæòÍ|3³ß|Ý~D$ ÚÊRZÓ'Õt¬Þ±ñÉ»#±ÔµXüúDb8ÅÐ2×Y]]¥\©bEÏhÃ9oDª®«+bi xÌçÕle5#IõJÆÈQewî@eÿïã)µR6´%*× ÉaE=QKjfAèZV[.E&þ£Ì Ú4®ÍçTù0)tÓz,´V:Ð N0I³ØÄG+2eCï3u+Åøqî eÊlP µp¼è°Q; ¯Ã¥êDLªÃ©°:<üª5¬ì¸Ê¥¨ü ËÜâÁ¨¨dòôq{TUäè%«Òfݳ ¬l'N©ÍJ´¤¡MÜ$Ð9È:¢O1ÖA:1:èÌ[³QÛÂ,Aü¿ñÛÛpZµM¸W%)ØøY;Ü4u<¢^ÓäÀ§hÅ3êñ9ÂxAK|XCëTÿÆñwðfü[õ¢>§*>ã¶ñüu¬R óçèþPKuÏà O@¤WÁÃÙ3l¡B[ÌQÓîHWèvôë»»(?4ØÕ½ Ì)Þr|ÔÊ¡k8¸"§Iç?PKÀ*7 ÂÒ`& äe20[gÞÅ«UÛº´ÚV¬Vm£UZ@2i ÖÖ±U¬kÝW´Zµ®µ¶jëÞÌ$3Ég¾9÷ܳÝsî9÷̽½xòabåÂ]8ìÂG\ø¼_uá¹ðu¾áÂY ¿Õðßiø½§5üAÃ5üIÃ3þ¬á/þªáoþ®áÕðO Ïiøç5¼ áßþ£á¿^ÔÒT¦J5U¦©rSѧ£R@jµf'` <jÒ1{u\}:æ p#¬£NÀ4DtLGTG=b4¹ë$tÌG²¦l1¬_À~Ð1bï9x½YxxpPÀu\7å7ð[¼U¼z`DäíhÀ bïÞ)ܨãB¼K¦ïá÷¸I¢¼Y<½EÔÞ+Fß§ÃÀû û·Jø·Ï·Éô>¤ã¸]V»CÀNâîp¿Ï 6ðMx1ð-|ÖÀ·ñ°ïàÇ|Ç |§ |G</øÜð1?ÆG ü7ðS?Ã' üwøî6ðK¡ýJ-à¸ñ<j(ࡦàËÒðEC¹T«t5ÔT|ÅPTÓTâSªÂ§ UCÕÍ Uû5iCÕq!U/ÌÀº§5§®PÚ°¢Ø<bÆV zOcÛ^³ßôûmK,j¡¨X®PcÍhÐß6IR§P7víµºíIä-v" .wئPçi-ÊU¾:ÕÛ묯yZù}¯'ßÃH<µ¢öòÆbD K ÓÖ'B=«Í #MÚ Æj'˳òÔÚÌÁXÊQ3HO;;kõÓ «5`¯íwü ¿¡(¿-´hÖÄ%D¶¢=±ýB3²B¡7ÃÞÙYVí8+ºÀ39E÷º® ø<¥Ï%EÅc ßÝ}?a¸óÚMX0aF&.ÓÙö2ôRéN4æ3¶ö%bûÍ®°U<^fä|^¹2Ïê=;û7åêP4d¯¤`K¬ÇâY£P¹&f%¢1»!bÚÝ}$òQ&Ð9!VR¡ª'¨=é²[ÅA ñÔ·F-©v&µÒ°L9G Ôu!+Ü#[XXtÒr¶¶¾hdÌ-ÊXcu¥r(Ba'z@°u6móÚ5V$¦0U$#±Å²&ÝlSa3Ñ@ +Ţ˨º%Jt[ëBÙ5:wzv.Ťm&ìe»2¸{;w)L3MÓ³³7ÛÕH=Âìéá¦æn) G)1£Ý}1Ç(õ´îL8 ®,FîÔT$M5]í]dò¥9ÍkÕÞP8Lµ e;©creäáÜdFiR'!ÀÙ¨ÉI»±2*Ìe09´%Ú gv&£ !)Ùt²ã Âb!§Ü¤ÇãaËö7;Ã1¿³#®s·îÅvÇÊÈÍ©UM(UnK^c첸e5*7ßÐz<VÐùd2ïíäþ©pA®ü[úÌDs"afz`.öÂ1ðws(kº¸ÍâV¨Ø)HZÏE<©IÊ2HÁ:c}§Ú¡¦ìPØïüäs¶lÀÜO£þ ëNÑE9P¶ïL/v¾.*Fn;sþoWàPqi3_5o ϱS>.çÓq±¨sШ°Ç!.¹3ÅU\Is0'GTä*Îñ¯Ñ re©;ÑZ2w²¼-9ûYm¶Í§,I4h±ÐjìÜvoåç²ÇЩ©xi[YG\ø¢õ½Äö[¡`=0 òª»pV%¦ tc5zp-,Rzù búp=B8½¸³Æà¢8FÇ)J<ä#Àæ}?Å«}?^À *Á^äòξ eÓ~y\6bn{Ê.ok Á¼*åÌÚ:IW%ç^'-i÷-bÛ 6RâµMei\7:ásÏ£%5S)̧T)ª2\¡Ê±/Ux*|Sd]~Yܲ-´»kܤî0nánÝDÒ´¢*[©Ü@CPò,ɪlȪ,h:Jª¼Zu/*½2¦ÑF «´{bÉ?Åråþ>G_:Y»³ÙDkÓ¸6Àq}GûiÌÅžaà27`%·me]ßÑ Æo§³wò |¸¬ú±8Ofï¥gÛiø5w Ý](]9¥ùæKizv+Ü%DDV¢Îº²æ¡R5[èil¸û¥3^êëPïu9È´WH{89æ4NV欳Ná43l9óÙoý'Ƴhç3uéÛØj:)³/Ñ=|¤ñÈû/Ç#}{ÄþV1kÒèÅÖÕâF1³Ã7KÓhgÌ4:c3±mCðÄvÓs´cuÇ_+q3Æ¢XÉCüÝGìçýX°G)7D㸠'ÐaÊ5GÝCì$£ºv§n ¾/8E¦àqZ¬ûPK½u¤¸ ^ÆK ¦ ö:F¼« ^ǰ\T°(¼g¹¬` #¼ÑXJB(Y×nkfä¶U4òã å5lÕNU×Öt6¾h*t Éò$ÔK{SB_4u´Ùɨ³[4)£\µ©Ðµ[ãâh8Úz@ìû¯¢=AßI3§KLodõ²]4®¢¡ÏUoetkQ˨_a`Á¬ZYýzQ8'ÍÒ²¶n¥85Û´FÅq «ókå²näQ.(gi<iEɬèTøu£RµD²yÝÕ+-OÁSdÆmÅÊ´8ÜO3½_ÐáÝä%t¤Î¬ëY»iË© ] Øÿ)#§o¤«vzmʬ¹JK ÛÅeÞq@õt#o$V>¡µlAOXz^ß('ZbÀV«Ç J¹O8dÁ&K% íj¦âtÌ6qãwH{ÅãÈÙäÑäǨ¿çH§4ÍÎòÄëÄÏï ßEÛJutì 3îÝA÷CH'ícig¨8ÁPD÷¹.o0¸\«uôÄB§ZC×Öì.ü+Ã5ôÖ¡üJS Cjr|s«w©y]x¹±I ãyº¹£Ïî{ð=T óB¸«¾UWÌÕÑ·|s?àgþ2»,þø !ü³,ñj|$$¼gÝ n\ê×hóníãìÈÞMø|-eÇÇebTà.:ð5r~Äù0þ§,_[ÞrùS#ª¤¬!|-rqoc!Eä³/ßõî ÜßûSÈmí<ÊpÀ=þô¥/çbüÁø§ñ-Îà;sÿ¾?G|n:cäâÛãýKÚÈlïïl{ofòMòu1u1íb?ßÅÉíÖwÑÍÑü.òE:]§¦ ×]×â]4ãjduÿúÕH OlÏ ÷#Ý8ݯp¾E¸Þ¦æ±JíD£e^üPKlaÖtè e¶»áÚ_à875mâsÜkÖ¸Ñ~Âú8d.ývC»7ÔÇÚUjmrñº¶rpøl¡ôPKDmÀ ³ëü¦îpâp7¸¾/ÆfM#kÚ£bW |ÐW¬{Â×ã"iõa'ÊËË!Á{)oå1泦ßäzÆ\sòE«$¡m*oÓåwÒ¦=o¤4·? B±ÇÖâ+mdÓN°NÑ;k®X¶3æ¼,¼×X[3,Á¤ów;bP(L¼¦U*ÛgÎtf©dä8ñäKbÿ!¸DjÖFÈ$±8^53NÃROâpZ"VÖ\OÔòD±leKûrû÷|çWìâz½ÓÊ9+v.f¬3f9s}-v XLxÐë1 eålZ$¨B Ìe»¬KåtÉåvÄ)Ö¡ã_®PvPóuP7·A}öxòyÎ&ù²¨CÑ*|Ñ3ÛèîÀ³ØÑ*Z¶Ñ·Ñ~.Qvó )naªYôð]9ÄësC^erZêUtD·ÐªWжÜwq°Î*´ûtZÙ¤ÀeöÓòÚð>±ñ1SÀ3+°bÌö[Pîé"xþo8êÊ;ÍVѵ°¹¿ð+û$ÿ;üø]ø'±QZ ¯àÁËà¬P¿¼¹K§¾¢ÊP´bí!>f>@>¤å&ûG<éñ óJ:ü\z7Da¼Nõ_<IyLQ¸ÒÃ% |¨ÂCÙÀñP@YåRÁÑ þõ¿C»ÔGø >çq}ÉÙmVõ+BøÇvýø§±¾Ç0~ M\ÆûÊÒ$þLàjqnþ Bèÿe®a}ðï^µ;¹Øbý*d½ÅùO UæÇëV9éVY\½îz]{ySÝ=xSÚÙoJ=Ï «´Ð«ú¼ZÜ£?ªvOWVpüî´?´?|[cøEöë,Û[´¼ D1¬v# &´01µ° +H3hùB¹gÑ|¹PbHQ8¼ä7Ü®sßµOéùîV·\aHçË×Sùþ¬²o{¾ìA©q!F=_µ®ªBòj2É¿ìÌFK:bßSl7]ªqÉ@È2-4äR »CÌkîùÃãê¥p_©®ÉêÂwC®!]_s§&l)\q{m÷µb(ô³þ¹}Ѧtf«ÚìP°Isaôh´j --- NEW FILE: ozone.jar --- PK Ù@¾ßîø2 ÌVå/sz âÉ8K.csÛm2ÇzT3_*¿ è|BÇïÆ2ÐqW4TÌùì Öd©ávÖ£UC?d»Óñk¿+PúÚH|Gæ¾øñ@¥2 ̦ºN ßÐ^ä¨7Â^äÉ_IjzD°©²C*JqáL+Yâ9«Á¯´Oq·Q®#§æ1æúXîcÕ±¾!¯n¬>Ö_p)þúá109,Nó¼ Ã⿺É=ÍÝ&´C^ý[UërGIÒgÑ nÓXâÿ`Ò{¤N·à¸ÄÝý PKDFØç' emsw¤/°#;aM[ÚS®f##°Þ*äïzíÙc-hmÖWÆ=i Ä·%Ë)¦m6úZ:빩jä½A»]ñÄs÷bY·`F,϶FKòzDzÝ1.-YÛÃÉQéé anÀøãvYààs2©ca68òîB.ñx ËÇQ¾3Ë!fìØ¼TP4Gb=xI`Ý Û±ýãÏIsÅx#Qì@@£WqZW² p÷lé°´'ã5µ ªXKúÁyfs@ ±f{\§À±åA×D¹J¯¹&¹þÕW¶ëPJ`ë ;¬n¡Xçe±ÉvÐä-1±QÕGL¼£]>]²§¥Þ¾®~ÅÄH4}Ëóæuþ(Ü2¢Õe'ÐØnzðBuÇÄIu>RöÝ)uü-§qódûÒ³y¯T¾ÁÐ"åÜ2Ñ&àNÈhZÙwÐg`P`ÏjMCZ1|ÎÄòqä¯gM4aâäBqÎ@XñRh°ùØ»:vÞt§åB²Í×ÞuªFy0t¤©^3pS`w]Ûûö¤¬¿ï ì«OowÜör¥0Þ^ÐêMßgµ£ó=Û)ê¼Û̲PH½ nØíêþþDM¹*8nÑ[ñ rÀV/ X]È~iá¦%&WÞBzåû«âï>[ø+ÍUpmJþØC ØÌç:<M|¶¢«P ÞÕxºC<û1ÂA?}k ?ô ¥ÝX¬Î(¿ö×Éõv¢]ÔuaBC:J&T´4ÊÝFÝVcÌjIzÿPJúR,×òvXFèý°ñ2l;É'¸oÇä,.RvòTz³ð)WTWÞÃó¸?ËÒ&I®?ofѳÈïn=.èò w2`û"Î*·U Á·øNwË÷ÚÇÿPK&½¸Å ôVT+U@$ådüºQ°tÞ\/ÚYt²\N¥,Û\.í¦Íh8C@C!Vä¤Ä,Y?BG'Â$gHÇÞ YgBàÌäT-Izaá¬sTj`PÇ[h¿)Óg-$§ÖÃÄ?)0xL¢ð¶.±NëlnÐf¾Tܲ ¨l½4\dDø ¦^?´ÙéØìi[uü ÇNÊW°hÚY¾²Ó¼açʬУ%$¨ñMÁrMïTxGGRÑZ0¦:¹+Û<½-²ÉV03¦µÏ¾<]aÉÐð¨/æbqÙq6¼O°ÌÙ ÙJ(q|ÌrÔ×í}ÃÊ{CÀ)z¨ã>câFÝqRêpÂ?ûR-ÆÑ2y§hêX@w<¡ãÜá+2aùk~Ößð-&_wêæc¤ ^×¼²üô <WJÝüEÊ&Oª0ª=z°¯L÷« âs ï-;óØDâO$jhú_N¶|żÎy,÷õ Eä=ïØ½ßÓý4ò#Ïòe5TÍÊ@ºU¼ÌJHfÕHÉÏ>åPU9Ã4+Çi©Ì+¡¬|©ª|ÍZ*aEò$S:Æ@®«-Ê%ßQiC6¶>EHÞÝ}¯¹f¨}Vf©Äs¾æV[* òÅj&éÿë&ÿë<QGÿØkü^¦Öè*/k´r½Úrð+~#( ¬è)*}÷?PK,Àlé® ÄòQ°- Öy*Ð=Gð¢P:DÎ@¯è;j«ÃÏÕL¯* çx«N誨+¥ÐóÁ·º¬ëË 7ë2Ô 5HÕNÑ"eNº;4m2Ó§"-¿¹(bÕ´¡] ~Ëñ7<YLúáó<é]2ðéÕ®¡5ë=ç [...2143 lines suppressed...] 5ÇnÕ Å³ ©@ ¶Õbõ z=· Index: xerces.jar =================================================================== RCS file: /cvsroot/tm4j/tm4j/lib/xerces.jar,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 Binary files /tmp/cvsmzxJuX and /tmp/cvsqsE3z4 differ |
From: Gerd M. <li...@us...> - 2001-05-29 17:35:41
|
Update of /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/utils In directory usw-pr-cvs1:/tmp/cvs-serv11042 Modified Files: XTMBuilder.java Log Message: - fixed: uses factory everywhere now Index: XTMBuilder.java =================================================================== RCS file: /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/utils/XTMBuilder.java,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -r1.1.1.1 -r1.2 *** XTMBuilder.java 2001/05/23 21:37:28 1.1.1.1 --- XTMBuilder.java 2001/05/29 17:35:38 1.2 *************** *** 357,361 **** throws TopicMapProcessingException { ! m_currScope = new ScopeImpl(); pushPurpose(SCOPE); } --- 357,361 ---- throws TopicMapProcessingException { ! m_currScope = m_factory.createScope( id ); pushPurpose(SCOPE); } *************** *** 418,422 **** public void startVariantName(String id) { ! m_currVariantName = new VariantNameImpl(id); pushPurpose(VARIANTNAME); } --- 418,422 ---- public void startVariantName(String id) { ! m_currVariantName = m_factory.createVariantName(id); pushPurpose(VARIANTNAME); } |
From: Gerd M. <li...@us...> - 2001-05-29 17:34:28
|
Update of /cvsroot/tm4j/tm4j/src/com/techquila/topicmap In directory usw-pr-cvs1:/tmp/cvs-serv10802 Modified Files: TopicMapObjectImpl.java Log Message: - changed: implements Serializable now Index: TopicMapObjectImpl.java =================================================================== RCS file: /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/TopicMapObjectImpl.java,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -r1.1.1.1 -r1.2 *** TopicMapObjectImpl.java 2001/05/23 21:37:17 1.1.1.1 --- TopicMapObjectImpl.java 2001/05/29 17:34:23 1.2 *************** *** 4,11 **** import java.util.*; import java.lang.ref.*; import com.techquila.utils.*; ! public abstract class TopicMapObjectImpl implements TopicMapObject { HashMap m_namedPropertyListeners; --- 4,12 ---- import java.util.*; import java.lang.ref.*; + import java.io.Serializable; import com.techquila.utils.*; ! public abstract class TopicMapObjectImpl implements TopicMapObject, Serializable { HashMap m_namedPropertyListeners; |
From: Gerd M. <li...@us...> - 2001-05-29 17:33:44
|
Update of /cvsroot/tm4j/tm4j/src/com/techquila/topicmap In directory usw-pr-cvs1:/tmp/cvs-serv10628 Modified Files: DuplicateTopicException.java TopicNotFoundException.java Log Message: - fixed: made constructors public Index: DuplicateTopicException.java =================================================================== RCS file: /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/DuplicateTopicException.java,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -r1.1.1.1 -r1.2 *** DuplicateTopicException.java 2001/05/23 21:37:06 1.1.1.1 --- DuplicateTopicException.java 2001/05/29 17:33:42 1.2 *************** *** 60,68 **** public class DuplicateTopicException extends TopicMapProcessingException { ! DuplicateTopicException() { super(); } ! DuplicateTopicException(String info) { super(info); } --- 60,68 ---- public class DuplicateTopicException extends TopicMapProcessingException { ! public DuplicateTopicException() { super(); } ! public DuplicateTopicException(String info) { super(info); } Index: TopicNotFoundException.java =================================================================== RCS file: /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/TopicNotFoundException.java,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -r1.1.1.1 -r1.2 *** TopicNotFoundException.java 2001/05/23 21:37:20 1.1.1.1 --- TopicNotFoundException.java 2001/05/29 17:33:42 1.2 *************** *** 57,66 **** public class TopicNotFoundException extends TopicMapProcessingException { ! TopicNotFoundException() { super(); } protected String m_id; ! TopicNotFoundException(String id) { super("Topic not found: " + id); } --- 57,66 ---- public class TopicNotFoundException extends TopicMapProcessingException { ! public TopicNotFoundException() { super(); } protected String m_id; ! public TopicNotFoundException(String id) { super("Topic not found: " + id); } |
Update of /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/ozone In directory usw-pr-cvs1:/tmp/cvs-serv10403 Added Files: OzoneAssociation.java OzoneAssociationImpl.java OzoneBaseName.java OzoneBaseNameImpl.java OzoneMember.java OzoneMemberImpl.java OzoneOccurrence.java OzoneOccurrenceImpl.java OzoneScope.java OzoneScopeImpl.java OzoneScopedObject.java OzoneScopedObjectImpl.java OzoneTopic.java OzoneTopicImpl.java OzoneTopicMap.java OzoneTopicMapFactoryImpl.java OzoneTopicMapImpl.java OzoneTopicMapObject.java OzoneTopicMapObjectImpl.java OzoneTopicMapUtils.java OzoneTopicMapUtilsImpl.java OzoneVariant.java OzoneVariantImpl.java OzoneVariantName.java OzoneVariantNameImpl.java Log Message: - initial checkin --- NEW FILE: OzoneAssociation.java --- /* * You can redistribute this software and/or modify it under the terms of * the Infozone Software License version 2 published by the Infozone Group * (http://www.infozone-group.org). * * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id: OzoneAssociation.java,v 1.1 2001/05/29 17:32:45 lilli Exp $ */ package com.techquila.topicmap.ozone; import com.techquila.topicmap.Association; import com.techquila.topicmap.Topic; import com.techquila.topicmap.Member; import org.ozoneDB.OzoneRemote; /** * This interface describes a single topic association link. * * The type of the Association is defined by an optional string and/or an optional Topic * An Association contains of one or more Member objects * which define the members of the association link and may include * a Scope object whichs define the scope of validity of the Association. * * @see com.techquila.topicmap.Topic * @see com.techquila.topicmap.Member * @see com.techquila.topicmap.ScopedObject */ public abstract interface OzoneAssociation extends OzoneScopedObject, Association { public void dispose(); // update /** * Defines the member constructs which are members of this association. * * @param roles An array of Member objects to be set as members of the link. * @return An unmodifiable Collection of Member objects. * @see Member */ public void setMembers( Member[] roles ); // update /** * Adds a Member as a member role of the association. * * @param role The Member to be added. * @see Member */ public void addMember( Member member ); // update /** * Removes a member from the roles of this association. * * @param member The member to be removed. */ public void removeMember( Member member ); // update /** * Sets the Topic defining the type of this Association. * * @param type The Topic to define the type of the association. */ public void setType( Topic type ); // update } --- NEW FILE: OzoneAssociationImpl.java --- /* * You can redistribute this software and/or modify it under the terms of * the Infozone Software License version 2 published by the Infozone Group * (http://www.infozone-group.org). * * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id: OzoneAssociationImpl.java,v 1.1 2001/05/29 17:32:45 lilli Exp $ */ package com.techquila.topicmap.ozone; import com.techquila.topicmap.Topic; import com.techquila.topicmap.Member; import com.techquila.topicmap.TMTypes; import java.util.ArrayList; import java.util.Iterator; import java.util.Collection; import java.util.Collections; /** * Instances of this class represent a single topic association link. * Each Association is defined by a single Topic describing the type of * the association and consists of one or more Member objects which define * the members of the association link and may include one or more scoping * Topics which define the scope of validity of the Association. * * @see com.techquila.topicmap.Topic * @see com.techquila.topicmap.Member */ public class OzoneAssociationImpl extends OzoneScopedObjectImpl implements OzoneAssociation { final static long serialVersionUID = 1L; protected Topic m_type; protected ArrayList m_members; /** * Constructs a new AssociationImpl with an assigned ID. * * @param id The unique identifier assigned to the AssociationImpl object. */ public OzoneAssociationImpl() { m_type = null; m_members = null; } /** * Cleans up the Association by notifying all of its contained * Member objects to drop their back-pointers. */ public void dispose() { // FIXME: // m_type = null; // if (m_members != null) { // Iterator it = m_members.iterator(); // while (it.hasNext()) { // try { // MemberImpl ar = (MemberImpl)it.next(); // ar.dispose(); // } catch (ClassCastException ex) { // } // } // } } /** * Constructor for creating an Association object. * * @param id A unique identifier to be assigned to the Association. * @param type A Topic object defining the type of the Association. * This parameter may be null if there is no Topic defining * the type of the link. * @param members An array of Member objects each defining one of the roles * of the link. This parameter may be null if there are no * Members defined for the Association yet. * @param scope The scope of validity of the association. This parameter * may be null if the scope of the Association is currently * the unconstrained scope. */ // public AssociationImpl( String id, Topic type, Member[] members, // Scope scope ) { // super( scope ); // setID( id ); // m_type = type; // m_members = null; // if (members != null) { // setMembers( members ); // } // } /** */ public Collection getMembers() { Collection ret = m_members; if (ret == null) { ret = new ArrayList(); } return Collections.unmodifiableCollection( ret ); } /** */ public void setMembers( Member[] members ) { ArrayList oldMembers = null; if (m_members != null) { new ArrayList( m_members ); } m_members = new ArrayList(); for (int i = 0; i < members.length; i++) { members[i].setParent( this ); m_members.add( members[i] ); } firePropertyChange( "members", oldMembers, m_members ); } /** */ public void addMember( Member member ) { ArrayList oldMembers = null; if (m_members != null) { new ArrayList( m_members ); } if (m_members == null) { m_members = new ArrayList(); } m_members.add( member ); member.setParent( this ); firePropertyChange( "members", oldMembers, m_members ); } /** */ public void removeMember( Member member ) { if (m_members != null) { ArrayList oldMembers = new ArrayList( m_members ); if (m_members.contains( member )) { m_members.remove( member ); if (m_members.isEmpty()) { m_members = null; } member.setParent( null ); } firePropertyChange( "members", oldMembers, m_members ); } } /** * @return The Topic defining the type of this Association. If there is no such Topic, * null is returned. */ public Topic getType() { return m_type; } /** * Sets the Topic defining the type of this Association. * @param type The Topic to define the type of the association. */ public void setType( Topic type ) { Topic oldType = m_type; m_type = type; firePropertyChange( "type", oldType, m_type ); } /** * @return True if the type of this Association is defined by the topic <i>type</i> */ public boolean ofType( Topic type ) { if (m_type == null) { return false; } return m_type == type; } /** */ public int getObjectType() { return TMTypes.TM_ASSOC; } /** */ public Member getMemberOfRole( Topic roleSpec ) { Iterator it = m_members.iterator(); while (it.hasNext()) { Member m = (Member)it.next(); Topic rs = m.getRoleSpec(); if (rs != null && rs.getBaseTopic().equals( roleSpec.getBaseTopic() )) { return m; } } return null; } } --- NEW FILE: OzoneBaseName.java --- /* * You can redistribute this software and/or modify it under the terms of * the Infozone Software License version 2 published by the Infozone Group * (http://www.infozone-group.org). * * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id: OzoneBaseName.java,v 1.1 2001/05/29 17:32:45 lilli Exp $ */ package com.techquila.topicmap.ozone; import com.techquila.topicmap.BaseName; import com.techquila.topicmap.Variant; import com.techquila.topicmap.NamedObject; import org.ozoneDB.OzoneRemote; /** */ public interface OzoneBaseName extends OzoneScopedObject, BaseName { public void setString( String data ); // update public void setVariants( Variant[] variants ); // update public void addVariant( Variant variant ); // update public void setParent( NamedObject parent ); // update } --- NEW FILE: OzoneBaseNameImpl.java --- /* * You can redistribute this software and/or modify it under the terms of * the Infozone Software License version 2 published by the Infozone Group * (http://www.infozone-group.org). * * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id: OzoneBaseNameImpl.java,v 1.1 2001/05/29 17:32:45 lilli Exp $ */ package com.techquila.topicmap.ozone; import com.techquila.topicmap.TMTypes; import com.techquila.topicmap.NamedObject; import com.techquila.topicmap.Variant; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.beans.PropertyChangeEvent; /** */ public class OzoneBaseNameImpl extends OzoneScopedObjectImpl implements OzoneBaseName { final static long serialVersionUID = 1L; private NamedObject m_parent; protected String m_string; private ArrayList m_variants; public OzoneBaseNameImpl() { m_parent = null; m_string = null; m_variants = null; } public void setParent( NamedObject parent ) { m_parent = parent; } public NamedObject getParent() { return m_parent; } public void setString( String str ) { String oldString = m_string; m_string = str; firePropertyChange( "string", oldString, m_string ); } public String getString() { return m_string; } public void setVariants( Variant[] variants ) { ArrayList oldVariants = null; if (m_variants != null) { oldVariants = new ArrayList( m_variants ); } if (variants == null || variants.length == 0) { m_variants = null; } else { m_variants = new ArrayList(); for (int i = 0; i < variants.length; i++) { m_variants.add( variants[i] ); } } firePropertyChange( "variants", oldVariants, m_variants ); } public void addVariant( Variant v ) { ArrayList oldVariants = null; if (m_variants != null) { oldVariants = new ArrayList( m_variants ); } if (m_variants == null) { m_variants = new ArrayList(); } m_variants.add( v ); firePropertyChange( "variants", oldVariants, m_variants ); } public Collection getVariants() { if (m_variants == null) { return Collections.unmodifiableCollection( new ArrayList() ); } else { return Collections.unmodifiableCollection( m_variants ); } } public int getObjectType() { return TMTypes.TM_BASENAME; } /** * Handles property change events received from the contained * Scope object. In particular, handles change in the scopeString property * by notifying listeners of a change of scoped name */ public void propertyChange( PropertyChangeEvent ev ) { if (ev.getPropertyName().equals( "scopeString" )) { String oldScopedName = (String)ev.getOldValue() + "." + getID(); String newScopedName = getScope().toString() + "." + getID(); firePropertyChange( "scopeString", oldScopedName, newScopedName ); } super.propertyChange( ev ); } } --- NEW FILE: OzoneMember.java --- /* * You can redistribute this software and/or modify it under the terms of * the Infozone Software License version 2 published by the Infozone Group * (http://www.infozone-group.org). * * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id: OzoneMember.java,v 1.1 2001/05/29 17:32:45 lilli Exp $ */ package com.techquila.topicmap.ozone; import com.techquila.topicmap.Member; import com.techquila.topicmap.Association; import com.techquila.topicmap.Topic; import org.ozoneDB.OzoneRemote; /** */ public interface OzoneMember extends OzoneTopicMapObject, Member { public void setParent( Association parent ); // update public void setRoleSpec( Topic roleSpec ); // update public void addPlayer( Topic player ); // update public void setPlayers( Topic[] players ); // update } --- NEW FILE: OzoneMemberImpl.java --- /* * You can redistribute this software and/or modify it under the terms of * the Infozone Software License version 2 published by the Infozone Group * (http://www.infozone-group.org). * * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id: OzoneMemberImpl.java,v 1.1 2001/05/29 17:32:45 lilli Exp $ */ package com.techquila.topicmap.ozone; import com.techquila.topicmap.Member; import com.techquila.topicmap.Association; import com.techquila.topicmap.Topic; import com.techquila.topicmap.TMTypes; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; /** */ public class OzoneMemberImpl extends OzoneScopedObjectImpl implements OzoneMember { final static long serialVersionUID = 1L; /** */ protected Association m_parent; protected Topic m_roleSpec; protected ArrayList m_players; /** */ public OzoneMemberImpl() { } /** * Applications should not call this function directly. * It is called indirectly from Association.addMember(), Association.removeMember() and Association.setMembers() */ public void setParent( Association parent ) { Association oldParent = m_parent; m_parent = parent; firePropertyChange( "parent", oldParent, m_parent ); } public Association getParent() { return m_parent; } public void setRoleSpec( Topic roleSpec ) { Topic oldRoleSpec = m_roleSpec; m_roleSpec = roleSpec; firePropertyChange("roleSpec", oldRoleSpec, m_roleSpec); } public Topic getRoleSpec() { return m_roleSpec; } public void addPlayer( Topic player ) { ArrayList oldPlayers = null; if (m_players != null) { oldPlayers = new ArrayList( m_players ); } if (m_players == null) { m_players = new ArrayList(); } m_players.add( player ); player.addRolePlayed( this ); firePropertyChange( "players", oldPlayers, m_players ); } public void setPlayers( Topic[] players ) { ArrayList oldPlayers = null; if (m_players != null) { oldPlayers = new ArrayList( m_players ); } if (players == null || players.length == 0) { m_players = null; } else { m_players = new ArrayList(); for (int i = 0; i < players.length; i++) { m_players.add( players[i] ); players[i].addRolePlayed( this ); } } } public Collection getPlayers() { if (m_players == null) { return Collections.unmodifiableCollection( new ArrayList() ); } return Collections.unmodifiableCollection( m_players ); } public int getObjectType() { return TMTypes.TM_MEMBER; } } --- NEW FILE: OzoneOccurrence.java --- /* * You can redistribute this software and/or modify it under the terms of * the Infozone Software License version 2 published by the Infozone Group * (http://www.infozone-group.org). * * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id: OzoneOccurrence.java,v 1.1 2001/05/29 17:32:45 lilli Exp $ */ package com.techquila.topicmap.ozone; import com.techquila.topicmap.Occurrence; import com.techquila.topicmap.BaseName; import com.techquila.topicmap.Topic; import org.ozoneDB.OzoneRemote; /** * This interface defines a single occurence (<code>occurs</code>) construct in a Topic Map. * * An occurrence is defined by a string rolename and an optional type Topic. * An occurrence contains a reference to a resource or in-line resource data. * * @see Topic */ public interface OzoneOccurrence extends OzoneScopedObject, Occurrence { /** * Sets the Topic defining the type of this Occurrence. */ public void setType( Topic type ); // update /** * Sets the resource reference associatedc with this occurrence. The new value overwrites * any previous resource reference of resource data string. */ public void setResourceRef( String resourceRef ); // update /** * Sets the resource data string associated with this occurrence. The new value overwrites * and previous resource data or resource reference strings. */ public void setResourceData( String resourceData ); // update /** * Sets the name of this occurrence */ public void setName( BaseName bn ); // update } --- NEW FILE: OzoneOccurrenceImpl.java --- /* * You can redistribute this software and/or modify it under the terms of * the Infozone Software License version 2 published by the Infozone Group * (http://www.infozone-group.org). * * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id: OzoneOccurrenceImpl.java,v 1.1 2001/05/29 17:32:45 lilli Exp $ */ package com.techquila.topicmap.ozone; import com.techquila.topicmap.TMTypes; import com.techquila.topicmap.BaseName; import com.techquila.topicmap.Topic; import com.techquila.utils.URLS; import java.net.URL; /** * Defines an occurrence instance of a Topic. * The type of an Occurrence is defined either by a Topic defining the type. * An occurrence may be scoped and may contain either an in-line data resource (as a string) or * a reference to an external resource (specified as a URI). */ public class OzoneOccurrenceImpl extends OzoneScopedObjectImpl implements OzoneOccurrence { final static long serialVersionUID = 1L; /** */ protected BaseName m_name; protected Topic m_type; protected String m_data; protected boolean m_isResourceReference; /** */ public OzoneOccurrenceImpl() { m_name = null; m_type = null; m_data = null; m_isResourceReference = false; } /** * Gets the base name of this occurrence. * Returns null if no base name is defined for the occurrence. */ public BaseName getName() { return m_name; } /** * Sets the base name of this occurrence */ public void setName( BaseName name ) { BaseName oldName = m_name; if (m_name != null) { m_name.setParent( null ); } m_name = name; if (m_name != null) { m_name.setParent( this ); } firePropertyChange( "name", oldName, m_name ); } /** * @return The Topic defining the type of this Occurrence, or null if no such Topic has been specified. */ public Topic getType() { return m_type; } /** * Sets the Topic defining the type of this Occurrence. */ public void setType( Topic type ) { Topic oldType = m_type; m_type = type; firePropertyChange( "type", oldType, m_type ); } /** * Returns the resource reference associated with this occurrence. This may be null. */ public String getResourceRef() { if (!m_isResourceReference) { return null; } return m_data; } /** * Sets the resource reference associatedc with this occurrence. The new value overwrites * any previous resource reference of resource data string. * If the reference is recognised as an HTTP protocol URL, it will be normalised. */ public void setResourceRef( String resourceRef ) { String oldRef = getResourceRef(); try { URL du = URLS.normalize( new URL( resourceRef ) ); m_data = du.toString(); } catch (Exception ex) { m_data = resourceRef; } m_isResourceReference = true; firePropertyChange("resourceRef", oldRef, m_data); } /** * Sets the resource data string associated with this occurrence. The new value overwrites * and previous resource data or resource reference strings. */ public void setResourceData( String resourceData ) { String oldData = getResourceData(); m_isResourceReference = false; m_data = resourceData; firePropertyChange("resource", oldData, m_data); } /** * Gets the resource data string associated with this occurrence. This function returns * null if there is no resource data string associated with this occurrence. */ public String getResourceData() { if (m_isResourceReference) { return null; } return m_data; } public int getObjectType() { return TMTypes.TM_OCCURRENCE; } } --- NEW FILE: OzoneScope.java --- /* * You can redistribute this software and/or modify it under the terms of * the Infozone Software License version 2 published by the Infozone Group * (http://www.infozone-group.org). * * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id: OzoneScope.java,v 1.1 2001/05/29 17:32:45 lilli Exp $ */ package com.techquila.topicmap.ozone; import com.techquila.topicmap.Scope; import com.techquila.topicmap.Topic; /** */ public interface OzoneScope extends OzoneTopicMapObject, Scope { public void setThemes( Topic[] themes ); // update public void addTheme( Topic theme ); // update public void addScope( Scope scope ); // update public void removeThemes(); // update public void removeTheme( Topic theme ); // update public void setID( String id ); // update public void setResourceID( String id ); // update public String toString(); } --- NEW FILE: OzoneScopeImpl.java --- /* * You can redistribute this software and/or modify it under the terms of * the Infozone Software License version 2 published by the Infozone Group * (http://www.infozone-group.org). * * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id: OzoneScopeImpl.java,v 1.1 2001/05/29 17:32:45 lilli Exp $ */ package com.techquila.topicmap.ozone; import com.techquila.topicmap.TMTypes; import com.techquila.topicmap.Scope; import com.techquila.topicmap.Topic; import com.techquila.topicmap.TopicMapObject; import java.util.Collection; import java.util.Collections; import java.util.ArrayList; import java.util.HashSet; import java.util.TreeSet; import java.util.Iterator; import java.beans.PropertyChangeEvent; /** */ public class OzoneScopeImpl extends OzoneTopicMapObjectImpl implements OzoneScope { final static long serialVersionUID = 1L; private HashSet m_themes; private String m_stringified; public OzoneScopeImpl() { m_themes = null; m_stringified = UNCONSTRAINED; } public void setThemes( Topic[] themes ) { removeThemes(); m_themes = new HashSet(); for (int i = 0; i < themes.length; i++) { m_themes.add( themes[i] ); } stringify(); } public void addTheme( Topic theme ) { if (m_themes == null) { m_themes = new HashSet(); } m_themes.add( theme ); stringify(); } public void addScope( Scope scope ) { Collection c = scope.getThemes(); if (c.isEmpty()) { return; } if (m_themes == null) { m_themes = new HashSet(); } Iterator it = c.iterator(); while (it.hasNext()) { Topic t = (Topic)it.next(); m_themes.add( t ); } stringify(); } public void removeThemes() { if (m_themes != null) { Iterator themesIt = m_themes.iterator(); while (themesIt.hasNext()) { Topic theme = (Topic)themesIt.next(); unregister( theme ); } } m_themes = null; m_stringified = UNCONSTRAINED; } public void removeTheme( Topic theme ) { m_themes.remove( theme ); if (m_themes.isEmpty()) { m_themes = null; } stringify(); // No longer need to listen for changes to this theme Topic unregister( theme ); } public Collection getThemes() { if (m_themes == null) { return Collections.unmodifiableCollection( new ArrayList() ); } else { return Collections.unmodifiableCollection( m_themes ); } } public boolean inScope( Topic theme ) { if (m_themes == null) { return false; } Iterator it = m_themes.iterator(); while (it.hasNext()) { Topic t = (Topic)it.next(); if (t.getID().equals( theme.getID() )) { return true; } Iterator mit = t.getMergedTopics().iterator(); while (mit.hasNext()) { Topic mt = (Topic)mit.next(); if (mt.getID().equals( theme.getID() )) { return true; } } } return false; } public boolean inScope( Topic[] themes ) { for (int i = 0; i < themes.length; i++) { if (!inScope( themes[i] )) { return false; } } return true; } public boolean inScope( Scope sc ) { Iterator themes = sc.getThemes().iterator(); while (themes.hasNext()) { if (!inScope( (Topic)themes.next() )) { return false; } } return true; } public void propertyChange( PropertyChangeEvent e ) { if (e.getPropertyName().equals( "baseTopic" )) { // Some topic in scope has changed its base topic id. // Need to regenerate the stringified scope id. System.out.println("base topic in scope altered"); stringify(); } } public void register( Topic t ) { ((TopicMapObject)t).addPropertyChangeListener( "baseTopic", this ); } public void unregister( Topic t ) { ((TopicMapObject)t).removePropertyChangeListener( this ); } protected void stringify() { String oldString = m_stringified; if (m_themes == null) { m_stringified = UNCONSTRAINED; } else { TreeSet sortedIds = new TreeSet(); Iterator it = m_themes.iterator(); while (it.hasNext()) { Topic t = (Topic)it.next(); register( t ); sortedIds.add( t.getBaseTopic().getID() ); } it = sortedIds.iterator(); StringBuffer s = new StringBuffer(); while (it.hasNext()) { s.append( (String)it.next() ); if (it.hasNext()) { s.append( "|" ); } } m_stringified = s.toString(); } // Finally notify listeners if the scope string has changed if (!m_stringified.equals( oldString )) { firePropertyChange( "scopeString", oldString, m_stringified ); } } public int getObjectType() { return TMTypes.TM_SCOPE; } public int hashCode() { return m_stringified.hashCode(); } public String toString() { return m_stringified; } } --- NEW FILE: OzoneScopedObject.java --- /* * You can redistribute this software and/or modify it under the terms of * the Infozone Software License version 2 published by the Infozone Group * (http://www.infozone-group.org). * * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id: OzoneScopedObject.java,v 1.1 2001/05/29 17:32:45 lilli Exp $ */ package com.techquila.topicmap.ozone; import com.techquila.topicmap.ScopedObject; import com.techquila.topicmap.Topic; import com.techquila.topicmap.Scope; import org.ozoneDB.OzoneRemote; /** */ public interface OzoneScopedObject extends OzoneTopicMapObject, ScopedObject { public void addTheme( Topic theme ); // update public void removeTheme( Topic theme ); // update public void dispose(); // update public void setScope( Scope newScope ); // update } --- NEW FILE: OzoneScopedObjectImpl.java --- /* * You can redistribute this software and/or modify it under the terms of * the Infozone Software License version 2 published by the Infozone Group * (http://www.infozone-group.org). * * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id: OzoneScopedObjectImpl.java,v 1.1 2001/05/29 17:32:45 lilli Exp $ */ package com.techquila.topicmap.ozone; import com.techquila.topicmap.TopicMapObject; import com.techquila.topicmap.Scope; import com.techquila.topicmap.Topic; import java.beans.PropertyChangeEvent; /** * Base class for all topic map objects which have a validity scope. */ public abstract class OzoneScopedObjectImpl extends OzoneTopicMapObjectImpl implements OzoneScopedObject { final static long serialVersionUID = 1L; private Scope m_scope; /** */ public OzoneScopedObjectImpl() { m_scope = null; } /** * Clears contained scope references. */ public void dispose() { m_scope = null; } /** * Defines the scope of validity of this scoped object. * @param themes An array of Topics defining the scope for this scoped object. */ public void setScope( Scope newScope ) { Scope oldScope = m_scope; m_scope = newScope; firePropertyChange( "scope", oldScope, m_scope ); m_scope.addPropertyChangeListener( this ); } public Scope getScope() { return m_scope; } // Add/Remove themes from scope: public void addTheme( Topic theme ) { m_scope.addTheme( theme ); } public void removeTheme( Topic theme ) { m_scope.removeTheme( theme ); } /** * @deprecated Use getScope().inScope() instead * @return True if the specified theme is in the scope of this object. */ public boolean inScope( Topic theme ) { return m_scope.inScope( theme ); } /** * @deprecated Use getScope().inScope() instead. * @return True if the one or more of the specified themes are in the scope of this object. */ public boolean inScope( Topic[] themes ) { return m_scope.inScope( themes ); } } --- NEW FILE: OzoneTopic.java --- /* * You can redistribute this software and/or modify it under the terms of * the Infozone Software License version 2 published by the Infozone Group * (http://www.infozone-group.org). * * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id: OzoneTopic.java,v 1.1 2001/05/29 17:32:45 lilli Exp $ */ package com.techquila.topicmap.ozone; import com.techquila.topicmap.Topic; import com.techquila.topicmap.TopicMap; import com.techquila.topicmap.Occurrence; import com.techquila.topicmap.BaseName; import com.techquila.topicmap.Member; import com.techquila.topicmap.MergedTopicSubjectClashException; import org.ozoneDB.OzoneRemote; /** * This interface describes a Topic (<code>topic</code>) construct in a Topic Map */ public interface OzoneTopic extends OzoneScopedObject, Topic { /** */ public void setParent( TopicMap parent ); // update /** */ public TopicMap getParent(); // update /** * Sets the reference to the subject of this topic. * @param resourceRef The URI reference to the resource which is the subject of this topic. */ public void setSubject( String resourceRef ); // update /** * Adds a subject indicator to this topic */ public void addSubjectIndicator( String subjectIdentity ); // update /** * Sets the collection of subject indicators for this topic. */ public void setSubjectIndicators( String[] indicators ); // update /** * @deprecated * Sets the compound link type of this topic. */ public void setLinktype( String linktype ); // update /** * Defines the type of this topic. * @param types An array of Topics defining the type of this topic. */ public void setTypes( Topic[] types ); // update /** * Adds a new topic into the list of those defining the type of this topic. * @param type The typing topic to be added. */ public void addType( Topic type ); // update /** * Sets the names of this Topic * @param names The names to be assigned to this topic. */ public void setNames( BaseName[] names ); // update /** * Adds another name or set of names to the list of names of this Topic * @param name The scoped name(s) to be added */ public void addName( BaseName name ); // update /** * Sets the list of occurrences for this Topic. * @param occurs The Occurrences to be associated with this Topic. */ public void setOccurrences( Occurrence[] occurs ); // update /** * Adds an occurrence to this Topic. * @param occurs The Occurrence to be added. */ public void addOccurrence( Occurrence occurs ); // update /** * Sets the list of roles which this Topic is playing. */ public void setRolesPlayed( Member[] rolesPlayed ); // update /** * Adds a Member object to the list of roles played by this topic. */ public void addRolePlayed( Member rolePlayed ); // update /** * Adds another Topic to the list of merged topics. */ public void addMergedTopic( Topic mergedTopic ) throws MergedTopicSubjectClashException; // update /** * Removes all merged topics from this topic. */ public void removeMergedTopics(); // update /** * Sets a reference to the topic that this topic is merged with. */ public void setBaseTopic( Topic baseTopic ); // update } --- NEW FILE: OzoneTopicImpl.java --- /* * You can redistribute this software and/or modify it under the terms of * the Infozone Software License version 2 published by the Infozone Group * (http://www.infozone-group.org). * * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id: OzoneTopicImpl.java,v 1.1 2001/05/29 17:32:45 lilli Exp $ */ package com.techquila.topicmap.ozone; import com.techquila.topicmap.Topic; import com.techquila.topicmap.TopicMap; import com.techquila.topicmap.TopicMapUtils; import com.techquila.topicmap.Association; import com.techquila.topicmap.Occurrence; import com.techquila.topicmap.TMTypes; import com.techquila.topicmap.PSI; [...1057 lines suppressed...] */ public void propertyChange( PropertyChangeEvent ev ) { // Changes to themes of the scope should get propagated as a change // to this topic's scope. if (ev.getPropertyName().equals( "themes" )) { firePropertyChange( "scope", null, getScope() ); } else if ((ev.getPropertyName().equals( "scope" )) || (ev.getPropertyName().equals( "scopeString" )) || (ev.getPropertyName().equals( "string" ))) { if (m_names.contains( ev.getSource() )) { System.out.println("Scope string of topic (" + getID() + ") base name changed"); makeScopedNames(); } else { System.out.println("Property change received from an object which is not in m_names."); } } } } --- NEW FILE: OzoneTopicMap.java --- /* * You can redistribute this software and/or modify it under the terms of * the Infozone Software License version 2 published by the Infozone Group * (http://www.infozone-group.org). * * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id: OzoneTopicMap.java,v 1.1 2001/05/29 17:32:45 lilli Exp $ */ package com.techquila.topicmap.ozone; import com.techquila.topicmap.TopicMap; import com.techquila.topicmap.TopicMapUtils; import com.techquila.topicmap.Topic; import com.techquila.topicmap.Association; import com.techquila.topicmap.TopicNotFoundException; import com.techquila.topicmap.MergedTopicSubjectClashException; import com.techquila.topicmap.DuplicateTopicException; import org.ozoneDB.OzoneRemote; import java.net.URL; /** * This interface defines the whole Topic Map construct. */ public interface OzoneTopicMap extends OzoneTopicMapObject, TopicMap { /** * Adds an added theme to the topic map. */ public void addAddedTheme( Topic theme ); // update /** * Adds the association to this topic map. */ public void addAssociation( Association association ); // update /** * Add the topic to this topic map. * Automatically determines if the topic should be merged. * @param topic The topic to be added to the map * @throws DuplicateTopicException */ public Topic addTopic( Topic topic ) throws DuplicateTopicException, MergedTopicSubjectClashException; // update /** * Delete a topic from the topic map. * @param topic The topic to be removed from the map * @throws TopicNotFoundException */ public void removeTopic( Topic topic ) throws TopicNotFoundException; // update /** * Delete an association from the topic map. * @param assoc The association to be removed from the map */ public void removeAssociation( Association assoc ); // update /** * setName * Set the name of the topic map. * @param name The name to be assigned to the topic map. */ public void setName( String name ); // update /** * Sets the topic map's base URL */ public void setBase( URL base ); // update /** * Returns a TopicMapUtils object and creates a new one if * necessary. */ public TopicMapUtils getUtils(); // update } --- NEW FILE: OzoneTopicMapFactoryImpl.java --- /* * You can redistribute this software and/or modify it under the terms of * the Infozone Software License version 2 published by the Infozone Group * (http://www.infozone-group.org). * * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id: OzoneTopicMapFactoryImpl.java,v 1.1 2001/05/29 17:32:45 lilli Exp $ */ package com.techquila.topicmap.ozone; import org.ozoneDB.OzoneInterface; import com.techquila.topicmap.TopicMapFactory; import com.techquila.topicmap.Topic; import com.techquila.topicmap.TopicMap; import com.techquila.topicmap.Association; import com.techquila.topicmap.Occurrence; import com.techquila.topicmap.BaseName; import com.techquila.topicmap.Variant; import com.techquila.topicmap.VariantName; import com.techquila.topicmap.Member; import com.techquila.topicmap.Scope; import com.techquila.topicmap.TopicMapProcessingException; import com.techquila.topicmap.TopicMapRuntimeException; import java.net.URL; import java.net.MalformedURLException; /** * Implements the TopicMapFactory interface for creating in-memory Topic Map objects. */ public class OzoneTopicMapFactoryImpl extends Object implements TopicMapFactory { public final static String DEFAULT_BASE_URL = "http://topicmap.techquila.com/default"; private OzoneInterface m_database; private TopicMap m_topicMap; private URL m_defaultBaseURL; private URL m_baseURL; /** */ public OzoneTopicMapFactoryImpl( OzoneInterface database ) { this( database, null ); } /** */ public OzoneTopicMapFactoryImpl( OzoneInterface database, TopicMap tm ) { m_topicMap = tm; m_database = database; try { String urlString = System.getProperty( "com.techquila.topicmap.baseURL", DEFAULT_BASE_URL ); m_defaultBaseURL = new URL( urlString ); } catch (MalformedURLException ex) { throw new TopicMapRuntimeException( "Cannot initialise base URL for TopicMapFactoryImpl.", ex ); } } /** */ public void setBase( URL base ) { m_baseURL = base; } /** */ public TopicMap createTopicMap() { //System.out.println( " --> createTopicMap" ); return createTopicMap( m_defaultBaseURL ); } /** */ public TopicMap createTopicMap( URL baseURL ) { //System.out.println( " --> createTopicMap" ); try { m_topicMap = (OzoneTopicMap)m_database.createObject( OzoneTopicMapImpl.class.getName() ); m_topicMap.setBase( baseURL ); return m_topicMap; } catch (Exception e) { e.printStackTrace(); return null; } } /** */ public Topic createTopic( String id ) throws TopicMapProcessingException { //System.out.println( " --> createTopic: " + id ); try { OzoneTopic ret = (OzoneTopic)m_database.createObject( OzoneTopicImpl.class.getName() ); ret.setID( normaliseID( id ) ); ret.setParent( m_topicMap ); ret.setScope( createScope( null ) ); m_topicMap.addTopic( ret ); ret.getScope().addPropertyChangeListener( ret ); return ret; } catch (Exception e) { e.printStackTrace(); return null; } } /** */ public Scope createScope( String id ) { //System.out.println( " --> createScope" ); try { Scope ret = (Scope)m_database.createObject( OzoneScopeImpl.class.getName() ); ret.setID( normaliseID( id ) ); return ret; } catch (Exception e) { e.printStackTrace(); return null; } } /** */ public Association createAssociation( String id ) { return createAssociation( id, null ); } /** */ public Association createAssociation( String id, Topic type ) { //System.out.println( " --> createAssociation: " + id ); try { Association ret = (Association)m_database.createObject( OzoneAssociationImpl.class.getName() ); ret.setID( normaliseID( id ) ); ret.setScope( createScope( null ) ); ret.setType( type ); return ret; } catch (Exception e) { e.printStackTrace(); return null; } } /** */ public Member createMember( Association parent, String id ) { //System.out.println( " --> createMember" ); try { Member ret = (Member)m_database.createObject( OzoneMemberImpl.class.getName() ); ret.setID( normaliseID( id ) ); parent.addMember( ret ); return ret; } catch (Exception e) { e.printStackTrace(); return null; } } /** */ public BaseName createBaseName( String id ) { //System.out.println( " --> createBaseName" ); try { BaseName ret = (BaseName)m_database.createObject( OzoneBaseNameImpl.class.getName() ); ret.setID( normaliseID( id ) ); ret.setScope( createScope( null ) ); return ret; } catch (Exception e) { e.printStackTrace(); return null; } } /** */ public Variant createVariant( String id ) { //System.out.println( " --> createVariant" ); try { Variant ret = (Variant)m_database.createObject( OzoneVariantImpl.class.getName() ); ret.setID( normaliseID( id ) ); ret.setScope( createScope( null ) ); return ret; } catch (Exception e) { e.printStackTrace(); return null; } } /** */ public VariantName createVariantName( String id ) { //System.out.println( " --> createVariantName" ); try { VariantName ret = (VariantName)m_database.createObject( OzoneVariantNameImpl.class.getName() ); ret.setID( normaliseID( id ) ); return ret; } catch (Exception e) { e.printStackTrace(); return null; } } /** */ public Occurrence createOccurrence( String id ) { //System.out.println( " --> createOccurrence" ); try { Occurrence ret = (Occurrence)m_database.createObject( OzoneOccurrenceImpl.class.getName() ); ret.setID( normaliseID( id ) ); ret.setScope( createScope( null ) ); return ret; } catch (Exception e) { e.printStackTrace(); return null; } } /** */ protected String normaliseID( String id ) { return id; } } --- NEW FILE: OzoneTopicMapImpl.java --- /* * You can redistribute this software and/or modify it under the terms of * the Infozone Software License version 2 published by the Infozone Group * (http://www.infozone-group.org). * * Copyright (C) @year@ by The Infozone Group. All rights reserved. * * $Id: OzoneTopicMapImpl.java,v 1.1 2001/05/29 17:32:45 lilli Exp $ */ package com.techquila.topicmap.ozone; import com.techquila.topicmap.TopicMap; import com.techquila.topicmap.TopicMapObject; import com.techquila.topicmap.Topic; import com.techquila.topicmap.TMTypes; import com.techquila.topicmap.TopicMapUtils; import com.techquila.topicmap.TopicMapUtilsImpl; import com.techquila.topicmap.TopicMapFactory; import com.techquila.topicmap.Association; import com.techquila.topicmap.BaseName; import com.techquila.topicmap.ScopedObject; import com.techquila.topicmap.TopicNotFoundException; import com.techquila.topicmap.MergedTopicSubjectClashException; import com.techquila.topicmap.DuplicateTopicException; import com.techquila.topicmap.TopicMapProcessingException; import com.techquila.topicmap.TopicMapRuntimeException; import com.techquila.utils.URLS; import java.beans.PropertyChangeEvent; import java.net.URL; import java.util.Collection; import java.util.Collections; import java.util.Iterator; import java.util.ArrayList; import java.util.Set; import java.util.HashSet; import java.util.Hashtable; import java.beans.PropertyChangeEvent; /** * The TopicMap is the root container for all of the other topic map objects. * This implementation of the TopicMap interface maintains all indices in memory. */ public class OzoneTopicMapImpl extends OzoneTopicMapObjectImpl implements OzoneTopicMap { final static long serialVersionUID = 1L; // Protected Memeber Variables protected String m_name; protected String m_id; protected ArrayList m_addthemes; protected HashSet m_topics; protected Hashtable m_objectsByID; protected Hashtable m_objectsByResourceID; protected Hashtable m_topicsBySubject; protected Hashtable m_topicsBySubjectIndicator; protected Hashtable m_topicsByScopedName; protected ArrayList m_associations; protected URL m_baseURL; transient protected TopicMapFactory m_factory; transient protected TopicMapUtils m_utils; /** * Creates a new, empty TopicMap */ public OzoneTopicMapImpl() { m_addthemes = new ArrayList(); m_topics = new HashSet(); m_objectsByID = new Hashtable(); m_objectsByResourceID = new Hashtable(); m_associations = new ArrayList(); m_topicsBySubject = new Hashtable(); m_topicsBySubjectIndicator = new Hashtable(); m_topicsByScopedName = new Hashtable(); m_factory = null; } //////////////////////////////////////////////////// // Public Member Functions //////////////////////////////////////////////////// /** * Adds an added theme to the topic map. */ public void addAddedTheme( Topic theme ) { m_addthemes.add( theme ); } /** * Adds the association to this topic map. */ public void addAssociation( Association association ) { m_associations.add( association ); } /** * Add the topic to this topic map. * Automatically determines if the topic should be merged. * @param topic The topic to be added to the map * @returns The topic added or the Topic that the added topic was merged into. * @throws DuplicateTopicException */ public Topic addTopic( Topic topic ) throws DuplicateTopicException, MergedTopicSubjectClashException { Topic ret = topic; boolean didMerge = false; // Check for merge by matching subject String subject = topic.getSubject(); if (subject != null && subject.length() > 0) { if (m_topicsBySubject.containsKey( subject )) { //System.out.println("Merge by subject: " + subject); Topic t = (Topic)m_topicsBySubject.get( subject ); t.addMergedTopic( topic ); indexTopic( t, topic ); didMerge = true; } } // Check for merge by matching subject indicator Collection subjectIndicators = ret.getSubjectIndicators(); Iterator it = subjectIndicators.iterator(); while (it.hasNext()) { String subjectIndicator = (String)it.next(); if (subjectIndicator != null && subjectIndicator.length() > 0) { if (m_topicsBySubjectIndicator.containsKey( subjectIndicator )) { // Merge the new topic with the topic with a matching identity Topic t = (Topic)m_topicsBySubjectIndicator.get( subjectIndicator ); // It is possible to get the topic currently being added at this point // This will happen if the topic being added has multiple subject indicators // which cause merges. To avoid merging the topic with itself, check the returned // topic id. //System.out.println("Subject Indicator Merge: " + topic.getID() + " into " + t.getID()); if (t.getID().equals( topic.getID() )) { continue; } t.addMergedTopic( topic ); // Record the merged topic under the ID of this topic. indexTopic( t, topic ); didMerge = true; } } } // Check for merge by matching scoped name Iterator scopedNames = ret.getScopedNames().iterator(); while (scopedNames.hasNext()) { String scName = (String)scopedNames.next(); if (m_topicsByScopedName.containsKey( scName )) { Topic t = (Topic)m_topicsByScopedName.get( scName ); //System.out.println("Name Merge: " + topic.getID() + " into " + t.getID() + ": " + scName); if (t.getBaseTopic().getID().equals( topic.getBaseTopic().getID() )) { continue; } t.addMergedTopic( ret ); // Record the merged topic under the ID of this topic. indexTopic( t, ret ); ret = t; didMerge = true; } } if (!didMerge) { // Topic is not merged. Check that its SGML Id is not a duplicate if (m_objectsByID.containsKey( topic.getID() )) { throw new DuplicateTopicException( "Duplicate topic ID: " + topic.getID() ); } m_topics.add( ret ); indexTopic( ret, null ); } return ret; } private void indexObject( TopicMapObject tmo ) { m_objectsByID.put( tmo.getID(), tmo ); if (tmo.getResourceID() != null) { m_objectsByResourceID.put( tmo.getResourceID(), tmo ); } } private void unindexObject( TopicMapObject tmo ) { m_objectsByID.remove( tmo.getID() ); if (tmo.getResourceID() != null) { m_objectsByResourceID.remove( tmo.getResourceID() ); } } /** * Adds entries in all internal indices for the specified topic. * */ private void indexTopic( Topic t, Topic mt ) { // Unique ID & Resource ID if (mt != null) { indexObject( mt ); /* * For a merged topic, record the containing * topic under the merged topic's id * NOTE: this overwrites the indexing done by indexObject() */ m_objectsByID.put( mt.getID(), t ); } else { indexObject( t ); m_objectsByID.put( t.getID(), t ); if (t.getResourceID() != null) { m_objectsByResourceID.put( t.getResourceID(), t ); } } // Scoped names index Iterator scopedNames = t.getScopedNames().iterator(); while (scopedNames.hasNext()) { String scName = (String)scopedNames.next(); m_topicsByScopedName.put( scName, t ); } // Topic identity index Iterator subjectIDs = t.getSubjectIndicators().iterator(); while (subjectIDs.hasNext()) { String topicId = (String)subjectIDs.next(); if (topicId != null) { if (topicId.length() > 0) { m_topicsBySubjectIndicator.put( topicId, t ); } } } // Topic subject index String subject = t.getSubject(); if (subject != null && subject.length() > 0) { m_topicsBySubject.put( subject, t ); } // Register as listener to topic and its base names: if (mt != null) { register( mt ); } else { register( t ); } } /** * Registers this TopicMapImpl as a property change listener for the specified topic * and its base names. */ public void register( Topic t ) { t.addPropertyChangeListener( this ); Iterator it = t.getNames().iterator(); while (it.hasNext()) { BaseName bn = (BaseName)it.next(); bn.addPropertyChangeListener( this ); } } public void unregister( Topic t ) { t.removePropertyChangeListener( this ); Iterator it = t.getNames().iterator(); while (it.hasNext()) { BaseName bn = (BaseName)it.next(); bn.removePropertyChangeListener( this ); } } protected void unindexTopic( Topic topic, boolean unindexMergedTopics ) { m_topics.remove( topic ); unindexObject( topic ); if (unindexMergedTopics) { Iterator it = topic.getMergedTopics().iterator(); while (it.hasNext()) { Topic mt = (Topic)it.next(); m_topics.remove( mt ); m_objectsByID.remove( mt.getID() ); } } } protected void unindexSubject( Topic topic, String oldSubject ) { if (oldSubject != null && m_topicsBySubject.containsKey( oldSubject )) { Topic t = (Topic)m_topicsBySubject.get( oldSubject ); if (t.getID() == topic.getID()) { m_topicsBySubject.remove( oldSubject ); } } } /** * Remove all entries in m_topicsByScopedName for this topic. * @param topic Topic to remove entries for * @param scopedNames Collection of keys under which the topic may be found */ protected void unindexScopedNames( Topic topic, Collection scopedNames ) { if (scopedNames == null) { return; } Iterator it = scopedNames.iterator(); while (it.hasNext()) { String scopedName = (String)it.next(); Topic t = (Topic)m_topicsByScopedName.get( scopedName ); if (t != null && t.getID().equals( topic.getID() )) { m_topicsByScopedName.remove( scopedName ); } } } protected void unindexSubjectIndicators( Topic topic, Collection indicators ) { if (indicators == null) { return; } Iterator it = indicators.iterator(); while (it.hasNext()) { String indicator = (String)it.next(); Topic t = (Topic)m_topicsBySubjectIndicator.get( indicator ); if (t != null && t.getID().equals( topic.getID() )) { m_topicsBySubjectIndicator.remove( indicator ); } } } /** * removeTopic * Delete a topic from the topic map. * @param topic The topic to be removed from the map * @throws TopicNotFoundException */ public void removeTopic( Topic topic ) throws TopicNotFoundException { if (!m_objectsByID.containsKey( topic.getID() )) { throw new TopicNotFoundException( topic.getID() ); } unindexTopic( topic, false ); unindexSubject( topic, topic.getSubject() ); // Subject Indicators Iterator it = topic.getSubjectIndicators().iterator(); while (it.hasNext()) { String subjectIndicator = (String)it.next(); m_topicsBySubjectIndicator.remove( subjectIndicator ); } // Scoped Names Iterator scopedNames = topic.getScopedNames().iterator(); while (scopedNames.hasNext()) { String scName = (String)scopedNames.next(); m_topicsByScopedName.remove( scName ); } } public void removeAssociation( Association assoc ) { m_associations.remov... [truncated message content] |
From: Gerd M. <li...@us...> - 2001-05-29 17:28:51
|
Update of /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/ozone In directory usw-pr-cvs1:/tmp/cvs-serv9654/ozone Log Message: Directory /cvsroot/tm4j/tm4j/src/com/techquila/topicmap/ozone added to the repository |
From: Kal A. <kal...@us...> - 2001-05-26 14:22:02
|
Update of /cvsroot/tm4j/tm4j In directory usw-pr-cvs1:/tmp/cvs-serv28754 Modified Files: build.xml Log Message: Made compilation of TMNav dependant on locating BrainSDK. Index: build.xml =================================================================== RCS file: /cvsroot/tm4j/tm4j/build.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** build.xml 2001/05/25 13:51:45 1.3 --- build.xml 2001/05/26 14:21:59 1.4 *************** *** 1,4 **** --- 1,10 ---- <?xml version="1.0"?> + <!-- + - ANT build file for TM4J + - + - $Id$ + --> + <project name="TM4J" default="usage"> *************** *** 24,28 **** <echo message=" distrib-all --> generates the TM4J source and binary distributions"/> <echo message=" clean-all --> cleans up all compiled classes"/> ! <echo message=" usage --> show this message (default)"/> <echo message=""/> <echo message="-------------------------------------------------------------"/> --- 30,34 ---- <echo message=" distrib-all --> generates the TM4J source and binary distributions"/> <echo message=" clean-all --> cleans up all compiled classes"/> ! <echo message=" usage --> show this message (default)"/> <echo message=""/> <echo message="-------------------------------------------------------------"/> *************** *** 44,47 **** --- 50,55 ---- <mkdir dir="${dist}/docs/javadoc"/> <mkdir dir="${classdir}"/> + + <available property="brain.present" classname="com.natrificial.db.core.Knowledge"/> </target> *************** *** 157,161 **** </target> ! <target name="tm4j-clean"> <delete> <fileset dir="${classdir}"> --- 165,169 ---- </target> ! <target name="tm4j-clean" depends="init"> <delete> <fileset dir="${classdir}"> *************** *** 197,201 **** </patternset> ! <target name="tmnav-build" depends="tm4j-build"> <javac srcdir="src" destdir="${classdir}"> <patternset refid="tmnav.sources"/> --- 205,209 ---- </patternset> ! <target name="tmnav-build" depends="tm4j-build" if="brain.present"> <javac srcdir="src" destdir="${classdir}"> <patternset refid="tmnav.sources"/> *************** *** 203,207 **** </target> ! <target name="tmnav-jar" depends="tmnav-build"> <jar jarfile="${dist}/lib/tmnav.jar" basedir="${classdir}"> --- 211,216 ---- </target> ! <target name="tmnav-jar" depends="tmnav-build" if="brain.present"> ! <echo>BrainSDK detected. Building TMNav.</echo> <jar jarfile="${dist}/lib/tmnav.jar" basedir="${classdir}"> *************** *** 211,219 **** <target name="tmnav-clean" depends="init"> ! <delete> ! <fileset dir="${classdir}"> ! <patternset refid="tmnav.classes"/> ! </fileset> ! </delete> </target> --- 220,224 ---- <target name="tmnav-clean" depends="init"> ! <delete dir="${classdir}/com/techquila/tmnav"/> </target> *************** *** 236,248 **** </target> ! <target name="tmp3-clean"> ! <delete> ! <fileset dir="."> ! <patternset> ! <include name="${classdir}/com/techquila/tmp3/*.class"/> ! <include name="${dist}/lib/tmp3.jar"/> ! </patternset> ! </fileset> ! </delete> </target> --- 241,247 ---- </target> ! <target name="tmp3-clean" depends="init"> ! <delete dir="${classdir}/com/techquila/tmp3"/> ! <delete file="${dist}/lib/tmp3.jar"/> </target> |
From: Kal A. <kal...@us...> - 2001-05-26 14:20:03
|
Update of /cvsroot/tm4j/tm4j In directory usw-pr-cvs1:/tmp/cvs-serv28300 Added Files: build.sh Log Message: Script to invoke Ant to build the 'all' target --- NEW FILE: build.sh --- #! /bin/sh # $Id: build.sh,v 1.1 2001/05/26 14:20:00 kal_ahmed Exp $ export ANT_HOME=`dirname $0` . $ANT_HOME/bin/ant all |