Changeset 4171 for openmrs-modules/xforms/trunk/src/org/openmrs/module/xforms/bluetooth/XformsBluetoothTask.java
- Timestamp:
- 05/12/08 07:34:55 (4 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
openmrs-modules/xforms/trunk/src/org/openmrs/module/xforms/bluetooth/XformsBluetoothTask.java
r3291 r4171 4 4 import org.apache.commons.logging.LogFactory; 5 5 import org.openmrs.api.APIException; 6 import org.openmrs.api.AdministrationService;7 6 import org.openmrs.api.context.Context; 8 import org.openmrs.api.context.ContextAuthenticationException; 9 import org.openmrs.scheduler.TaskConfig; 10 import org.openmrs.scheduler.Schedulable; 11 import org.openmrs.module.xforms.bluetooth.XformsBluetoothServer; 7 import org.openmrs.scheduler.tasks.AbstractTask; 12 8 13 9 … … 19 15 * @version 1.0 20 16 */ 21 public class XformsBluetoothTask implements Schedulable{17 public class XformsBluetoothTask extends AbstractTask{ 22 18 23 19 // Logger 24 20 private static Log log = LogFactory.getLog(XformsBluetoothTask.class); 25 26 // Task configuration27 private TaskConfig taskConfig;28 21 29 22 private static final String PROPERTY_SERVICE_NAME = "ServiceName"; … … 47 40 * Process incoming connection. 48 41 */ 49 public void run() {42 public void execute() { 50 43 Context.openSession(); 51 44 try { … … 53 46 authenticate(); 54 47 55 String serviceName = task Config.getProperty(PROPERTY_SERVICE_NAME); //"OpenMRS XForms Bluetooth Server"56 String serverUUID = task Config.getProperty(PROPERTY_SERVER_UUID); //"F0E0D0C0B0A000908070605040301111"57 String serverIP= task Config.getProperty(PROPERTY_SERVER_IP); //"localhost"48 String serviceName = taskDefinition.getProperty(PROPERTY_SERVICE_NAME); //"OpenMRS XForms Bluetooth Server" 49 String serverUUID = taskDefinition.getProperty(PROPERTY_SERVER_UUID); //"F0E0D0C0B0A000908070605040301111" 50 String serverIP= taskDefinition.getProperty(PROPERTY_SERVER_IP); //"localhost" 58 51 59 52 if(serviceName == null){ 60 53 serviceName = "OpenMRS XForms Bluetooth Server"; 61 task Config.setProperty(PROPERTY_SERVICE_NAME, serviceName);54 taskDefinition.setProperty(PROPERTY_SERVICE_NAME, serviceName); 62 55 log.error("Property "+PROPERTY_SERVICE_NAME+" was null. Set to "+serviceName); 63 56 } … … 65 58 if(serverUUID == null){ 66 59 serverUUID = "F0E0D0C0B0A000908070605040301111"; 67 task Config.setProperty(PROPERTY_SERVER_UUID, serverUUID);60 taskDefinition.setProperty(PROPERTY_SERVER_UUID, serverUUID); 68 61 log.error("Property "+PROPERTY_SERVER_UUID+" was null. Set to "+serverUUID); 69 62 } … … 71 64 if(serverIP == null){ 72 65 serverIP = "localhost"; 73 task Config.setProperty(PROPERTY_SERVER_IP, serverIP);66 taskDefinition.setProperty(PROPERTY_SERVER_IP, serverIP); 74 67 log.error("Property "+PROPERTY_SERVER_IP+" was null. Set to "+serverIP); 75 68 } … … 77 70 server = new XformsBluetoothServer(serviceName,serverUUID,serverIP); 78 71 server.start(); 79 80 72 } catch (APIException e) { 81 73 log.error("Error running xforms bluetooth task", e); … … 91 83 */ 92 84 public void shutdown() { 93 System.out.println("shutdown called."); 94 server.stop(); 95 System.out.println("bluetoth stopped."); 96 } 97 98 /** 99 * Initialize task. 100 * 101 * @param config 102 */ 103 public void initialize(TaskConfig config) { 104 this.taskConfig = config; 105 taskConfig.getProperty("name"); //Just to ensure we dont get exceptons on accessing this object else where. 106 } 107 108 private void authenticate() { 109 try { 110 AdministrationService adminService = Context.getAdministrationService(); 111 Context.authenticate(adminService.getGlobalProperty("scheduler.username"), 112 adminService.getGlobalProperty("scheduler.password")); 113 114 } catch (ContextAuthenticationException e) { 115 log.error("Error authenticating user", e); 116 } 117 } 118 119 //TODO Needs to complete implementing this. 120 protected void finalize(){ 121 server.stop(); 85 if(server != null) 86 server.stop(); 87 server = null; 88 super.shutdown(); 122 89 } 123 90 }