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);
|