From: Xuan B. <med...@us...> - 2008-06-11 02:27:11
|
Update of /cvsroot/tm4j/tm4j/src/org/tm4j/topicmap/tmdm/merged In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv23409/src/org/tm4j/topicmap/tmdm/merged Modified Files: MergedTopic.java MergedTopicMapView.java Log Message: Index MergedOccurence objects properly. Index: MergedTopic.java =================================================================== RCS file: /cvsroot/tm4j/tm4j/src/org/tm4j/topicmap/tmdm/merged/MergedTopic.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MergedTopic.java 21 Jan 2008 11:13:45 -0000 1.1 --- MergedTopic.java 11 Jun 2008 02:27:17 -0000 1.2 *************** *** 30,33 **** --- 30,34 ---- protected Set<MergedAssociationRole> usedAsAssociationRolePlayer; protected Set<MergedTopicName> usedAsTopicNameParent; + protected Set<MergedOccurrence> usedAsOccurrenceParent; /** *************** *** 164,167 **** --- 165,208 ---- } + protected void addUsedAsOccurrenceParent(MergedOccurrence user) { + if (usedAsOccurrenceParent==null) { + usedAsOccurrenceParent = getContainer().createIdentitySet(); + } + + boolean success = usedAsOccurrenceParent.add(user); + + assert success : "Could not add "+user+" to "+this+".usedAsOccurrenceParent, usedAsOccurrenceParent already contains this user."; + } + + protected void removeUsedAsOccurrenceParent(MergedOccurrence user) { + assert usedAsOccurrenceParent!=null; + + boolean success = usedAsOccurrenceParent.remove(user); + + assert success; + } + + protected Set<MergedOccurrence> getUsedAsOccurrenceParent() { + return usedAsOccurrenceParent; + } + + + + @TMDM + public Set<MergedOccurrence> getOccurrences() { + if (usedAsOccurrenceParent==null) { + return Collections.emptySet(); + } else { + /* + return new MappedSet<MergedOccurrenceKey,MergedOccurrence>(getUsedAsOccurrenceParent()) { + public MergedOccurrence map(MergedOccurrenceKey key) { + return getContainer().getMergedOccurrenceByKey(key); + } + }; + */ + return usedAsOccurrenceParent; + } + } + @TMDM public Set<? extends MergedAssociationRole> getRolesPlayed() { Index: MergedTopicMapView.java =================================================================== RCS file: /cvsroot/tm4j/tm4j/src/org/tm4j/topicmap/tmdm/merged/MergedTopicMapView.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** MergedTopicMapView.java 11 Jun 2008 02:23:39 -0000 1.10 --- MergedTopicMapView.java 11 Jun 2008 02:27:17 -0000 1.11 *************** *** 1020,1023 **** --- 1020,1026 ---- mergedOccurrenceByKey.put(key,mergedOccurrence); + mergedOccurrence.getParent().addUsedAsOccurrenceParent(mergedOccurrence); + // FIXME: need to handle occurrence types + if (notifyListener) { internalNotifyMergedOccurrenceCreated(mergedOccurrence); |