[isidorus-cvs] r1004 - in trunk/src/anaToMia/GDL_Widgets: src/us/isidor/gdl/anaToMia/Widgets/base war/gdl_widgets
lgiessmann at common-lisp.net
lgiessmann at common-lisp.net
Tue Oct 18 10:17:11 UTC 2011
Author: lgiessmann
Date: Tue Oct 18 03:17:10 2011
New Revision: 1004
Log:
gdl-frontend: Widgets: implemented the item-identifier-constraints for occurrences and names
Modified:
trunk/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/GdlVisibleObject.java
trunk/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/TmHelper.java
trunk/src/anaToMia/GDL_Widgets/war/gdl_widgets/Service_GDL_Schema.jtm
trunk/src/anaToMia/GDL_Widgets/war/gdl_widgets/Service_GDL_Schema.jtm.txt
Modified: trunk/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/GdlVisibleObject.java
==============================================================================
--- trunk/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/GdlVisibleObject.java Mon Oct 17 08:41:37 2011 (r1003)
+++ trunk/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/GdlVisibleObject.java Tue Oct 18 03:17:10 2011 (r1004)
@@ -2,6 +2,9 @@
import java.util.ArrayList;
+
+import org.apache.commons.codec.language.RefinedSoundex;
+
import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Association;
import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Construct;
import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Name;
@@ -111,21 +114,21 @@
protected boolean cardMaxSet = false;
protected ArrayList<Topic> rawTmValues = new ArrayList<Topic>();
protected boolean rawTmValuesSet = false;
-
+
// some constructors
protected GdlVisibleObject() {
initWidget(this.mainPanel);
DOM.setStyleAttribute(this.mainPanel.getElement(), "overflow", "visible");
}
-
+
public GdlVisibleObject(Topic tmRepresentative, Construct receivedData, GdlVisibleObject gdlParent) throws InvalidGdlSchemaException, ExecutionException{
this();
this.tmRepresentative = tmRepresentative;
this.tm = this.tmRepresentative.getTopicMap();
this.gdlParent = gdlParent;
-
+
if(!(receivedData instanceof Topic) && !(receivedData instanceof Association) && !(receivedData instanceof Name) && !(receivedData instanceof Variant) && !(receivedData instanceof Occurrence) && !(receivedData instanceof Role) && receivedData != null) throw new ExecutionException("receivedData must be either a Topic, Association, Topic-Name, Name-Variant, Topic-Occurrence or Association-Role, but is: " + receivedData.getClass());
this.receivedData = receivedData;
@@ -133,46 +136,46 @@
this.setGdlStyle();
}
-
+
public GdlVisibleObject getGdlParent(){
return this.gdlParent;
}
-
-
+
+
public int getSubElementsCount(){
if(this.subElements == null) return 0;
return this.subElements.size();
}
-
-
+
+
public GdlPanel getRoot(){
return this.getGdlParent().getRoot();
}
-
-
+
+
// this method takes a string and creates a new sub-element within
// an instance of GdlVisibleObject with the passed string value
public abstract void addSubItem(String value) throws InvalidGdlSchemaException, ExecutionException;
-
+
// returns the topic that represents this element
public Topic getTmRepresentative(){
return this.tmRepresentative;
}
-
-
+
+
// sets all info elements as defined in the GDL
public void setInfoElements() throws InvalidGdlSchemaException, ExecutionException{
ArrayList<Topic> infos = TmHelper.topicContainsInfo(this.tmRepresentative);
-
+
for (Topic info : infos){
GdlInfo elem = (GdlInfo)GdlInstantiator.instantiate(info, this.receivedData, this);
this.infoElements.add(elem);
elem.setPosition(this);
}
}
-
-
+
+
// this method should be invoked if a new sub-element is added to this instance
protected ButtonableObject addToContainerPanel(Widget widget) throws ExecutionException, InvalidGdlSchemaException{
this.setContentOrientation(this.getContentOrientation());
@@ -182,8 +185,8 @@
this.setNthButtons();
return btn;
}
-
-
+
+
// removes the passed widget, it's parent, and returns the parent
protected ButtonableObject removeFromContainer(Widget widget) throws InvalidGdlSchemaException, ExecutionException {
for (Widget elem : this.subElements) {
@@ -194,31 +197,31 @@
}
}
this.setNthButtons();
-
+
return null;
}
-
-
+
+
// sets all buttons in the sub-elements that are specified by a
// gdl:button-position association
protected void setNthButtons() throws InvalidGdlSchemaException, ExecutionException {
if(this.actionButtonsAndPositions == null) this.actionButtonsAndPositions = TmHelper.topicContainsNthButtons(this.tmRepresentative);
-
+
for(int i = 0; i != this.subElements.size(); ++i){
// search all buttons for the current sub element
ArrayList<Topic> currentButtons = new ArrayList<Topic>();
for (Pair<Topic, Integer> pair : this.actionButtonsAndPositions)
if(pair.getSecond() == i || (i == this.subElements.size() -1 && pair.getSecond() == -1)) currentButtons.add(pair.getFirst());
-
+
// remove buttons that do not belong to the current sub element anymore
((ButtonableObject)this.subElements.get(i)).removeObsoleteButtons(currentButtons);
-
+
// add buttons that are not bound to the current sub element, but belong to it
for (Topic currentButton : currentButtons)
if(!((ButtonableObject)this.subElements.get(i)).containsButton(currentButton)) ((ButtonableObject)this.subElements.get(i)).addButton((GdlActionButton)GdlInstantiator.instantiate(currentButton, null, this));
}
}
-
+
// a helper method that returns all occurrences of the type bound to the passed PSI
@SuppressWarnings("unchecked")
@@ -293,7 +296,7 @@
// If no gdl:display occurrence is set, the default value is returned
public Display getDisplay() throws InvalidGdlSchemaException {
Occurrence displayOcc = getNoneOrOneUnscopedOccurrence(PSIs.GDL.OccurrenceType.gdlDisplay);
-
+
if(displayOcc != null){
String value = displayOcc.getValue().toLowerCase();
if(value.equals("none")){
@@ -329,7 +332,7 @@
// this property if no gdl:float occurrence is available
public Float getFloat() throws InvalidGdlSchemaException {
Occurrence floatOcc = getNoneOrOneUnscopedOccurrence(PSIs.GDL.OccurrenceType.gdlFloat);
-
+
if(floatOcc != null){
String value = floatOcc.getValue().toLowerCase();
if(value.equals("none")){
@@ -345,8 +348,8 @@
return Float.NONE;
}
}
-
-
+
+
// returns a ClearValue instance of a gdl:clear occurrence or the default value for
// this property if no gdl:clear occurrence is available
public ClearValue getClear() throws InvalidGdlSchemaException {
@@ -362,8 +365,8 @@
return ClearValue.NONE;
}
}
-
-
+
+
// returns a ContentOrientationValue instance of a gdl:content-orientation occurrence or the default value for
// this property if no gdl:content-orientation occurrence is available
public ContentOrientationValue getContentOrientation() throws InvalidGdlSchemaException {
@@ -379,8 +382,8 @@
return ContentOrientationValue.VERTICAL;
}
}
-
-
+
+
// returns a VerticalAlign instance of a gdl:vertical-align occurrence
// or the default value for this property if no gdl:vertical-align occurrence
// is available. The styleClass attribute is used as scope for expressing
@@ -1225,7 +1228,7 @@
}
}
-
+
// sets the id property of this element by using the GWT DOM class
public void setId(String id){
if(id != null){
@@ -1258,16 +1261,16 @@
DOM.setStyleAttribute(this.mainPanel.getElement(), "styleFloat", value.getCssName());
}
}
-
-
+
+
// sets the float style property of all sub elements by using the GWT DOM class
public void setContentOrientation(ContentOrientationValue value) throws InvalidGdlSchemaException, ExecutionException {
if(value == ContentOrientationValue.HORIZONTAL && this.containerPanel == null) this.containerPanel = new HorizontalPanel();
else if(this.containerPanel == null) this.containerPanel = new VerticalPanel();
-
+
this.mainPanel.add(this.containerPanel);
}
-
+
// sets the clear style property of this element by using the GWT DOM class
public void setClear(ClearValue value){
@@ -1275,7 +1278,7 @@
DOM.setStyleAttribute(this.mainPanel.getElement(), "clear", value.getCssValue());
}
}
-
+
// sets the vertical-align style property of this element and all it's sub-elements by using the GWT DOM class
public void setVerticalAlign(Widget widget, VerticalAlign value, String styleClass) throws InvalidGdlSchemaException, ExecutionException {
@@ -1284,7 +1287,7 @@
}
}
-
+
// sets the margin style property of this element by using the GWT DOM class
public void setMargin(Widget widget, NumUnitValue value, String styleClass) throws InvalidGdlSchemaException, ExecutionException {
if(value != null) this.setCssProperty(widget, styleClass, "margin", value.getCssValue());
@@ -1313,8 +1316,8 @@
public void setMarginLeft(Widget widget, NumUnitValue value, String styleClass) throws InvalidGdlSchemaException, ExecutionException {
if(value != null) this.setCssProperty(widget, styleClass, "marginLeft", value.getCssValue());
}
-
-
+
+
// sets the border-color style property of this element by using the GWT DOM class
public void setBorderColor(Widget widget, ColorValue value, String styleClass) throws InvalidGdlSchemaException, ExecutionException {
if(value != null) this.setCssProperty(widget, styleClass, "borderColor", value.getCssValue());
@@ -1343,8 +1346,8 @@
public void setBorderLeftColor(Widget widget, ColorValue value, String styleClass) throws InvalidGdlSchemaException, ExecutionException {
if(value != null) this.setCssProperty(widget, styleClass, "borderLeftColor", value.getCssValue());
}
-
-
+
+
// sets the border-style style property of this element by using the GWT DOM class
public void setBorderStyle(Widget widget, BorderStyleValue value, String styleClass) throws InvalidGdlSchemaException, ExecutionException {
if(value != null) this.setCssProperty(widget, styleClass, "borderStyle", value.getCssValue());
@@ -1374,7 +1377,7 @@
if(value != null) this.setCssProperty(widget, styleClass, "borderLeftStyle", value.getCssValue());
}
-
+
// sets the border-width style property of this element by using the GWT DOM class
public void setBorderWidth(Widget widget, AbsoluteNumValue value, String styleClass) throws InvalidGdlSchemaException, ExecutionException {
if(value != null) this.setCssProperty(widget, styleClass, "borderWidth", value.getCssValue());
@@ -1402,8 +1405,8 @@
public void setBorderLeftWidth(Widget widget, AbsoluteNumValue value, String styleClass) throws InvalidGdlSchemaException, ExecutionException {
if(value != null) this.setCssProperty(widget, styleClass, "borderLeftWidth", value.getCssValue());
}
-
-
+
+
// sets the border-radius style property of this element by using the GWT DOM class
public void setBorderRadius(Widget widget, NumUnitValue value, String styleClass) throws InvalidGdlSchemaException, ExecutionException {
if(value != null) this.setCssProperty(widget, styleClass, "borderRadius", value.getCssValue());
@@ -1432,8 +1435,8 @@
public void setBorderTopLeftRadius(Widget widget, NumUnitValue value, String styleClass) throws InvalidGdlSchemaException, ExecutionException {
if(value != null) this.setCssProperty(widget, styleClass, "borderTopLeftRadius", value.getCssValue());
}
-
-
+
+
// sets the padding style property of this element by using the GWT DOM class
public void setPadding(Widget widget, NumUnitValue value, String styleClass) throws InvalidGdlSchemaException, ExecutionException {
if(value != null) this.setCssProperty(widget, styleClass, "padding", value.getCssValue());
@@ -1462,8 +1465,8 @@
public void setPaddingLeft(Widget widget, NumUnitValue value, String styleClass) throws InvalidGdlSchemaException, ExecutionException {
if(value != null) this.setCssProperty(widget, styleClass, "paddingLeft", value.getCssValue());
}
-
-
+
+
// sets the width style property of this element by using the GWT DOM class
public void setWidth(Widget widget, AutoNumUnitValue value, String styleClass) throws InvalidGdlSchemaException, ExecutionException {
if(value != null) this.setCssProperty(widget, styleClass, "width", value.getCssValue());
@@ -1498,8 +1501,8 @@
public void setMaxHeight(Widget widget, AutoNumUnitValue value, String styleClass) throws InvalidGdlSchemaException, ExecutionException {
if(value != null) this.setCssProperty(widget, styleClass, "maxHeight", value.getCssValue());
}
-
-
+
+
// sets the cursor style property of this element by using the GWT DOM class
public void setCursor(Widget widget, CursorValue value, String styleClass) throws InvalidGdlSchemaException, ExecutionException {
if(value != null) this.setCssProperty(widget, styleClass, "cursor", value.getCssValue());
@@ -1510,8 +1513,8 @@
public void setBackgroundColor(Widget widget, ColorValue value, String styleClass) throws InvalidGdlSchemaException, ExecutionException {
if(value != null) this.setCssProperty(widget, styleClass, "backgroundColor", value.getCssValue());
}
-
-
+
+
// sets the passed css style porperty to the passed css value.
// If a styleClass is given, the style is applied to either active, hover or focus
protected void setCssProperty(String styleClass, String cssProperty, String cssValue)throws InvalidGdlSchemaException, ExecutionException{
@@ -1530,12 +1533,12 @@
throw new InvalidGdlSchemaException("GDL defines only the style classes " + values + ", but found " + styleClass);
}
}
-
-
+
+
// sets a given css property and css value of this element's sub element
protected void setCssProperty(Widget elem, String styleClass, String cssProperty, String cssValue)throws InvalidGdlSchemaException, ExecutionException{
if(cssValue == null || cssProperty == null) return;
-
+
if(styleClass == null){
DOM.setStyleAttribute(elem.getElement(), cssProperty, cssValue);
} else if(styleClass.equals(PSIs.GDL.Scope.gdlActive)){
@@ -1549,12 +1552,12 @@
throw new InvalidGdlSchemaException("GDL defines only the style classes " + values + ", but found " + styleClass);
}
}
-
-
+
+
// sets a given css property and css value of this element's sub element
protected void setCssProperty(Element elem, String styleClass, String cssProperty, String cssValue)throws InvalidGdlSchemaException, ExecutionException{
if(cssValue == null || cssProperty == null) return;
-
+
if(styleClass == null){
DOM.setStyleAttribute(elem, cssProperty, cssValue);
} else if(styleClass.equals(PSIs.GDL.Scope.gdlActive)){
@@ -1568,64 +1571,64 @@
throw new InvalidGdlSchemaException("GDL defines only the style classes " + values + ", but found " + styleClass);
}
}
-
-
+
+
// sets all GDL styles that are defined by the topic map representative to tha passed widget
public void setGdlStyle(Widget widget) throws InvalidGdlSchemaException, ExecutionException {
String[] styleClasses = new String[]{null, PSIs.GDL.Scope.gdlActive, PSIs.GDL.Scope.gdlFocus, PSIs.GDL.Scope.gdlHover};
for (String styleClass : styleClasses) {
this.setVerticalAlign(widget, this.getVerticalAlign(styleClass), styleClass);
-
+
this.setMargin(widget, this.getMargin(styleClass), styleClass);
this.setMarginTop(widget, this.getMarginTop(styleClass), styleClass);
this.setMarginRight(widget, this.getMarginRight(styleClass), styleClass);
this.setMarginBottom(widget, this.getMarginBottom(styleClass), styleClass);
this.setMarginLeft(widget, this.getMarginLeft(styleClass), styleClass);
-
+
this.setPadding(widget, this.getPadding(styleClass), styleClass);
this.setPaddingTop(widget, this.getPaddingTop(styleClass), styleClass);
this.setPaddingRight(widget, this.getPaddingRight(styleClass), styleClass);
this.setPaddingBottom(widget, this.getPaddingBottom(styleClass), styleClass);
this.setPaddingLeft(widget, this.getPaddingLeft(styleClass), styleClass);
-
+
this.setBorderColor(widget, this.getBorderColor(styleClass), styleClass);
this.setBorderTopColor(widget, this.getBorderTopColor(styleClass), styleClass);
this.setBorderRightColor(widget, this.getBorderRightColor(styleClass), styleClass);
this.setBorderBottomColor(widget, this.getBorderBottomColor(styleClass), styleClass);
this.setBorderLeftColor(widget, this.getBorderLeftColor(styleClass), styleClass);
-
+
this.setBorderStyle(widget, this.getBorderStyle(styleClass), styleClass);
this.setBorderTopStyle(widget, this.getBorderTopStyle(styleClass), styleClass);
this.setBorderRightStyle(widget, this.getBorderRightStyle(styleClass), styleClass);
this.setBorderBottomStyle(widget, this.getBorderBottomStyle(styleClass), styleClass);
this.setBorderLeftStyle(widget, this.getBorderLeftStyle(styleClass), styleClass);
-
+
this.setBorderWidth(widget, this.getBorderWidth(styleClass), styleClass);
this.setBorderTopWidth(widget, this.getBorderTopWidth(styleClass), styleClass);
this.setBorderRightWidth(widget, this.getBorderRightWidth(styleClass), styleClass);
this.setBorderBottomWidth(widget, this.getBorderBottomWidth(styleClass), styleClass);
this.setBorderLeftWidth(widget, this.getBorderLeftWidth(styleClass), styleClass);
-
+
this.setBorderRadius(widget, this.getBorderRadius(styleClass), styleClass);
this.setBorderTopRightRadius(widget, this.getBorderTopRightRadius(styleClass), styleClass);
this.setBorderBottomRightRadius(widget, this.getBorderBottomRightRadius(styleClass), styleClass);
this.setBorderBottomLeftRadius(widget, this.getBorderBottomLeftRadius(styleClass), styleClass);
this.setBorderTopLeftRadius(widget, this.getBorderTopLeftRadius(styleClass), styleClass);
-
+
this.setCursor(widget, this.getCursor(styleClass), styleClass);
-
+
this.setWidth(widget, this.getWidth(styleClass), styleClass);
this.setMaxWidth(widget, this.getMaxWidth(styleClass), styleClass);
this.setMinWidth(widget, this.getMinWidth(styleClass), styleClass);
-
+
this.setHeight(widget, this.getHeight(styleClass), styleClass);
this.setMaxHeight(widget, this.getMaxHeight(styleClass), styleClass);
this.setMinHeight(widget, this.getMinHeight(styleClass), styleClass);
-
+
this.setBackgroundColor(widget, this.getBackgroundColor(styleClass), styleClass);
}
}
-
+
// sets all GDL styles that are defined by the topic map representative
protected void setGdlStyle() throws InvalidGdlSchemaException, ExecutionException {
@@ -1679,8 +1682,8 @@
}
return regs;
}
-
-
+
+
// registers a mouse-down handler to all sub-elements of this element
@Override
public MultipleHandlerRegistration addMouseDownHandler(MouseDownHandler handler){
@@ -1690,8 +1693,8 @@
}
return regs;
}
-
-
+
+
// registers a mouse-up handler to all sub-elements of this element
@Override
public MultipleHandlerRegistration addMouseUpHandler(MouseUpHandler handler){
@@ -1701,9 +1704,9 @@
}
return regs;
}
-
-
-
+
+
+
// registers a blur handler to all sub-elements of this element
@Override
public MultipleHandlerRegistration addBlurHandler(BlurHandler handler){
@@ -1713,12 +1716,12 @@
}
return regs;
}
-
-
+
+
// adds the passed handler to the list eventHandlers
protected void addEventHandler(Widget elem, EventHandler handler){
if(handler == null || elem == null) return;
-
+
for (Pair<Widget, ArrayList<EventHandler>> item : this.eventHandlers) {
if(item.getFirst().equals(elem)){
if(!item.getSecond().contains(handler)){
@@ -1731,8 +1734,8 @@
newHandlerList.add(handler);
this.eventHandlers.add(new Pair<Widget, ArrayList<EventHandler>>(elem, newHandlerList));
}
-
-
+
+
// remove the passed handler of the list eventHandlers
protected void removeEventHandler(Widget elem, EventHandler handler){
for (Pair<Widget, ArrayList<EventHandler>> item : this.eventHandlers) {
@@ -1741,8 +1744,8 @@
}
}
}
-
-
+
+
// returns the last handler bound to the passed element.
protected EventHandler getLastHandler(Widget elem){
for (Pair<Widget, ArrayList<EventHandler>> item : this.eventHandlers) {
@@ -1753,35 +1756,35 @@
}
}
}
-
+
return null;
}
-
-
+
+
// applies the styles bound to hover and the passed element
protected void onHoverStart(Widget widget){
for (Pair<String, String> elem : this.hoverCssNamesAndStyles) {
DOM.setStyleAttribute(widget.getElement(), elem.getFirst(), elem.getSecond());
}
}
-
-
+
+
// applies the styles bound to acitve and the passed element
protected void onActiveStart(Widget widget){
for (Pair<String, String> elem : this.activeCssNamesAndStyles) {
DOM.setStyleAttribute(widget.getElement(), elem.getFirst(), elem.getSecond());
}
}
-
-
+
+
// applies the styles bound to focus and the passed element
protected void onFocusStart(Widget widget){
for (Pair<String, String> elem : this.focusCssNamesAndStyles) {
DOM.setStyleAttribute(widget.getElement(), elem.getFirst(), elem.getSecond());
}
}
-
-
+
+
// some handler for applying the css style bound to the pseudo classes hover, active and focus
public void onHoverStart(MouseOverEvent event, HoverStyleHandler handler) {
Widget source = (Widget)event.getSource();
@@ -1791,7 +1794,7 @@
}
}
-
+
// shall be called when the focus event was fired
public void onHoverEnd(MouseOutEvent event, HoverStyleHandler handler) {
try{
@@ -1809,7 +1812,7 @@
e.printStackTrace();
}
}
-
+
// shall be called to apply the styles of the focus class
public void onFocusStart(FocusEvent event, FocusStyleHandler handler) {
@@ -1838,7 +1841,7 @@
}
}
-
+
// shall be called to apply the styles of the active class
public void onActiveStart(MouseDownEvent event, ActiveStyleHandler handler) {
Widget source = (Widget)event.getSource();
@@ -1865,16 +1868,16 @@
Window.alert("could not apply the default CSS style >> " + e.getClass() + " >> " + e.getMessage());
}
}
-
-
+
+
// removes all GdlInfo elements. They must be remove explicitly, since they are
// bound to the root panel/body
public void clear(){
for (GdlInfo elem : this.infoElements)
elem.removeFromParent();
}
-
-
+
+
@Override
public void onAttach(){
super.onAttach();
@@ -1884,20 +1887,20 @@
e.printStackTrace();
}
}
-
-
+
+
// if this method is called the user cannot change the represented value
// of this control
public abstract void fixValue();
-
-
+
+
// sets the fields for the received data
protected void setReceivedData() throws InvalidGdlSchemaException, ExecutionException {
-if(receivedData == null) return;
-
+ if(receivedData == null) return;
+
if(TmHelper.isInstanceOf(this.getConstraint(), PSIs.TMCL.tmclSubjectIdentifierConstraint)){
if(!(receivedData instanceof Topic)) throw new ExecutionException("the constraint " + TmHelper.getAnyIdOfTopic(this.getConstraint()) + " must be bound to a Topic, but is: " + receivedData.getClass());
-
+
Pattern rex = new Pattern(this.getLiteralValueForConstraint());
for(int i = 0; i != ((Topic)receivedData).getSubjectIdentifiers().length(); ++i){
String psi = ((Topic)receivedData).getSubjectIdentifiers().get(i).getReference();
@@ -1907,7 +1910,7 @@
}
} else if(TmHelper.isInstanceOf(this.getConstraint(), PSIs.TMCL.tmclSubjectLocatorConstraint)){
if(!(receivedData instanceof Topic)) throw new ExecutionException("the constraint " + TmHelper.getAnyIdOfTopic(this.getConstraint()) + " must be bound to a Topic, but is: " + receivedData.getClass());
-
+
Pattern rex = new Pattern(this.getLiteralValueForConstraint());
for(int i = 0; i != ((Topic)receivedData).getSubjectLocators().length(); ++i){
String sl = ((Topic)receivedData).getSubjectLocators().get(i).getReference();
@@ -1917,23 +1920,41 @@
}
} else if(TmHelper.isInstanceOf(this.getConstraint(), PSIs.TMCL.tmclItemIdentifierConstraint)){
if(!(this.receivedData instanceof Reifiable)) throw new ExecutionException("the constraint " + TmHelper.getAnyIdOfTopic(this.getConstraint()) + " must be bound to a Reifiable, but is: " + receivedData.getClass());
+
+ // get type
+ Topic constrainedTopicType = TmHelper.getConstrainedTopicType(this.getConstraint());
+
+ // search for the topic type
+ Reifiable ref = (Reifiable)this.receivedData;
+ // search for the characteristics type
+ if(this.receivedData instanceof Topic){
+ JsArray<Name> names = ((Topic)this.receivedData).getNames(constrainedTopicType);
+ if(names.length() != 0){
+ ref = names.get(0);
+ } else {
+ JsArray<Occurrence> occs = ((Topic)this.receivedData).getOccurrences(constrainedTopicType);
+ if(occs.length() != 0) ref = occs.get(0);
+ }
+ }
+
+ // search for item-identifiers of the found topic type or characteristics
Pattern rex = new Pattern(this.getLiteralValueForConstraint());
- for(int i = 0; i != ((ReifiableStub)receivedData).getItemIdentifiers().length(); ++i){
- String ii = ((Topic)receivedData).getItemIdentifiers().get(i).getReference();
+ for(int i = 0; i != ((ReifiableStub)ref).getItemIdentifiers().length(); ++i){
+ String ii = ((ReifiableStub)ref).getItemIdentifiers().get(i).getReference();
if(rex.matches(ii)){
this.addSubItem(ii);
}
}
} else if(TmHelper.isInstanceOf(this.getConstraint(), PSIs.TMCL.tmclTopicNameConstraint)){
if(!(receivedData instanceof Topic)) throw new ExecutionException("the constraint " + TmHelper.getAnyIdOfTopic(this.getConstraint()) + " must be bound to a Topic, but is: " + receivedData.getClass());
-
+
Topic nameType = TmHelper.getConstrainedStatement(this.getConstraint());
for(int i = 0; i != ((Topic)this.receivedData).getNames(nameType).length(); ++i)
this.addSubItem(((Topic)this.receivedData).getNames(nameType).get(i).getValue());
} else if(TmHelper.isInstanceOf(this.getConstraint(), PSIs.TMCL.tmclTopicOccurrenceConstraint)){
if(!(receivedData instanceof Topic)) throw new ExecutionException("the constraint " + TmHelper.getAnyIdOfTopic(this.getConstraint()) + " must be bound to a Topic, but is: " + receivedData.getClass());
-
+
Topic occurrenceType = TmHelper.getConstrainedStatement(this.getConstraint());
for(int i = 0; i != ((Topic)this.receivedData).getOccurrences(occurrenceType).length(); ++i)
this.addSubItem(((Topic)this.receivedData).getOccurrences(occurrenceType).get(i).getValue());
@@ -1946,7 +1967,7 @@
} else if(TmHelper.isInstanceOf(this.getConstraint(), PSIs.GDL.TopicType.gdlRolePlayer)){
if(!(receivedData instanceof Association)) throw new ExecutionException("the constraint " + TmHelper.getAnyIdOfTopic(this.getConstraint()) + " must be bound to an Association, but is: " + receivedData.getClass());
if(this.getRootConstraint() == null || !TmHelper.isInstanceOf(this.getRootConstraint(), PSIs.TMCL.tmclTopicRoleConstraint)) throw new InvalidGdlSchemaException("the constraint " + TmHelper.getAnyIdOfTopic(this.getConstraint()) + " must be bound to a root constraint of the type " + PSIs.TMCL.tmclTopicRoleConstraint + ", but ist bound to the root topic: " + (this.getRootConstraint() == null ? "null" : TmHelper.getAnyIdOfTopic(this.getRootConstraint())));
-
+
Pair<Topic, Topic> roleAndPlayerType = TmHelper.getConstrainedRoleAndPlayerTypeOfConstraint(this.getRootConstraint());
JsArray<Role> assocRoles = ((Association)this.receivedData).getRoles(roleAndPlayerType.getFirst());
for(int i = 0; i != assocRoles.length(); ++i){
@@ -1968,26 +1989,26 @@
throw new InvalidGdlSchemaException("The constraint " + TmHelper.getAnyIdOfTopic(this.getConstraint()) + " is not suported to be bound to the value group instance " + TmHelper.getAnyIdOfTopic(this.getValueGroup()));
}
}
-
-
+
+
// sets the field for the set default value or sets at least one empty field (card-min)
protected void setDefaultValue() throws InvalidGdlSchemaException, ExecutionException {
if(this.getDefaultLiteralValue() != null && this.getDefaultTmValue() != null) throw new InvalidGdlSchemaException("the topic " + TmHelper.getAnyIdOfTopic(this.getValueGroup()) + " must be bound to maximal one " + PSIs.GDL.TopicType.gdlDefaultValue + ", but is: 2");
-
+
if(this.getDefaultLiteralValue() != null){
TopicMap tm = this.getDefaultLiteralValue().getTopicMap();
Topic occType = TmHelper.getTopicByPsi(PSIs.GDL.OccurrenceType.gdlLiteralValue, tm);
JsArray<Occurrence> vals = this.getDefaultLiteralValue().getOccurrences(occType);
-
+
if(vals.length() != 1) throw new InvalidGdlSchemaException("the topic " + TmHelper.getAnyIdOfTopic(this.getDefaultLiteralValue()) + " must be bound exactly once to a " + PSIs.GDL.OccurrenceType.gdlLiteralValue + " occurrence, but is: " + vals.length());
-
+
int minValues = this.getCardMin() == 0 ? 1 : this.getCardMin();
for(int i = 0; i < minValues; ++i)
this.addSubItem(vals.get(0).getValue());
if(this.fixedDefaultValue()) this.fixValue();
} else if(this.getDefaultTmValue() != null){
ArrayList<Topic> values = TmHelper.getValuesForTmValue(this.getDefaultTmValue());
-
+
if(values.size() != 1) throw new InvalidGdlSchemaException("the default value " + TmHelper.getAnyIdOfTopic(this.getDefaultValue()) + " represetns more than one value");
int minValues = this.getCardMin() == 0 ? 1 : this.getCardMin();
@@ -1998,8 +2019,8 @@
this.addSubItem("");
}
}
-
-
+
+
public int getCardMin() throws InvalidGdlSchemaException {
if(this.cardMinSet){
return this.cardMin;
@@ -2008,8 +2029,8 @@
return TmHelper.getCardMin(this.getRootConstraint());
}
}
-
-
+
+
public int getCardMax() throws InvalidGdlSchemaException {
if(this.cardMaxSet){
return this.cardMax;
@@ -2018,8 +2039,8 @@
return TmHelper.getCardMax(this.getRootConstraint());
}
}
-
-
+
+
// returns the topic instance of gdlt:Value-Group that is bound to this
// visible element, or null if it is unbound
public Topic getValueGroup() throws InvalidGdlSchemaException {
@@ -2044,8 +2065,8 @@
return this.constraintTopic;
}
}
-
-
+
+
// returns the root (last) constraint that is bound to the value-group
// of this element - or null if it is unbound
public Topic getRootConstraint() throws InvalidGdlSchemaException {
@@ -2083,8 +2104,8 @@
return this.defaultLiteralValueTopic;
}
}
-
-
+
+
// returns the topic that represents the default value of
// the value-group that is bound to this element - null if it is unbound
public Topic getDefaultValue() throws InvalidGdlSchemaException {
@@ -2093,17 +2114,17 @@
else return this.getDefaultTmValue();
}
-
+
// returns true if the default value is fixed
// otherwise the return value is false
public boolean fixedDefaultValue() throws InvalidGdlSchemaException{
Topic defVal = this.getDefaultValue();
-
+
if(defVal == null) return false;
-
+
TopicMap tm = defVal.getTopicMap();
Occurrence fixedOcc = TmHelper.getSingleOccurrence(defVal, TmHelper.getTopicByPsi(PSIs.GDL.OccurrenceType.gdlFixed, tm));
-
+
if(fixedOcc != null){
try{
return Boolean.valueOf(fixedOcc.getValue().toLowerCase());
@@ -2114,7 +2135,7 @@
return false;
}
}
-
+
// returns all topic maps values represented by topics of the type gdlt:Tm-Value
// that are valid and declared for the value-group of this element - or
@@ -2142,7 +2163,7 @@
}
}
-
+
// returns an ArrayList of strings that are set to a value group as literal values
public ArrayList<String> getLiterals() throws InvalidGdlSchemaException {
if(this.literalsSet){
@@ -2153,7 +2174,7 @@
return this.literals;
}
}
-
+
// returns the set literal value or null
public String getSetLiteralValue() throws InvalidGdlSchemaException {
@@ -2195,14 +2216,14 @@
}
}
-
+
// returns the display-by schema that is defined for the passed
// TM-Value that is bound to this element
public Topic getDisplayByOfTmValue(Topic tmValue) throws InvalidGdlSchemaException{
return TmHelper.getDisplayByTopicOf(tmValue);
}
-
-
+
+
// returns the preferred scope that is bound to the value-group of
// this element - or an empty ArrayList
public ArrayList<Topic> getPreferredScopeOfValueGroup() throws InvalidGdlSchemaException {
@@ -2215,26 +2236,26 @@
}
}
-
+
// returns the preferred scope that is bound to the passed TM-Value topic
// this element - or an empty ArrayList
public ArrayList<Topic> getPreferredScopeOfTmValue(Topic tmValue) throws InvalidGdlSchemaException{
return TmHelper.getPrefferedScopesForTopicOf(tmValue);
}
-
+
// returns the string that represents the topic topicToRepresent corresponding
// to the passed displayBy and prefferedScopes arguments
public String getTopicRepresentation(Topic topicToRepresent, Topic displayBy, ArrayList<Topic> preferredScopes) throws InvalidGdlSchemaException {
return TmHelper.getTopicRepresentation(topicToRepresent, displayBy, preferredScopes);
}
-
-
+
+
// returns the strings of the control that are entered/selected
// returns the strings of the control that are entered/selected
public abstract ArrayList<String> getSelectedValues();
-
-
+
+
// validates names, occurrences and identifiers for tha passed value
private void validateLiteralValue(String selectedValue) throws InvalidContentException, InvalidGdlSchemaException{
ArrayList<Pattern> validLiteralValues = new ArrayList<Pattern>();
@@ -2242,21 +2263,21 @@
if(validLiteralValues.size() == 0) validLiteralValues.add(new Pattern(this.getLiteralValueForConstraint()));
int i = 0;
for( ; i != validLiteralValues.size(); ++i) if(validLiteralValues.get(i).matches(selectedValue)) break;
-
+
if(TmHelper.isInstanceOf(this.getRootConstraint(), PSIs.TMCL.tmclTopicNameConstraint)){
if(i == validLiteralValues.size()) throw new InvalidContentException("the user data " + selectedValue + " for the topic-name " + TmHelper.getAnyIdOfTopic(TmHelper.getConstrainedStatement(this.getConstraint())) + " does not satisfy any of the constraints: " + Utils.arrayToString(validLiteralValues));
} else if(TmHelper.isInstanceOf(this.getRootConstraint(), PSIs.TMCL.tmclTopicOccurrenceConstraint)){
if(i == validLiteralValues.size()) throw new InvalidContentException("the user data " + selectedValue + " for the topic-occurrence " + TmHelper.getAnyIdOfTopic(TmHelper.getConstrainedStatement(this.getConstraint())) + " does not satisfy any of the constraints: " + Utils.arrayToString(validLiteralValues));
} else if(TmHelper.isInstanceOf(this.getRootConstraint(), PSIs.TMCL.tmclSubjectIdentifierConstraint)){
-
+
} else if(TmHelper.isInstanceOf(this.getRootConstraint(), PSIs.TMCL.tmclSubjectLocatorConstraint)){
-
+
} else if(TmHelper.isInstanceOf(this.getRootConstraint(), PSIs.TMCL.tmclItemIdentifierConstraint)){
-
+
}
}
-
-
+
+
// validates the the tm values of a constraint
private void validateTmValue(Topic selectedPlayer) throws InvalidContentException, InvalidGdlSchemaException, ExecutionException {
if(this.getRawTmValues().size() != 0 && !this.getRawTmValues().contains(selectedPlayer)){
@@ -2267,9 +2288,9 @@
}
}
}
-
-
-
+
+
+
// returns the actual topics that are set as possible tm-values
private ArrayList<Topic> getRawTmValues() throws InvalidGdlSchemaException{
if(this.rawTmValuesSet){
@@ -2281,32 +2302,32 @@
return this.rawTmValues;
}
}
-
-
+
+
// returns the actual data that is hold by this instance
public ArrayList<Pair<Construct, TopicMapsTypes>> getContent(Construct carrier, boolean validate) throws InvalidGdlSchemaException, ExecutionException, InvalidContentException {
ArrayList<Pair<Construct, TopicMapsTypes>> result = new ArrayList<Pair<Construct,TopicMapsTypes>>();
if(this.getRootConstraint() == null) return result;
Construct localCarrier = carrier;
if(carrier == null) localCarrier = TmHelper.getNearestTopicOrAssociation(this);
-
+
//TODO: finalise
for (int idx = 0; idx != this.getSelectedValues().size(); ++idx){
if(TmHelper.isInstanceOf(this.getConstraint(), PSIs.TMCL.tmclItemIdentifierConstraint)){
-
+
} else if (TmHelper.isInstanceOf(this.getRootConstraint(), PSIs.TMCL.tmclSubjectIdentifierConstraint)){
-
+
} else if (TmHelper.isInstanceOf(this.getRootConstraint(), PSIs.TMCL.tmclSubjectLocatorConstraint)){
-
+
} else if (TmHelper.isInstanceOf(this.getRootConstraint(), PSIs.TMCL.tmclTopicNameConstraint)){
if(!(localCarrier instanceof Topic)) throw new ExecutionException("the constraint " + TmHelper.getAnyIdOfTopic(this.getRootConstraint()) + " must be bound to a Topic, but is: " + localCarrier.getClass());
Topic nameType = TmHelper.getConstrainedStatement(this.getConstraint());
JsArray<Name> names = ((Topic)localCarrier).getNames(nameType);
-
+
Name changedName = null;
if(this.getRootConstraint().equals(this.getConstraint())){
if(validate) this.validateLiteralValue(this.getSelectedValues().get(idx));
-
+
if(names.length() > idx){
changedName = names.get(idx);
changedName.setValue(this.getSelectedValues().get(idx));
@@ -2314,19 +2335,19 @@
changedName = ((Topic)localCarrier).createName(this.getSelectedValues().get(idx), nameType, null);
}
} // TODO: item-identifier, reifier, variant, ...
-
+
result.add(new Pair<Construct, TopicMapsTypes>(changedName, TopicMapsTypes.Name));
} else if (TmHelper.isInstanceOf(this.getRootConstraint(), PSIs.TMCL.tmclVariantNameConstraint)){
-
+
} else if (TmHelper.isInstanceOf(this.getRootConstraint(), PSIs.TMCL.tmclTopicOccurrenceConstraint)){
if(!(localCarrier instanceof Topic)) throw new ExecutionException("the constraint " + TmHelper.getAnyIdOfTopic(this.getRootConstraint()) + " must be bound to a Topic, but is: " + localCarrier.getClass());
Topic occurrenceType = TmHelper.getConstrainedStatement(this.getConstraint());
JsArray<Occurrence> occurrences = ((Topic)localCarrier).getOccurrences(occurrenceType);
-
+
Occurrence changedOccurrence = null;
if(this.getRootConstraint().equals(this.getConstraint())){
if(validate) this.validateLiteralValue(this.getSelectedValues().get(idx));
-
+
if(occurrences.length() > idx){
changedOccurrence = occurrences.get(idx);
changedOccurrence.setValue(this.getSelectedValues().get(idx));
@@ -2334,19 +2355,19 @@
changedOccurrence = ((Topic)localCarrier).createOccurrence(occurrenceType, this.getSelectedValues().get(idx), null, null);
}
} // TODO: item-identifier, reifier, ...
-
+
result.add(new Pair<Construct, TopicMapsTypes>(changedOccurrence, TopicMapsTypes.Occurrence));
} else if (TmHelper.isInstanceOf(this.getRootConstraint(), PSIs.TMCL.tmclTopicRoleConstraint)){
if(!(localCarrier instanceof Association)) throw new ExecutionException("the constraint " + TmHelper.getAnyIdOfTopic(this.getRootConstraint()) + " must be bound to an Association, but is: " + localCarrier.getClass());
Pair<Topic, Topic> roleAndPlayerType = TmHelper.getConstrainedRoleAndPlayerTypeOfConstraint(this.getRootConstraint());
Topic roleType = roleAndPlayerType.getFirst();
Topic playerType = roleAndPlayerType.getSecond();
-
+
JsArray<Role> typedRoles = ((Association)localCarrier).getRoles(roleType);
ArrayList<Role> roles = new ArrayList<Role>();
for(int i = 0; i != typedRoles.length(); ++i)
if(TmHelper.isInstanceOf(typedRoles.get(i).getPlayer(), playerType)) roles.add(typedRoles.get(i));
-
+
Role changedRole = null;
if(TmHelper.isInstanceOf(this.getConstraint(), PSIs.TMCL.tmclReifierConstraint)){
// TODO: implement
@@ -2371,7 +2392,7 @@
throw new InvalidGdlSchemaException("the constraint " + TmHelper.getAnyIdOfTopic(this.getRootConstraint()) + " is not supported");
}
}
-
+
return result;
}
}
Modified: trunk/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/TmHelper.java
==============================================================================
--- trunk/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/TmHelper.java Mon Oct 17 08:41:37 2011 (r1003)
+++ trunk/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/TmHelper.java Tue Oct 18 03:17:10 2011 (r1004)
@@ -857,6 +857,24 @@
}
+ // returns the topic that plays the role of tmcl:constrained in an association
+ // of the type tmcl:constrained-topic-type that is bound to the passed topic
+ // constraint-Topic that plays the role of tmcl:constraint
+ public static Topic getConstrainedTopicType(Topic constraintTopic) throws InvalidGdlSchemaException{
+ if(constraintTopic == null) return null;
+
+ TopicMap tm = constraintTopic.getTopicMap();
+ Topic constraintRoleType = getTopicByPsi(PSIs.TMCL.tmclConstraint, tm);
+ Topic constrainedTopicTypeAssocType = getTopicByPsi(PSIs.TMCL.tmclConstrainedTopicType, tm);
+ Topic constrainedRoleType = getTopicByPsi(PSIs.TMCL.tmclConstrained, tm);
+
+ ArrayList<Topic> constrainedTopicTypes = getOtherPlayerOfBinaryAssociation(constraintTopic, constraintRoleType, constrainedTopicTypeAssocType, null, constrainedRoleType);
+
+ if(constrainedTopicTypes.size() != 1) throw new InvalidGdlSchemaException("the topic " + getAnyIdOfTopic(constraintTopic) + " must be bound exactly once to a statement topic via a " + PSIs.TMCL.tmclConstrainedTopicType + " association, but is: " + constrainedTopicTypes.size());
+ else return constrainedTopicTypes.get(0);
+ }
+
+
// Returns the role-combination-constraints for the passed association-type
public static ArrayList<Topic> getRoleCombinationConstraints(Topic associationType){
if(associationType == null) return new ArrayList<Topic>();
Modified: trunk/src/anaToMia/GDL_Widgets/war/gdl_widgets/Service_GDL_Schema.jtm
==============================================================================
--- trunk/src/anaToMia/GDL_Widgets/war/gdl_widgets/Service_GDL_Schema.jtm Mon Oct 17 08:41:37 2011 (r1003)
+++ trunk/src/anaToMia/GDL_Widgets/war/gdl_widgets/Service_GDL_Schema.jtm Tue Oct 18 03:17:10 2011 (r1004)
@@ -7,10 +7,15 @@
"gdlt":"http://psi.isidor.us/gdl/types/",
"gdlsrv":"http://service.org/serviceregistry/gdl/",
"types":"http://services.org/serviceregistry/model/types/",
- "srv":"http://service.org/serviceregistry/"},
+ "srv":"http://service.org/serviceregistry/",
+ "iipref":"http://service.org/serviceregistry/iis/",
+ "slpref":"http://service.org/serviceregistry/sls/",
+ "srvpref":"http://service.org/serviceregistry/psis/service/"},
+
"item_type":"topicmap",
+
"topics": [{"subject_identifiers":["[tmcl:topic-type]"], "instance_of":["si:[tmcl:topic-type]"]},
{"subject_identifiers":["[tmcl:name-type]"], "instance_of":["si:[tmcl:topic-type]"]},
{"subject_identifiers":["[tmcl:occurrence-type]"], "instance_of":["si:[tmcl:topic-type]"]},
@@ -170,23 +175,42 @@
{"subject_identifiers":["[gdlsrv:service-psis-text-value-group]"], "instance_of":["si:[gdlt:Value-Group]"]},
{"subject_identifiers":["[gdlsrv:service-sls-text]"], "instance_of":["si:[gdlt:Text]"], "occurrences":[{"type":"si:[gdl:id]", "value":"service_sls_text_id"}, {"type":"si:[gdl:readonly]", "value":"false"}, {"type":"si:[gdl:width]", "value":"470px"},{"type":"si:[gdl:cursor]", "value":"text"}]},
- {"subject_identifiers":["[gdlsrv:service-sls-text-position]"], "instance_of":["si:[gdlt:Position]"], "occurrences":[{"type":"si:[gdl:position-style]", "value":"absolute"}, {"type":"si:[gdl:top]", "value":"30px"}, {"type":"si:[gdl:left]", "value":"10px"}]},
+ {"subject_identifiers":["[gdlsrv:service-sls-text-position]"], "instance_of":["si:[gdlt:Position]"], "occurrences":[{"type":"si:[gdl:position-style]", "value":"absolute"}, {"type":"si:[gdl:top]", "value":"40px"}, {"type":"si:[gdl:left]", "value":"10px"}]},
{"subject_identifiers":["[gdlsrv:service-sls-text-value-group]"], "instance_of":["si:[gdlt:Value-Group]"]},
{"subject_identifiers":["[gdlsrv:service-iis-text]"], "instance_of":["si:[gdlt:Text]"], "occurrences":[{"type":"si:[gdl:id]", "value":"service_iis_text_id"}, {"type":"si:[gdl:readonly]", "value":"false"}, {"type":"si:[gdl:width]", "value":"470px"},{"type":"si:[gdl:cursor]", "value":"text"}]},
- {"subject_identifiers":["[gdlsrv:service-iis-text-position]"], "instance_of":["si:[gdlt:Position]"], "occurrences":[{"type":"si:[gdl:position-style]", "value":"absolute"}, {"type":"si:[gdl:top]", "value":"50px"}, {"type":"si:[gdl:left]", "value":"10px"}]},
+ {"subject_identifiers":["[gdlsrv:service-iis-text-position]"], "instance_of":["si:[gdlt:Position]"], "occurrences":[{"type":"si:[gdl:position-style]", "value":"absolute"}, {"type":"si:[gdl:top]", "value":"70px"}, {"type":"si:[gdl:left]", "value":"10px"}]},
{"subject_identifiers":["[gdlsrv:service-iis-text-value-group]"], "instance_of":["si:[gdlt:Value-Group]"]},
{"subject_identifiers":["[gdlsrv:service-name-text]"], "instance_of":["si:[gdlt:Text]"], "occurrences":[{"type":"si:[gdl:id]", "value":"service_name_text_id"}, {"type":"si:[gdl:readonly]", "value":"false"}, {"type":"si:[gdl:width]", "value":"470px"},{"type":"si:[gdl:cursor]", "value":"text"}]},
- {"subject_identifiers":["[gdlsrv:service-name-text-position]"], "instance_of":["si:[gdlt:Position]"], "occurrences":[{"type":"si:[gdl:position-style]", "value":"absolute"}, {"type":"si:[gdl:top]", "value":"70px"}, {"type":"si:[gdl:left]", "value":"10px"}]},
+ {"subject_identifiers":["[gdlsrv:service-name-text-position]"], "instance_of":["si:[gdlt:Position]"], "occurrences":[{"type":"si:[gdl:position-style]", "value":"absolute"}, {"type":"si:[gdl:top]", "value":"110px"}, {"type":"si:[gdl:left]", "value":"10px"}]},
{"subject_identifiers":["[gdlsrv:service-name-text-value-group]"], "instance_of":["si:[gdlt:Value-Group]"]},
{"subject_identifiers":["[gdlsrv:service-name-type-text]"], "instance_of":["si:[gdlt:Text]"], "occurrences":[{"type":"si:[gdl:id]", "value":"service_name_type_text_id"}, {"type":"si:[gdl:readonly]", "value":"false"}, {"type":"si:[gdl:width]", "value":"470px"},{"type":"si:[gdl:cursor]", "value":"text"}]},
- {"subject_identifiers":["[gdlsrv:service-name-type-text-position]"], "instance_of":["si:[gdlt:Position]"], "occurrences":[{"type":"si:[gdl:position-style]", "value":"absolute"}, {"type":"si:[gdl:top]", "value":"90px"}, {"type":"si:[gdl:left]", "value":"10px"}]},
+ {"subject_identifiers":["[gdlsrv:service-name-type-text-position]"], "instance_of":["si:[gdlt:Position]"], "occurrences":[{"type":"si:[gdl:position-style]", "value":"absolute"}, {"type":"si:[gdl:top]", "value":"150px"}, {"type":"si:[gdl:left]", "value":"10px"}]},
{"subject_identifiers":["[gdlsrv:service-name-type-text-value-group]"], "instance_of":["si:[gdlt:Value-Group]"]},
- {"subject_identifiers":["[model:service-name-type-constraint]"], "instance_of":["si:[gdlt:Type]"]}
+ {"subject_identifiers":["[model:service-name-type-constraint]"], "instance_of":["si:[gdlt:Type]"]},
+
+ {"subject_identifiers":["[gdlsrv:service-name-scope-text]"], "instance_of":["si:[gdlt:Text]"], "occurrences":[{"type":"si:[gdl:id]", "value":"service_name_scope_text_id"}, {"type":"si:[gdl:readonly]", "value":"false"}, {"type":"si:[gdl:width]", "value":"470px"},{"type":"si:[gdl:cursor]", "value":"text"}]},
+ {"subject_identifiers":["[gdlsrv:service-name-scope-text-position]"], "instance_of":["si:[gdlt:Position]"], "occurrences":[{"type":"si:[gdl:position-style]", "value":"absolute"}, {"type":"si:[gdl:top]", "value":"190px"}, {"type":"si:[gdl:left]", "value":"10px"}]},
+ {"subject_identifiers":["[gdlsrv:service-name-scope-text-value-group]"], "instance_of":["si:[gdlt:Value-Group]"]},
+
+ {"subject_identifiers":["[gdlsrv:service-name-reifier-text]"], "instance_of":["si:[gdlt:Text]"], "occurrences":[{"type":"si:[gdl:id]", "value":"service_name_reifier_text_id"}, {"type":"si:[gdl:readonly]", "value":"false"}, {"type":"si:[gdl:width]", "value":"470px"},{"type":"si:[gdl:cursor]", "value":"text"}]},
+ {"subject_identifiers":["[gdlsrv:service-name-reifier-text-position]"], "instance_of":["si:[gdlt:Position]"], "occurrences":[{"type":"si:[gdl:position-style]", "value":"absolute"}, {"type":"si:[gdl:top]", "value":"230px"}, {"type":"si:[gdl:left]", "value":"10px"}]},
+ {"subject_identifiers":["[gdlsrv:service-name-reifier-text-value-group]"], "instance_of":["si:[gdlt:Value-Group]"]},
+
+ {"subject_identifiers":["[gdlsrv:service-name-iis-text]"], "instance_of":["si:[gdlt:Text]"], "occurrences":[{"type":"si:[gdl:id]", "value":"service_name_iis_text_id"}, {"type":"si:[gdl:readonly]", "value":"false"}, {"type":"si:[gdl:width]", "value":"470px"},{"type":"si:[gdl:cursor]", "value":"text"}]},
+ {"subject_identifiers":["[gdlsrv:service-name-iis-text-position]"], "instance_of":["si:[gdlt:Position]"], "occurrences":[{"type":"si:[gdl:position-style]", "value":"absolute"}, {"type":"si:[gdl:top]", "value":"270px"}, {"type":"si:[gdl:left]", "value":"10px"}]},
+ {"subject_identifiers":["[gdlsrv:service-name-iis-text-value-group]"], "instance_of":["si:[gdlt:Value-Group]"]},
+
+
+
+ {"subject_identifiers":["[model:sort-service-name-reifier]"], "instance_of":["si:[types:Reifier-Type]"]},
+ {"subject_identifiers":["[model:sort-service-variant-name-reifier]"], "instance_of":["si:[types:Reifier-Type]"]},
+ {"subject_identifiers":["[srvpref:sort-service]"], "subject_locators":["[slpref:sort-service]"], "item_identifiers":["[iipref:sort-service]"], "instance_of":["si:[types:Service]"], "names":[{"type":"si:[model:service-name]", "scope":["si:[model:english]"], "reifier":"si:[model:sort-service-name-reifier]", "item_identifiers":["[iipref:service-name-ii]"], "value":"Sort-Service", "variants":[{"datatype":"http://www.w3.org/2001/XMLSchema#string", "scope":["si:[model:symbolic-name]"], "reifier":"si:[model:sort-service-variant-name-reifier]", "item_identifiers":["[iipref:sort-service-variant-name-ii]"], "value":"symbolic name of sort-service"}]}]}
],
+
"associations": [{"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:[tmcl:constraint]"},{"type":"si:[tmdm:subtype]", "player":"si:[tmcl:subject-identifier-constraint]"}]},
{"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[tmcl:constraint]"},{"type":"si:[tmdm:subtype]", "player":"si:[tmcl:subject-locator-constraint]"}]},
@@ -292,12 +316,12 @@
{"type":"si:[gdl:contains]", "roles":[{"type":"si:[gdl:container]", "player":"si:[gdlsrv:service-default-editor-topic-view]"},{"type":"si:[gdl:containee]", "player":"si:[gdlsrv:service-sls-text]"}]},
{"type":"si:[gdl:position]", "roles":[{"type":"si:[gdl:descriptor]", "player":"si:[gdlsrv:service-sls-text-position]"},{"type":"si:[gdl:ancestor]", "player":"si:[gdlsrv:service-psis-text]"},{"type":"si:[gdl:descendant]", "player":"si:[gdlsrv:service-sls-text]"}]},
{"type":"si:[gdl:view-binding]", "roles":[{"type":"si:[gdl:value-group]", "player":"si:[gdlsrv:service-sls-text-value-group]"},{"type":"si:[gdl:descriptor]", "player":"si:[gdlsrv:service-sls-text]"}]},
- {"type":"si:[gdl:tm-binding]", "roles":[{"type":"si:[gdl:value-group]", "player":"si:[gdlsrv:service-sls-text-value-group]"},{"type":"si:[gdl:tm-construct]", "player":"si:[model:service-sls-constraint]"}]},
+ {"type":"si:[gdl:tm-binding]", "roles":[{"type":"si:[gdl:value-group]", "player":"si:[gdlsrv:service-sls-text-value-group]"},{"type":"si:[gdl:tm-construct]", "player":"si:[model:service-sl-constraint]"}]},
{"type":"si:[gdl:contains]", "roles":[{"type":"si:[gdl:container]", "player":"si:[gdlsrv:service-default-editor-topic-view]"},{"type":"si:[gdl:containee]", "player":"si:[gdlsrv:service-iis-text]"}]},
{"type":"si:[gdl:position]", "roles":[{"type":"si:[gdl:descriptor]", "player":"si:[gdlsrv:service-iis-text-position]"},{"type":"si:[gdl:ancestor]", "player":"si:[gdlsrv:service-sls-text]"},{"type":"si:[gdl:descendant]", "player":"si:[gdlsrv:service-iis-text]"}]},
{"type":"si:[gdl:view-binding]", "roles":[{"type":"si:[gdl:value-group]", "player":"si:[gdlsrv:service-iis-text-value-group]"},{"type":"si:[gdl:descriptor]", "player":"si:[gdlsrv:service-iis-text]"}]},
- {"type":"si:[gdl:tm-binding]", "roles":[{"type":"si:[gdl:value-group]", "player":"si:[gdlsrv:service-iis-text-value-group]"},{"type":"si:[gdl:tm-construct]", "player":"si:[model:service-iis-constraint]"}]},
+ {"type":"si:[gdl:tm-binding]", "roles":[{"type":"si:[gdl:value-group]", "player":"si:[gdlsrv:service-iis-text-value-group]"},{"type":"si:[gdl:tm-construct]", "player":"si:[model:service-ii-constraint]"}]},
{"type":"si:[gdl:contains]", "roles":[{"type":"si:[gdl:container]", "player":"si:[gdlsrv:service-default-editor-topic-view]"},{"type":"si:[gdl:containee]", "player":"si:[gdlsrv:service-name-text]"}]},
{"type":"si:[gdl:position]", "roles":[{"type":"si:[gdl:descriptor]", "player":"si:[gdlsrv:service-name-text-position]"},{"type":"si:[gdl:ancestor]", "player":"si:[gdlsrv:service-iis-text]"},{"type":"si:[gdl:descendant]", "player":"si:[gdlsrv:service-name-text]"}]},
@@ -308,7 +332,23 @@
{"type":"si:[gdl:position]", "roles":[{"type":"si:[gdl:descriptor]", "player":"si:[gdlsrv:service-name-type-text-position]"},{"type":"si:[gdl:ancestor]", "player":"si:[gdlsrv:service-name-text]"},{"type":"si:[gdl:descendant]", "player":"si:[gdlsrv:service-name-type-text]"}]},
{"type":"si:[gdl:view-binding]", "roles":[{"type":"si:[gdl:value-group]", "player":"si:[gdlsrv:service-name-type-text-value-group]"},{"type":"si:[gdl:descriptor]", "player":"si:[gdlsrv:service-name-type-text]"}]},
{"type":"si:[gdl:tm-binding]", "roles":[{"type":"si:[gdl:value-group]", "player":"si:[gdlsrv:service-name-type-text-value-group]"},{"type":"si:[gdl:tm-construct]", "player":"si:[model:service-name-type-constraint]"}]},
- {"type":"si:[gdl:tm-binding]", "roles":[{"type":"si:[gdl:descriptor]", "player":"si:[model:service-name-type-constraint]"},{"type":"si:[gdl:tm-construct]", "player":"si:[model:service-name-constraint]"}]}
+ {"type":"si:[gdl:tm-binding]", "roles":[{"type":"si:[gdl:descriptor]", "player":"si:[model:service-name-type-constraint]"},{"type":"si:[gdl:tm-construct]", "player":"si:[model:service-name-constraint]"}]},
+ {"type":"si:[gdl:contains]", "roles":[{"type":"si:[gdl:container]", "player":"si:[gdlsrv:service-default-editor-topic-view]"},{"type":"si:[gdl:containee]", "player":"si:[gdlsrv:service-name-scope-text]"}]},
+ {"type":"si:[gdl:position]", "roles":[{"type":"si:[gdl:descriptor]", "player":"si:[gdlsrv:service-name-scope-text-position]"},{"type":"si:[gdl:ancestor]", "player":"si:[gdlsrv:service-name-type-text]"},{"type":"si:[gdl:descendant]", "player":"si:[gdlsrv:service-name-scope-text]"}]},
+ {"type":"si:[gdl:view-binding]", "roles":[{"type":"si:[gdl:value-group]", "player":"si:[gdlsrv:service-name-scope-text-value-group]"},{"type":"si:[gdl:descriptor]", "player":"si:[gdlsrv:service-name-scope-text]"}]},
+ {"type":"si:[gdl:tm-binding]", "roles":[{"type":"si:[gdl:value-group]", "player":"si:[gdlsrv:service-name-scope-text-value-group]"},{"type":"si:[gdl:tm-construct]", "player":"si:[model:service-name-scope-constraint]"}]},
+
+ {"type":"si:[gdl:contains]", "roles":[{"type":"si:[gdl:container]", "player":"si:[gdlsrv:service-default-editor-topic-view]"},{"type":"si:[gdl:containee]", "player":"si:[gdlsrv:service-name-reifier-text]"}]},
+ {"type":"si:[gdl:position]", "roles":[{"type":"si:[gdl:descriptor]", "player":"si:[gdlsrv:service-name-reifier-text-position]"},{"type":"si:[gdl:ancestor]", "player":"si:[gdlsrv:service-name-scope-text]"},{"type":"si:[gdl:descendant]", "player":"si:[gdlsrv:service-name-reifier-text]"}]},
+ {"type":"si:[gdl:view-binding]", "roles":[{"type":"si:[gdl:value-group]", "player":"si:[gdlsrv:service-name-reifier-text-value-group]"},{"type":"si:[gdl:descriptor]", "player":"si:[gdlsrv:service-name-reifier-text]"}]},
+ {"type":"si:[gdl:tm-binding]", "roles":[{"type":"si:[gdl:value-group]", "player":"si:[gdlsrv:service-name-reifier-text-value-group]"},{"type":"si:[gdl:tm-construct]", "player":"si:[model:service-name-reifier-constraint]"}]},
+
+ {"type":"si:[gdl:contains]", "roles":[{"type":"si:[gdl:container]", "player":"si:[gdlsrv:service-default-editor-topic-view]"},{"type":"si:[gdl:containee]", "player":"si:[gdlsrv:service-name-iis-text]"}]},
+ {"type":"si:[gdl:position]", "roles":[{"type":"si:[gdl:descriptor]", "player":"si:[gdlsrv:service-name-reifier-text-position]"},{"type":"si:[gdl:ancestor]", "player":"si:[gdlsrv:service-name-reifier-text]"},{"type":"si:[gdl:descendant]", "player":"si:[gdlsrv:service-name-iis-text]"}]},
+ {"type":"si:[gdl:view-binding]", "roles":[{"type":"si:[gdl:value-group]", "player":"si:[gdlsrv:service-name-iis-text-value-group]"},{"type":"si:[gdl:descriptor]", "player":"si:[gdlsrv:service-name-iis-text]"}]},
+ {"type":"si:[gdl:tm-binding]", "roles":[{"type":"si:[gdl:value-group]", "player":"si:[gdlsrv:service-name-iis-text-value-group]"},{"type":"si:[gdl:tm-construct]", "player":"si:[model:service-name-ii-constraint]"}]}
+
+
]
}
\ No newline at end of file
Modified: trunk/src/anaToMia/GDL_Widgets/war/gdl_widgets/Service_GDL_Schema.jtm.txt
==============================================================================
--- trunk/src/anaToMia/GDL_Widgets/war/gdl_widgets/Service_GDL_Schema.jtm.txt Mon Oct 17 08:41:37 2011 (r1003)
+++ trunk/src/anaToMia/GDL_Widgets/war/gdl_widgets/Service_GDL_Schema.jtm.txt Tue Oct 18 03:17:10 2011 (r1004)
@@ -1,18 +1,18 @@
-==> Service **
- ==> subject-identifier-constraint **
- ==> subject-locator-constraint **
- ==> item-identifier-constraint **
- ==> topic-name-constraint **
- ==> regular-expression-constraint **
- ==> Type *
- ==> scope-constraint *
- ==> reifier-constraint *
- ==> item-identifier-constraint *
- ==> variant-name-constraint *
- ==> Datatype
- ==> Variant-Name-Scope
- ==> Variant-Name-Identifiers
- ==> Variant-Name-Reifier
+==> Service ***
+ ==> subject-identifier-constraint ***
+ ==> subject-locator-constraint ***
+ ==> item-identifier-constraint ***
+ ==> topic-name-constraint ***
+ ==> regular-expression-constraint ***
+ ==> Type **
+ ==> scope-constraint ***
+ ==> reifier-constraint ***
+ ==> item-identifier-constraint ***
+ ==> variant-name-constraint * *
+ ==> Datatype *
+ ==> Variant-Name-Scope *
+ ==> Variant-Name-Identifiers *
+ ==> Variant-Name-Reifier *
==> Endpoint *
More information about the Isidorus-cvs
mailing list