[isidorus-cvs] r691 - in branches/gdl-frontend/src/anaToMia/GDL_Widgets: src/us/isidor/gdl/anaToMia/Widgets src/us/isidor/gdl/anaToMia/Widgets/base src/us/isidor/gdl/anaToMia/Widgets/text war/gdl_widgets

lgiessmann at common-lisp.net lgiessmann at common-lisp.net
Thu Jul 28 15:22:28 UTC 2011


Author: lgiessmann
Date: Thu Jul 28 08:22:27 2011
New Revision: 691

Log:
gdl-frontend: Widgets: implemented the method TmHelper.getDefaultTmValue() that returns the topic that represents the tm-default-value; extended the test.gdl.jtm file

Modified:
   branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/TODO.txt
   branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/GdlPsis.java
   branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/IGdlHasValueGroup.java
   branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/TmHelper.java
   branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/text/GdlText.java
   branches/gdl-frontend/src/anaToMia/GDL_Widgets/war/gdl_widgets/test.gdl.jtm

Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/TODO.txt
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/TODO.txt	Thu Jul 28 06:35:52 2011	(r690)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/TODO.txt	Thu Jul 28 08:22:27 2011	(r691)
@@ -1,3 +1,4 @@
+* peson-name-constraint: create a person topic type, bind the person-name to this topic type, set the default-tm-value
 * Implement all IHasValueGroup to:
     * GdlText
     * GdlInfo

Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/GdlPsis.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/GdlPsis.java	Thu Jul 28 06:35:52 2011	(r690)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/GdlPsis.java	Thu Jul 28 08:22:27 2011	(r691)
@@ -189,6 +189,7 @@
 		public final static String gdlTmBinding = gdl + "tm-binding";
 		public final static String gdlViewBinding = gdl + "view-binding";
 		public final static String gdlTopicViewBinding = gdl + "topic-view-binding";
+		public final static String gdlValueBinding = gdl + "value-binding";
 	}
 	
 	
@@ -205,6 +206,7 @@
 		public final static String gdlValueGroup = gdl + "value-group";
 		public final static String gdlTmValue = gdl + "tm-value";
 		public final static String gdlActionButton = gdl + "action-button";
+		public final static String gdlValue = gdl + "value";
 	}
 	
 	

Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/IGdlHasValueGroup.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/IGdlHasValueGroup.java	Thu Jul 28 06:35:52 2011	(r690)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/IGdlHasValueGroup.java	Thu Jul 28 08:22:27 2011	(r691)
@@ -31,7 +31,9 @@
 	// i.e. is is one value of getDefaultTmValue(), getDefaultLiteralValue() 
 	public Topic getDefaultValue() throws InvalidGdlSchemaException;
 	
-	// returns all possible topics that can be used as values for this value group
+	// returns all possible topics that can be used as values for this value group,
+	// i.e. if no tm-values are bound to this value-group, all possible values are
+	// generated by examining the tmcl:constraint
 	public ArrayList<Topic> getTmValues() throws InvalidGdlSchemaException;
 	
 	// returns all possible literals that can be used as values for this value group

Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/TmHelper.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/TmHelper.java	Thu Jul 28 06:35:52 2011	(r690)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/TmHelper.java	Thu Jul 28 08:22:27 2011	(r691)
@@ -665,4 +665,35 @@
 			else throw new InvalidGdlSchemaException("the value group " + getAnyIdOfTopic(valueGroup) + " must be bound to exaclty on root constraint of the type " + GdlPsis.TMCL.constraint + " but is unbound");
 		}
 	}
