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. |