Changeset 2772


Ignore:
Timestamp:
05/09/07 09:10:16 (13 years ago)
Author:
melissa
Message:

Added support for data.raw and lse.xml companion files.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/loci/formats/in/BioRadReader.java

    r2701 r2772  
    635635    status("Populating metadata"); 
    636636 
     637    // look for companion metadata files 
     638 
     639    Location parent = new Location(currentId).getAbsoluteFile().getParentFile(); 
     640    String[] list = parent.list(); 
     641 
     642    for (int i=0; i<list.length; i++) { 
     643      if (list[i].endsWith("data.raw")) { 
     644        RandomAccessStream raw = new RandomAccessStream(list[i]); 
     645        String line = raw.readLine(); 
     646        while (line != null && line.length() > 0) { 
     647          if (line.charAt(0) != '[') { 
     648            String key = line.substring(0, line.indexOf("=")); 
     649            String value = line.substring(line.indexOf("=") + 1); 
     650            addMeta(key.trim(), value.trim()); 
     651          } 
     652          line = raw.readLine();  
     653        } 
     654        raw.close();  
     655      } 
     656      else if (list[i].endsWith("lse.xml")) { 
     657        RandomAccessStream raw = new RandomAccessStream(list[i]); 
     658        byte[] b = new byte[(int) raw.length()]; 
     659        raw.read(b); 
     660        String xml = new String(b); 
     661 
     662        if (xml.indexOf("SectionInfo") != -1) { 
     663          int start = xml.indexOf("<SectionInfo>") + 13; 
     664          int end = xml.indexOf("</SectionInfo>"); 
     665          xml = xml.substring(start, end); 
     666        
     667          // parse the timestamps 
     668          while (xml.length() > 0) { 
     669            String element = xml.substring(0, xml.indexOf(">") + 1); 
     670            xml = xml.substring(xml.indexOf(">") + 1); 
     671           
     672            int ndx = element.indexOf("TimeCompleted") + 15; 
     673            String stamp = element.substring(ndx, element.indexOf("\"", ndx)); 
     674 
     675            String key = element.substring(1, element.indexOf("\"",  
     676              element.indexOf("\"") + 1)); 
     677            key = key.replace('\"', '\0'); 
     678            key = key.replace('=', ' '); 
     679 
     680            addMeta(key + " Timestamp", stamp); 
     681          } 
     682        } 
     683        raw.close(); 
     684        b = null; 
     685      } 
     686    } 
     687 
    637688    // Populate the metadata store 
    638689 
Note: See TracChangeset for help on using the changeset viewer.