+
+
+	// returns the topic that represent the default tm value for the passed value group
+	public static Topic getDefaultTmValue(Topic valueGroup) throws InvalidGdlSchemaException {
+		if(valueGroup == null) return null;
+		
+		TopicMap tm = valueGroup.getTopicMap();
+		Topic valueBindingAssocTopic = getTopicByPsi(GdlPsis.AssociationType.gdlValueBinding, tm);
+		Topic valueGroupRoleType = getTopicByPsi(GdlPsis.RoleType.gdlValueGroup, tm);
+		Topic valueRoleType = getTopicByPsi(GdlPsis.RoleType.gdlValue, tm);
+		Topic defaultTmValueType = getTopicByPsi(GdlPsis.TopicType.gdlDefaultTmValue, tm);
+		
+		ArrayList<Topic> defaultTmValues = getOtherPlayerOfBinaryAssociation(valueGroup, valueGroupRoleType, valueBindingAssocTopic, null, defaultTmValueType, valueRoleType);
+		
+		if(defaultTmValues.size() == 1) return defaultTmValues.get(0);
+		else if(defaultTmValues.size() == 0) return null;
+		else throw new InvalidGdlSchemaException("the topic " + getAnyIdOfTopic(valueGroup) + " must be bound none or once to a DefaultTmValue, but is: " + defaultTmValues.size());
+	}
+	
+	
+	public static Topic getDefaultLiteralValue(Topic valueGroup) throws InvalidGdlSchemaException{
+		// TODO: implement
+		return null;
+	}
+	
+	
+	public static ArrayList<Topic> getTmValue(Topic valueGroup) throws InvalidGdlSchemaException {
+		// TODO: implement
+		// TODO: if no tm-values are set, examine the tmcl constraint 
+		return null;
+	}
 }

Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/text/GdlText.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/text/GdlText.java	Thu Jul 28 06:35:52 2011	(r690)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/text/GdlText.java	Thu Jul 28 08:22:27 2011	(r691)
@@ -43,6 +43,8 @@
 	protected boolean constraintTopicSet = false;
 	protected Topic rootConstraintTopic = null;
 	protected boolean rootConstraintTopicSet = false;
+	protected Topic defaultTmValueTopic = null;
+	protected boolean defaultTmValueTopicSet = false;
 	
 	// some constructors
 	protected GdlText() throws InvalidGdlSchemaException, ExecutionException {
@@ -55,6 +57,8 @@
 		// TODO: create a text element for each TM-elem
 		this.createNewTextArea().setText("Text"); // TODO: remove only for debugging
 		this.setNthButtons();
+		
+		Window.alert(TmHelper.getAnyIdOfTopic(this.tmRepresentative) + " >> " + TmHelper.getAnyIdOfTopic(this.getDefaultTmValue())); // TODO: remove
 	}
 	
 	
