source: trunk/grails-app/controllers/LoadController.groovy @ 74

Last change on this file since 74 was 74, checked in by duh, 10 years ago
  • set keyword expansion
  • Property svn:keywords set to Rev Date Author
File size: 10.3 KB
RevLine 
[63]1/*
2 * To change this template, choose Tools | Templates
3 * and open the template in the editor.
4 */
5
6/**
7 *
8 * @author ademcan
9 */
10class LoadController {
11
12    String path;
13    String delim;
14    static Map att_list = new HashMap<String, ArrayList>();
15
16    def index = {}
17
[72]18    def get_string(ArrayList tmp_list) {
19        String value = tmp_list[1];
20        for (a in 2..tmp_list.size()-1){
21            value = value + " , " +tmp_list[a];
22        }
23        return value;
24    }
25
[63]26    def load = {
27
[70]28        //ArrayList attributes = new ArrayList();
[63]29
[72]30        render("Loading ...<br>");
[63]31
[65]32        InputStream inputStream = request.getFile("uploadfile").inputStream;
33        BufferedReader fileReader = new BufferedReader(new InputStreamReader(inputStream));
[63]34
[70]35        def investigationDesign = new dbnp.transcriptomics.magetab.idf.InvestigationDesign();
36        def person = new dbnp.transcriptomics.magetab.idf.Person();
37        def protocol = new dbnp.transcriptomics.magetab.idf.MAGEProtocol();
38        def publication = new dbnp.transcriptomics.magetab.idf.Publication();
39        def normalization = new dbnp.transcriptomics.magetab.sdrf.Normalization();
40        //def termSource = new dbnp.transcriptomics.magetab.adf.Termsource();
41        def comment = new dbnp.transcriptomics.magetab.idf.Comment();
42        def experimentalInfo = new dbnp.transcriptomics.magetab.idf.ExperimentalInfo();
[63]43
[70]44        //ArrayList rows = new ArrayList();
[63]45
[65]46        for (i in fileReader.readLines()){
[72]47            render(i);
[63]48            String line = i.toString() ;
49            ArrayList tmp_list = new ArrayList();
[65]50            def parsedTab = line.split("\t");
[63]51
52            for (j in parsedTab) {
53                tmp_list.add(j);
54            }   
55           
56            if (tmp_list.size() > 1){
57                if (tmp_list[0]=="Investigation Title"){
[64]58                    investigationDesign.title = tmp_list[1];
[63]59                }
[64]60                else if (tmp_list[0]=="Comment[AEMIAMESCORE]") {
61                    comment.aemiameScore = tmp_list[1];
62                }
63                else if (tmp_list[0]=="Comment[SecondaryAccession]") {
64                    comment.secondaryAccession = tmp_list[1];
65                }
66                else if (tmp_list[0]=="Comment[ArrayExpressReleaseDate]") {
67                    comment.arrayExpressReleaseDate = tmp_list[1];
68                }
69                else if (tmp_list[0]=="Comment[ArrayExpressAccession]") {
70                    comment.arrayExpressAccession = tmp_list[1];
71                }
72                else if (tmp_list[0]=="Comment[MAGETAB TimeStamp_Version]") {
73                    comment.timestamp_version = tmp_list[1];
74                }
[63]75                else if (tmp_list[0]=="Experimental Design") {
[64]76                    String design = tmp_list[1];
77                    for (a in 2..tmp_list.size()-1){
78                        design = design + " , " +tmp_list[a];
79                    }
80                    experimentalInfo.design = design;
[63]81                }
[64]82                else if (tmp_list[0]=="Experimental Design Term Source REF") {
[72]83                    String value = get_string(tmp_list);
84                    experimentalInfo.design_term_source_ref = value;
85                    render("value : " + value );
86                    println("value : "+value);
[63]87                }
88                else if (tmp_list[0]=="Experimental Factor Name") {
[64]89                    String factor_name = tmp_list[1];
90                    for (a in 2..tmp_list.size()-1){
91                        factor_name = factor_name + " , " +tmp_list[a];
92                    }
93                    experimentalInfo.factor_name = factor_name;
[63]94                }
95                else if (tmp_list[0]=="Experimental Factor Type") {
[64]96                    String factor_type = tmp_list[1];
97                    for (a in 2..tmp_list.size()-1){
98                        factor_type = factor_type + " , " +tmp_list[a];
99                    }
100                    experimentalInfo.factor_type = factor_type;
[63]101                }
102                else if (tmp_list[0]=="Experimental Factor Term Source REF") {
[72]103                    String exp_ref  = tmp_list[1];
104                    for (a in 2..tmp_list.size()-1){
105                        exp_ref = exp_ref + " , " +tmp_list[a];
106                    }
107                    experimentalInfo.factor_term_source_ref = exp_ref;
[63]108                }
109                else if (tmp_list[0]=="Person Last Name") {
110                    person.lastName = tmp_list[1];
111                }
112                else if (tmp_list[0]=="Person First Name") {
113                    person.firstName = tmp_list[1];
114                }
115                else if (tmp_list[0]=="Person Mid Initials") {
116                    person.midInitials = tmp_list[1];
117                }
118                else if (tmp_list[0]=="Person Email") {
119                    person.email = tmp_list[1];
120                }
121                else if (tmp_list[0]=="Person Phone") {
122                    person.phone = tmp_list[1];
123                }
124                else if (tmp_list[0]=="Person Fax") {
125                    person.fax = tmp_list[1];
126                }
127                else if (tmp_list[0]=="Person Address") {
128                    person.address = tmp_list[1];
129                }
130                else if (tmp_list[0]=="Person Affiliation") {
131                    person.affiliation = tmp_list[1];
132                }
133                else if (tmp_list[0]=="Person Roles") {
134                    person.roles = tmp_list[1];
135                }
136                else if (tmp_list[0]=="Person Roles Term Source REF") {
137                    person.roles_ref = tmp_list[1];
138                }
139                else if (tmp_list[0]=="Quality Control Type") {
140
141                }
142                else if (tmp_list[0]=="Quality Control Term Source REF") {
143
144                }
145                else if (tmp_list[0]=="Replicate Type") {
146
147                }
148                else if (tmp_list[0]=="Replicate Term Source REF") {
149
150                }
151                else if (tmp_list[0]=="Normalization Type") {
[64]152                    normalization.type = tmp_list[1];
[63]153                }
154                else if (tmp_list[0]=="Normalization Term Source REF") {
[64]155                    normalization.term_source_ref = tmp_list[1];
[63]156                }
157                else if (tmp_list[0]=="Date Of Experiment") {
[64]158                    investigationDesign.dateOfExperiment = tmp_list[1];
[63]159                }
160                else if (tmp_list[0]=="Public Release Date") {
[64]161                    investigationDesign.publicReleaseDate = tmp_list[1];
[63]162                }
163                else if (tmp_list[0]=="PubMed ID") {
164                    publication.pubMedID = tmp_list[1];
165                }
166                else if (tmp_list[0]=="Publication DOI") {
167                    publication.DOI = tmp_list[1];
168                }
169                else if (tmp_list[0]=="Publication Author List") {
[64]170                    publication.authors_list = tmp_list[1];
[63]171                }
172                else if (tmp_list[0]=="Publication Title") {
173                    publication.title = tmp_list[1];
174                }
175                else if (tmp_list[0]=="Publication Status") {
[70]176                    def status = new dbnp.transcriptomics.magetab.idf.OntologyTerm();
[64]177                    status.text = tmp_list[1];
178                    status.save();
179                    publication.status = status;
[63]180                }
181                else if (tmp_list[0]=="Publication Status Term Source REF") {
[64]182                    publication.status_term_source_ref = tmp_list[1];
[63]183                }
184                else if (tmp_list[0]=="Experiment Description") {
[64]185                    investigationDesign.experimentDescription = tmp_list[1];
[63]186                }
187                else if (tmp_list[0]=="Protocol Name") {
[72]188                    String protocol_name = tmp_list[1];
189                    for (a in 2..tmp_list.size()-1){
190                        protocol_name = protocol_name + " , " +tmp_list[a];
191                    }
192                    protocol.name = protocol_name;
[63]193                }
[72]194                //todo list of type
[63]195                else if (tmp_list[0]=="Protocol Type") {
[70]196                    def type = new dbnp.transcriptomics.magetab.idf.OntologyTerm();
[64]197                    for (j in 1..tmp_list.size()){
198                        type.text = tmp_list[j];
199                        type.save();
200                    }
201                    protocol.type = type;
[63]202                }
203                else if (tmp_list[0]=="Protocol Description") {
[72]204                    String protocol_description = tmp_list[1];
205                    for (a in 2..tmp_list.size()-1){
206                        protocol_description = protocol_description + " , " +tmp_list[a];
207                    }
208                    protocol.description = protocol_description;
[63]209                }
210                else if (tmp_list[0]=="Protocol Parameters") {
[72]211                    String protocol_parameters = tmp_list[1];
212                    for (a in 2..tmp_list.size()-1){
213                        protocol_parameters = protocol_parameters + " , " +tmp_list[a];
214                    }
215                    protocol.parameters = protocol_parameters;
[63]216                }
217                else if (tmp_list[0]=="Protocol Hardware") {
218                    protocol.hardware = tmp_list[1];
219                }
220                else if (tmp_list[0]=="Protocol Software") {
221                    protocol.software = tmp_list[1];
222                }
223                else if (tmp_list[0]=="Protocol Contact") {
224                    protocol.contact = tmp_list[1];
225                }
226                else if (tmp_list[0]=="Protocol Term Source REF") {
[64]227                    protocol.term_source_ref = tmp_list[1];
[63]228                }
229                else if (tmp_list[0]=="SDRF File") {
[72]230                    investigationDesign.sdrf_file = tmp_list[1];
[63]231                }
232                else if (tmp_list[0]=="Term Source Name") {
[64]233                    //termSource.name = tmp_list[1];
[63]234                }
235                else if (tmp_list[0]=="Term Source File") {
[64]236                    //termSource.file = tmp_list[1];
[63]237                }
238                else if (tmp_list[0]=="Term Source Version") {
[64]239                    //termSource.version = tmp_list[1];
[63]240                }
241            }
242
243            person.save();
244            protocol.save();
245            publication.save();
[64]246            normalization.save();
247            investigationDesign.save();
248            comment.save();
249            experimentalInfo.save();
250            //termSource.save();
[63]251
252        }
253
254    }
255
256}
257
Note: See TracBrowser for help on using the repository browser.