extensions/no.uib.cbu.base.magetabexport/trunk/src/main/java/no/uib/cbu/base/magetabexport/IDFFile.java

Code
Comments
Other
Rev Date Author Line
1474 29 Nov 11 pawels 1 /*******************************************************************************
1474 29 Nov 11 pawels 2  * Copyright (c) 2011 The Norwegian Microarray Consortium.
1474 29 Nov 11 pawels 3  * All rights reserved. This program and the accompanying materials
1474 29 Nov 11 pawels 4  * are made available under the terms of the GNU Public License v3.0
1474 29 Nov 11 pawels 5  * which accompanies this distribution, and is available at
1474 29 Nov 11 pawels 6  * http://www.gnu.org/licenses/gpl-3.0.html
1474 29 Nov 11 pawels 7  * 
1474 29 Nov 11 pawels 8  * Contributors:
1474 29 Nov 11 pawels 9  *     The Norwegian Microarray Consortium - initial API and implementation
1474 29 Nov 11 pawels 10  ******************************************************************************/
1474 29 Nov 11 pawels 11 package no.uib.cbu.base.magetabexport;
1474 29 Nov 11 pawels 12
1474 29 Nov 11 pawels 13 import java.io.OutputStream;
1474 29 Nov 11 pawels 14 import java.io.PrintWriter;
1474 29 Nov 11 pawels 15 import java.util.List;
1474 29 Nov 11 pawels 16
1474 29 Nov 11 pawels 17 public class IDFFile {
1474 29 Nov 11 pawels 18
1474 29 Nov 11 pawels 19   protected IDF idf ;
1474 29 Nov 11 pawels 20   
1474 29 Nov 11 pawels 21   public IDFFile(IDF content) {
1474 29 Nov 11 pawels 22     this.idf = content;
1474 29 Nov 11 pawels 23   }
1474 29 Nov 11 pawels 24   
1474 29 Nov 11 pawels 25   
1474 29 Nov 11 pawels 26   public void save(OutputStream out) {
1474 29 Nov 11 pawels 27     PrintWriter w = new PrintWriter(out);
1474 29 Nov 11 pawels 28     
1474 29 Nov 11 pawels 29     w.println(getLineForField(IDF.INVESTIGATION_TITLE));
1474 29 Nov 11 pawels 30     w.println(getLineForField(IDF.EXPERIMENTAL_DESIGN));
1474 29 Nov 11 pawels 31     w.println(getLineForField(IDF.EXPERIMENTAL_FACTOR_NAME));
1474 29 Nov 11 pawels 32     w.println(getLineForField(IDF.EXPERIMENTAL_FACTOR_TYPE));
1474 29 Nov 11 pawels 33     w.println(getLineForField(IDF.EXPERIMENTAL_FACTOR_TERM_SOURCE_REF));
1474 29 Nov 11 pawels 34     w.println();
1474 29 Nov 11 pawels 35     w.println(getLineForField(IDF.PERSON_LAST_NAME));
1474 29 Nov 11 pawels 36     w.println(getLineForField(IDF.PERSON_FIRST_NAME));
1474 29 Nov 11 pawels 37     w.println(getLineForField(IDF.PERSON_MID_INITIALS));
1474 29 Nov 11 pawels 38     w.println(getLineForField(IDF.PERSON_EMAIL));
1474 29 Nov 11 pawels 39     w.println(getLineForField(IDF.PERSON_PHONE));
1474 29 Nov 11 pawels 40     w.println(getLineForField(IDF.PERSON_ADDRESS));
1474 29 Nov 11 pawels 41     w.println(getLineForField(IDF.PERSON_AFFILIATION));
1474 29 Nov 11 pawels 42     w.println(getLineForField(IDF.PERSON_ROLES));
1474 29 Nov 11 pawels 43     w.println(getLineForField(IDF.PERSON_ROLES_TERM_SOURCE_REF));
1474 29 Nov 11 pawels 44     w.println();
1474 29 Nov 11 pawels 45     w.println(getLineForField(IDF.QUALITY_CONTROL_TYPE));
1474 29 Nov 11 pawels 46     w.println(getLineForField(IDF.QUALITY_CONTROL_TERM_SOURCE_REF));
1474 29 Nov 11 pawels 47     w.println(getLineForField(IDF.REPLICATE_TYPE));
1474 29 Nov 11 pawels 48     w.println(getLineForField(IDF.REPLICATE_TERM_SOURCE_REF));
1474 29 Nov 11 pawels 49     w.println(getLineForField(IDF.DATE_OF_EXPERIMENT));
1474 29 Nov 11 pawels 50     w.println(getLineForField(IDF.PUBLIC_RELEASE_DATE));
1474 29 Nov 11 pawels 51     w.println();
1474 29 Nov 11 pawels 52     w.println(getLineForField(IDF.PUBMED_ID));
1474 29 Nov 11 pawels 53     w.println(getLineForField(IDF.EXPERIMENT_DESCRIPTION));
1474 29 Nov 11 pawels 54     w.println();
1474 29 Nov 11 pawels 55     w.println(getLineForField(IDF.PROTOCOL_NAME));
1474 29 Nov 11 pawels 56     w.println(getLineForField(IDF.PROTOCOL_TYPE));
1474 29 Nov 11 pawels 57     w.println(getLineForField(IDF.PROTOCOL_DESCRIPTION));
1474 29 Nov 11 pawels 58     w.println(getLineForField(IDF.PROTOCOL_PARAMETERS));
1474 29 Nov 11 pawels 59     w.println(getLineForField(IDF.PROTOCOL_TERM_SOURCE_REF));
1474 29 Nov 11 pawels 60     w.println();
1474 29 Nov 11 pawels 61     w.println(getLineForField(IDF.SDRF_FILE));
1474 29 Nov 11 pawels 62     w.println();
1474 29 Nov 11 pawels 63     w.println(getLineForField(IDF.TERM_SOURCE_NAME));
1474 29 Nov 11 pawels 64     w.println(getLineForField(IDF.TERM_SOURCE_FILE));
1474 29 Nov 11 pawels 65     w.println(getLineForField(IDF.TERM_SOURCE_VERSION));
1474 29 Nov 11 pawels 66     w.println();
1474 29 Nov 11 pawels 67     w.println();
1474 29 Nov 11 pawels 68     w.flush();
1474 29 Nov 11 pawels 69     w.close();
1474 29 Nov 11 pawels 70   }
1474 29 Nov 11 pawels 71   /*
1474 29 Nov 11 pawels 72   public InputStream getInputStream() {
1474 29 Nov 11 pawels 73     ByteArrayOutputStream out = new ByteArrayOutputStream();
1474 29 Nov 11 pawels 74     save(out);
1474 29 Nov 11 pawels 75     return new ByteArrayInputStream(out.toByteArray());
1474 29 Nov 11 pawels 76   }
1474 29 Nov 11 pawels 77   */
1474 29 Nov 11 pawels 78   protected String getLineForField(String fieldName) {
1474 29 Nov 11 pawels 79     
1474 29 Nov 11 pawels 80     String line = Utils.quote(fieldName);
1474 29 Nov 11 pawels 81
1474 29 Nov 11 pawels 82     List<String> fc = idf.getFieldContent(fieldName);
1474 29 Nov 11 pawels 83     if (fc != null) { 
1474 29 Nov 11 pawels 84       for (String s : fc) {
1474 29 Nov 11 pawels 85         line += "\t" + Utils.quote(s);
1474 29 Nov 11 pawels 86       }
1474 29 Nov 11 pawels 87     }
1474 29 Nov 11 pawels 88     return line;
1474 29 Nov 11 pawels 89   }
1474 29 Nov 11 pawels 90 }