@@ -817,29 +821,34 @@
 
 	@Override
 	public Topic getValueGroup() throws InvalidGdlSchemaException {
-		if(!this.valueGroupTopicSet) this.valueGroupTopic = TmHelper.getValueGroupOf(this.tmRepresentative);
-		return this.valueGroupTopic;
+		if(this.valueGroupTopicSet){
+			return this.valueGroupTopic;
+		} else {
+			this.valueGroupTopic = TmHelper.getValueGroupOf(this.tmRepresentative);
+			this.valueGroupTopicSet = true;
+			return this.valueGroupTopic;
+		}
 	}
 
 
 	@Override
 	public Topic getConstraint() throws InvalidGdlSchemaException {
-		Topic valueGroup = this.getValueGroup();
-		if(valueGroup != null) this.constraintTopic = TmHelper.getConstraintOfValueGroup(valueGroup);
-		this.constraintTopicSet = true;
-		return this.constraintTopic; 
+		if(this.constraintTopicSet){
+			return this.constraintTopic;
+		} else {
+			this.constraintTopic = TmHelper.getConstraintOfValueGroup(this.getValueGroup());
+			this.constraintTopicSet = true;
+			return this.constraintTopic;
+		}
 	}
 	
 	
 	@Override
 	public Topic getRootConstraint() throws InvalidGdlSchemaException {
-		Topic valueGroup = this.getValueGroup();
-		this.rootConstraintTopicSet = true;
-		if(valueGroup == null) {
-			this.rootConstraintTopicSet = true;
-			return null;
+		if(this.rootConstraintTopicSet){
+			return this.rootConstraintTopic;
 		} else {
-			this.rootConstraintTopic = TmHelper.getRootConstraintOfValueGroup(valueGroup, this.getConstraint());
+			this.rootConstraintTopic = TmHelper.getRootConstraintOfValueGroup(this.getValueGroup(), this.getConstraint());
 			this.rootConstraintTopicSet = true;
 			return this.rootConstraintTopic;
 		}
@@ -848,8 +857,13 @@
 
 	@Override
 	public Topic getDefaultTmValue() throws InvalidGdlSchemaException {
-		// TODO Auto-generated method stub
-		return null;
+		if(this.defaultTmValueTopicSet){
+			return this.defaultTmValueTopic;
+		} else {
+			this.defaultTmValueTopic = TmHelper.getDefaultTmValue(this.getValueGroup());
+			this.defaultTmValueTopicSet = true;
+			return this.defaultTmValueTopic;
+		}
 	}
 
 
@@ -862,7 +876,9 @@
 	
 	@Override
 	public Topic getDefaultValue() throws InvalidGdlSchemaException {
-		return this.getDefaultLiteralValue() == null ? this.getDefaultTmValue() : this.getDefaultLiteralValue();
+		if(this.getDefaultLiteralValue() != null && this.getDefaultTmValue() != null) throw new InvalidGdlSchemaException("the topic " + TmHelper.getAnyIdOfTopic(this.getValueGroup()) + " must be bound to maximal one " + GdlPsis.TopicType.gdlDefaultValue + ", but is: 2");
+		else if(this.getDefaultLiteralValue() != null) return this.getDefaultLiteralValue();
+		else return this.getDefaultTmValue();
 	}
 
 

Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/war/gdl_widgets/test.gdl.jtm
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/war/gdl_widgets/test.gdl.jtm	Thu Jul 28 06:35:52 2011	(r690)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/war/gdl_widgets/test.gdl.jtm	Thu Jul 28 08:22:27 2011	(r691)
@@ -30,6 +30,11 @@
            {"subject_identifiers":["[tmcl:card-min]"], "instance_of":["si:[tmcl:occurrence-type]"]},
            {"subject_identifiers":["[doc:test-schema]"], "instance_of":["si:[gdl:Schema]"], "names":[{"value": "Test GDL Schema", "type":"si:[gdl:schema-name]"}]},
            {"subject_identifiers":["[gdl:Visible-Object]"]},
+           {"subject_identifiers":["[doc:person-name]"], "instance_of":["si:[tmcl:name-type]"]},
+           {"subject_identifiers":["[doc:poet-name]"]},
+           {"subject_identifiers":["[doc:musician-name]"]},
+           {"subject_identifiers":["[doc:director-name]"]},
+           {"subject_identifiers":["[gdl:Visible-Object]"]},
            {"subject_identifiers":["[tmcl:constraint]"], "instance_of":["si:[tmcl:topic-type]"]},
            {"subject_identifiers":["[tmcl:topic-name-constraint]"], "instance_of":["si:[tmcl:topic-type]"]},
            {"subject_identifiers":["[gdl:Value-Group]"]},
@@ -63,6 +68,21 @@
            {"subject_identifiers":["[gdl:Button]"]},
            {"subject_identifiers":["[gdl:Action-Button]"]},
            {"subject_identifiers":["[gdl:Input-Button]"]},
+           {"subject_identifiers":["[gdl:Value]"]},
+           {"subject_identifiers":["[gdl:Default-Value]"]},
+           {"subject_identifiers":["[gdl:Input-Button]"]},
+           {"subject_identifiers":["[gdl:Literal-Value]"]},
+           {"subject_identifiers":["[gdl:TM-Value]"]},
+           {"subject_identifiers":["[gdl:TM-Type-Value]"]},
+           {"subject_identifiers":["[gdl:TM-Single-Type-Value]"]},
+           {"subject_identifiers":["[gdl:TM-Multiple-Type-Value]"]},
+           {"subject_identifiers":["[gdl:TM-Instance-Value"]},
+           {"subject_identifiers":["[gdl:Default-Literal-Value]"]},
+           {"subject_identifiers":["[gdl:Default-TM-Value]"]},
+           {"subject_identifiers":["[gdl:Default-TM-Type-Value]"]},
+           {"subject_identifiers":["[gdl:Default-TM-Single-Type-Value]"]},
+           {"subject_identifiers":["[gdl:Default-TM-Multiple-Type-Value]"]},
+           {"subject_identifiers":["[gdl:Default-TM-Instance-Value]"]},
            {"subject_identifiers":["[gdl:Delete-Button]"]},
            {"subject_identifiers":["[gdl:Create-Button]"]},
            {"subject_identifiers":["[gdl:Radio-Button]"]},
@@ -72,6 +92,7 @@
            {"subject_identifiers":["[gdl:Title]"]},
            {"subject_identifiers":["[gdl:Reference]"]},
            {"subject_identifiers":["[gdl:List]"]},
+           {"subject_identifiers":["[doc:default-tm-value-person-name-type-constraint]"], "instance_of":["si:[gdl:Default-TM-Instance-Value]"]},           
            {"subject_identifiers":["[doc:person-name-type-constraint]"], "instance_of":["si:[gdl:Type]"]},
            {"subject_identifiers":["[doc:person-name-constraint]"], "instance_of":["si:[tmcl:topic-name-constraint]"], "occurrences":[{"type":"si:[tmcl:card-min]", "value":"1"}, {"type":"si:[tmcl:card-max]", "value":"1"}]},
            {"subject_identifiers":["[doc:unit-1-radio-button]"], "instance_of":["si:[gdl:Radio-Button]"], "occurrences":[{"type":"si:[gdl:id]", "value":"unit_1_radio_button_id"},{"type":"si:[gdl:content-orientation]", "value":"horizontal"}, {"type":"si:[gdl:background-color]", "value": "lime"}, {"type":"si:[gdl:margin-left]", "value":"15pt"}, {"type":"si:[gdl:font-size]", "value":"8pt"}]},
@@ -98,7 +119,6 @@
     	   {"subject_identifiers":["[doc:pos-of-unit-1-text]"], "instance_of":["si:[gdl:Position]"]},
            {"subject_identifiers":["[doc:reference-1]"], "instance_of":["si:[gdl:Reference]"], "occurrences":[{"type":"si:[gdl:id]", "value":"reference_1_id", "datatype":"[xsd:ID]"}, {"type":"si:[gdl:margin-left]", "value":"200px"}, {"type":"si:[gdl:background-color]", "value":"yellow"}]},
            {"subject_identifiers":["[doc:list-box-1]"], "instance_of":["si:[gdl:List-Box]"], "occurrences":[{"type":"si:[gdl:id]", "value":"list_box_1_id", "datatype":"[xsd:ID]"}]},
-           {"subject_identifiers":["[gdl:Value]"], "instance_of":["si:[tmcl:topic-type]"]},
            {"subject_identifiers":["[doc:pos-of-title-1]"], "instance_of":["si:[gdl:Position]"]},
            {"subject_identifiers":["[doc:pos-of-text-1]"], "instance_of":["si:[gdl:Position]"], "occurrences":[{"type":"si:[gdl:position-style]", "value":"relative"}, {"type":"si:[gdl:top]", "value":"40px"}, {"type":"si:[gdl:left]", "value": "5%"}]},
            {"subject_identifiers":["[doc:pos-of-reference-1]"], "instance_of":["si:[gdl:Position]"], "occurrences":[{"type":"si:[gdl:position-style]", "value":"static"}]},
@@ -111,7 +131,6 @@
            {"subject_identifiers":["[gdl:bottom]"], "instance_of":["si:[tmcl:occurrence-type]"]},
            {"subject_identifiers":["[gdl:left]"], "instance_of":["si:[tmcl:occurrence-type]"]},
            {"subject_identifiers":["[gdl:content-orientation]"], "instance_of":["si:[tmcl:occurrence-type]"]},
-           {"subject_identifiers":["[gdl:TM-Value]"]},
            {"subject_identifiers":["[gdl:Unit]"]},
            {"subject_identifiers":["[gdl:Nth-Element]"]},
            {"subject_identifiers":["[gdl:nth-value]"], "instance_of":["si:[tmcl:occurrence-type]"]},
@@ -157,6 +176,18 @@
                  {"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[gdl:Default-Topic-View]"},{"type":"si:[tmdm:subtype]", "player":"si:[gdl:Default-Editor-Topic-View]"}]},
                  {"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[gdl:Special-Topic-View]"},{"type":"si:[tmdm:subtype]", "player":"si:[gdl:Special-Creator-Topic-View]"}]},
                  {"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[gdl:Value]"},{"type":"si:[tmdm:subtype]", "player":"si:[gdl:TM-Value]"}]},
