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> </td> - <td style="text-align: right;">Full Name:</td> - <td style="width: 5px;"> </td> - <td style="text-align: left"><input type="text" - name="username" /> - </td> - </tr> - - <tr> - <td> </td> - <td style="text-align: left">Upload File:</td> - <td style="width: 5px;"> </td> - <td style="text-align: left"><input type="file" - name="filename" /><!-- <input type="submit" />--> - </td> - </tr> - - <tr> - <td> </td> - <td> </td> - <td> </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> </td> - <td style="text-align: right;">Full Name:</td> - <td style="width: 5px;"> </td> - <td style="text-align: left"><input type="text" - name="username" /> - </td> - </tr> - - <tr> - <td> </td> - <td style="text-align: right">File Name:</td> - <td style="width: 5px;"> </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> </td> - <td> </td> - <td> </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/"; -%> - - - - -