Changeset 238


Ignore:
Timestamp:
03/17/10 13:03:11 (14 years ago)
Author:
patdui
Message:
Location:
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry
Files:
3 added
1 deleted
15 edited
3 moved

Legend:

Unmodified
Added
Removed
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/browser/CMDComponentXMLBrowser.as

    r206 r238  
    1 package clarin.cmdi.componentregistry.common.components {
    2         import clarin.cmdi.componentregistry.common.ComponentMD;
     1package clarin.cmdi.componentregistry.browser {
    32        import clarin.cmdi.componentregistry.common.StyleConstants;
    4 
     3        import clarin.cmdi.componentregistry.common.components.ConceptLinkRenderer;
     4        import clarin.cmdi.componentregistry.common.components.ExpandingComponentLabel;
     5       
    56        import flash.display.DisplayObject;
    6 
    7         import mx.collections.XMLListCollection;
    8         import mx.controls.ComboBox;
    97
    108        /**
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/browser/XMLBrowser.as

    r225 r238  
    1 package clarin.cmdi.componentregistry.common.components {
    2         import clarin.cmdi.componentregistry.editor.CMDSpecRenderer;
     1package clarin.cmdi.componentregistry.browser {
    32        import clarin.cmdi.componentregistry.common.ComponentMD;
    43        import clarin.cmdi.componentregistry.common.StyleConstants;
     4        import clarin.cmdi.componentregistry.editor.CMDSpecRenderer;
    55        import clarin.cmdi.componentregistry.editor.model.CMDAttribute;
    66        import clarin.cmdi.componentregistry.editor.model.CMDComponent;
    77        import clarin.cmdi.componentregistry.editor.model.CMDComponentElement;
    88        import clarin.cmdi.componentregistry.editor.model.CMDSpec;
    9        
     9
    1010        import flash.display.DisplayObject;
    1111        import flash.utils.getTimer;
    12        
     12
    1313        import mx.collections.ArrayCollection;
    1414        import mx.collections.XMLListCollection;
     
    2626        public class XMLBrowser extends Form implements IFocusManagerComponent, CMDSpecRenderer {
    2727
    28                 //Label names
     28                //Label names
    2929                public static const CONCEPTLINK:String = "ConceptLink";
    3030                public static const COMPONENT:String = "Component";
     
    7777
    7878                protected function createAndAddFormChild(name:String, value:String):void {
    79                         if (value != "" && value != null) { //only add if we have somekind of value
     79                        if (value) { //only add if we have somekind of value
    8080                                addFormChild(createFormItem(name, value));
    8181                        }
     
    134134                protected function createAndAddValueScheme(value:String = null, valuePattern:String = null, valueList:XMLListCollection = null):void {
    135135                        var formItem:FormItem;
    136                         if (value  != null && value != "") {
    137                                 formItem = createFormItem("ValueScheme", value);
    138                         } else if (valuePattern  != null && valuePattern != "") {
    139                             formItem = createFormItem("ValueScheme", valuePattern);
    140                         } else {
     136                        if (valueList) {
    141137                                formItem = createFormItem("ValueScheme", null);
    142138                                var enumeration:DisplayObject = createEnumeration(valueList);
    143139                                formItem.addChild(enumeration);
     140                        } else if (valuePattern) {
     141                                formItem = createFormItem("ValueScheme", valuePattern);
     142                        } else {
     143                                formItem = createFormItem("ValueScheme", value);
    144144                        }
    145145                        addFormChild(formItem);
     
    147147
    148148                private function createEnumeration(enumeration:XMLListCollection):DisplayObject {
     149                        var result:ComboBox = createValueSchemeComboBox();
     150                        result.dataProvider = enumeration;
     151                        return result;
     152                }
     153
     154                public static function createValueSchemeComboBox():ComboBox {
    149155                        var result:ComboBox = new ComboBox();
    150                         result.dataProvider = enumeration;
    151156                        result.labelFunction = function(item:Object):String {
    152157                                var xmlItem:XML = item as XML;
    153                                 if (item..hasOwnProperty("@" + ComponentMD.APP_INFO)) {
     158                                if (item.hasOwnProperty("@" + ComponentMD.APP_INFO) && xmlItem.attribute(ComponentMD.APP_INFO) != "") { //TODO PD what about conceptlinks? also not shown in Browser.
    154159                                        return xmlItem.attribute(ComponentMD.APP_INFO) + " - " + xmlItem.text();
    155160                                } else {
     
    159164                        return result;
    160165                }
    161 
    162166
    163167                /**
     
    170174                        field.label = name;
    171175                        field.styleName = StyleConstants.XMLBROWSER_FIELD;
    172                         if (value  != null && value != "") {
    173                         var fieldValue:DisplayObject = createFormItemFieldValue(name, value);
    174                         field.addChild(fieldValue);
     176                        if (value != null && value != "") {
     177                                var fieldValue:DisplayObject = createFormItemFieldValue(name, value);
     178                                field.addChild(fieldValue);
    175179                        }
    176180                        return field;
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/browser/xmlBrowsePanel.mxml

    r206 r238  
    11<?xml version="1.0" encoding="utf-8"?>
    22<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml"
    3                  xmlns:comp="clarin.cmdi.componentregistry.common.components.*" >
     3                 xmlns:browser="clarin.cmdi.componentregistry.browser.*" >
    44        <mx:Script>
    55            <![CDATA[
     
    99
    1010        <mx:XML id="cmdComponent"/>
    11         <comp:CMDComponentXMLBrowser id="xmlBrowse"
     11        <browser:CMDComponentXMLBrowser id="xmlBrowse"
    1212                                                                 cmdSpec="{CMDModelFactory.createModel(cmdComponent)}"
    1313                                                                 width="100%"
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/common/components/ExpandingComponentLabel.as

    r206 r238  
    11package clarin.cmdi.componentregistry.common.components {
    2         import clarin.cmdi.componentregistry.editor.CMDSpecRenderer;
     2        import clarin.cmdi.componentregistry.browser.CMDComponentXMLBrowser;
    33        import clarin.cmdi.componentregistry.common.Component;
    44        import clarin.cmdi.componentregistry.common.ItemDescription;
    55        import clarin.cmdi.componentregistry.common.StyleConstants;
     6        import clarin.cmdi.componentregistry.editor.CMDComponentXMLEditor;
     7        import clarin.cmdi.componentregistry.editor.CMDSpecRenderer;
    68        import clarin.cmdi.componentregistry.editor.model.CMDModelFactory;
    79        import clarin.cmdi.componentregistry.services.ComponentInfoService;
     
    3234                        styleName = StyleConstants.EXPANDING_COMPONENT;
    3335                }
    34                
     36
    3537                protected override function createChildren():void {
    36             super.createChildren();
     38                        super.createChildren();
    3739                        var id:Label = new Label();
    3840                        id.text = componentId;
     
    4042                        id.addEventListener(MouseEvent.MOUSE_OVER, mouseOver);
    4143                        id.addEventListener(MouseEvent.MOUSE_OUT, mouseOut);
    42                     addChild(id);
     44                        addChild(id);
    4345                }
    44                
     46
    4547                private function handleClick(event:MouseEvent):void {
    4648                        if (isExpanded) {
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/editor/AttributeListEdit.as

    r224 r238  
    11package clarin.cmdi.componentregistry.editor {
    22        import clarin.cmdi.componentregistry.common.StyleConstants;
    3         import clarin.cmdi.componentregistry.common.components.CMDComponentXMLEditor;
    43        import clarin.cmdi.componentregistry.editor.model.CMDAttribute;
    54
    6         import flash.display.DisplayObject;
    75        import flash.events.Event;
    86        import flash.events.MouseEvent;
    97
     8        import mx.binding.utils.BindingUtils;
    109        import mx.collections.ArrayCollection;
     10        import mx.collections.XMLListCollection;
    1111        import mx.containers.Form;
    1212        import mx.containers.FormItem;
     
    4949                        attributeBox.styleName = StyleConstants.XMLBROWSER;
    5050                        addEditBar(attribute, attributeBox);
    51                         if (attribute.type != null) {
    52                                 attributeBox.addChild(new FormItemInputLine("Type", attribute.type, function(val:String):void {
    53                                                 attribute.type = val;
    54                                         }));
    55                         } else {
    56                                 attributeBox.addChild(createAndAddValueScheme(attribute));
    57                         }
     51                        attributeBox.addChild(createAndAddValueScheme(attribute));
    5852                        return attributeBox;
    5953                }
    6054
    6155                private function createAndAddValueScheme(attribute:CMDAttribute):UIComponent {
     56                        var valueSchemeInput:ValueSchemeInput = new ValueSchemeInput("Type");
     57                        BindingUtils.bindSetter(function(val:String):void {
     58                                        attribute.valueSchemePattern = val;
     59                                        attribute.valueSchemeEnumeration = null;
     60                                        attribute.type = "";
     61                                }, valueSchemeInput, "valueSchemePattern");
     62                        BindingUtils.bindSetter(function(val:String):void {
     63                                        attribute.type = val;
     64                                        attribute.valueSchemePattern ="";
     65                                        attribute.valueSchemeEnumeration = null;
     66                                }, valueSchemeInput, "valueSchemeSimple");
     67                        BindingUtils.bindSetter(function(val:XMLListCollection):void {
     68                                        attribute.valueSchemeEnumeration = val;
     69                                        attribute.type = "";
     70                                        attribute.valueSchemePattern = "";
     71                                }, valueSchemeInput, "valueSchemeEnumeration");
    6272                        if (attribute.valueSchemeEnumeration == null) {
    63                                 return new FormItemInputLine("ValueScheme", attribute.valueSchemePattern, function(val:String):void {
    64                                                 attribute.valueSchemePattern = val;
    65                                         });
     73                                if (attribute.valueSchemePattern != null) {
     74                                        valueSchemeInput.valueSchemePattern = attribute.valueSchemePattern;
     75                                } else {
     76                                        valueSchemeInput.valueSchemeSimple = attribute.type;
     77                                }
    6678                        } else {
    67                                 return new EnumerationEdit(attribute.valueSchemeEnumeration, this);
     79                                valueSchemeInput.valueSchemeEnumeration = attribute.valueSchemeEnumeration;
    6880                        }
     81                        return valueSchemeInput;
    6982                }
    7083
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/editor/CMDComponentXMLEditor.as

    r224 r238  
    1 package clarin.cmdi.componentregistry.common.components {
     1package clarin.cmdi.componentregistry.editor {
     2        import clarin.cmdi.componentregistry.browser.XMLBrowser;
    23        import clarin.cmdi.componentregistry.common.ItemDescription;
    34        import clarin.cmdi.componentregistry.common.StyleConstants;
    4         import clarin.cmdi.componentregistry.editor.CMDSpecRenderer;
    5         import clarin.cmdi.componentregistry.editor.ComponentEdit;
    6         import clarin.cmdi.componentregistry.editor.FormItemInputLine;
    7         import clarin.cmdi.componentregistry.editor.FormItemInputText;
    85        import clarin.cmdi.componentregistry.editor.model.CMDComponent;
    96        import clarin.cmdi.componentregistry.editor.model.CMDSpec;
     
    105102                                        spec.headerName = val;
    106103                                }));
    107                         addChild(new FormItemInputLine("Id", spec.headerId, function(val:String):void {
     104                        var idInput:FormItemInputLine = new FormItemInputLine("Id", spec.headerId, function(val:String):void {
    108105                                        spec.headerId = val;
    109                                 }));
     106                                }, false);
     107                        idInput.toolTip="Id will be generated";
     108                        addChild(idInput);
    110109                        addChild(new FormItemInputText(XMLBrowser.DESCRIPTION, spec.headerDescription, function(val:String):void {
    111110                                        spec.headerDescription = val;
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/editor/ComponentEdit.as

    r224 r238  
    11package clarin.cmdi.componentregistry.editor {
     2        import clarin.cmdi.componentregistry.browser.XMLBrowser;
    23        import clarin.cmdi.componentregistry.common.ItemDescription;
    34        import clarin.cmdi.componentregistry.common.StyleConstants;
    4         import clarin.cmdi.componentregistry.common.components.CMDComponentXMLEditor;
    55        import clarin.cmdi.componentregistry.common.components.ExpandingComponentLabel;
    6         import clarin.cmdi.componentregistry.common.components.XMLBrowser;
    76        import clarin.cmdi.componentregistry.editor.model.CMDComponent;
    87        import clarin.cmdi.componentregistry.editor.model.CMDComponentElement;
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/editor/Editor.mxml

    r224 r238  
    33                   xmlns:browser="clarin.cmdi.componentregistry.browser.*"
    44                   xmlns:common="clarin.cmdi.componentregistry.common.*"
    5                    xmlns:comp="clarin.cmdi.componentregistry.common.components.*"
     5                   xmlns:editor="clarin.cmdi.componentregistry.editor.*"
    66                   width="100%"
    77                   height="100%"
     
    3535                <mx:VBox width="100%"
    3636                                 height="80%">
    37                         <comp:CMDComponentXMLEditor id="xmlEditor"
    38                                                                                 cmdSpec="{cmdSpec}"
    39                                                                                 editorChange="handleEditorChange(event)"/>
     37                        <editor:CMDComponentXMLEditor id="xmlEditor"
     38                                                                                  cmdSpec="{cmdSpec}"
     39                                                                                  editorChange="handleEditorChange(event)"/>
    4040                        <mx:VBox styleName="borderStyles">
    41                 <mx:Label text="Drag items onto edit canvas"/>
     41                                <mx:Label text="Drag items onto edit canvas"/>
    4242                                <mx:HBox id="palette">
    4343                                        <mx:Canvas width="60"
     
    4646                                                           borderStyle="solid"
    4747                                                           id="ComponentDrag"
    48                                                            mouseMove="enableComponentDrag(event);"
    49                                                            >
     48                                                           mouseMove="enableComponentDrag(event);">
    5049                                        </mx:Canvas>
    5150                                        <mx:Canvas width="45"
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/editor/EditorManager.as

    r224 r238  
    11package clarin.cmdi.componentregistry.editor {
    22
    3 /**
    4  * Manages static Editor components
    5  *
    6  **/
     3        /**
     4        * Manages static Editor components
     5         *
     6         **/
    77        public final class EditorManager {
    88
    99                private static var _isocatSearchPopUp:IsocatSearchPopUp;
     10                private static var _valueSchemePopUp:ValueSchemePopUp;
    1011
    1112                public static function getIsocatSearchPopUp():IsocatSearchPopUp {
     
    1617                }
    1718
     19                public static function getValueSchemePopUp():ValueSchemePopUp {
     20                        if (!_valueSchemePopUp) {
     21                                _valueSchemePopUp = new ValueSchemePopUp();
     22                        }
     23                        return _valueSchemePopUp;
     24                }
     25
    1826        }
    1927}
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/editor/ElementEdit.as

    r224 r238  
    11package clarin.cmdi.componentregistry.editor {
     2        import clarin.cmdi.componentregistry.browser.XMLBrowser;
    23        import clarin.cmdi.componentregistry.common.StyleConstants;
    3         import clarin.cmdi.componentregistry.common.components.XMLBrowser;
    44        import clarin.cmdi.componentregistry.editor.model.CMDComponentElement;
    55
     
    77        import flash.events.MouseEvent;
    88
     9        import mx.binding.utils.BindingUtils;
     10        import mx.binding.utils.ChangeWatcher;
     11        import mx.collections.XMLListCollection;
    912        import mx.containers.Form;
    1013        import mx.containers.FormItem;
     
    8285
    8386                private function createAndAddValueScheme():void {
     87                        var valueSchemeInput:ValueSchemeInput = new ValueSchemeInput("Type");
     88                        BindingUtils.bindSetter(function(val:String):void {
     89                                        _element.valueSchemePattern = val;
     90                                        _element.valueSchemeSimple = "";
     91                                        _element.valueSchemeEnumeration = null;
     92                                }, valueSchemeInput, "valueSchemePattern");
     93                        BindingUtils.bindSetter(function(val:String):void {
     94                                        _element.valueSchemeSimple = val;
     95                                        _element.valueSchemeEnumeration = null;
     96                                        _element.valueSchemePattern = "";
     97                                }, valueSchemeInput, "valueSchemeSimple");
     98                        BindingUtils.bindSetter(function(val:XMLListCollection):void {
     99                                        _element.valueSchemeEnumeration = val;
     100                                        _element.valueSchemeSimple = "";
     101                                        _element.valueSchemePattern = "";
     102                                }, valueSchemeInput, "valueSchemeEnumeration");
     103
    84104                        if (_element.valueSchemeEnumeration == null) {
    85105                                if (_element.valueSchemePattern != null) {
    86                                         addChild(new FormItemInputLine("ValueScheme", _element.valueSchemePattern, function(val:String):void {
    87                                                         _element.valueSchemeSimple = val;
    88                                                 }));
     106                                        valueSchemeInput.valueSchemePattern = _element.valueSchemePattern;
    89107                                } else {
    90                                         addChild(new FormItemInputLine("ValueScheme", _element.valueSchemeSimple, function(val:String):void {
    91                                                         _element.valueSchemeSimple = val;
    92                                                 }));
     108                                        valueSchemeInput.valueSchemeSimple = _element.valueSchemeSimple;
    93109                                }
    94110                        } else {
    95                                 addChild(new EnumerationEdit(_element.valueSchemeEnumeration, this));
     111                                valueSchemeInput.valueSchemeEnumeration = _element.valueSchemeEnumeration;
     112
    96113                        }
     114                        addChild(valueSchemeInput);
    97115                }
    98116
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/editor/FormItemInputLine.as

    r224 r238  
    99                private var editField:TextInput = new TextInput();
    1010
    11                 public function FormItemInputLine(name:String, value:String, bindingFunction:Function) {
     11                public function FormItemInputLine(name:String, value:String, bindingFunction:Function, editable:Boolean=true) {
    1212                        super();
    1313                        label = name;
     
    1616                        editField.width = 300;
    1717                        editField.text = value;
     18                        editField.editable=editable;
    1819                        BindingUtils.bindSetter(bindingFunction, editField, "text");
    1920                }
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/editor/IsocatSearchPopUp.mxml

    r224 r238  
    44                                showCloseButton="true"
    55                                close="cleanUp();"
    6                                 label="Search isocat..."
    7                                 creationComplete="PopUpManager.centerPopUp(this)">
     6                                creationComplete="PopUpManager.centerPopUp(this)"
     7                                title="Search in Isocat.org">
    88
    99        <mx:Script>
     
    2020
    2121                        private function cleanUp():void {
     22                            searchService.close();
    2223                                PopUpManager.removePopUp(this);
    2324                        }
     
    7980                        </mx:columns>
    8081                </mx:DataGrid>
    81                 <mx:HBox>
     82                <mx:HBox width="100%">
     83                        <mx:Spacer width="100%"/>
    8284                        <mx:Button label="OK"
    8385                                           click="setItem()"/>
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/editor/model/CMDAttribute.as

    r224 r238  
    1313                public var valueSchemeEnumeration:XMLListCollection; // enumeration
    1414
    15                 //TODO Patrick see element?? check usage in xmlBrowser
    16 
    17 
    1815                public function CMDAttribute() {
    1916                }
    2017
    2118                public function toXml():XML {
    22                         var result:XML = <Attribute></Attribute>;
     19                        var result:XML = <Attribute></Attribute>;
    2320                        result.appendChild(<Name>{name}</Name>);
    2421                        if (valueSchemePattern) {
    25                                 result.appendChild(<pattern>{valueSchemePattern}</pattern>);
     22                                result.appendChild(<ValueScheme><pattern>{valueSchemePattern}</pattern></ValueScheme>);
    2623                        } else if (valueSchemeEnumeration) {
    27                                 result.appendChild(<enumeration>{valueSchemeEnumeration}</enumeration>);
     24                                var enumerationScheme:XML = <enumeration></enumeration>;
     25                                for each(var item:XML in valueSchemeEnumeration) {
     26                                    enumerationScheme.appendChild(item);
     27                        }
     28                        result.appendChild(<ValueScheme>{enumerationScheme}</ValueScheme>);
    2829                        } else {
    2930                                result.appendChild(<Type>{type}</Type>);
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/editor/model/CMDAttributeTest.as

    r224 r238  
    11package clarin.cmdi.componentregistry.editor.model {
     2        import clarin.cmdi.componentregistry.common.ComponentMD;
     3       
    24        import flexunit.framework.TestCase;
    35        import flexunit.framework.TestSuite;
     6       
     7        import mx.collections.XMLListCollection;
    48
    59        public class CMDAttributeTest extends TestCase {
     
    2327                }
    2428
    25 //public function testToXmlValueSchemePattern():void {}
    26 //public function testToXmlValueSchemeEnumeration():void {}
     29                public function testToXmlValueSchemePattern():void {
     30                        var result:CMDAttribute = new CMDAttribute();
     31                        result.name = "aap";
     32                        result.valueSchemePattern = "[a-zA-Z]+";
     33                        var expected:XML = <Attribute>
     34                                        <Name>aap</Name>
     35                                        <ValueScheme>
     36                                            <pattern>[a-zA-Z]+</pattern>
     37                                        </ValueScheme>
     38                                </Attribute>;
     39                        assertEquals(expected.toXMLString(), result.toXml().toXMLString());
     40                }
     41
     42                public function testToXmlValueSchemeEnumeration():void {
     43                        var result:CMDAttribute = new CMDAttribute();
     44                        result.name = "aap";
     45                        result.valueSchemeEnumeration = new XMLListCollection();
     46                        result.valueSchemeEnumeration.addItem(<item {ComponentMD.APP_INFO}="" {ComponentMD.CONCEPTLINK}="">Male</item>);
     47                        var expected:XML = <Attribute>
     48                                        <Name>aap</Name>
     49                                        <ValueScheme>
     50                                                <enumeration>
     51                                                        <item AppInfo="" ConceptLink="">Male</item>
     52                                                </enumeration>
     53                                        </ValueScheme>
     54                                </Attribute>;
     55                        assertEquals(expected.toXMLString(), result.toXml().toXMLString());
     56                }
    2757        }
    2858}
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/editor/model/CMDComponentElement.as

    r224 r238  
    11package clarin.cmdi.componentregistry.editor.model {
    22        import clarin.cmdi.componentregistry.common.XmlAble;
    3 
     3       
    44        import mx.collections.ArrayCollection;
    55        import mx.collections.XMLListCollection;
     
    2626
    2727                public function toXml():XML {
    28                         var result:XML = <CMD_Element></CMD_Element>; //TODO PD implement
     28                        var result:XML = <CMD_Element></CMD_Element>;
    2929                        if (name)
    3030                                result.@name = name;
     
    4545                        }
    4646                        if (valueSchemePattern) {
    47                                 result.appendChild(<ValueScheme><pattern></pattern>{valueSchemePattern}</ValueScheme>)
     47                                result.appendChild(<ValueScheme><pattern>{valueSchemePattern}</pattern></ValueScheme>)
    4848                        }
    4949                        if (valueSchemeEnumeration != null) {
    50                                 var enumerationScheme:XML = <ValueScheme><enumeration></enumeration></ValueScheme>;
    51                                 enumerationScheme.appendChild(valueSchemeEnumeration);
    52                                 result.appendChild(enumerationScheme);
     50                                var enumerationScheme:XML = <enumeration></enumeration>;
     51                                for each(var item:XML in valueSchemeEnumeration) {
     52                                    enumerationScheme.appendChild(item);
     53                        }
     54                        result.appendChild(<ValueScheme>{enumerationScheme}</ValueScheme>);
    5355                        }
    5456                        return result;
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/editor/model/CMDComponentElementTest.as

    r224 r238  
    11package clarin.cmdi.componentregistry.editor.model {
     2        import clarin.cmdi.componentregistry.common.ComponentMD;
     3
    24        import flexunit.framework.TestCase;
    35        import flexunit.framework.TestSuite;
     6
     7        import mx.collections.XMLListCollection;
    48
    59        public class CMDComponentElementTest extends TestCase {
     
    3135                }
    3236
     37                public function testToXmlValueScheme():void {
     38                        var result:CMDComponentElement = new CMDComponentElement();
     39                        result.name = "Sex";
     40                        result.conceptLink = "http://www.isocat.org/datcat/DC-2560";
     41                        result.valueSchemeEnumeration = new XMLListCollection();
     42                        result.valueSchemeEnumeration.addItem(<item {ComponentMD.APP_INFO}="" {ComponentMD.CONCEPTLINK}="">Male</item>);
     43                        result.valueSchemeEnumeration.addItem(<item {ComponentMD.APP_INFO}="" {ComponentMD.CONCEPTLINK}="">Female</item>);
     44                        result.valueSchemeEnumeration.addItem(<item {ComponentMD.APP_INFO}="" {ComponentMD.CONCEPTLINK}="">Unknown</item>);
     45                        var expected:XML = <CMD_Element name="Sex" ConceptLink="http://www.isocat.org/datcat/DC-2560" CardinalityMin="1" CardinalityMax="1">
     46                                        <ValueScheme>
     47                                                <enumeration>
     48                                                        <item AppInfo="" ConceptLink="">Male</item>
     49                                                        <item AppInfo="" ConceptLink="">Female</item>
     50                                                        <item AppInfo="" ConceptLink="">Unknown</item>
     51                                                </enumeration>
     52                                        </ValueScheme>
     53                                </CMD_Element>;
     54
     55                        assertEquals(expected.toXMLString(), result.toXml().toXMLString());
     56                }
     57               
     58                public function testToXmlValueSchemePattern():void {
     59                        var result:CMDComponentElement = new CMDComponentElement();
     60                        result.name = "Test";
     61                        result.cardinalityMax="5"
     62                        result.valueSchemePattern = "[a-z]";
     63                       
     64                        var expected:XML = <CMD_Element name="Test" CardinalityMin="1" CardinalityMax="5">
     65                                        <ValueScheme>
     66                                                <pattern>[a-z]</pattern>
     67                                        </ValueScheme>
     68                                </CMD_Element>;
     69
     70                        assertEquals(expected.toXMLString(), result.toXml().toXMLString());
     71                }
     72
    3373        }
    3474}
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/services/IsocatService.as

    r224 r238  
    11package clarin.cmdi.componentregistry.services {
    22        import com.adobe.net.URI;
    3        
     3
    44        import flash.events.ErrorEvent;
    55        import flash.events.EventDispatcher;
    6        
     6
    77        import mx.controls.Alert;
    88        import mx.managers.CursorManager;
    99        import mx.utils.StringUtil;
    10        
     10
    1111        import org.httpclient.HttpClient;
    1212        import org.httpclient.events.HttpDataEvent;
     
    2525
    2626                public function IsocatService() {
    27                         service = new HttpClient();
    28                         service.listener.onComplete = handleResult;
    29                         service.listener.onError = handleError;
    30                         service.listener.onData = handleData;
    3127                }
    3228
    3329                public function load(keyword:String):void {
    3430                        if (keyword) {
     31                                createClient();
    3532                                CursorManager.setBusyCursor();
    3633                                var uri:URI = new URI(Config.instance.isocatSearchUrl);
     
    4441                }
    4542
    46                 public function handleData(event:HttpDataEvent):void {
     43                public function close():void {
     44                        if (service) {
     45                                service.close();
     46                        }
     47                        CursorManager.removeBusyCursor();
     48                }
     49
     50                private function createClient():void {
     51                        service = new HttpClient();
     52                        service.listener.onComplete = handleResult;
     53                        service.listener.onError = handleError;
     54                        service.listener.onData = handleData;
     55                }
     56
     57                private function handleData(event:HttpDataEvent):void {
    4758                        var data:XML = new XML(event.bytes);
    4859                        searchResults = data.dcif::dataCategory;
     
    5869                }
    5970
    60                 public function handleError(faultEvent:ErrorEvent):void {
     71                private function handleError(faultEvent:ErrorEvent):void {
    6172                        CursorManager.removeBusyCursor();
    6273                        var errorMessage:String = StringUtil.substitute("Error in {0}: {1}", this, faultEvent.text);
    63                     Alert.show(errorMessage);
     74                        Alert.show(errorMessage);
    6475                }
    6576
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/services/UploadService.as

    r224 r238  
    6161                        fileRef.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
    6262                        fileRef.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
    63 
    6463                }
    6564
     
    139138                                addToMessage("Server Failed to handle registration. Unexpected error, try again later. (httpstatus code was: " + event.response.code + ")\n");
    140139                        }
     140            httpClient.close();
    141141                }
    142142
Note: See TracChangeset for help on using the changeset viewer.