|
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);
+ ...
[truncated message content] |