+                 {"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[gdl:Value]"},{"type":"si:[tmdm:subtype]", "player":"si:[gdl:Literal-Value]"}]},
+                 {"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[gdl:Value]"},{"type":"si:[tmdm:subtype]", "player":"si:[gdl:Default-Value]"}]},
+                 {"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[gdl:TM-Value]"},{"type":"si:[tmdm:subtype]", "player":"si:[gdl:TM-Type-Value]"}]},
+                 {"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[gdl:TM-Value]"},{"type":"si:[tmdm:subtype]", "player":"si:[gdl:TM-Single-Type-Value]"}]},
+                 {"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[gdl:TM-Value]"},{"type":"si:[tmdm:subtype]", "player":"si:[gdl:TM-Multiple-Type-Value]"}]},
+                 {"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[gdl:TM-Value]"},{"type":"si:[tmdm:subtype]", "player":"si:[gdl:TM-Instance-Value]"}]},
+                 {"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[gdl:Default-TM-Value]"},{"type":"si:[tmdm:subtype]", "player":"si:[gdl:TM-Value]"}]},
+                 {"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[gdl:Default-TM-Value]"},{"type":"si:[tmdm:subtype]", "player":"si:[gdl:Default-Value]"}]},
+                 {"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[gdl:Default-Literal-Value]"},{"type":"si:[tmdm:subtype]", "player":"si:[gdl:Default-Value]"}]},
+                 {"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[gdl:Default-TM-Type-Value]"},{"type":"si:[tmdm:subtype]", "player":"si:[gdl:Default-TM-Type-Value]"}]},
+                 {"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[gdl:Default-TM-Type-Value]"},{"type":"si:[tmdm:subtype]", "player":"si:[gdl:Default-TM-Single-Type-Value]"}]},
+                 {"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[gdl:Default-TM-Type-Value]"},{"type":"si:[tmdm:subtype]", "player":"si:[gdl:Default-TM-Multiple-Type-Value]"}]},
                  {"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[gdl:TM-Value]"},{"type":"si:[tmdm:subtype]", "player":"si:[gdl:TM-Instance-Value]"}]},
                  {"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[gdl:TM-Value]"},{"type":"si:[tmdm:subtype]", "player":"si:[gdl:TM-Multiple-Type-Value]"}]},
                  {"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[gdl:Visible-Object]"},{"type":"si:[tmdm:subtype]", "player":"si:[gdl:Text-Object]"}]},
