removed mods directory from the ATutor codebase
[atutor.git] / mods / scorm_packages / scorm-1.2 / java / ATutorApiAdapterApplet.java
diff --git a/mods/scorm_packages/scorm-1.2/java/ATutorApiAdapterApplet.java b/mods/scorm_packages/scorm-1.2/java/ATutorApiAdapterApplet.java
deleted file mode 100644 (file)
index 0ea5f9b..0000000
+++ /dev/null
@@ -1,313 +0,0 @@
-/*
- * SCORM-1.2 API-Adapter Java Applet for ATutor
- * Copyright (c) Matthai Kurian
- *
- * Made for ATutor, the same license terms as for ATutor itself apply.
- *
- * This Applet handles communication between ATutor and SCORM-1.2
- * Sharable Content Objects (SCOs). Most communication is via Liveconnect.
- * CMI (Computer Managed Instruction) data is sent to ATutor through http POST
- * to an ATutor server side PHP script. SCORM-1.2 runtime behavior and CMI
- * datamodel management is done by the PfPLMS SCORM-1.2 API-Adapter Core. 
- */
-
-import java.util.Hashtable;
-import java.util.Enumeration;
-import java.net.*;
-import java.io.*;
-
-public class ATutorApiAdapterApplet
-       extends java.applet.Applet
-       implements ch.ethz.pfplms.scorm.api.ApiAdapterInterface
-{
-       private ch.ethz.pfplms.scorm.api.ApiAdapter core;
-
-       private Hashtable ATutorScoCmi  = new Hashtable();
-
-       private String  ATutorStudentId;
-       private String  ATutorStudentName;
-
-       private String  ATutorScoId;
-       private String  ATutorPreparedScoId;
-
-       private boolean isVerbose   = false;
-
-       public ATutorApiAdapterApplet () {
-               core = new ch.ethz.pfplms.scorm.api.ApiAdapter ();
-       }
-
-       public  final void init () {
-               if (getParameter("verbose") != null) isVerbose = true;
-               ATutorStudentId     = getParameter ("student_id");
-               ATutorStudentName   = getParameter ("student_name");
-               say ("cmi.core.student_id=" +ATutorStudentId);
-               say ("cmi.core.student_name=" +ATutorStudentName);
-       }
-
-       private final void say (String s) {
-               if (isVerbose) System.out.println (s);
-       }
-
-       private final static String decode (String es) {
-
-               String s = es.replace('+', ' ');
-               int l = s.length();
-
-               int a = 0; 
-
-               StringBuffer rv = new StringBuffer(l);
-               byte[] b = null;
-
-               try {
-                       int i;
-                       while ((i = s.indexOf('%', a)) >= 0) {
-                               rv.append(s.substring(a, i));
-                               a = i;
-
-                               while (i+2 < l && s.charAt(i) == '%') i+=3;
-
-                               if (b == null || b.length < (i-a)/3) {
-                                       b = new byte[((i-a)/3)];
-                               }
-
-                               int x = 0;
-                               for (; a < i; a+=3) {
-                                       b[x++] = (byte) Integer.parseInt(
-                                               s.substring(a+1, a+3), 16
-                                       );
-                               }
-                               rv.append(new String(b, 0, x, "utf-8"));
-                       }
-
-                       if (a < l) rv.append(s.substring(a));
-                       return rv.toString();
-
-               } catch (Exception e) {
-                       return "";
-               }
-       }
-
-       /*
-        * Methods for ATutor to call via Liveconnect
-        */
-
-       public  final void ATutorPrepare (String sco_id) {
-               URLConnection po;
-               ATutorScoCmi.clear();
-               StringBuffer P = new StringBuffer();
-               P.append ("&sco_id="+sco_id);
-               say ("Retreiving cmi for sco="+sco_id+" from ATutor server");
-               try {
-                       //po = (HttpURLConnection) ( new java.net.URL (
-                       po = (URLConnection) ( new java.net.URL (
-                               getCodeBase().toString() + "read.php"
-                       )).openConnection();
-
-                       po.setRequestProperty (
-                               "Content-Type",
-                               "application/x-www-form-urlencoded"
-                       );
-                       po.setRequestProperty (
-                               "Content-Length",
-                               Integer.toString (P.length())
-                       );
-                       po.setDoOutput (true);
-                       po.setUseCaches (false);
-                       //po.setRequestMethod ("POST");
-                       po.setAllowUserInteraction (false);
-
-                       OutputStream os = po.getOutputStream();
-                       os.write (P.toString().getBytes());
-                       os.flush ();
-                       os.close ();
-
-                       BufferedReader br = new BufferedReader(
-                                       new InputStreamReader(
-                                               po.getInputStream ()
-                                       )
-                       );
-                       String s, l, r;
-                       while ((s=br.readLine())!=null) {
-                               if (s.indexOf('=') == -1) continue;
-                               l = s.substring (0, s.indexOf('='));
-                               r = s.substring (s.indexOf('=')+1, s.length());
-                               r = decode (r);
-                               say (" "+l + "="+r);
-                               ATutorScoCmi.put (l,r);
-                       }
-               } catch (Exception e) {
-                       say ("ATutor cmi retrieval failed.");
-                       say (e.toString());
-               }
-               ATutorPreparedScoId = sco_id;
-               say ("Done. Note: this was cmi for the next sco ("+sco_id+") to launch.");
-       }
-
-       public  final void ATutorReset (String s) {
-               if (s != null && s.equals(ATutorScoId)) {
-                       ATutorScoId = null;
-                       core.reset();
-                       say ("Reset by ATutor client.");
-               } 
-       }
-
-       private final String ATutorCommit (boolean fin) {
-
-               if (ATutorScoId == null) return "false"; 
-
-               core.transEnd();
-               StringBuffer P = new StringBuffer();
-               Hashtable ins = core.getTransNew ();
-               Hashtable mod = core.getTransMod ();
-               if (fin) {
-                       Object o = core.sysGet ("cmi.core.entry");
-                       if (o != null && o.toString().equals ("ab-initio")) {
-                               mod.put ("cmi.core.entry", "");
-                       }
-               } else {
-                       core.transBegin();
-               }
-
-               P.append ("&sco_id=" +ATutorScoId);
-
-               int i=0;
-               for (Enumeration e = ins.keys(); e.hasMoreElements(); i++) {
-                       Object l = e.nextElement();
-                       Object r = ins.get(l);
-                       P.append("&iL["+i+"]="+l.toString());
-                       P.append("&iR["+i+"]="+URLEncoder.encode(r.toString()));
-               }
-
-               int u=0;
-               for (Enumeration e = mod.keys(); e.hasMoreElements(); u++) {
-                       Object l = e.nextElement();
-                       Object r = mod.get(l);
-                       P.append("&uL["+u+"]="+l.toString());
-                       P.append("&uR["+u+"]="+URLEncoder.encode(r.toString()));
-               }
-
-               if (i == 0 && u == 0) {
-                       say ("Nothing to commit.");
-                       return "true";
-               }
-
-               //HttpURLConnection po;
-               URLConnection po;
-
-               try {
-                       //po = (HttpURLConnection) ( new java.net.URL (
-                       po = (URLConnection) ( new java.net.URL (
-                               getCodeBase().toString()
-                               + "write.php"
-                       )).openConnection();
-
-                       po.setRequestProperty (
-                               "Content-Type",
-                               "application/x-www-form-urlencoded"
-                       );
-                       po.setRequestProperty (
-                               "Content-Length",
-                               Integer.toString (P.length())
-                       );
-                       po.setDoOutput (true);
-                       po.setUseCaches (false);
-                       //po.setRequestMethod ("POST");
-                       po.setAllowUserInteraction (false);
-
-                       OutputStream os = po.getOutputStream();
-                       os.write (P.toString().getBytes());
-                       os.flush ();
-                       os.close ();
-
-                       BufferedReader r = new BufferedReader(
-                                       new InputStreamReader(
-                                               po.getInputStream ()
-                                       )
-                       );
-                       try {
-                               String s;
-                               while ((s=r.readLine())!=null) {
-                                       say(s);
-                               }
-                       } catch (EOFException ok) {}
-                       return "true";
-
-               } catch (Exception e) {
-                       say ("ATutor cmi storage failed.");
-                       say (e.toString());
-                       return "false";
-               }
-       }
-
-       public  final String ATutorGetValue (String l) {
-               String rv = core.LMSGetValue (l);
-               say ("ATutorGetValue("+l+")="+rv);
-               return rv;
-       }
-
-       /*
-        * Liveconnect interface methods for SCO
-        */
-
-       public  final String LMSInitialize (String s) { 
-               String rv = core.LMSInitialize(s);
-               say ("LMSInitialize("+s+")="+rv);
-               if (rv.equals("false")) return rv;
-               core.reset();
-               rv = core.LMSInitialize(s);
-               ATutorScoId = ATutorPreparedScoId;
-               core.sysPut ("cmi.core.student_id",   ATutorStudentId);
-               core.sysPut ("cmi.core.student_name", ATutorStudentName);
-               core.sysPut (ATutorScoCmi);
-               core.transBegin();
-               return rv;
-       }
-
-       public  final String LMSCommit (String s) {
-               String rv = core.LMSCommit(s);
-               if (rv.equals("false")) return rv;
-               rv = ATutorCommit(false); 
-               say ("LMSCommit("+s+")="+rv);
-               return rv;
-       }
-
-       public  final String LMSFinish (String s) {
-               String rv = core.LMSFinish(s);
-               say ("LMSFinish("+s+")="+rv);
-               if (rv.equals("false")) return rv;
-               rv = ATutorCommit(true);
-               ATutorScoId = null;
-               core.reset();
-               return rv;
-       }
-
-       public  final String LMSGetDiagnostic (String e) {
-               String rv = core.LMSGetDiagnostic (e);
-               say ("LMSGetDiagnostic("+e+")="+rv);
-               return rv;
-       }
-
-       public  final String LMSGetErrorString (String e) {
-               String rv = core.LMSGetErrorString (e);
-               say ("LMSGetErrorString("+e+")="+rv);
-               return rv;
-       }
-
-       public  final String LMSGetLastError () {
-               String rv = core.LMSGetLastError ();
-               say ("LMSLastError()="+rv);
-               return rv;
-       }
-
-       public  final String LMSGetValue (String l) {
-               String rv = core.LMSGetValue (l);
-               say ("LMSGetValue("+l+")="+rv);
-               return rv;
-       }
-
-       public  final String LMSSetValue (String l, String r) {
-               String rv = core.LMSSetValue (l, r);
-               say ("LMSSetValue("+l+"="+r+")="+rv);
-               return rv;
-       }
-}