|
From: <and...@us...> - 2016-12-26 13:55:14
|
Revision: 1454
http://sourceforge.net/p/ggc/code/1454
Author: andyrozman
Date: 2016-12-26 13:55:11 +0000 (Mon, 26 Dec 2016)
Log Message:
-----------
- refactoring of AccuChek meters, changing everything to Meter Interface v2
Modified Paths:
--------------
trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/defs/device/MeterDeviceHandler.java
trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/device/MeterDeviceInstanceWithHandler.java
trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/device/SerialMeterAbstract.java
trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/device/UsbMeterAbstract.java
trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/manager/MeterManager.java
trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/test/MeterConsoleTester.java
trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/util/DataAccessMeter.java
Added Paths:
-----------
trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/defs/device/MeterDeviceDefinition.java
trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/device/accuchek/AccuChekMeterHandler.java
trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/device/accuchek/impl/
trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/device/accuchek/impl/AccuChekMeterReader.java
Removed Paths:
-------------
trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/data/defs/MeterDeviceDefinition.java
Deleted: trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/data/defs/MeterDeviceDefinition.java
===================================================================
--- trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/data/defs/MeterDeviceDefinition.java 2016-12-25 20:52:08 UTC (rev 1453)
+++ trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/data/defs/MeterDeviceDefinition.java 2016-12-26 13:55:11 UTC (rev 1454)
@@ -1,247 +0,0 @@
-package ggc.meter.data.defs;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import ggc.meter.device.MeterDisplayInterfaceType;
-import ggc.plugin.data.enums.DeviceCompanyDefinition;
-import ggc.plugin.data.enums.DeviceHandlerType;
-import ggc.plugin.data.enums.DevicePortParameterType;
-import ggc.plugin.data.enums.DeviceProgressStatus;
-import ggc.plugin.device.v2.DeviceDefinition;
-import ggc.plugin.manager.DeviceImplementationStatus;
-import ggc.plugin.protocol.DeviceConnectionProtocol;
-
-/**
- * Created by andy on 06.02.15.
- */
-public enum MeterDeviceDefinition implements DeviceDefinition
-{
-
- AscensiaContourUsb(10007, "Contour USB", "ascensia_contour_usb.jpg", //
- "INSTRUCTIONS_ASCENSIA_CONTOUR_USB", null, DeviceImplementationStatus.Done, //
- DeviceCompanyDefinition.Ascensia, DeviceHandlerType.AscensiaUsbHandler, //
- DevicePortParameterType.SimpleParameter, DeviceConnectionProtocol.USB_Hid, //
- DeviceProgressStatus.Special, "", 2000, //
- MeterDisplayInterfaceType.Simple),
-
- AscensiaContourNext(10008, "Contour Next", "ascensia_contour_next.jpg", "INSTRUCTIONS_ASCENSIA_CONTOUR_USB", null,
- DeviceImplementationStatus.Done, DeviceCompanyDefinition.Ascensia, DeviceHandlerType.AscensiaUsbHandler,
- DevicePortParameterType.SimpleParameter, DeviceConnectionProtocol.USB_Hid, DeviceProgressStatus.Special, "",
- 800, MeterDisplayInterfaceType.Simple),
-
- AscensiaContourNextUsb(10009, "Contour Next USB", "ascensia_contour_nextusb.jpg",
- "INSTRUCTIONS_ASCENSIA_CONTOUR_USB", null, DeviceImplementationStatus.Done,
- DeviceCompanyDefinition.Ascensia, DeviceHandlerType.AscensiaUsbHandler,
- DevicePortParameterType.SimpleParameter, DeviceConnectionProtocol.USB_Hid, DeviceProgressStatus.Special, "",
- 2000, MeterDisplayInterfaceType.Simple),
-
- AscensiaContourNextLink(10010, "Contour Next Link", "ascensia_contour_nextlink.jpg", //
- "INSTRUCTIONS_ASCENSIA_CONTOUR_USB", null, DeviceImplementationStatus.InProgress, //
- DeviceCompanyDefinition.Ascensia, DeviceHandlerType.AscensiaUsbHandler,
- DevicePortParameterType.SimpleParameter, DeviceConnectionProtocol.USB_Hid, DeviceProgressStatus.Special, "",
- 2000, MeterDisplayInterfaceType.Simple),
-
- // FIXME - just for testing
- // MenariniGlucoMenReady(100011, "Menarini", null, //
- // "instructions", null, DeviceImplementationStatus.Planned,
- // DeviceCompanyDefinition.Menarini, DeviceHandlerType.MenariniMeterHandler,
- // //
- // DevicePortParameterType.SimpleParameter,
- // DeviceConnectionProtocol.USB_Hid, DeviceProgressStatus.Special, "",
- // 200, MeterDisplayInterfaceType.Simple), //
-
- ;
-
- // Contour Next EZ, Contour Next Link 2.4, Didget, Contour XT ?
-
- static List<DeviceDefinition> allDevices;
- static List<DeviceDefinition> supportedDevices;
-
-
- static
- {
- allDevices = new ArrayList<DeviceDefinition>();
- supportedDevices = new ArrayList<DeviceDefinition>();
-
- for (MeterDeviceDefinition mdd : values())
- {
- allDevices.add(mdd);
-
- if (mdd.isSupportedDevice())
- {
- supportedDevices.add(mdd);
- }
- }
-
- System.out.println(
- "Meter Devices V2 (registered: " + allDevices.size() + ", supported: " + supportedDevices.size() + ")");
- }
-
- // we need to extend this to all values currently in DeviceImplementation
- int deviceId;
- String deviceName;
- String iconName;
- String instructions;
- Object internalDefintion;
- DeviceImplementationStatus implementationStatus;
- DeviceCompanyDefinition companyDefinition;
- DeviceHandlerType deviceHandlerType;
- DevicePortParameterType devicePortParameterType;
- DeviceConnectionProtocol deviceConnectionProtocol;
- DeviceProgressStatus deviceProgressStatus;
- String specialComment;
- int maxRecords;
- MeterDisplayInterfaceType displayInterfaceType;
-
-
- private MeterDeviceDefinition(int id, String name, String iconName, String instructions, Object internalDefinition,
- DeviceImplementationStatus implementationStatus, DeviceCompanyDefinition companyDefinition,
- DeviceHandlerType deviceHandlerType, DevicePortParameterType portParameterType,
- DeviceConnectionProtocol connectionProtocol, DeviceProgressStatus progressStatus, String specialComment,
- int maxRecords, MeterDisplayInterfaceType displayInterfaceType)
- {
- this.deviceId = id;
- this.deviceName = name;
- this.iconName = iconName;
- this.instructions = instructions;
- this.internalDefintion = internalDefinition;
- this.implementationStatus = implementationStatus;
- this.companyDefinition = companyDefinition;
- this.deviceHandlerType = deviceHandlerType;
- this.devicePortParameterType = portParameterType;
- this.deviceConnectionProtocol = connectionProtocol;
- this.deviceProgressStatus = progressStatus;
- this.specialComment = specialComment;
- this.maxRecords = maxRecords;
- this.displayInterfaceType = displayInterfaceType;
- }
-
-
- public int getDeviceId()
- {
- return deviceId;
- }
-
-
- public String getDeviceName()
- {
- return this.deviceName;
- }
-
-
- public String getIconName()
- {
- return this.iconName;
- }
-
-
- public String getInstructionsI18nKey()
- {
- return this.instructions;
- }
-
-
- public DeviceImplementationStatus getDeviceImplementationStatus()
- {
- return this.implementationStatus;
- }
-
-
- public Object getInternalDefintion()
- {
- return this.internalDefintion;
- }
-
-
- public DeviceCompanyDefinition getDeviceCompany()
- {
- return this.companyDefinition;
- }
-
-
- public DeviceHandlerType getDeviceHandler()
- {
- return this.deviceHandlerType;
- }
-
-
- public List<DeviceDefinition> getSupportedDevices()
- {
- return supportedDevices;
- }
-
-
- public static List<DeviceDefinition> getAllDevices()
- {
- return allDevices;
- }
-
-
- public boolean isSupportedDevice()
- {
- return isSupportedDevice(this);
- }
-
-
- public static boolean isSupportedDevice(MeterDeviceDefinition meterDeviceDefinition)
- {
- return DeviceImplementationStatus.isSupportedDevice(meterDeviceDefinition.getDeviceImplementationStatus());
- }
-
-
- /**
- * Get Device handler key
- * @return
- */
- public DeviceHandlerType getDeviceHandlerKey()
- {
- return this.deviceHandlerType;
- }
-
-
- /**
- * Device Port Parameter Type
- * @return
- */
- public DevicePortParameterType getDevicePortParameterType()
- {
- return this.devicePortParameterType;
- }
-
-
- /**
- * Get Connection Protocol
- *
- * @return
- */
- public DeviceConnectionProtocol getConnectionProtocol()
- {
- return this.deviceConnectionProtocol;
- }
-
-
- /**
- * Get Device Progress Status. It determines how device progress is determined. In most casess we use Special
- * progress which is then implemented by Handler.
- *
- * @return
- */
- public DeviceProgressStatus getDeviceProgressStatus()
- {
- return this.deviceProgressStatus;
- }
-
-
- public String getSpecialComment()
- {
- return this.specialComment;
- }
-
-
- public MeterDisplayInterfaceType getMeterDisplayInterfaceType()
- {
- return this.displayInterfaceType;
- }
-
-}
Copied: trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/defs/device/MeterDeviceDefinition.java (from rev 1452, trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/data/defs/MeterDeviceDefinition.java)
===================================================================
--- trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/defs/device/MeterDeviceDefinition.java (rev 0)
+++ trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/defs/device/MeterDeviceDefinition.java 2016-12-26 13:55:11 UTC (rev 1454)
@@ -0,0 +1,347 @@
+package ggc.meter.defs.device;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import ggc.meter.device.MeterDisplayInterfaceType;
+import ggc.plugin.data.enums.DeviceCompanyDefinition;
+import ggc.plugin.data.enums.DeviceHandlerType;
+import ggc.plugin.data.enums.DevicePortParameterType;
+import ggc.plugin.data.enums.DeviceProgressStatus;
+import ggc.plugin.device.v2.DeviceDefinition;
+import ggc.plugin.manager.DeviceImplementationStatus;
+import ggc.plugin.protocol.DeviceConnectionProtocol;
+
+/**
+ * Created by andy on 06.02.15.
+ */
+public enum MeterDeviceDefinition implements DeviceDefinition
+{
+ // Ascensia
+ AscensiaContourUsb(10007, "Contour USB", "ascensia_contour_usb.jpg", //
+ "INSTRUCTIONS_ASCENSIA_CONTOUR_USB", null, DeviceImplementationStatus.Done, //
+ DeviceCompanyDefinition.Ascensia, DeviceHandlerType.AscensiaUsbHandler, //
+ DevicePortParameterType.SimpleParameter, DeviceConnectionProtocol.USB_Hid, //
+ DeviceProgressStatus.Special, "", 2000, //
+ MeterDisplayInterfaceType.Simple),
+
+ AscensiaContourNext(10008, "Contour Next", "ascensia_contour_next.jpg", "INSTRUCTIONS_ASCENSIA_CONTOUR_USB", null,
+ DeviceImplementationStatus.Done, DeviceCompanyDefinition.Ascensia, DeviceHandlerType.AscensiaUsbHandler,
+ DevicePortParameterType.SimpleParameter, DeviceConnectionProtocol.USB_Hid, DeviceProgressStatus.Special, "",
+ 800, MeterDisplayInterfaceType.Simple),
+
+ AscensiaContourNextUsb(10009, "Contour Next USB", "ascensia_contour_nextusb.jpg",
+ "INSTRUCTIONS_ASCENSIA_CONTOUR_USB", null, DeviceImplementationStatus.Done,
+ DeviceCompanyDefinition.Ascensia, DeviceHandlerType.AscensiaUsbHandler,
+ DevicePortParameterType.SimpleParameter, DeviceConnectionProtocol.USB_Hid, DeviceProgressStatus.Special, "",
+ 2000, MeterDisplayInterfaceType.Simple),
+
+ AscensiaContourNextLink(10010, "Contour Next Link", "ascensia_contour_nextlink.jpg", //
+ "INSTRUCTIONS_ASCENSIA_CONTOUR_USB", null, DeviceImplementationStatus.Done, //
+ DeviceCompanyDefinition.Ascensia, DeviceHandlerType.AscensiaUsbHandler,
+ DevicePortParameterType.SimpleParameter, DeviceConnectionProtocol.USB_Hid, DeviceProgressStatus.Special, "",
+ 2000, MeterDisplayInterfaceType.Simple),
+
+ // AccuChek
+
+ // FIXME
+ AccuChekSmartPixGeneric(20001, "SmartPix", "ac_active.jpg", //
+ "INSTRUCTIONS_ACCUCHEK_ACTIVE", null, DeviceImplementationStatus.Done, //
+ DeviceCompanyDefinition.Roche, DeviceHandlerType.AccuChekMeterHandler, //
+ DevicePortParameterType.SimpleParameter, DeviceConnectionProtocol.MassStorageXML, //
+ DeviceProgressStatus.Normal, "", 1, MeterDisplayInterfaceType.Simple), //
+
+ AccuChekActive(20002, "Active", "ac_active.jpg", //
+ "INSTRUCTIONS_ACCUCHEK_ACTIVE", null, DeviceImplementationStatus.Done, //
+ DeviceCompanyDefinition.Roche, DeviceHandlerType.AccuChekMeterHandler, //
+ DevicePortParameterType.SimpleParameter, DeviceConnectionProtocol.MassStorageXML, //
+ DeviceProgressStatus.Normal, "", 480, MeterDisplayInterfaceType.Simple), //
+
+ AccuChekAdvantage(20003, "Advantage", "ac_advantage.jpg", //
+ "INSTRUCTIONS_ACCUCHEK_ADVANTAGE", null, DeviceImplementationStatus.Done, //
+ DeviceCompanyDefinition.Roche, DeviceHandlerType.AccuChekMeterHandler, //
+ DevicePortParameterType.SimpleParameter, DeviceConnectionProtocol.MassStorageXML, //
+ DeviceProgressStatus.Normal, "", 480, MeterDisplayInterfaceType.Simple), //
+
+ AccuChekAviva(20004, "Aviva", "ac_aviva.jpg", //
+ "INSTRUCTIONS_ACCUCHEK_AVIVA", null, DeviceImplementationStatus.Done, //
+ DeviceCompanyDefinition.Roche, DeviceHandlerType.AccuChekMeterHandler, //
+ DevicePortParameterType.SimpleParameter, DeviceConnectionProtocol.MassStorageXML, //
+ DeviceProgressStatus.Normal, "", 500, MeterDisplayInterfaceType.Simple), //
+
+ AccuChekComfort(20005, "Comfort", "ac_comfort.jpg", //
+ "INSTRUCTIONS_ACCUCHEK_COMFORT", null, DeviceImplementationStatus.Done, //
+ DeviceCompanyDefinition.Roche, DeviceHandlerType.AccuChekMeterHandler, //
+ DevicePortParameterType.SimpleParameter, DeviceConnectionProtocol.MassStorageXML, //
+ DeviceProgressStatus.Normal, "", 100, MeterDisplayInterfaceType.Simple), //
+
+ AccuChekCompact(20006, "Compact", "ac_compact.jpg", //
+ "INSTRUCTIONS_ACCUCHEK_COMPACT", null, DeviceImplementationStatus.Done, //
+ DeviceCompanyDefinition.Roche, DeviceHandlerType.AccuChekMeterHandler, //
+ DevicePortParameterType.SimpleParameter, DeviceConnectionProtocol.MassStorageXML, //
+ DeviceProgressStatus.Normal, "", 100, MeterDisplayInterfaceType.Simple), //
+
+ AccuChekCompactPlus(20007, "CompactPlus", "ac_compact_plus.jpg", //
+ "INSTRUCTIONS_ACCUCHEK_COMPACTPLUS", null, DeviceImplementationStatus.Done, //
+ DeviceCompanyDefinition.Roche, DeviceHandlerType.AccuChekMeterHandler, //
+ DevicePortParameterType.SimpleParameter, DeviceConnectionProtocol.MassStorageXML, //
+ DeviceProgressStatus.Normal, "", 300, MeterDisplayInterfaceType.Simple), //
+
+ AccuChekGo(20008, "Go", "ac_go.jpg", //
+ "INSTRUCTIONS_ACCUCHEK_GO", null, DeviceImplementationStatus.Done, //
+ DeviceCompanyDefinition.Roche, DeviceHandlerType.AccuChekMeterHandler, //
+ DevicePortParameterType.SimpleParameter, DeviceConnectionProtocol.MassStorageXML, //
+ DeviceProgressStatus.Normal, "", 480, MeterDisplayInterfaceType.Simple), //
+
+ AccuChekIntegra(20009, "Integra", "ac_integra.jpg", //
+ "INSTRUCTIONS_ACCUCHEK_INTEGRA", null, DeviceImplementationStatus.Done, //
+ DeviceCompanyDefinition.Roche, DeviceHandlerType.AccuChekMeterHandler, //
+ DevicePortParameterType.SimpleParameter, DeviceConnectionProtocol.MassStorageXML, //
+ DeviceProgressStatus.Normal, "", 100, MeterDisplayInterfaceType.Simple), //
+
+ AccuChekPerforma(20010, "Performa", "ac_performa.jpg", //
+ "INSTRUCTIONS_ACCUCHEK_PERFORMA", null, DeviceImplementationStatus.Done, //
+ DeviceCompanyDefinition.Roche, DeviceHandlerType.AccuChekMeterHandler, //
+ DevicePortParameterType.SimpleParameter, DeviceConnectionProtocol.MassStorageXML, //
+ DeviceProgressStatus.Normal, "", 500, MeterDisplayInterfaceType.Simple), //
+
+ AccuChekSensor(20011, "Sensor", "ac_sensor.jpg", //
+ "INSTRUCTIONS_ACCUCHEK_SENSOR", null, DeviceImplementationStatus.Done, //
+ DeviceCompanyDefinition.Roche, DeviceHandlerType.AccuChekMeterHandler, //
+ DevicePortParameterType.SimpleParameter, DeviceConnectionProtocol.MassStorageXML, //
+ DeviceProgressStatus.Normal, "", 480, MeterDisplayInterfaceType.Simple), //
+
+ AccuChekNano(20012, "Aviva Nano", "ac_nano.jpg", //
+ "INSTRUCTIONS_ACCUCHEK_NANO", null, DeviceImplementationStatus.Done, //
+ DeviceCompanyDefinition.Roche, DeviceHandlerType.AccuChekMeterHandler, //
+ DevicePortParameterType.SimpleParameter, DeviceConnectionProtocol.MassStorageXML, //
+ DeviceProgressStatus.Normal, "", 500, MeterDisplayInterfaceType.Simple), //
+
+ AccuChekAvivaCombo(20013, "Aviva Combo", "ac_combo.jpg", //
+ "INSTRUCTIONS_ACCUCHEK_AVIVA_COMBO", null, DeviceImplementationStatus.Done, //
+ DeviceCompanyDefinition.Roche, DeviceHandlerType.AccuChekMeterHandler, //
+ DevicePortParameterType.SimpleParameter, DeviceConnectionProtocol.MassStorageXML, //
+ DeviceProgressStatus.Normal, "", 500, MeterDisplayInterfaceType.Extended), //
+
+ // FIXME - just for testing
+ // MenariniGlucoMenReady(100011, "Menarini", null, //
+ // "instructions", null, DeviceImplementationStatus.Planned,
+ // DeviceCompanyDefinition.Menarini, DeviceHandlerType.MenariniMeterHandler,
+ // //
+ // DevicePortParameterType.SimpleParameter,
+ // DeviceConnectionProtocol.USB_Hid, DeviceProgressStatus.Special, "",
+ // 200, MeterDisplayInterfaceType.Simple), //
+
+ ;
+
+ // AccuChekActive.java
+ // AccuChekAdvantage.java
+ // AccuChekAvivaCombo.java
+ // AccuChekAviva.java
+ // AccuChekComfort.java
+ // AccuChekCompact.java
+ // AccuChekCompactPlus.java
+ // AccuChekGo.java
+ // AccuChekIntegra.java
+ // AccuChekMeterHandler.java
+ // AccuChekNano.java
+ // AccuChekPerforma.java
+ // AccuChekSensor.java
+
+ // Contour Next EZ, Contour Next Link 2.4, Didget, Contour XT ?
+
+ static List<DeviceDefinition> allDevices;
+ static List<DeviceDefinition> supportedDevices;
+
+ static
+ {
+ allDevices = new ArrayList<DeviceDefinition>();
+ supportedDevices = new ArrayList<DeviceDefinition>();
+
+ for (MeterDeviceDefinition mdd : values())
+ {
+ allDevices.add(mdd);
+
+ if (mdd.isSupportedDevice())
+ {
+ supportedDevices.add(mdd);
+ }
+ }
+
+ System.out.println(
+ "Meter Devices V2 (registered: " + allDevices.size() + ", supported: " + supportedDevices.size() + ")");
+ }
+
+ // we need to extend this to all values currently in DeviceImplementation
+ int deviceId;
+ String deviceName;
+ String iconName;
+ String instructions;
+ Object internalDefintion;
+ DeviceImplementationStatus implementationStatus;
+ DeviceCompanyDefinition companyDefinition;
+ DeviceHandlerType deviceHandlerType;
+ DevicePortParameterType devicePortParameterType;
+ DeviceConnectionProtocol deviceConnectionProtocol;
+ DeviceProgressStatus deviceProgressStatus;
+ String specialComment;
+ int maxRecords;
+ MeterDisplayInterfaceType displayInterfaceType;
+
+
+ private MeterDeviceDefinition(int id, String name, String iconName, String instructions, Object internalDefinition,
+ DeviceImplementationStatus implementationStatus, DeviceCompanyDefinition companyDefinition,
+ DeviceHandlerType deviceHandlerType, DevicePortParameterType portParameterType,
+ DeviceConnectionProtocol connectionProtocol, DeviceProgressStatus progressStatus, String specialComment,
+ int maxRecords, MeterDisplayInterfaceType displayInterfaceType)
+ {
+ this.deviceId = id;
+ this.deviceName = name;
+ this.iconName = iconName;
+ this.instructions = instructions;
+ this.internalDefintion = internalDefinition;
+ this.implementationStatus = implementationStatus;
+ this.companyDefinition = companyDefinition;
+ this.deviceHandlerType = deviceHandlerType;
+ this.devicePortParameterType = portParameterType;
+ this.deviceConnectionProtocol = connectionProtocol;
+ this.deviceProgressStatus = progressStatus;
+ this.specialComment = specialComment;
+ this.maxRecords = maxRecords;
+ this.displayInterfaceType = displayInterfaceType;
+ }
+
+
+ public int getDeviceId()
+ {
+ return deviceId;
+ }
+
+
+ public String getDeviceName()
+ {
+ return this.deviceName;
+ }
+
+
+ public String getIconName()
+ {
+ return this.iconName;
+ }
+
+
+ public String getInstructionsI18nKey()
+ {
+ return this.instructions;
+ }
+
+
+ public DeviceImplementationStatus getDeviceImplementationStatus()
+ {
+ return this.implementationStatus;
+ }
+
+
+ public Object getInternalDefintion()
+ {
+ return this.internalDefintion;
+ }
+
+
+ public DeviceCompanyDefinition getDeviceCompany()
+ {
+ return this.companyDefinition;
+ }
+
+
+ public DeviceHandlerType getDeviceHandler()
+ {
+ return this.deviceHandlerType;
+ }
+
+
+ public List<DeviceDefinition> getSupportedDevices()
+ {
+ return supportedDevices;
+ }
+
+
+ public static List<DeviceDefinition> getAllDevices()
+ {
+ return allDevices;
+ }
+
+
+ public boolean isSupportedDevice()
+ {
+ return isSupportedDevice(this);
+ }
+
+
+ public static boolean isSupportedDevice(MeterDeviceDefinition meterDeviceDefinition)
+ {
+ return DeviceImplementationStatus.isSupportedDevice(meterDeviceDefinition.getDeviceImplementationStatus());
+ }
+
+
+ /**
+ * Get Device handler key
+ * @return
+ */
+ public DeviceHandlerType getDeviceHandlerKey()
+ {
+ return this.deviceHandlerType;
+ }
+
+
+ /**
+ * Device Port Parameter Type
+ * @return
+ */
+ public DevicePortParameterType getDevicePortParameterType()
+ {
+ return this.devicePortParameterType;
+ }
+
+
+ /**
+ * Get Connection Protocol
+ *
+ * @return
+ */
+ public DeviceConnectionProtocol getConnectionProtocol()
+ {
+ return this.deviceConnectionProtocol;
+ }
+
+
+ /**
+ * Get Device Progress Status. It determines how device progress is determined. In most casess we use Special
+ * progress which is then implemented by Handler.
+ *
+ * @return
+ */
+ public DeviceProgressStatus getDeviceProgressStatus()
+ {
+ return this.deviceProgressStatus;
+ }
+
+
+ public String getSpecialComment()
+ {
+ return this.specialComment;
+ }
+
+
+ public MeterDisplayInterfaceType getMeterDisplayInterfaceType()
+ {
+ return this.displayInterfaceType;
+ }
+
+
+ public int getMaxRecords()
+ {
+ return this.maxRecords;
+ }
+
+}
Modified: trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/defs/device/MeterDeviceHandler.java
===================================================================
--- trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/defs/device/MeterDeviceHandler.java 2016-12-25 20:52:08 UTC (rev 1453)
+++ trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/defs/device/MeterDeviceHandler.java 2016-12-26 13:55:11 UTC (rev 1454)
@@ -1,6 +1,5 @@
package ggc.meter.defs.device;
-import ggc.meter.data.defs.MeterDeviceDefinition;
import ggc.meter.util.DataAccessMeter;
import ggc.plugin.device.v2.DeviceDefinition;
import ggc.plugin.device.v2.DeviceHandlerAbstract;
@@ -28,4 +27,14 @@
return (MeterDeviceDefinition) definition;
}
+
+ /**
+ * Check if DataAccess Set, if not set it.
+ */
+ protected void checkIfDataAccessSet()
+ {
+ if (dataAccessMeter == null)
+ dataAccessMeter = DataAccessMeter.getInstance();
+ }
+
}
Modified: trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/device/MeterDeviceInstanceWithHandler.java
===================================================================
--- trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/device/MeterDeviceInstanceWithHandler.java 2016-12-25 20:52:08 UTC (rev 1453)
+++ trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/device/MeterDeviceInstanceWithHandler.java 2016-12-26 13:55:11 UTC (rev 1454)
@@ -1,6 +1,6 @@
package ggc.meter.device;
-import ggc.meter.data.defs.MeterDeviceDefinition;
+import ggc.meter.defs.device.MeterDeviceDefinition;
import ggc.meter.util.DataAccessMeter;
import ggc.plugin.device.DeviceIdentification;
import ggc.plugin.device.v2.DeviceDefinition;
Modified: trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/device/SerialMeterAbstract.java
===================================================================
--- trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/device/SerialMeterAbstract.java 2016-12-25 20:52:08 UTC (rev 1453)
+++ trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/device/SerialMeterAbstract.java 2016-12-26 13:55:11 UTC (rev 1454)
@@ -11,7 +11,7 @@
import ggc.core.data.defs.GlucoseUnitType;
import ggc.meter.data.MeterValuesEntry;
-import ggc.meter.data.defs.MeterDeviceDefinition;
+import ggc.meter.defs.device.MeterDeviceDefinition;
import ggc.meter.util.DataAccessMeter;
import ggc.plugin.comm.NRSerialCommunicationHandler;
import ggc.plugin.comm.cfg.SerialSettings;
Modified: trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/device/UsbMeterAbstract.java
===================================================================
--- trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/device/UsbMeterAbstract.java 2016-12-25 20:52:08 UTC (rev 1453)
+++ trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/device/UsbMeterAbstract.java 2016-12-26 13:55:11 UTC (rev 1454)
@@ -13,7 +13,7 @@
import ggc.core.data.defs.GlucoseUnitType;
import ggc.meter.data.MeterValuesEntry;
-import ggc.meter.data.defs.MeterDeviceDefinition;
+import ggc.meter.defs.device.MeterDeviceDefinition;
import ggc.meter.util.DataAccessMeter;
import ggc.plugin.comm.NRSerialCommunicationHandler;
import ggc.plugin.comm.cfg.SerialSettings;
Added: trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/device/accuchek/AccuChekMeterHandler.java
===================================================================
--- trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/device/accuchek/AccuChekMeterHandler.java (rev 0)
+++ trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/device/accuchek/AccuChekMeterHandler.java 2016-12-26 13:55:11 UTC (rev 1454)
@@ -0,0 +1,109 @@
+package ggc.meter.device.accuchek;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import ggc.meter.defs.device.MeterDeviceDefinition;
+import ggc.meter.defs.device.MeterDeviceHandler;
+import ggc.meter.device.accuchek.impl.AccuChekMeterReader;
+import ggc.meter.util.DataAccessMeter;
+import ggc.plugin.data.GGCPlugInFileReaderContext;
+import ggc.plugin.data.enums.DeviceHandlerType;
+import ggc.plugin.device.DownloadSupportType;
+import ggc.plugin.device.PlugInBaseException;
+import ggc.plugin.device.impl.accuchek.AccuChekSmartPixSpecialConfig;
+import ggc.plugin.device.impl.accuchek.FRC_AccuChekSmartPixXml;
+import ggc.plugin.device.v2.DeviceDefinition;
+import ggc.plugin.device.v2.DeviceInstanceWithHandler;
+import ggc.plugin.gui.DeviceSpecialConfigPanelAbstract;
+import ggc.plugin.output.OutputWriter;
+
+public class AccuChekMeterHandler extends MeterDeviceHandler
+{
+
+ private static AccuChekSmartPixSpecialConfig specialConfigPanel;
+
+
+ public AccuChekMeterHandler()
+ {
+ super();
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public DeviceHandlerType getDeviceHandlerKey()
+ {
+ return DeviceHandlerType.AccuChekMeterHandler;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void readDeviceData(DeviceDefinition definition, Object connectionParameters, OutputWriter outputWriter)
+ throws PlugInBaseException
+ {
+ AccuChekMeterReader reader = new AccuChekMeterReader((MeterDeviceDefinition) definition,
+ (String) connectionParameters, outputWriter, DataAccessMeter.getInstance());
+ reader.readDeviceDataFull();
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void readConfiguration(DeviceDefinition definition, Object connectionParameters, OutputWriter outputWriter)
+ throws PlugInBaseException
+ {
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public List<GGCPlugInFileReaderContext> getFileDownloadContexts(DownloadSupportType downloadSupportType)
+ {
+ checkIfDataAccessSet();
+
+ List<GGCPlugInFileReaderContext> fileContexts = new ArrayList<GGCPlugInFileReaderContext>();
+ fileContexts.add(new FRC_AccuChekSmartPixXml(dataAccessMeter, getReader()));
+
+ return fileContexts;
+ }
+
+
+ private AccuChekMeterReader getReader()
+ {
+ String connectionString = dataAccessMeter.getSelectedDeviceConfigEntry().communication_port_raw;
+
+ DeviceDefinition selectedDeviceDefinition = dataAccessMeter.getSelectedDeviceDefinition();
+ return new AccuChekMeterReader((MeterDeviceDefinition) selectedDeviceDefinition, connectionString,
+ dataAccessMeter);
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void registerSpecialConfig()
+ {
+ this.specialConfigKey = "AccuChekSmartPix";
+ }
+
+
+ @Override
+ public DeviceSpecialConfigPanelAbstract getSpecialConfigPanel(DeviceInstanceWithHandler deviceInstanceWithHandler)
+ {
+ if (specialConfigPanel == null)
+ {
+ specialConfigPanel = new AccuChekSmartPixSpecialConfig(dataAccessMeter.getInstance(),
+ deviceInstanceWithHandler);
+ }
+
+ return specialConfigPanel;
+ }
+
+}
Added: trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/device/accuchek/impl/AccuChekMeterReader.java
===================================================================
--- trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/device/accuchek/impl/AccuChekMeterReader.java (rev 0)
+++ trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/device/accuchek/impl/AccuChekMeterReader.java 2016-12-26 13:55:11 UTC (rev 1454)
@@ -0,0 +1,132 @@
+package ggc.meter.device.accuchek.impl;
+
+import ggc.meter.defs.device.MeterDeviceDefinition;
+import ggc.meter.device.accuchek.AccuChekSmartPixMeter;
+import ggc.plugin.output.OutputWriter;
+import ggc.plugin.util.DataAccessPlugInBase;
+
+/**
+ * Created by andy on 20.10.15.
+ */
+public class AccuChekMeterReader extends AccuChekSmartPixMeter
+{
+
+ MeterDeviceDefinition deviceType;
+
+
+ public AccuChekMeterReader(MeterDeviceDefinition deviceType, DataAccessPlugInBase da)
+ {
+ this(deviceType, null, null, da);
+ }
+
+
+ // this one is only for file download
+ public AccuChekMeterReader(MeterDeviceDefinition deviceType, String connectionParameter, DataAccessPlugInBase da)
+ {
+ this(deviceType, connectionParameter, null, da);
+ }
+
+
+ public AccuChekMeterReader(MeterDeviceDefinition deviceType, String connectionParameter, OutputWriter writer,
+ DataAccessPlugInBase da)
+ {
+ super(connectionParameter, writer, da);
+ this.deviceType = deviceType;
+ }
+
+
+ public String getName()
+ {
+ return this.deviceType.getDeviceName();
+ }
+
+
+ public String getIconName()
+ {
+ return this.deviceType.getIconName();
+ }
+
+
+ public int getDeviceId()
+ {
+ return this.deviceType.getDeviceId();
+ }
+
+
+ public String getInstructions()
+ {
+ return this.deviceType.getInstructionsI18nKey();
+ }
+
+
+ public String getComment()
+ {
+ return null;
+ }
+
+
+ public String getDeviceClassName()
+ {
+ return this.getClass().getName();
+ }
+
+
+ /**
+ * getMaxMemoryRecords - Get Maximum entries that can be stored in devices memory
+ *
+ * @return number
+ */
+ @Override
+ public int getMaxMemoryRecords()
+ {
+ return this.deviceType.getMaxRecords();
+ }
+
+
+ /**
+ * getNrOfElementsFor1s - How many elements are read in 1s (which is our refresh time)
+ * @return number of elements
+ */
+ @Override
+ public int getNrOfElementsFor1s()
+ {
+ switch (deviceType)
+ {
+ case AccuChekNano:
+ return 20;
+
+ case AccuChekAvivaCombo:
+ case AccuChekAviva:
+ return 12;
+
+ case AccuChekActive:
+ case AccuChekAdvantage:
+ case AccuChekComfort:
+ case AccuChekCompact:
+ case AccuChekCompactPlus:
+ case AccuChekGo:
+ case AccuChekIntegra:
+ case AccuChekPerforma:
+ case AccuChekSensor:
+ return 10;
+
+ default:
+ return 0;
+
+ }
+ }
+
+ // public int getInterfaceTypeForMeter()
+ // {
+ // switch (deviceType)
+ // {
+ // case AccuChekAvivaCombo:
+ // return MeterInterface.METER_INTERFACE_EXTENDED;
+ //
+ // default:
+ // return MeterInterface.METER_INTERFACE_SIMPLE;
+ //
+ // }
+ // }
+
+}
Modified: trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/manager/MeterManager.java
===================================================================
--- trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/manager/MeterManager.java 2016-12-25 20:52:08 UTC (rev 1453)
+++ trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/manager/MeterManager.java 2016-12-26 13:55:11 UTC (rev 1454)
@@ -1,6 +1,6 @@
package ggc.meter.manager;
-import ggc.meter.data.defs.MeterDeviceDefinition;
+import ggc.meter.defs.device.MeterDeviceDefinition;
import ggc.meter.device.MeterDeviceInstanceWithHandler;
import ggc.meter.manager.company.*;
import ggc.plugin.device.v2.DeviceDefinition;
@@ -96,7 +96,7 @@
public void loadDeviceCompanies()
{
addDeviceCompany(new AscensiaBayer());
- addDeviceCompany(new Roche());
+ // addDeviceCompany(new Roche());
addDeviceCompany(new LifeScan());
addDeviceCompany(new Abbott());
addDeviceCompany(new Menarini());
@@ -109,17 +109,4 @@
addDeviceCompany(new Wavesense());
}
- // /**
- // * Load Supported Devices
- // */
- // @Override
- // public void loadSupportedDevices()
- // {
- // this.supported_devices.addAll(new AscensiaBayer().getDevices());
- // this.supported_devices.addAll(new Roche().getDevices());
- // this.supported_devices.addAll(new LifeScan().getDevices());
- // this.supported_devices.addAll(new Abbott().getDevices());
- // this.supported_devices.addAll(new Menarini().getDevices());
- // }
-
}
Modified: trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/test/MeterConsoleTester.java
===================================================================
--- trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/test/MeterConsoleTester.java 2016-12-25 20:52:08 UTC (rev 1453)
+++ trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/test/MeterConsoleTester.java 2016-12-26 13:55:11 UTC (rev 1454)
@@ -11,8 +11,8 @@
import ggc.core.db.GGCDb;
import ggc.core.util.DataAccess;
-import ggc.meter.data.defs.MeterDeviceDefinition;
import ggc.meter.defs.MeterPluginDefinition;
+import ggc.meter.defs.device.MeterDeviceDefinition;
import ggc.meter.device.abbott.OptiumXceed;
import ggc.meter.device.accuchek.AccuChekAvivaCombo;
import ggc.meter.device.ascensia.AscensiaContour;
Modified: trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/util/DataAccessMeter.java
===================================================================
--- trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/util/DataAccessMeter.java 2016-12-25 20:52:08 UTC (rev 1453)
+++ trunk/ggc-plugins/ggc-meter/src/main/java/ggc/meter/util/DataAccessMeter.java 2016-12-26 13:55:11 UTC (rev 1454)
@@ -151,142 +151,6 @@
}
// ********************************************************
- // ****** About Methods *****
- // ********************************************************
-
- // /**
- // * Create About Context for plugin
- // */
- // @Override
- // public void createPlugInAboutContext()
- // {
- // I18nControlAbstract i18nControl = getI18nControlInstance();
- //
- // // about_title = i18nControlAbstract.getMessage("METER_PLUGIN_ABOUT");
- // about_image_name = "/icons/about_meter.jpg";
- // // about_image_name = "/icons/about_logo.gif";
- // about_plugin_copyright_from = 2006;
- // // about_plugin_name = i18nControlAbstract.getMessage("METER_PLUGIN");
- //
- // ArrayList<LibraryInfoEntry> lst_libs = new ArrayList<LibraryInfoEntry>();
- //
- // lst_libs.addAll(getBaseLibraries());
- //
- // lst_libs.add(
- // new LibraryInfoEntry("XML Pull Parser", "3.1.1.4c",
- // "http://www.extreme.indiana.edu/xgws/xsoap/xpp/",
- // "Indiana University Extreme! Lab Software License", "Xml parser for
- // processing xml document",
- // "Copyright (c) 2002 Extreme! Lab, Indiana University. All rights
- // reserved."));
- // plugin_libraries = lst_libs;
- //
- // ArrayList<CreditsGroup> lst_credits = new ArrayList<CreditsGroup>();
- // CreditsGroup cg = new
- // CreditsGroup(i18nControl.getMessage("DEVELOPERS_DESC"));
- // cg.addCreditsEntry(new CreditsEntry("Aleksander Rozman (Andy)",
- // "an...@at...",
- // "Full framework and support for Ascensia, Roche, LifeScan devices"));
- // cg.addCreditsEntry(new CreditsEntry("Alexander Balaban",
- // "aba...@ya...", "Support for OT UltraSmart"));
- // cg.addCreditsEntry(new CreditsEntry("Ophir Setter",
- // "oph...@gm...", "Support for Freestyle Meters"));
- // lst_credits.add(cg);
- // cg = new CreditsGroup(i18nControl.getMessage("HELPERS_DESC"));
- // cg.addCreditsEntry(new CreditsEntry("Rafael Ziherl (RAF)", "", "Supplied
- // hardware for Roche development"));
- // lst_credits.add(cg);
- //
- // plugin_developers = lst_credits;
- //
- // // features
- // ArrayList<FeaturesGroup> lst_features = new ArrayList<FeaturesGroup>();
- //
- // FeaturesGroup fg = new
- // FeaturesGroup(i18nControl.getMessage("IMPLEMENTED_FEATURES"));
- // fg.addFeaturesEntry(new FeaturesEntry("Base Meter Tools Framework"));
- // fg.addFeaturesEntry(new FeaturesEntry("Various output types"));
- // fg.addFeaturesEntry(new FeaturesEntry("Communication Framework"));
- // fg.addFeaturesEntry(new FeaturesEntry("Graphical Interface (GGC
- // integration)"));
- // fg.addFeaturesEntry(new FeaturesEntry("About dialog"));
- // fg.addFeaturesEntry(new FeaturesEntry("List of meters"));
- // fg.addFeaturesEntry(new FeaturesEntry("Configuration"));
- //
- // lst_features.add(fg);
- //
- // fg = new FeaturesGroup(i18nControl.getMessage("SUPPORTED_DEVICES"));
- // fg.addFeaturesEntry(new FeaturesEntry("Ascensia/Bayer (except Contour USB
- // and Didget)"));
- // fg.addFeaturesEntry(new FeaturesEntry("Accu-Chek/Roche: All supported by
- // SmartPix 3.x"));
- // fg.addFeaturesEntry(new FeaturesEntry("LifeScan: Ultra, Profile, Easy,
- // UltraSmart"));
- // fg.addFeaturesEntry(new FeaturesEntry("Abbott: Optium Xceeed,
- // PrecisionXtra, Frestyle"));
- // // FIXME
- // lst_features.add(fg);
- //
- // // lst_features.add(fg);
- //
- // fg = new FeaturesGroup(i18nControl.getMessage("PLANNED_DEVICES"));
- // fg.addFeaturesEntry(new FeaturesEntry("LifeScan: Ultra2 (in 2015)"));
- // fg.addFeaturesEntry(new FeaturesEntry("Ascensia/Bayer: Usb devices"));
- //
- // lst_features.add(fg);
- //
- // this.plugin_features = lst_features;
- //
- // }
-
- // ********************************************************
- // ****** Web Lister Methods *****
- // ********************************************************
-
- // /**
- // * Create WebLister (for List) Context for plugin
- // */
- // @Override
- // public void createWebListerContext()
- // {
- //
- // this.loadWebLister();
- //
- // // I18nControlAbstract i18nControlAbstract = getI18nControlInstance();
- //
- // weblister_items = new ArrayList<BaseListEntry>();
- // weblister_items.add(new BaseListEntry("Abbott Diabetes Care",
- // "/meters/abbott.html", 4));
- // weblister_items.add(new BaseListEntry("Arkray USA (formerly Hypoguard)",
- // "/meters/arkray.html", 5));
- // weblister_items.add(new BaseListEntry("Bayer Diagnostics",
- // "/meters/bayer.html", 1));
- // weblister_items.add(new BaseListEntry("Diabetic Supply of Suncoast",
- // "/meters/dsos.html", 5));
- // weblister_items.add(new BaseListEntry("Diagnostic Devices",
- // "/meters/prodigy.html", 5));
- // weblister_items.add(new BaseListEntry("HealthPia America",
- // "/meters/healthpia.html", 5));
- // weblister_items.add(new BaseListEntry("Home Diagnostics",
- // "/meters/home_diagnostics.html", 5));
- // weblister_items.add(new BaseListEntry("Lifescan",
- // "/meters/lifescan.html", 4));
- // weblister_items.add(new BaseListEntry("Nova Biomedical",
- // "/meters/nova_biomedical.html", 5));
- // weblister_items.add(new BaseListEntry("Roche Diagnostics",
- // "/meters/roche.html", 2));
- // weblister_items.add(new BaseListEntry("Sanvita", "/meters/sanvita.html",
- // 5));
- // weblister_items.add(new BaseListEntry("U.S. Diagnostics",
- // "/meters/us_diagnostics.html", 5));
- // weblister_items.add(new BaseListEntry("WaveSense",
- // "/meters/wavesense.html", 5));
- //
- // // weblister_title = i18nControlAbstract.getMessage("METERS_LIST_WEB");
- // weblister_desc = i18n_plugin.getMessage("METERS_LIST_WEB_DESC");
- // }
-
- // ********************************************************
// ****** Version *****
// ********************************************************
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|