Changeset 109

Show
Ignore:
Timestamp:
18-04-11 15:47:28 (3 years ago)
Author:
taco@…
Message:

Fixing drag-and-drop bugs, looking to fix bug with pre-existing directory named after assaytoken

Location:
nugoctdwebapp/src/java/ctd/services
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • nugoctdwebapp/src/java/ctd/services/getCleanData2.java

    r107 r109  
    341341                Process p6 = Runtime.getRuntime().exec(strCommand2); 
    342342 
    343                 String strCommand3 = "mv " + zip_folder + " " + res.getString("ws.upload_folder")+getCTD_REF(); 
     343                File final_folder =new File(res.getString("ws.upload_folder")+getCTD_REF()); 
     344                String strCommand3; 
     345                boolean exists = final_folder.exists(); 
     346                if(exists){ 
     347                    strCommand3 = "cp " + zip_folder + "/* " + res.getString("ws.upload_folder")+getCTD_REF(); 
     348                } else { 
     349                    strCommand3 = "mv " + zip_folder + " " + res.getString("ws.upload_folder")+getCTD_REF(); 
     350                } 
    344351                Process p7 = Runtime.getRuntime().exec(strCommand3); 
    345352                //String strCommand4 = "cp " + zip_folder + "/* "+res.getString("ws.upload_folder")+getCTD_REF()+"/"; 
  • nugoctdwebapp/src/java/ctd/services/getSamples.java

    r107 r109  
    1313import java.util.Enumeration; 
    1414import java.util.HashMap; 
     15import java.util.Iterator; 
    1516import java.util.LinkedList; 
     17import java.util.Map; 
     18import java.util.Map.Entry; 
    1619import java.util.ResourceBundle; 
     20import java.util.Set; 
    1721import java.util.logging.Level; 
    1822import java.util.logging.Logger; 
     
    8690 
    8791        strReturn += "<table>"; 
    88         strReturn += "<tr class='fs_th'><th>Filenames</th><th>Samplenames</th></tr>"; 
     92        strReturn += "<tr class='fs_th'><th class='mark'>Filenames</th><th class='mark'>Samplenames</th></tr>"; 
    8993 
    9094        LinkedList<String> lstFilenames = new LinkedList<String>(); 
     
    97101                // Get the entry name 
    98102                String zipEntryName = ((ZipEntry)entries.nextElement()).getName(); 
    99                 //if(!zipEntryName.equals(".") && !zipEntryName.equals("..")){ 
     103                if(!zipEntryName.equals(".") && !zipEntryName.equals("..")){ 
    100104                    lstFilenames.add(zipEntryName); 
    101                 //} 
     105                } 
    102106            } 
    103107        } catch (IOException e) { 
     
    106110 
    107111        //From samples to filenames 
    108         HashMap<Integer, Integer> results = new HashMap<Integer, Integer>(); 
     112        HashMap<String, String> results = new HashMap<String, String>(); 
     113        HashMap<String, Integer> sampletokens = new HashMap<String, Integer>(); 
    109114        boolean[] used = new boolean[lstFilenames.size()]; 
     115        Logger.getLogger(getTicket.class.getName()).log(Level.SEVERE, "getSamples(): lstGSCFResponsesize: "+lstGSCFResponse.size()); 
     116        Logger.getLogger(getTicket.class.getName()).log(Level.SEVERE, "getSamples(): lstFilenamessize: "+lstFilenames.size()); 
    110117        for(int i = 0; i < lstGSCFResponse.size() && i<lstFilenames.size(); i++){ 
    111118            HashMap<String, String> map = (HashMap<String, String>) lstGSCFResponse.get(i); 
     
    135142            } 
    136143            used[highest_match]=true; 
    137             results.put(i,highest_match); 
    138         } 
    139  
    140         for(int i = 0; i < results.size() && i < lstGSCFResponse.size(); i++){ 
     144            results.put(lstGSCFResponse.get(i).toString(),lstFilenames.get(highest_match)); 
     145            sampletokens.put(lstGSCFResponse.get(i).toString(), i); 
     146        } 
     147 
     148        Iterator it = results.entrySet().iterator(); 
     149        int i = 0; 
     150        Logger.getLogger(getTicket.class.getName()).log(Level.SEVERE, "getSamples(): resultssize: "+results.size()); 
     151        while(it.hasNext()){ 
    141152            String strColor = "#DDEFFF"; 
    142153            if(i%2==0) { 
    143154                strColor = "#FFFFFF"; 
    144155            } 
    145             int fn = results.get(i); 
    146             HashMap<String, String> map = (HashMap<String, String>) lstGSCFResponse.get(i); 
    147             strReturn += "<tr><td class='forbid' style='width:50%; background-color:"+strColor+"; font-size:small;'>"+lstFilenames.get(fn)+"<input type='hidden' value='"+lstFilenames.get(fn)+"'/></td><td style='width:50%; background-color:"+strColor+"; font-size:small;'><div class='drag' style='padding: 3px'>"+map.get("name")+" - "+map.get("event")+" - "+map.get("Text on vial")+"<input type='hidden' value='"+map.get("sampleToken")+"'/></div></td></tr>"; 
    148             lstGSCFResponse.remove(i); 
    149             lstGSCFResponse.remove(i); 
     156            i++; 
     157 
     158            Map.Entry<String, String> kv = (Map.Entry<String, String>) it.next(); 
     159            //HashMap<String, String> map = (HashMap<String, String>) lstGSCFResponse.get(i); 
     160            String fn = kv.getValue(); 
     161            HashMap<String, String> map = (HashMap<String, String>) lstGSCFResponse.get(sampletokens.get(kv.getKey())); 
     162            strReturn += "<tr><td class='mark' style='width:50%; background-color:"+strColor+"; font-size:small;'>"+fn+"<input type='hidden' value='"+fn+"'/></td><td style='width:50%; background-color:"+strColor+"; font-size:small;'><div class='drag' style='padding: 3px'>"+map.get("name")+" - "+map.get("event")+" - "+map.get("Text on vial")+"<input type='hidden' value='"+map.get("sampleToken")+"'/></div></td></tr>"; 
     163        } 
     164 
     165        //Remove used tokens from lstGSCFResponse 
     166        Iterator it2 = sampletokens.entrySet().iterator(); 
     167        while(it2.hasNext()){ 
     168            Map.Entry<String, Integer> kv = (Map.Entry<String, Integer>) it2.next(); 
     169            for(int j = 0; j < lstGSCFResponse.size(); j++){ 
     170                if(kv.getKey().equals(lstGSCFResponse.get(j).toString())){ 
     171                    lstGSCFResponse.remove(j); 
     172                } 
     173            } 
    150174        } 
    151175 
    152176        // Add remainder of samples 
    153         strReturn += "<tr class='fs_th'><td colspan='2' class='forbid'><br />The following sampletokens are not matched with a file.</td></tr>"; 
    154         strReturn += "<tr><td colspan='2' style='height:100px; font-size:small;'>"; 
     177        boolean blnRemainingSamples = false; 
     178        if(lstGSCFResponse.size()>0){ 
     179            strReturn += "<tr class='fs_th mark'><td class='mark' colspan='2'><br />The following sampletokens are not matched with a file.</td></tr>"; 
     180        } 
    155181        while(lstGSCFResponse.size()>0){ 
    156182            HashMap<String, String> map = (HashMap<String, String>) lstGSCFResponse.pop(); 
    157             strReturn += "<div class='drag' style='padding: 3px'>"+map.get("name")+" - "+map.get("event")+" - "+map.get("Text on vial")+"</div>"; 
    158         } 
    159  
    160         strReturn += "</td></tr></table>"; 
     183            strReturn += "<tr><td colspan='2' style='font-size:small;'>" 
     184                    + "<div class='drag' style='padding: 3px'>"+map.get("name")+" - "+map.get("event")+" - "+map.get("Text on vial")+"</div>" 
     185                    + "</td></tr>"; 
     186        } 
     187        strReturn += "</table>"; 
    161188 
    162189        return strReturn;