Changeset 1262


Ignore:
Timestamp:
04/29/11 09:20:21 (13 years ago)
Author:
twagoo
Message:

When submitting import, update local XML with values from import form

Location:
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/importer/Importer.mxml

    r1259 r1262  
    3030                        private var importTypeString:String = "";
    3131
     32                        private var loadedXML:XML;
     33
    3234                        private function submit(event:Event):void {
    3335                                if (validate()) {
     
    4042                                        item.isProfile = isProfile;
    4143                                        item.isInUserSpace = true; //We only allow import into workspace it can be published from there.
    42                                         uploadSrv.upload(UploadService.NEW, item);
     44                                        if (loadedXML) {
     45                                                updateXMLFromFormFields(loadedXML);
     46                                                uploadSrv.upload(UploadService.NEW, item, loadedXML.toXMLString());
     47                                        } else {
     48                                                // No loaded XML. Let the upload service try with file reference
     49                                                uploadSrv.upload(UploadService.NEW, item);
     50                                        }
    4351                                }
    4452                        }
     
    8088                                        try {
    8189                                                var utfBytes:String = data.readUTFBytes(data.length);
    82                                                 var resultXml:XML = new XML(utfBytes);
     90                                                loadedXML = new XML(utfBytes);
    8391
    8492                                                // New file selected, clear all previous entries
    8593                                                clearForm();
    8694                                                // Set import type (profile or component) from attribute in XML
    87                                                 setImportTypeFromFile(resultXml);
     95                                                setImportTypeFromFile(loadedXML);
    8896                                                // Set name, description from values in XML
    89                                                 setFormFieldsFromFile(resultXml);
     97                                                setFormFieldsFromFile(loadedXML);
    9098                                        } catch (error:Error) {
    9199                                                Alert.show("Could not read the selected file. Not a valid XML file?", "Error");
     
    107115
    108116                        private function setFormFieldsFromFile(resultXml:XML):void {
    109                                 if (resultXml.hasOwnProperty("Header")) {
    110                                         var nodes:XMLList = resultXml.Header;
     117                                var header:XML = getHeaderXML(resultXml);
     118                                if (header) {
     119                                        nameInput.text = header.Name;
     120                                        description.text = header.Description;
     121                                }
     122                        }
     123
     124                        private function updateXMLFromFormFields(xml:XML):void {
     125                                var header:XML = getHeaderXML(xml);
     126                                if (header) {
     127                                        header.Name = nameInput.text;
     128                                        header.Description = description.text;
     129                                }
     130                        }
     131
     132                        private function getHeaderXML(xml:XML):XML {
     133                                if (xml.hasOwnProperty("Header")) {
     134                                        var nodes:XMLList = xml.Header;
    111135                                        if (nodes && nodes.length() > 0) {
    112                                                 var header:XML = nodes[0];
    113                                                 nameInput.text = header.Name;
    114                                                 description.text = header.Description;
    115                                         }
    116                                 }
     136                                                return nodes[0];
     137                                        }
     138                                }
     139                                return null;
    117140                        }
    118141
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/services/UploadService.as

    r1256 r1262  
    33        import clarin.cmdi.componentregistry.importer.FileLoadedEvent;
    44        import clarin.cmdi.componentregistry.importer.UploadCompleteEvent;
    5 
     5       
    66        import com.adobe.net.URI;
    7 
     7       
    88        import flash.events.Event;
    99        import flash.events.HTTPStatusEvent;
     
    1515        import flash.net.URLVariables;
    1616        import flash.utils.ByteArray;
    17 
     17       
    1818        import mx.controls.ProgressBar;
    1919        import mx.managers.CursorManager;
    20 
     20       
    2121        import ru.inspirit.net.MultipartURLLoader;
    2222
Note: See TracChangeset for help on using the changeset viewer.