Index: /SPARQLBuilderWWW/src/java/org/biohackathon/SPARQLBuilder/www/CLServlet.java
===================================================================
--- /SPARQLBuilderWWW/src/java/org/biohackathon/SPARQLBuilder/www/CLServlet.java (revision 260)
+++ /SPARQLBuilderWWW/src/java/org/biohackathon/SPARQLBuilder/www/CLServlet.java (revision 274)
@@ -85,20 +85,25 @@
         if ( ep == null ){
             JsonBuilderFactory jbfactory = Json.createBuilderFactory(null);
-            JsonObjectBuilder job = jbfactory.createObjectBuilder();
 
             String[] eplist = qpg.getFactory().getEndpointURIList();
+            TreeSet<String> classes = new TreeSet<String>();
             for ( int i = 0; i < eplist.length; i++ ){
                 try{
                     qpg.setSPARQLendpoint(eplist[i]);
-                    SClass[] classes = qpg.getClasses(null);
-                    sortedClasses = qpg.getSortedClasses(classes);
-                    JsonArray ja = getJsonArrayFromSortedClasses(jbfactory, sortedClasses);
-                    job.add(eplist[i], ja);                    
+                    SClass[] cls = qpg.getClasses(null);
+                    qpg.setClassLabels(cls); // HENKO TODO
+                    for (int j = 0; j < cls.length; j++ ){
+                        classes.add(qpg.getClassLabel(cls[j].getClassURI()).concat("\t")
+                                .concat(cls[j].getClassURI()).concat("\t")
+                                .concat(new Integer(cls[j].getNumOfInstances()).toString())
+                                .concat("\t").concat(eplist[i]));
+                    }
                 }catch(Exception e){
+                    e.printStackTrace();
                     System.err.println(e);
                 }
             }
-            JsonObject jo = job.build();
-            out.print(jo);
+            JsonArray ja = getJsonArrayFromClasses(jbfactory, classes);
+            out.print(ja);
             return;
         }
@@ -115,5 +120,5 @@
         
         JsonBuilderFactory jbfactory = Json.createBuilderFactory(null);
-        JsonArray ja = getJsonArrayFromSortedClasses(jbfactory, sortedClasses);
+        JsonArray ja = getJsonArrayFromSortedClasses(jbfactory, sortedClasses, ep);
         out.print(ja);
     }
@@ -143,5 +148,7 @@
     }// </editor-fold>
 
-    private JsonArray getJsonArrayFromSortedClasses(JsonBuilderFactory jbfactory, SortedSet<String> sortedClasses){
+    
+    private JsonArray getJsonArrayFromSortedClasses(JsonBuilderFactory jbfactory, 
+             SortedSet<String> sortedClasses, String ep){
         JsonArrayBuilder jab = jbfactory.createArrayBuilder();
         Iterator<String> cit = sortedClasses.iterator();
@@ -150,5 +157,5 @@
         while( cit.hasNext() ){
             String classinfo = cit.next();
-            String[] data = classinfo.split("  "); 
+            String[] data = classinfo.split("\t"); 
             if (data.length != 3 ){
                 System.out.println("data is wrong?");
@@ -157,4 +164,5 @@
                 tmpclasses.add(classinfo);
             }else{
+                job.add("ep", ep);
                 job.add("uri", data[2]);
                 job.add("label", data[0]);
@@ -166,8 +174,9 @@
         while( cit.hasNext() ){
             String classinfo = cit.next();
-            String[] data = classinfo.split("  "); 
+            String[] data = classinfo.split("\t"); 
             if (data.length != 3 ){
                 System.out.println("data is wrong?");
             }
+            job.add("ep", ep);
             job.add("uri", data[2]);
             job.add("label", data[0]);
@@ -178,3 +187,26 @@
         return ja;
     }
+
+    private JsonArray getJsonArrayFromClasses(JsonBuilderFactory jbfactory, TreeSet<String> cl){
+        JsonArrayBuilder jab = jbfactory.createArrayBuilder();
+        JsonObjectBuilder job = jbfactory.createObjectBuilder();
+        Iterator<String> cit = cl.iterator();
+        
+        while( cit.hasNext() ){
+            String classinfo = cit.next();
+            String[] data = classinfo.split("\t"); 
+            if (data.length != 4 ){
+                System.out.println("data is wrong?"); // KOKO
+            }else{
+                job.add("ep", data[3]);
+                job.add("uri", data[1]);
+                job.add("label", data[0]);
+                job.add("number", data[2]);
+                jab.add(job);
+            }
+        }
+        JsonArray ja = jab.build();
+        return ja;
+    }    
 }
+
