チェンジセット 274 : SPARQLBuilderWWW/src/java/org

差分発生行の前後
無視リスト:
更新日時:
2016/03/16 17:26:17 (9 年 前)
更新者:
atsuko
ログメッセージ:

新API仕様に対応

ファイル:
1 変更

凡例:

変更なし
追加
削除
  • SPARQLBuilderWWW/src/java/org/biohackathon/SPARQLBuilder/www/CLServlet.java

    r260 r274  
    8585        if ( ep == null ){ 
    8686            JsonBuilderFactory jbfactory = Json.createBuilderFactory(null); 
    87             JsonObjectBuilder job = jbfactory.createObjectBuilder(); 
    8887 
    8988            String[] eplist = qpg.getFactory().getEndpointURIList(); 
     89            TreeSet<String> classes = new TreeSet<String>(); 
    9090            for ( int i = 0; i < eplist.length; i++ ){ 
    9191                try{ 
    9292                    qpg.setSPARQLendpoint(eplist[i]); 
    93                     SClass[] classes = qpg.getClasses(null); 
    94                     sortedClasses = qpg.getSortedClasses(classes); 
    95                     JsonArray ja = getJsonArrayFromSortedClasses(jbfactory, sortedClasses); 
    96                     job.add(eplist[i], ja);                     
     93                    SClass[] cls = qpg.getClasses(null); 
     94                    qpg.setClassLabels(cls); // HENKO TODO 
     95                    for (int j = 0; j < cls.length; j++ ){ 
     96                        classes.add(qpg.getClassLabel(cls[j].getClassURI()).concat("\t") 
     97                                .concat(cls[j].getClassURI()).concat("\t") 
     98                                .concat(new Integer(cls[j].getNumOfInstances()).toString()) 
     99                                .concat("\t").concat(eplist[i])); 
     100                    } 
    97101                }catch(Exception e){ 
     102                    e.printStackTrace(); 
    98103                    System.err.println(e); 
    99104                } 
    100105            } 
    101             JsonObject jo = job.build(); 
    102             out.print(jo); 
     106            JsonArray ja = getJsonArrayFromClasses(jbfactory, classes); 
     107            out.print(ja); 
    103108            return; 
    104109        } 
     
    115120         
    116121        JsonBuilderFactory jbfactory = Json.createBuilderFactory(null); 
    117         JsonArray ja = getJsonArrayFromSortedClasses(jbfactory, sortedClasses); 
     122        JsonArray ja = getJsonArrayFromSortedClasses(jbfactory, sortedClasses, ep); 
    118123        out.print(ja); 
    119124    } 
     
    143148    }// </editor-fold> 
    144149 
    145     private JsonArray getJsonArrayFromSortedClasses(JsonBuilderFactory jbfactory, SortedSet<String> sortedClasses){ 
     150     
     151    private JsonArray getJsonArrayFromSortedClasses(JsonBuilderFactory jbfactory,  
     152             SortedSet<String> sortedClasses, String ep){ 
    146153        JsonArrayBuilder jab = jbfactory.createArrayBuilder(); 
    147154        Iterator<String> cit = sortedClasses.iterator(); 
     
    150157        while( cit.hasNext() ){ 
    151158            String classinfo = cit.next(); 
    152             String[] data = classinfo.split("  ");  
     159            String[] data = classinfo.split("\t");  
    153160            if (data.length != 3 ){ 
    154161                System.out.println("data is wrong?"); 
     
    157164                tmpclasses.add(classinfo); 
    158165            }else{ 
     166                job.add("ep", ep); 
    159167                job.add("uri", data[2]); 
    160168                job.add("label", data[0]); 
     
    166174        while( cit.hasNext() ){ 
    167175            String classinfo = cit.next(); 
    168             String[] data = classinfo.split("  ");  
     176            String[] data = classinfo.split("\t");  
    169177            if (data.length != 3 ){ 
    170178                System.out.println("data is wrong?"); 
    171179            } 
     180            job.add("ep", ep); 
    172181            job.add("uri", data[2]); 
    173182            job.add("label", data[0]); 
     
    178187        return ja; 
    179188    } 
     189 
     190    private JsonArray getJsonArrayFromClasses(JsonBuilderFactory jbfactory, TreeSet<String> cl){ 
     191        JsonArrayBuilder jab = jbfactory.createArrayBuilder(); 
     192        JsonObjectBuilder job = jbfactory.createObjectBuilder(); 
     193        Iterator<String> cit = cl.iterator(); 
     194         
     195        while( cit.hasNext() ){ 
     196            String classinfo = cit.next(); 
     197            String[] data = classinfo.split("\t");  
     198            if (data.length != 4 ){ 
     199                System.out.println("data is wrong?"); // KOKO 
     200            }else{ 
     201                job.add("ep", data[3]); 
     202                job.add("uri", data[1]); 
     203                job.add("label", data[0]); 
     204                job.add("number", data[2]); 
     205                jab.add(job); 
     206            } 
     207        } 
     208        JsonArray ja = jab.build(); 
     209        return ja; 
     210    }     
    180211} 
     212