Ignore:
Timestamp:
09/24/15 10:59:05 (9 years ago)
Author:
sherbold
Message:
  • formatted code and added copyrights
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrossPare/src/de/ugoe/cs/cpdp/loader/CSVMockusDataLoader.java

    r29 r41  
     1// Copyright 2015 Georg-August-Universität Göttingen, Germany 
     2// 
     3//   Licensed under the Apache License, Version 2.0 (the "License"); 
     4//   you may not use this file except in compliance with the License. 
     5//   You may obtain a copy of the License at 
     6// 
     7//       http://www.apache.org/licenses/LICENSE-2.0 
     8// 
     9//   Unless required by applicable law or agreed to in writing, software 
     10//   distributed under the License is distributed on an "AS IS" BASIS, 
     11//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
     12//   See the License for the specific language governing permissions and 
     13//   limitations under the License. 
     14 
    115package de.ugoe.cs.cpdp.loader; 
    216 
     
    1024import de.ugoe.cs.util.FileTools; 
    1125 
    12  
    1326class CSVMockusDataLoader implements SingleVersionLoader { 
    1427 
    15         @Override 
    16         public Instances load(File file) { 
    17                 final String[] lines; 
    18                 try { 
    19                          
    20                         lines = FileTools.getLinesFromFile(file.getAbsolutePath()); 
    21                 } catch (IOException e) { 
    22                         throw new RuntimeException(e); 
    23                 } 
    24                  
    25                  
    26                 // configure Instances 
    27                 final ArrayList<Attribute> atts = new ArrayList<Attribute>(); 
     28    @Override 
     29    public Instances load(File file) { 
     30        final String[] lines; 
     31        try { 
    2832 
    29                 String[] lineSplit = lines[0].split(","); 
    30                 for (int j = 0; j < lineSplit.length - 3; j++) { 
    31                         atts.add(new Attribute(lineSplit[j + 2])); 
    32                 } 
    33                  
    34                 final ArrayList<String> classAttVals = new ArrayList<String>(); 
    35                 classAttVals.add("0"); 
    36                 classAttVals.add("1"); 
    37                 final Attribute classAtt = new Attribute("bug", classAttVals); 
    38                 atts.add(classAtt); 
     33            lines = FileTools.getLinesFromFile(file.getAbsolutePath()); 
     34        } 
     35        catch (IOException e) { 
     36            throw new RuntimeException(e); 
     37        } 
    3938 
    40                 final Instances data = new Instances(file.getName(), atts, 0); 
    41                 data.setClass(classAtt); 
     39        // configure Instances 
     40        final ArrayList<Attribute> atts = new ArrayList<Attribute>(); 
    4241 
    43                 // fetch data 
    44                 for (int i = 1; i < lines.length; i++) { 
    45                         lineSplit = lines[i].split(","); 
    46                         double[] values = new double[lineSplit.length - 2]; 
    47                         for (int j = 0; j < values.length - 1; j++) { 
    48                                 values[j] = Double.parseDouble(lineSplit[j + 2].trim()); 
    49                         } 
    50                         values[values.length - 1] = lineSplit[lineSplit.length - 1].trim() 
    51                                         .equals("0") ? 0 : 1; 
    52                         data.add(new DenseInstance(1.0, values)); 
    53                 } 
     42        String[] lineSplit = lines[0].split(","); 
     43        for (int j = 0; j < lineSplit.length - 3; j++) { 
     44            atts.add(new Attribute(lineSplit[j + 2])); 
     45        } 
    5446 
    55                 return data; 
    56         } 
     47        final ArrayList<String> classAttVals = new ArrayList<String>(); 
     48        classAttVals.add("0"); 
     49        classAttVals.add("1"); 
     50        final Attribute classAtt = new Attribute("bug", classAttVals); 
     51        atts.add(classAtt); 
    5752 
    58         @Override 
    59         public boolean filenameFilter(String filename) { 
    60                 return filename.endsWith(".csv"); 
    61         } 
     53        final Instances data = new Instances(file.getName(), atts, 0); 
     54        data.setClass(classAtt); 
     55 
     56        // fetch data 
     57        for (int i = 1; i < lines.length; i++) { 
     58            lineSplit = lines[i].split(","); 
     59            double[] values = new double[lineSplit.length - 2]; 
     60            for (int j = 0; j < values.length - 1; j++) { 
     61                values[j] = Double.parseDouble(lineSplit[j + 2].trim()); 
     62            } 
     63            values[values.length - 1] = lineSplit[lineSplit.length - 1].trim().equals("0") ? 0 : 1; 
     64            data.add(new DenseInstance(1.0, values)); 
     65        } 
     66 
     67        return data; 
     68    } 
     69 
     70    @Override 
     71    public boolean filenameFilter(String filename) { 
     72        return filename.endsWith(".csv"); 
     73    } 
    6274 
    6375} 
    64  
Note: See TracChangeset for help on using the changeset viewer.