Restful API for bgpd
diff --git a/src/main/java/net/floodlightcontroller/restclient/RestClient.java b/src/main/java/net/floodlightcontroller/restclient/RestClient.java
index 07eab45..541b42d 100644
--- a/src/main/java/net/floodlightcontroller/restclient/RestClient.java
+++ b/src/main/java/net/floodlightcontroller/restclient/RestClient.java
@@ -1,10 +1,17 @@
 package net.floodlightcontroller.restclient;
 
+import java.io.BufferedReader;
 import java.io.IOException;
+import java.io.InputStreamReader;
 import java.net.HttpURLConnection;
 import java.net.MalformedURLException;
 import java.net.URL;
 
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
+import net.sf.json.JSONSerializer;
+
+
 public class RestClient {
 
 	public static void get (String str) {
@@ -16,7 +23,7 @@
 	 
 			URL url = new URL(str);
 			HttpURLConnection conn = (HttpURLConnection) url.openConnection();
-			conn.setRequestMethod("GET"); 
+			conn.setRequestMethod("GET");
 			conn.setRequestProperty("Accept", "application/json");
 	 
 			if (conn.getResponseCode() != 200) {
@@ -24,18 +31,68 @@
 						+ conn.getResponseCode());
 			}
 	 
-			/* Disable reading the output from the server for now
-			 * 
-			BufferedReader br = new BufferedReader(new InputStreamReader(
-					(conn.getInputStream())));
-	 
-			String output;
-			System.out.println("Output from Server .... \n");
-			while ((output = br.readLine()) != null) {
-				System.out.println(output);
-			}
-			 */
+			if (conn.getContentType().equals("application/json")) 
+			{	}else{
+				System.out.print("The content received is not json format!");				
+			}		
 			
+		 BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream()))); 
+		 StringBuffer res = new StringBuffer();
+		 String line;
+		 while ((line = br.readLine()) != null) {
+			 	res.append(line);
+		 	}	   
+		 
+		 String res2=res.toString().replaceAll("\"", "'");
+		 JSONObject jsonObj = (JSONObject) JSONSerializer.toJSON(res2);  
+		 JSONArray rib_json_array = jsonObj.getJSONArray("rib");
+		 String router_id = jsonObj.getString("router-id");
+		       
+		 int size = rib_json_array.size();
+		 System.out.print("size:"+size+"\n");
+		 for (int j = 0; j < size; j++) {
+        JSONObject second_json_object = rib_json_array.getJSONObject(j);
+        String prefix = second_json_object.getString("prefix");
+        String nexthop = second_json_object.getString("nexthop");
+              			
+     		//insert each rib entry into the local rib;
+        RestClient.post("http://127.0.0.1:8090/wm/bgp/"+router_id+"/"+prefix+"/"+nexthop);
+          
+        
+        
+		 }
+		 br.close();
+		 conn.disconnect();
+
+		} catch (MalformedURLException e) {
+
+			e.printStackTrace();
+
+		} catch (IOException e) {
+
+			e.printStackTrace();
+
+		}
+	}
+	
+public static void post (String str) {
+		
+		if (str == null)
+			return;
+	
+		try {
+	 
+			URL url = new URL(str);
+			HttpURLConnection conn = (HttpURLConnection) url.openConnection();
+			conn.setDoOutput(true);
+			conn.setRequestMethod("POST");
+			conn.setRequestProperty("Content-Type", "application/json");		
+	 
+			if (conn.getResponseCode() != 200) {
+				throw new RuntimeException("Failed : HTTP error code : "
+						+ conn.getResponseCode());
+			}
+					
 			conn.disconnect();
 
 		} catch (MalformedURLException e) {
@@ -48,4 +105,38 @@
 
 		}
 	}
+	
+
+public static void delete (String str) {
+	
+	if (str == null)
+		return;
+
+	try {
+ 
+		URL url = new URL(str);
+		HttpURLConnection conn = (HttpURLConnection) url.openConnection();
+		conn.setRequestMethod("DELETE");
+		conn.setRequestProperty("Accept", "application/json");
+		
+ 
+		if (conn.getResponseCode() != 200) {
+			throw new RuntimeException("Failed : HTTP error code : "
+					+ conn.getResponseCode());
+		}
+ 
+		conn.disconnect();
+
+	} catch (MalformedURLException e) {
+
+		e.printStackTrace();
+
+	} catch (IOException e) {
+
+		e.printStackTrace();
+
+	}
+}
+	
+	
 }