Closed kuniss closed 6 years ago
The typo is in both
A solution is not simple due to the type backwards compatibility requirements for service and application implementations. Compile-time and run-time compatibility has to be considered...
As we will not be able to fix this issue completely due to the backward compatibility constraints, I recommend to get at least the Device Control interface to applications right.
The intention here is that application programmers are not so close to and familiar with UnifiedPOS, knowing such details. Device Service implementers are may be more familiar with such specific hassles.
My proposal is to add an new method setTarePriority to the Device Control interface of Scale with correct spelling requesting that it must call the wrong spelled Device Service interface method setTarePrioity. And, to let the Device Service interface of Scale unchanged.
This will allow application programmers to use the right spelled property in their code when using the newest version of JavaPOS contracts ignoring the wrong spelled one.
On the other side, a newer implementation of Device Controls will be able to deal with Device Service implementations which are based on the last 1.14 JavaPOS contract library implementing the wrong spelled property. In fact, the Device Service interface will not change for a new version of the JavaPOS contracts library.
According to the proposal above we will not change anything on the service interface. Therefore, this issues is closed.
Forgotten: The jpos.ScaleControl114 interface has to altered by adding a new method setTarePriority.
Solved with release javapos-contracts-1.14.3.
Must be setTarePriority. Should be fixed in the control interface and calls should forwarded to the original method in the control implementation.