Changeset 132

Show
Ignore:
Timestamp:
17-05-11 14:08:45 (3 years ago)
Author:
tjeerd@…
Message:

#37 resolved with this commit

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

Legend:

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

    r129 r132  
    5050            throw new Exception403Forbidden(); 
    5151        } 
    52         //Logger.getLogger(getTicket.class.getName()).log(Level.INFO, "getStudies(): strSessionToken is valid: "+strSessionToken); 
     52 
     53        LinkedList lstGetAssays = objGSCFService.callGSCF2(getSessionToken(),"getAssays",null); 
     54 
     55        String strStudyCall = ""; 
     56        for(int i = 0; i < lstGetAssays.size(); i++){ 
     57            HashMap<String, String> mapTokens = (HashMap<String, String>) lstGetAssays.get(i); 
     58 
     59            if(!strStudyCall.equals("")) strStudyCall += "&studyToken="; 
     60            strStudyCall += mapTokens.get("parentStudyToken"); 
     61        } 
     62 
     63        HashMap<String, String> objParam = new HashMap(); 
     64        objParam.put("studyToken",strStudyCall); 
     65        LinkedList lstGetStudies = objGSCFService.callGSCF2(getSessionToken(),"getStudies",objParam); 
     66 
     67        String[] arrOptions = new String[lstGetAssays.size()]; 
     68        for(int i = 0; i < lstGetStudies.size(); i++){ 
     69            HashMap<String, String> map = (HashMap<String, String>) lstGetStudies.get(i); 
     70            String strCode = " ("+map.get("code")+")"; 
     71            if(map.get("code")==null) { 
     72                strCode = ""; 
     73            } 
     74            arrOptions[i] = map.get("title").toLowerCase()+"!!SEP!!<option value="+map.get("studyToken")+">"+map.get("title")+strCode+"</option>"; 
     75        } 
     76         
     77        Arrays.sort(arrOptions); 
    5378 
    5479        strReturn = "<option value='none'>Select a study...</option>"; 
    55         objGSCFService = new GscfService(); 
    56         strGSCFRespons = objGSCFService.callGSCF(getSessionToken(),"getStudies",null); 
    57         String[] strGSCFRespons2 = objGSCFService.callGSCF(getSessionToken(),"getAssays",null); 
    58  
    59         //Logger.getLogger(getStudies.class.getName()).log(Level.SEVERE, "getSt:\nCODE: "+strGSCFRespons[0]+"\n"+strGSCFRespons[1]+"\n-----\nCODE: "+strGSCFRespons2[0]+"\n"+strGSCFRespons2[1]); 
    60         //LinkedList lstStudies = new LinkedList(); 
    61         LinkedList lstGSCFResponse = new LinkedList(); 
    62         LinkedList lstGSCFResponse2 = new LinkedList(); 
    63  
    64         ObjectTransformer trans = null; 
    65         try { 
    66             trans = ObjectTransformerFactory.getInstance().getImplementation(); 
    67         } catch (NoImplementationException ex) { 
    68             Logger.getLogger(getTicket.class.getName()).log(Level.SEVERE, null, ex); 
    69         } 
    70         try { 
    71             lstGSCFResponse = (LinkedList) trans.deserializeFromJsonString(strGSCFRespons[1]); 
    72             lstGSCFResponse2 = (LinkedList) trans.deserializeFromJsonString(strGSCFRespons2[1]); 
    73         } catch (DeserializerException ex) { 
    74             Logger.getLogger(getStudies.class.getName()).log(Level.SEVERE, null, ex); 
    75         } 
    76  
    77         LinkedList<String> lstParentTokens = new LinkedList(); 
    78         for(int i = 0; i < lstGSCFResponse2.size(); i++){ 
    79             HashMap<String, String> mapTokens = (HashMap<String, String>) lstGSCFResponse2.get(i); 
    80             lstParentTokens.add(mapTokens.get("parentStudyToken")); 
    81             //Logger.getLogger(getStudies.class.getName()).log(Level.SEVERE, "parSt: "+mapTokens.get("parentStudyToken")); 
    82         } 
    83  
    84         String[] arrOptions = new String[lstGSCFResponse.size()]; 
    85         for(int i = 0; i < lstGSCFResponse.size(); i++){ 
    86             HashMap<String, String> map = (HashMap<String, String>) lstGSCFResponse.get(i); 
    87             if(lstParentTokens.contains(map.get("studyToken"))) { 
    88                 String strCode = " ("+map.get("code")+")"; 
    89                 if(map.get("code")==null) { 
    90                     strCode = ""; 
    91                 } 
    92                 arrOptions[i] = map.get("title").toLowerCase()+"!!SEP!!<option value="+map.get("studyToken")+">"+map.get("title")+strCode+"</option>"; 
    93             } else { 
    94                 arrOptions[i] = ""; 
    95                 //Logger.getLogger(getStudies.class.getName()).log(Level.SEVERE, "some are more equal: "+map.get("studyToken")); 
    96             } 
    97         } 
    98         Arrays.sort(arrOptions); 
    99         for(int i = 0; i < lstGSCFResponse.size(); i++){ 
     80        for(int i = 0; i < arrOptions.length; i++){ 
    10081            if(arrOptions[i].contains("!!SEP!!")) { 
    10182                String[] arrSplit = arrOptions[i].split("!!SEP!!"); 
  • nugoctdwebapp/src/java/ctd/services/internal/GscfService.java

    r129 r132  
    4040    *              making or processing the REST call to GSCF this exception is thrown 
    4141    */ 
     42    @Deprecated 
    4243    public String[] callGSCF(String sessionToken, String restMethod, HashMap<String, String> restParams) throws Exception500InternalServerError { 
    4344        String[] strRet = new String[2]; 
     
    7879                    strRet[1] +=strLine+"\n"; 
    7980                } 
     81                rd.close(); 
    8082            } 
    8183            connection.disconnect(); 
     
    8789        return strRet; 
    8890    } 
     91 
     92    public LinkedList callGSCF2(String sessionToken, String restMethod, HashMap<String, String> restParams) { 
     93 
     94        String[] strRet = new String[2]; 
     95 
     96        try { 
     97            strRet = this.callGSCF(sessionToken, restMethod, restParams); 
     98        } catch (Exception500InternalServerError e) { 
     99            StackTraceElement[] arrStackTr = Thread.currentThread().getStackTrace(); 
     100            Logger.getLogger(getTicket.class.getName()).log(Level.SEVERE, "callGSCF2 ERROR ("+arrStackTr[2].toString()+"): "+e.getError()); 
     101        } 
     102 
     103        LinkedList objJSON = null; 
     104         try { 
     105            ObjectTransformer trans = ObjectTransformerFactory.getInstance().getImplementation(); 
     106            objJSON = (LinkedList) trans.deserializeFromJsonString(strRet[1]); 
     107        } catch (Exception e) { 
     108            Logger.getLogger(getTicket.class.getName()).log(Level.SEVERE, "callGSCF2 ERROR (JSON): "+e.getLocalizedMessage()); 
     109        } 
     110 
     111        return objJSON; 
     112 
     113    } 
     114 
     115 
    89116    /** 
    90117     * Base URL of GSCF Rest Controller/API 
  • nugoctdwebapp/src/java/ctd/services/internal/Overview.java

    r126 r132  
    4242            Logger.getLogger(getTicket.class.getName()).log(Level.SEVERE, "OVERVIEW ERROR (isUser): "+e.getError()); 
    4343        } 
    44         //Logger.getLogger(getTicket.class.getName()).log(Level.SEVERE, "isUser Response: "+strGSCFRespons[1]+" "+objGSCFService.isUser(strGSCFRespons[1])); 
     44 
    4545        if(!objGSCFService.isUser(strGSCFRespons[1])) { 
    4646            String urlAuthRemote = objGSCFService.urlAuthRemote(getSessionToken(), res.getString("ctd.moduleURL")+"/index.jsp?p=overview"); 
     
    5858        strOffset = ""; 
    5959 
    60         String strGSCFRespons2[] = new String[2]; 
    6160 
    62         // Get all studies a user has access to 
    63         try { 
    64             strGSCFRespons = objGSCFService.callGSCF(getSessionToken(),"getStudies",null); 
    65             strGSCFRespons2 = objGSCFService.callGSCF(getSessionToken(),"getAssays",null); 
    66         } catch (Exception500InternalServerError e) { 
    67             Logger.getLogger(getTicket.class.getName()).log(Level.SEVERE, "OVERVIEW ERROR (getStudies): "+e.getError()); 
    68         } 
    69         ObjectTransformer trans = null; 
    70         LinkedList objJSON = null; 
     61        LinkedList lstGetAssays = objGSCFService.callGSCF2(getSessionToken(),"getAssays",null); 
    7162        String strStudyQuery = ""; 
    72         Map mapStudyNames = new HashMap(); 
    73         //Logger.getLogger(getTicket.class.getName()).log(Level.SEVERE, "OVERVIEW RESPONSE "+strGSCFRespons[1]); 
    74         try { 
    75             trans = ObjectTransformerFactory.getInstance().getImplementation(); 
    76             objJSON = (LinkedList) trans.deserializeFromJsonString(strGSCFRespons[1]); 
    77         } catch (Exception e) { 
    78             Logger.getLogger(getTicket.class.getName()).log(Level.SEVERE, "OVERVIEW ERROR (JSON): "+e.getLocalizedMessage()); 
    79         } 
    80          
    81         for(int i=0; i<objJSON.size(); i++) { 
    82             HashMap<String, String> objMap = (HashMap) objJSON.get(i); 
     63        String strStudyCall = ""; 
     64        Map mapAssayNames = new HashMap(); 
     65                 
     66        for(int i=0; i<lstGetAssays.size(); i++) { 
     67            HashMap<String, String> objMap = (HashMap) lstGetAssays.get(i); 
     68             
    8369            if(!strStudyQuery.equals("")) strStudyQuery += ","; 
    84             strStudyQuery += "'"+objMap.get("studyToken")+"'"; 
    85             //Logger.getLogger(getTicket.class.getName()).log(Level.SEVERE, "EntrySET: "+objMap.entrySet().toString()); 
    86             mapStudyNames.put(objMap.get("studyToken"), objMap.get("title")); 
    87             //Logger.getLogger(getTicket.class.getName()).log(Level.SEVERE, "ADDED TO MAP: "+objMap.get("studyToken")+" "+objMap.get("title")); 
     70            strStudyQuery += "'"+objMap.get("parentStudyToken")+"'"; 
     71 
     72            if(!strStudyCall.equals("")) strStudyCall += "&studyToken="; 
     73            strStudyCall += objMap.get("parentStudyToken"); 
     74 
     75            mapAssayNames.put(objMap.get("externalAssayID"), objMap.get("name")); 
    8876        } 
    8977 
    90         trans = null; 
    91         objJSON = null; 
    92         Map mapAssayNames = new HashMap(); 
    93         //Logger.getLogger(getTicket.class.getName()).log(Level.SEVERE, "OVERVIEW RESPONSE "+strGSCFRespons[1]); 
    94         try { 
    95             trans = ObjectTransformerFactory.getInstance().getImplementation(); 
    96             objJSON = (LinkedList) trans.deserializeFromJsonString(strGSCFRespons2[1]); 
    97         } catch (Exception e) { 
    98             Logger.getLogger(getTicket.class.getName()).log(Level.SEVERE, "OVERVIEW ERROR (JSON): "+e.getLocalizedMessage()); 
     78        HashMap<String, String> objParam = new HashMap(); 
     79        objParam.put("studyToken",strStudyCall); 
     80        LinkedList lstGetStudies = objGSCFService.callGSCF2(getSessionToken(),"getStudies",objParam); 
     81 
     82        Map mapStudyNames = new HashMap(); 
     83        for(int i=0; i<lstGetStudies.size(); i++) { 
     84            HashMap<String, String> objMap = (HashMap) lstGetStudies.get(i); 
     85            mapStudyNames.put(objMap.get("studyToken"), objMap.get("title")); 
    9986        } 
    100          
    101         for(int i=0; i<objJSON.size(); i++) { 
    102             HashMap<String, String> objMap = (HashMap) objJSON.get(i); 
    103             //Logger.getLogger(getTicket.class.getName()).log(Level.SEVERE, "EntrySET: "+objMap.entrySet().toString()); 
    104             mapAssayNames.put(objMap.get("externalAssayID"), objMap.get("name")); 
    105             //Logger.getLogger(getTicket.class.getName()).log(Level.SEVERE, "ADDED TO MAP: "+objMap.get("studyToken")+" "+objMap.get("title")); 
    106         } 
    107    
     87 
    10888        if(!strStudyQuery.equals("")) strStudyQuery = " WHERE a.study_token IN(" + strStudyQuery + ") "; 
    10989