/*
 * Copyright 2008-2010 Plura Processing, LP 
 */
package test;

import java.applet.Applet;
import com.pluraprocessing.node.affiliate.web.AffiliatePluraConnector;
import com.pluraprocessing.node.exception.JavascriptMissingException;
import com.pluraprocessing.node.exception.PluraCommunicationException;
import com.pluraprocessing.node.exception.PluraParameterException;


public class TestAffiliateApplet extends Applet {
	private static final long serialVersionUID = 1L;

	public void start() {
		try {
			/*
			 * Instantiate a new AffiliatePluraConnector object.  The first parameter is the Applet from which Plura is being run. 
			 * This is necessary for invoking the javascript methods that communicate with Plura. 
			 * The Applet passed in MUST have 'mayscript' enabled on the applet tag in the HTML.
			 */
			AffiliatePluraConnector plura = new AffiliatePluraConnector(this, "00000000-0000-0000-0000-000000000000", .5, "testClientId");
			
			System.out.println("start Plura");
			plura.startPlura(); //start Plura at 50% cpu usage (see above)
			
			Thread.sleep(120000);

			System.out.println("change cpu usage to .8");
			plura.changeCpuUsage(.8); //restart Plura at 80% cpu usage
			
			Thread.sleep(120000);

			System.out.println("stop Plura");
			plura.stopPlura();  //stop Plura
			
			Thread.sleep(15000);

			System.out.println("change cpu usage to 1");
			plura.changeCpuUsage(1); //start Plura at 100% cpu usage
			
			Thread.sleep(120000);

			System.out.println("stop Plura");
			plura.stopPlura();  //stop Plura
			
			Thread.sleep(15000);
			
			System.out.println("start Plura");
			plura.startPlura(); //start Plura at 100% cpu usage (see above)
			
		} catch (JavascriptMissingException e) {
			e.printStackTrace(System.out);
		} catch (PluraCommunicationException e) {
			e.printStackTrace(System.out);
		} catch (InterruptedException e) {
			e.printStackTrace(System.out);
		} catch (PluraParameterException e) {
			e.printStackTrace(System.out);
		}
	}
}