@@ -179,6 +210,9 @@
                  {"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[gdl:Descriptor]"},{"type":"si:[tmdm:subtype]", "player":"si:[gdl:Value-Group]"}]},
                  {"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[gdl:Descriptor]"},{"type":"si:[tmdm:subtype]", "player":"si:[gdl:Type]"}]},
                  {"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[tmcl:constraint]"},{"type":"si:[tmdm:subtype]", "player":"si:[tmcl:topic-name-constraint]"}]},
+                 {"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[doc:person-name]"},{"type":"si:[tmdm:subtype]", "player":"si:[doc:musician-name]"}]},
+                 {"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[doc:person-name]"},{"type":"si:[tmdm:subtype]", "player":"si:[doc:poet-name]"}]},
+                 {"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[doc:person-name]"},{"type":"si:[tmdm:subtype]", "player":"si:[doc:director-name]"}]},
                  {"type":"si:[gdl:contains]", "roles":[{"type":"si:[gdl:container]", "player":"si:[doc:test-schema]"},{"type":"si:[gdl:containee]", "player":"si:[doc:default-creator-topic-view-1]"}]},
                  {"type":"si:[gdl:contains]", "roles":[{"type":"si:[gdl:container]", "player":"si:[doc:test-schema]"},{"type":"si:[gdl:containee]", "player":"si:[doc:default-creator-topic-view-2]"}]},
                  {"type":"si:[gdl:contains]", "roles":[{"type":"si:[gdl:container]", "player":"si:[doc:test-schema]"},{"type":"si:[gdl:containee]", "player":"si:[doc:default-editor-topic-view]"}]},




More information about the Isidorus-cvs mailing list