diff --git a/bbb-api-demo/WebContent/Demo123.pdf b/bbb-api-demo/WebContent/Demo123.pdf
deleted file mode 100755
index 8f8b3caae2240e9feac163036c1af3bda9847ad9..0000000000000000000000000000000000000000
Binary files a/bbb-api-demo/WebContent/Demo123.pdf and /dev/null differ
diff --git a/bbb-api-demo/WebContent/Demo456.pdf b/bbb-api-demo/WebContent/Demo456.pdf
deleted file mode 100755
index da228dbd3fc13ddf6f55444d3867d30e83f159d3..0000000000000000000000000000000000000000
Binary files a/bbb-api-demo/WebContent/Demo456.pdf and /dev/null differ
diff --git a/bbb-api-demo/WebContent/Demo789.pdf b/bbb-api-demo/WebContent/Demo789.pdf
deleted file mode 100755
index 07f43a598be95d2f3cd61f8b07e9b2a54aab269e..0000000000000000000000000000000000000000
Binary files a/bbb-api-demo/WebContent/Demo789.pdf and /dev/null differ
diff --git a/bbb-api-demo/WebContent/META-INF/MANIFEST.MF b/bbb-api-demo/WebContent/META-INF/MANIFEST.MF
deleted file mode 100755
index 5e9495128c0376427420c4189993b3851770b702..0000000000000000000000000000000000000000
--- a/bbb-api-demo/WebContent/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,3 +0,0 @@
-Manifest-Version: 1.0
-Class-Path: 
-
diff --git a/bbb-api-demo/WebContent/ReadMe.txt b/bbb-api-demo/WebContent/ReadMe.txt
deleted file mode 100644
index 1a1f7e679f63fb6190fc649b41361b38f89cfd70..0000000000000000000000000000000000000000
--- a/bbb-api-demo/WebContent/ReadMe.txt
+++ /dev/null
@@ -1 +0,0 @@
-bbb_api_conf.jsp has to be overwritten by the one in your computer, or you can change the IP address to your computer's.
diff --git a/bbb-api-demo/WebContent/WEB-INF/lib/commons-codec-1.5.jar b/bbb-api-demo/WebContent/WEB-INF/lib/commons-codec-1.5.jar
deleted file mode 100755
index e9013fed78f333c928ff7f828948b91fcb5a92b4..0000000000000000000000000000000000000000
Binary files a/bbb-api-demo/WebContent/WEB-INF/lib/commons-codec-1.5.jar and /dev/null differ
diff --git a/bbb-api-demo/WebContent/WEB-INF/lib/commons-fileupload-1.2.2.jar b/bbb-api-demo/WebContent/WEB-INF/lib/commons-fileupload-1.2.2.jar
deleted file mode 100755
index 131f1924e043df8d10d65c8090508ea2193fd2cc..0000000000000000000000000000000000000000
Binary files a/bbb-api-demo/WebContent/WEB-INF/lib/commons-fileupload-1.2.2.jar and /dev/null differ
diff --git a/bbb-api-demo/WebContent/WEB-INF/lib/commons-io-2.0.1.jar b/bbb-api-demo/WebContent/WEB-INF/lib/commons-io-2.0.1.jar
deleted file mode 100755
index 5b64b7d6ceaf400483318272d9d52e4a390409c9..0000000000000000000000000000000000000000
Binary files a/bbb-api-demo/WebContent/WEB-INF/lib/commons-io-2.0.1.jar and /dev/null differ
diff --git a/bbb-api-demo/WebContent/WEB-INF/web.xml b/bbb-api-demo/WebContent/WEB-INF/web.xml
deleted file mode 100755
index 95cb3398af4bf39ed149d6fb7d8efac0bfecb288..0000000000000000000000000000000000000000
--- a/bbb-api-demo/WebContent/WEB-INF/web.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
-  <display-name>test1</display-name>
-  <welcome-file-list>
-    <welcome-file>index.html</welcome-file>
-    <welcome-file>index.htm</welcome-file>
-    <welcome-file>index.jsp</welcome-file>
-    <welcome-file>default.html</welcome-file>
-    <welcome-file>default.htm</welcome-file>
-    <welcome-file>default.jsp</welcome-file>
-  </welcome-file-list>
-</web-app>
\ No newline at end of file
diff --git a/bbb-api-demo/WebContent/bbb_api.jsp b/bbb-api-demo/WebContent/bbb_api.jsp
deleted file mode 100755
index 92e21ff93e143da9bc4b265b4b4806a65f3c123b..0000000000000000000000000000000000000000
--- a/bbb-api-demo/WebContent/bbb_api.jsp
+++ /dev/null
@@ -1,579 +0,0 @@
-<%/* 
-			 BigBlueButton - http://www.bigbluebutton.org
-			
-			 Copyright (c) 2008-2009 by respective authors (see below). All rights reserved.
-			
-			 BigBlueButton is free software; you can redistribute it and/or modify it under the 
-			 terms of the GNU Lesser General Public License as published by the Free Software 
-			 Foundation; either version 3 of the License, or (at your option) any later 
-			 version.  
-			
-			 BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY 
-			 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
-			 PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
-			
-			 You should have received a copy of the GNU Lesser General Public License along 
-			 with BigBlueButton; if not, If not, see <http://www.gnu.org/licenses/>.
-			
-			 Author: Fred Dixon <ffdixon@bigbluebutton.org> 
-			 */%>
-<%@page import="javax.xml.transform.dom.DOMSource"%>
-<%@page import="javax.xml.transform.stream.StreamResult"%>
-<%@page import="javax.xml.transform.OutputKeys"%>
-<%@page import="javax.xml.transform.TransformerFactory"%>
-<%@page import="javax.xml.transform.Transformer"%>
-<%@page import="org.w3c.dom.Element"%>
-<%@page import="com.sun.org.apache.xerces.internal.dom.ChildNode"%>
-<%@page import="org.w3c.dom.Node"%>
-<%@page import="org.w3c.dom.NodeList"%>
-<%@page import="java.util.*,java.io.*,java.net.*,javax.crypto.*,javax.xml.parsers.*,org.w3c.dom.Document,org.xml.sax.*" errorPage="error.jsp"%>
-
-<%@ page import="org.apache.commons.codec.digest.*"%>
-<%@ page import="java.io.*"%>
-<%@ page import="java.nio.channels.FileChannel"%>
-
-<%@ include file="bbb_api_conf.jsp"%> 
-
-<%!//
-	// Create a meeting with specific 
-	//    - meetingID
-	//    - welcome message
-	//    - moderator password
-	//    - viewer password  
-	//    - voiceBridge
-	//    - logoutURL
-	//
-	public String createMeeting(String meetingID, String welcome,
-			String moderatorPassword, String viewerPassword,
-			Integer voiceBridge, String logoutURL) {
-		String base_url_create = BigBlueButtonURL + "api/create?";
-		String base_url_join = BigBlueButtonURL + "api/join?";
-
-		String welcome_param = "";
-		String checksum = "";
-
-		String attendee_password_param = "&attendeePW=ap";
-		String moderator_password_param = "&moderatorPW=mp";
-		String voice_bridge_param = "";
-		String logoutURL_param = "";
-
-		if ((welcome != null) && !welcome.equals("")) {
-			welcome_param = "&welcome=" + urlEncode(welcome);
-		}
-
-		if ((moderatorPassword != null) && !moderatorPassword.equals("")) {
-			moderator_password_param = "&moderatorPW="
-					+ urlEncode(moderatorPassword);
-		}
-
-		if ((viewerPassword != null) && !viewerPassword.equals("")) {
-			attendee_password_param = "&attendeePW="
-					+ urlEncode(viewerPassword);
-		}
-
-		if ((voiceBridge != null) && voiceBridge > 0) {
-			voice_bridge_param = "&voiceBridge="
-					+ urlEncode(voiceBridge.toString());
-		} else {
-			// No voice bridge number passed, so we'll generate a random one for this meeting
-			Random random = new Random();
-			Integer n = 70000 + random.nextInt(9999);
-			voice_bridge_param = "&voiceBridge=" + n;
-		}
-
-		if ((logoutURL != null) && !logoutURL.equals("")) {
-			logoutURL_param = "&logoutURL=" + urlEncode(logoutURL);
-		}
-
-		//
-		// Now create the URL
-		//
-
-		String create_parameters = "name=" + urlEncode(meetingID)
-				+ "&meetingID=" + urlEncode(meetingID) + welcome_param
-				+ attendee_password_param + moderator_password_param
-				+ voice_bridge_param + logoutURL_param;
-
-		Document doc = null;
-
-		try {
-			// Attempt to create a meeting using meetingID
-			String xml = getURL(base_url_create + create_parameters
-					+ "&checksum="
-					+ checksum("create" + create_parameters + salt));
-			doc = parseXml(xml);
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-
-		if (doc.getElementsByTagName("returncode").item(0).getTextContent()
-				.trim().equals("SUCCESS")) {
-
-			return meetingID;
-		}
-
-		return "Error "
-				+ doc.getElementsByTagName("messageKey").item(0)
-						.getTextContent().trim()
-				+ ": "
-				+ doc.getElementsByTagName("message").item(0).getTextContent()
-						.trim();
-	}
-
-	//
-	// getJoinMeetingURL() -- get join meeting URL for both viewer and moderator
-	//
-	public String getJoinMeetingURL(String username, String meetingID,
-			String password) {
-		String base_url_join = BigBlueButtonURL + "api/join?";
-		String join_parameters = "meetingID=" + urlEncode(meetingID)
-				+ "&fullName=" + urlEncode(username) + "&password="
-				+ urlEncode(password);
-
-		return base_url_join + join_parameters + "&checksum="
-				+ checksum("join" + join_parameters + salt);
-	} 
-
-	// 
-	// Create a meeting and return a URL to join it as moderator
-	//
-	public String getJoinURL(String username, String meetingID, String welcome) {
-		String base_url_create = BigBlueButtonURL + "api/create?";
-		String base_url_join = BigBlueButtonURL + "api/join?";
-
-		String welcome_param = "";
-		String good_url = "xxx";
-		Random random = new Random();
-		Integer voiceBridge = 70000 + random.nextInt(9999);
-
-		if ((welcome != null) && !welcome.equals("")) {
-			welcome_param = "&welcome=" + urlEncode(welcome);
-		}
-
-		//
-		// When creating a meeting, the 'name' parameter is the name of the meeting (not to be confused with
-		// the username).  For example, the name could be "Fred's meeting" and the meetingID could be "ID-1234312".
-		//
-		// While name and meetinID could be different, we'll keep them the same.  Why?  Because calling api/create? 
-		// with a previously used meetingID will return same meetingToken (regardless if the meeting is running or not).
-		//
-		// This means the first person to call getJoinURL with meetingID="Demo Meeting" will actually create the
-		// meeting.  Subsequent calls will return the same meetingToken and thus subsequent users will join the same
-		// meeting.
-		//
-		// Note: We're hard-coding the password for moderator and attendee (viewer) for purposes of demo.
-		//
-
-		String create_parameters = "name=" + urlEncode(meetingID)
-				+ "&meetingID=" + urlEncode(meetingID) + welcome_param
-				+ "&attendeePW=ap&moderatorPW=mp&voiceBridge=" + voiceBridge;
-
-		Document doc = null;
-
-		try {
-			// Attempt to create a meeting using meetingID
-			good_url = base_url_create + create_parameters
-			+ "&checksum="
-			+ checksum("create" + create_parameters + salt); 
-			String xml = getURL( good_url );
-			//String xml = getURL(base_url_create + create_parameters
-			///		+ "&checksum="
-			//		+ checksum("create" + create_parameters + salt));
-			doc = parseXml(xml);
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-
-		if (doc.getElementsByTagName("returncode").item(0).getTextContent()
-				.trim().equals("SUCCESS")) {
-
-			//
-			// Now create a URL to join that meeting
-			//  
-
-			String join_parameters = "meetingID=" + urlEncode(meetingID)
-					+ "&fullName=" + urlEncode(username) + "&password=mp";
-
-			return base_url_join + join_parameters + "&checksum="
-					+ checksum("join" + join_parameters + salt);
-
-		}
-		return doc.getElementsByTagName("messageKey").item(0).getTextContent()
-				.trim()
-				+ ": " 
-				+ doc.getElementsByTagName("message").item(0).getTextContent()
-						.trim();
-	}
-
-	//
-	//Create a meeting and return a URL to join it as moderator
-	//
-	public String getJoinURLXML(String username, String meetingID,
-			String welcome, String xml_param) {
-		String base_url_create = BigBlueButtonURL + "api/create?";
-		String base_url_join = BigBlueButtonURL + "api/join?";
-
-		String welcome_param = "";
-
-		Random random = new Random();
-		Integer voiceBridge = 70000 + random.nextInt(9999);
-
-		if ((welcome != null) && !welcome.equals("")) {
-			welcome_param = "&welcome=" + urlEncode(welcome);
-		}
-
-		String create_parameters = "name=" + urlEncode(meetingID)
-				+ "&meetingID=" + urlEncode(meetingID) + welcome_param
-				+ "&attendeePW=ap&moderatorPW=mp&voiceBridge=" + voiceBridge;
-
-		Document doc = null;
-
-		try {
-			// Attempt to create a meeting using meetingID
-	    			String xml = excutePost(base_url_create + create_parameters
-	    					+ "&checksum="
-	    					+ checksum("create" + create_parameters + salt), xml_param);
-			doc = parseXml(xml);
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-
-		if (doc.getElementsByTagName("returncode").item(0).getTextContent()
-				.trim().equals("SUCCESS")) {
-
-			String join_parameters = "meetingID=" + urlEncode(meetingID)
-					+ "&fullName=" + urlEncode(username) + "&password=mp";
-
-			return base_url_join + join_parameters + "&checksum="
-					+ checksum("join" + join_parameters + salt);
-
-		}
-		return doc.getElementsByTagName("messageKey").item(0).getTextContent()
-				.trim()
-				+ ": "
-				+ doc.getElementsByTagName("message").item(0).getTextContent()
-						.trim();
-	}
-
-	//
-	// getJoinURLViewer() -- Get the URL to join a meeting as viewer
-	//
-	public String getJoinURLViewer(String username, String meetingID) {
-
-		String base_url_join = BigBlueButtonURL + "api/join?";
-		String join_parameters = "meetingID=" + urlEncode(meetingID)
-				+ "&fullName=" + urlEncode(username) + "&password=ap";
-
-		return base_url_join + join_parameters + "&checksum="
-				+ checksum("join" + join_parameters + salt);
-	}
-
-	//
-	// checksum() -- create a hash based on the shared salt (located in bbb_api_conf.jsp)
-	//
-	public static String checksum(String s) {
-		String checksum = "";
-		try {
-			checksum = org.apache.commons.codec.digest.DigestUtils.shaHex(s);
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		return checksum;
-	}
-
-	//
-	// getURL() -- fetch a URL and return its contents as a String
-	//
-	public static String getURL(String url) {
-		StringBuffer response = null;
-
-		try {
-			URL u = new URL(url);
-			HttpURLConnection httpConnection = (HttpURLConnection) u
-					.openConnection();
-
-			httpConnection.setUseCaches(false);
-			httpConnection.setDoOutput(true);
-			httpConnection.setRequestMethod("GET");
-
-			httpConnection.connect();
-			int responseCode = httpConnection.getResponseCode();
-			if (responseCode == HttpURLConnection.HTTP_OK) {
-				InputStream input = httpConnection.getInputStream();
-
-				// Read server's response.
-				response = new StringBuffer();
-				Reader reader = new InputStreamReader(input, "UTF-8");
-				reader = new BufferedReader(reader);
-				char[] buffer = new char[1024];
-				for (int n = 0; n >= 0;) {
-					n = reader.read(buffer, 0, buffer.length);
-					if (n > 0)
-						response.append(buffer, 0, n);
-				}
-
-				input.close();
-				httpConnection.disconnect();
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-
-		if (response != null) {
-			return response.toString();
-		} else {
-			return "";
-		}
-	}
-	
-	public static String excutePost(String targetURL, String urlParameters)
-	{
- 	  URL url;
-	  HttpURLConnection connection = null;  
-	  int responseCode = 0;
-	  try {
-	      //Create connection
-	      url = new URL(targetURL);
-	      connection = (HttpURLConnection)url.openConnection();
-	      connection.setRequestMethod("POST");
-	      connection.setRequestProperty("Content-Type", 
-	           "text/xml");
-				
-	      connection.setRequestProperty("Content-Length", "" + 
-	               Integer.toString(urlParameters.getBytes().length));
-	      connection.setRequestProperty("Content-Language", "en-US");  
-				
-	      connection.setUseCaches (false);
-	      connection.setDoInput(true);
-	      connection.setDoOutput(true);
-
-	      //Send request
-	      DataOutputStream wr = new DataOutputStream (
-	                  connection.getOutputStream ());
-	      wr.writeBytes (urlParameters);
-	      wr.flush ();
-	      wr.close ();
-
-	      //Get Response	
-	      InputStream is = connection.getInputStream();
-	      BufferedReader rd = new BufferedReader(new InputStreamReader(is));
-	      String line;
-	      StringBuffer response = new StringBuffer(); 
-	      while((line = rd.readLine()) != null) {
-	        response.append(line);
-	        response.append('\r');
-	      }
-	      rd.close();
-	      return response.toString();
-	
-	  } catch (Exception e) {
-	
-	    e.printStackTrace();
-	    return null;
-	
-	  } finally {
-	
-	    if(connection != null) {
-	      connection.disconnect(); 
-	    }
-	  } 
-	}
-	//
-	// getURLisMeetingRunning() -- return a URL that the client can use to poll for whether the given meeting is running
-	//
-	public String getURLisMeetingRunning(String meetingID) {
-		String base_main = "&meetingID=" + urlEncode(meetingID);
-		String base_url = BigBlueButtonURL + "api/isMeetingRunning?";
-		String checksum = "";
-
-		try {
-			checksum = DigestUtils
-					.shaHex("isMeetingRunning" + base_main + salt);
-		} catch (Exception e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-
-		return base_url + base_main + "&checksum=" + checksum;
-	}
-
-	//
-	// isMeetingRunning() -- check the BigBlueButton server to see if the meeting is running (i.e. there is someone in the meeting)
-	//
-	public String isMeetingRunning(String meetingID) {
-		String base_main = "&meetingID=" + urlEncode(meetingID);
-		String base_url = BigBlueButtonURL + "api/isMeetingRunning?";
-		String checksum = "";
-
-		try {
-			checksum = DigestUtils
-					.shaHex("isMeetingRunning" + base_main + salt);
-		} catch (Exception e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-
-		String xml = getURL(base_url + base_main + "&checksum=" + checksum);
-
-		Document doc = null;
-		try {
-			doc = parseXml(xml);
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-
-		if (doc.getElementsByTagName("returncode").item(0).getTextContent()
-				.trim().equals("SUCCESS")) {
-			return doc.getElementsByTagName("running").item(0).getTextContent()
-					.trim();
-		}
-
-		return "false";
-
-	}
-
-	public String getMeetingInfoURL(String meetingID, String password) {
-		String meetingParameters = "meetingID=" + urlEncode(meetingID)
-				+ "&password=" + password;
-		return BigBlueButtonURL + "api/getMeetingInfo?" + meetingParameters
-				+ "&checksum="
-				+ checksum("getMeetingInfo" + meetingParameters + salt);
-	}
-
-	public String getMeetingInfo(String meetingID, String password) {
-		try {
-			URLConnection hpCon = new URL(
-					getMeetingInfoURL(meetingID, password)).openConnection();
-
-			InputStreamReader isr = new InputStreamReader(
-					hpCon.getInputStream());
-			BufferedReader br = new BufferedReader(isr);
-			String data = br.readLine();
-			return data;
-		} catch (Exception e) {
-			e.printStackTrace(System.out);
-			return "";
-		}
-	}
-
-	public String getMeetingsURL() {
-		String meetingParameters = "random=" + new Random().nextInt(9999);
-		return BigBlueButtonURL + "api/getMeetings?" + meetingParameters
-				+ "&checksum="
-				+ checksum("getMeetings" + meetingParameters + salt);
-	}
-
-	//
-	// Calls getMeetings to obtain the list of meetings, then calls getMeetingInfo for each meeting
-	// and concatenates the result.
-	//
-	public String getMeetings() {
-		try {
-
-			// Call the API and get the result
-			URLConnection hpCon = new URL(getMeetingsURL()).openConnection();
-			InputStreamReader isr = new InputStreamReader(
-					hpCon.getInputStream());
-			BufferedReader br = new BufferedReader(isr);
-			String data = br.readLine();
-			Document doc = parseXml(data);
-
-			// tags needed for parsing xml documents
-			final String startTag = "<meetings>";
-			final String endTag = "</meetings>";
-			final String startResponse = "<response>";
-			final String endResponse = "</response>";
-
-			// if the request succeeded, then calculate the checksum of each meeting and insert it into the document
-			NodeList meetingsList = doc.getElementsByTagName("meeting");
-
-			String newXMldocument = startTag;
-			for (int i = 0; i < meetingsList.getLength(); i++) {
-				Element meeting = (Element) meetingsList.item(i);
-				String meetingID = meeting.getElementsByTagName("meetingID")
-						.item(0).getTextContent();
-				String password = meeting.getElementsByTagName("moderatorPW")
-						.item(0).getTextContent();
-
-				data = getMeetingInfo(meetingID, password);
-
-				if (data.indexOf("<response>") != -1) {
-					int startIndex = data.indexOf(startResponse)
-							+ startTag.length();
-					int endIndex = data.indexOf(endResponse);
-					newXMldocument += "<meeting>"
-							+ data.substring(startIndex, endIndex)
-							+ "</meeting>";
-				}
-			}
-			newXMldocument += endTag;
-
-			return newXMldocument;
-		} catch (Exception e) {
-			e.printStackTrace(System.out);
-			return null;
-		}
-	}
-
-	//
-	public String endMeeting(String meetingID, String moderatorPassword) {
-
-		String base_main = "meetingID=" + urlEncode(meetingID) + "&password="
-				+ urlEncode(moderatorPassword);
-		String base_url = BigBlueButtonURL + "api/end?";
-		String checksum = "";
-
-		try {
-			checksum = DigestUtils.shaHex("end" + base_main + salt);
-		} catch (Exception e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-
-		String xml = getURL(base_url + base_main + "&checksum=" + checksum);
-
-		Document doc = null;
-		try {
-			doc = parseXml(xml);
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-
-		if (doc.getElementsByTagName("returncode").item(0).getTextContent()
-				.trim().equals("SUCCESS")) {
-			return "true";
-		}
-
-		return "Error "
-				+ doc.getElementsByTagName("messageKey").item(0)
-						.getTextContent().trim()
-				+ ": "
-				+ doc.getElementsByTagName("message").item(0).getTextContent()
-						.trim();
-
-	}
-
-	//
-	// parseXml() -- return a DOM of the XML
-	//
-	public static Document parseXml(String xml)
-			throws ParserConfigurationException, IOException, SAXException {
-		DocumentBuilderFactory docFactory = DocumentBuilderFactory
-				.newInstance();
-		DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
-		Document doc = docBuilder.parse(new InputSource(new StringReader(xml)));
-		return doc;
-	}
-
-	//
-	// urlEncode() -- URL encode the string
-	//
-	public static String urlEncode(String s) {
-		try {
-			return URLEncoder.encode(s, "UTF-8");
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		return "";
-	}
-	%>
diff --git a/bbb-api-demo/WebContent/bbb_api_conf.jsp b/bbb-api-demo/WebContent/bbb_api_conf.jsp
deleted file mode 100755
index 4612130975a6e7256c634aa56c75f22a083a6550..0000000000000000000000000000000000000000
--- a/bbb-api-demo/WebContent/bbb_api_conf.jsp
+++ /dev/null
@@ -1,14 +0,0 @@
-
-<%!
-// This is the security salt that must match the value set in the BigBlueButton server
-//String salt = "4951c2aea43e5af6d9598610b9e0b6c7";
-//String salt = "5e5ff0968546b8aaacce0462a99bca30";       
-String salt = "5e5ff0968546b8aaacce0462a99bca30";       
-// This is the URL for the BigBlueButton server 4951c2aea43e5af6d9598610b9e0b6c7
-String BigBlueButtonURL = "http://192.168.0.217/bigbluebutton/";
-%>
- 
-
- 
- 
- 
diff --git a/bbb-api-demo/WebContent/demo5.jsp b/bbb-api-demo/WebContent/demo5.jsp
deleted file mode 100755
index bdb12b802b86e9c2753b940cecf4c433ed775b51..0000000000000000000000000000000000000000
--- a/bbb-api-demo/WebContent/demo5.jsp
+++ /dev/null
@@ -1,120 +0,0 @@
-<html> 
- <head><title>Preupload Presentation</title></head></p> <p>
- <body>
- <%@ include file="bbb_api.jsp"%> 
- <%@ include file="demo_header.jsp"%>
-
-<h2>Demo #5: Upload a presentation before joining a Course...</h2> 
-	 <form action="demo5.jsp" method="post" enctype
-		="multipart/form-data" name="form1" id="form1">
-			<table cellpadding="5" cellspacing="5" style="width: 400px;">
-				<tbody>
-					<tr>
-						<td>&nbsp;</td>
-						<td style="text-align: right;">Full Name:</td>
-						<td style="width: 5px;">&nbsp;</td>
-						<td style="text-align: left"><input type="text"
-							name="username" />
-						</td>
-					</tr>
-	
-					<tr>
-						<td>&nbsp;</td>
-						<td style="text-align: left">Upload File:</td>
-						<td style="width: 5px;">&nbsp;</td>
-						<td style="text-align: left"><input type="file"
-							name="filename" /><!--  <input type="submit" />-->
-						</td>
-					</tr>
-	
-					<tr>
-						<td>&nbsp;</td>
-						<td>&nbsp;</td>
-						<td>&nbsp;</td>
-						<td><input type="submit" value="Join" />
-						</td>
-					</tr>
-				</tbody>
-			</table>
-			<INPUT TYPE=hidden NAME=action VALUE="create">
-	</form>
- </body>
-</html>
-  
-    <%@ page import="java.util.List" %>
-	<%@ page import="java.util.Iterator" %>
-	<%@ page import="java.io.File" %>
-	<%@ page import="org.apache.commons.fileupload.servlet.ServletFileUpload"%>
-	<%@ page import="org.apache.commons.fileupload.disk.DiskFileItemFactory"%>
-	<%@ page import="org.apache.commons.fileupload.*"%>
-	<%@ page contentType="text/html;charset=UTF-8" language="java" %>
-	<%@page import="sun.security.provider.SHA"%>
-	<%@page import="org.apache.commons.codec.binary.Base64"%>
-	<%@page import="java.security.MessageDigest"%>
- <%
-     String uname="";	 
- boolean isMultipart = ServletFileUpload.isMultipartContent(request);
- 
- if (!isMultipart) {
- } 
- else {
-   FileItemFactory factory = new DiskFileItemFactory();
-   ServletFileUpload upload = new ServletFileUpload(factory);
-   List<FileItem> items = null;
-   try {
-	   items = upload.parseRequest(request);
-   } catch (FileUploadException e) {
-		e.printStackTrace();
-   }
-   out.print(items.size());
-   Iterator<FileItem> itr = items.iterator();
-   while (itr.hasNext()) {
-	   FileItem item = (FileItem) itr.next();
-		String xml = null;
-		xml = "<?xml version='1.0' encoding='UTF-8'?> <modules>	<module name='presentation'>		<document url='http://www.samplepdf.com/sample.pdf' />	</module></modules>";
-	   if (item.isFormField())
-		   {
-		      String name = item.getFieldName();
-			  String value = item.getString();
-			  if(name.equals("username"))
-		           {
-				   uname=value;
-				   }
-	   } else  { 
-		try {
-		
-			String itemName = item.getName();
-			 
-			if(itemName==""){
-				xml = "<?xml version='1.0' encoding='UTF-8'?> <modules>	<module name='presentation'>		<document url='http://www.samplepdf.com/sample.pdf' />	</module></modules>";
-			}
-			else {
-				byte[] b = item.get();
-				String encoded = Base64.encodeBase64String(b); 
-				xml = "<?xml version='1.0' encoding='UTF-8'?> <modules>	<module name=\"presentation\">		<document name=\""+itemName+"\">"+encoded+"\"</document>	</module></modules>";
-			}
-		} catch (Exception e) {
-		   e.printStackTrace();
-	    }
-		
-		String joinURL = getJoinURLXML(uname, "Demo Meeting", "Presentation should be uploaded.  It was uploaded as an encoded file", xml );
-		if (joinURL.startsWith("http://")) { 
-			%>
-			    <center><h1>Your presentation has been Uploaded</h1></center>
-			<script language="javascript" type="text/javascript">
-			  window.location.href="<%=joinURL%>";
-			</script>
-
-			<%
-			} else {
-			%>
-
-			Error: getJoinURL() failed
-			<p />
-			<%=joinURL %>
-				<% 
-					}
-		 }
-   }
-   }
-   %>
diff --git a/bbb-api-demo/WebContent/demo6.jsp b/bbb-api-demo/WebContent/demo6.jsp
deleted file mode 100755
index 1d820cb697780a2110f9e59c7e9dd1a359483fe5..0000000000000000000000000000000000000000
--- a/bbb-api-demo/WebContent/demo6.jsp
+++ /dev/null
@@ -1,112 +0,0 @@
-<html> 
- <head><title>Preupload Presentation</title></head></p> <p>
- <body>
- <%@ include file="bbb_api.jsp"%>  
- <%@ include file="demo_header.jsp"%>
-<%
-String fileURL = BigBlueButtonURL.replace("/bigbluebutton",":8080/demo");
-String name1="Demo123.pdf";
-String name2="Demo456.pdf";
-String name3="Demo789.pdf";
-%>
-
-<h2>Demo #6: Send a presentation URL before joining a Course...</h2> 
-	 <form action="demo6.jsp" method="post" enctype
-		="multipart/form-data" name="form1" id="form1">
-			<table cellpadding="5" cellspacing="5" style="width: 400px;">
-				<tbody>
-					<tr>
-						<td>&nbsp;</td>
-						<td style="text-align: right;">Full Name:</td>
-						<td style="width: 5px;">&nbsp;</td>
-						<td style="text-align: left"><input type="text"
-							name="username" />
-						</td>
-					</tr>
-	
-					<tr>
-						<td>&nbsp;</td>
-						<td style="text-align: right">File Name:</td>
-						<td style="width: 5px;">&nbsp;</td>
-						<td><select name=filename>
-							<option value=<%=name1%>><%=name1.substring(0,name1.length()-4)%></option>
-							<option value=<%=name2%>><%=name2.substring(0,name2.length()-4)%></option>
-							<option value=<%=name3%>><%=name3.substring(0,name3.length()-4)%></option>
-						</select>
-						</td>
-					</tr>
-	
-					<tr>
-						<td>&nbsp;</td>
-						<td>&nbsp;</td>
-						<td>&nbsp;</td>
-						<td><input type="submit" value="Join" />
-						</td>
-					</tr>
-				</tbody>
-			</table>
-			<INPUT TYPE=hidden NAME=action VALUE="create">
-	</form>
- </body>
-</html>
-  
-    <%@ page import="java.util.List" %>
-	<%@ page import="java.util.Iterator" %>
-	<%@ page import="java.io.File" %>
-	<%@ page import="org.apache.commons.fileupload.servlet.ServletFileUpload"%>
-	<%@ page import="org.apache.commons.fileupload.disk.DiskFileItemFactory"%>
-	<%@ page import="org.apache.commons.fileupload.*"%>
-	<%@ page contentType="text/html;charset=UTF-8" language="java" %>
-	<%@page import="sun.security.provider.SHA"%>
-	<%@page import="org.apache.commons.codec.binary.Base64"%>
-	<%@page import="java.security.MessageDigest"%>
- <%
- 
- String uname="";
- String fname="";
- boolean isMultipart = ServletFileUpload.isMultipartContent(request);
- 
- if (!isMultipart) {
- } 
- else {
-   FileItemFactory factory = new DiskFileItemFactory();
-   ServletFileUpload upload = new ServletFileUpload(factory);
-   List<FileItem> items = null;
-   try {
-	   items = upload.parseRequest(request);
-   } catch (FileUploadException e) {
-		e.printStackTrace();
-   }
-   Iterator<FileItem> itr = items.iterator();
-   String xml = null;
-   while (itr.hasNext()) {
-	   FileItem item = (FileItem) itr.next();
-		String name = item.getFieldName();
-		String value = item.getString();
-		if(name.equals("username"))	{
-			uname=value;
-		}
-		if(name.equals("filename"))	{
-			fname=value;
-		}
-	}
-	xml = "<?xml version='1.0' encoding='UTF-8'?> <modules>	<module name='presentation'>		<document url='"+fileURL+fname+"' />	</module></modules>";
-	String joinURL = getJoinURLXML(uname, "Demo Meeting", "Presentation URL should be passed.", xml );
-	if (joinURL.startsWith("http://")) { 
-		%>
-		    <center><h1>Your presentation URL has been passed</h1></center>
-		<script language="javascript" type="text/javascript">
-		  window.location.href="<%=joinURL%>";
-		</script>
-
-		<%
-		} else {
-		%>
-
-		Error: getJoinURL() failed
-		<p />
-		<%=joinURL %>
-			<% 
-				}
-}
-%>
diff --git a/bbb-api-demo/WebContent/demo_header.jsp b/bbb-api-demo/WebContent/demo_header.jsp
deleted file mode 100755
index b5f3b61f3d210d786baf122d07e3d4f72fc08f19..0000000000000000000000000000000000000000
--- a/bbb-api-demo/WebContent/demo_header.jsp
+++ /dev/null
@@ -1 +0,0 @@
-<img src="/bigbluebutton/images/bbb_banner.jpg" /><br><a href="demo5.jsp">Auto Upload File</a> | <a href="demo6.jsp">Auto Upload File URL</a>
diff --git a/bbb-api-demo/build.gradle b/bbb-api-demo/build.gradle
new file mode 100755
index 0000000000000000000000000000000000000000..81aac9ddbfac2c9ee8c5cfff23521aa3db42857a
--- /dev/null
+++ b/bbb-api-demo/build.gradle
@@ -0,0 +1,25 @@
+//usePlugin 'war'
+usePlugin 'jetty'
+
+repositories {
+    mavenCentral()
+}
+task resolveDeps(dependsOn: configurations.default.buildArtifacts, type: Copy) {
+    into('lib')
+    from configurations.default
+    from configurations.default.allArtifacts*.file
+}
+dependencies {
+//        classpath group: 'org.apache.commons', name: 'commons-codec', version: '2.0'
+//       classpath group: 'org.apache.commons', name: 'commons-fileupload', version: '2.0'
+//        compile group: 'org.apache.commons', name: 'commons-codec', version: '2.0'
+//        compile group: 'org.apache.commons', name: 'commons-fileupload', version: '2.0'
+//        compile 'org.apache.commons:commons-codec'
+//        compile 'org.apache.commons:commons-fileupload'
+
+	  compile group: 'commons-codec', name: 'commons-codec', version: '1.4'
+	  compile group: 'commons-fileupload', name: 'commons-fileupload', version: '1.2'
+//	  compile 'commons-codec:commons-codec'
+
+//	  compile 'commons-fileupload:commons-fileupload'
+    }
diff --git a/bbb-api-demo/build.xml b/bbb-api-demo/build.xml
deleted file mode 100644
index 72fe95a6441b7eb94ed177bd686e611070de5136..0000000000000000000000000000000000000000
--- a/bbb-api-demo/build.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" ?>
-<project name="demo" default="war">
-
-	<path id="compile.classpath">
-		<fileset dir="WebContent/WEB-INF/lib">
-			<include name="*.jar"/>
-		</fileset>
-	</path>
-	
-	<target name="init">
-		<mkdir dir="build/classes"/>
-		<mkdir dir="dist" />
-	</target>
-	
-	<target name="compile" depends="init" >
-		<javac destdir="build/classes" debug="true" srcdir="src">
-			<classpath refid="compile.classpath"/>
-		</javac>
-	</target>
-
-	<target name="war" depends="compile">
-		<war destfile="dist/demo.war" webxml="WebContent/WEB-INF/web.xml">
-		<fileset dir="WebContent"/>
-			<lib dir="WebContent/WEB-INF/lib"/>
-			<classes dir="build/classes"/>
-		</war>
-	</target>
-
-	<target name="clean">
-		<delete dir="dist" />
-		<delete dir="build" />
-	</target>
-</project>
diff --git a/bbb-api-demo/build/.gitignore b/bbb-api-demo/build/.gitignore
deleted file mode 100644
index 90b07e9d451ae3e41ec1b5d74e12fb4375a9f3cf..0000000000000000000000000000000000000000
--- a/bbb-api-demo/build/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-classes
diff --git a/bbb-api-demo/build/libs/bbb-api-demo-unspecified.war b/bbb-api-demo/build/libs/bbb-api-demo-unspecified.war
new file mode 100644
index 0000000000000000000000000000000000000000..f3166ea2b3f2a577d9d3a69dc4fc7ecfc9a79e77
Binary files /dev/null and b/bbb-api-demo/build/libs/bbb-api-demo-unspecified.war differ
diff --git a/bbb-api-demo/dist/.gitignore b/bbb-api-demo/dist/.gitignore
deleted file mode 100644
index ed586109759487593c410669fbbaaefc2348a690..0000000000000000000000000000000000000000
--- a/bbb-api-demo/dist/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-*.war
diff --git a/bbb-api-demo/lib/bbb-api-demo-unspecified.war b/bbb-api-demo/lib/bbb-api-demo-unspecified.war
new file mode 100644
index 0000000000000000000000000000000000000000..f3166ea2b3f2a577d9d3a69dc4fc7ecfc9a79e77
Binary files /dev/null and b/bbb-api-demo/lib/bbb-api-demo-unspecified.war differ
diff --git a/bbb-api-demo/lib/commons-codec-1.4.jar b/bbb-api-demo/lib/commons-codec-1.4.jar
new file mode 100644
index 0000000000000000000000000000000000000000..458d432da88b0efeab640c229903fb5aad274044
Binary files /dev/null and b/bbb-api-demo/lib/commons-codec-1.4.jar differ
diff --git a/bbb-api-demo/lib/commons-fileupload-1.2.jar b/bbb-api-demo/lib/commons-fileupload-1.2.jar
new file mode 100644
index 0000000000000000000000000000000000000000..12539f5edb014def00aefbf56e22a2509c641c56
Binary files /dev/null and b/bbb-api-demo/lib/commons-fileupload-1.2.jar differ
diff --git a/bbb-api-demo/pom.xml b/bbb-api-demo/pom.xml
old mode 100644
new mode 100755
index d6c285b34c57de4b2f20aacc9b30a318798f821b..e92ca27e60b64aa6c6bd812570cca87f8782f640
--- a/bbb-api-demo/pom.xml
+++ b/bbb-api-demo/pom.xml
@@ -16,6 +16,6 @@
     </dependency>
   </dependencies>
   <build>
-    <finalName>bbb-api-demo</finalName>
+    <finalName>demo</finalName>
   </build>
 </project>
diff --git a/bbb-api-demo/src/main/webapp/api-demo/bbb_api_conf.jsp b/bbb-api-demo/src/main/webapp/api-demo/bbb_api_conf.jsp
deleted file mode 100755
index 4612130975a6e7256c634aa56c75f22a083a6550..0000000000000000000000000000000000000000
--- a/bbb-api-demo/src/main/webapp/api-demo/bbb_api_conf.jsp
+++ /dev/null
@@ -1,14 +0,0 @@
-
-<%!
-// This is the security salt that must match the value set in the BigBlueButton server
-//String salt = "4951c2aea43e5af6d9598610b9e0b6c7";
-//String salt = "5e5ff0968546b8aaacce0462a99bca30";       
-String salt = "5e5ff0968546b8aaacce0462a99bca30";       
-// This is the URL for the BigBlueButton server 4951c2aea43e5af6d9598610b9e0b6c7
-String BigBlueButtonURL = "http://192.168.0.217/bigbluebutton/";
-%>
- 
-
- 
- 
-