Tema: JAVA: nebeveikia galva
Autorius: ejs
Data: 2012-06-19 01:59:02
Zxing 2.0 biblioteka, QR generatorius iš Matlab' centralės 
http://www.mathworks.com/matlabcentral/fileexchange/29239-qr-code-encode-and-decode

Reiktų pridėti klaidų taisymą.


....

switch upper(props.quality) % checked in Zxing's source
          case 'M'
              qr_quality = uint8(0);
          case 'L'
              qr_quality = uint8(1);
          case 'H'
              qr_quality = uint8(2);
          case 'Q'
              qr_quality = uint8(3);
      end
....

%% encoding qr

qr_writer = QRCodeWriter;

%
% in pure JAVA, it sounds like
% Hashtable<EncodeHintType, ErrorCorrectionLevel> hintMap = new
% Hashtable<EncodeHintType, ErrorCorrectionLevel>();

qr_hints = java.util.Hashtable;
qr_hints.put(EncodeHintType.ERROR_CORRECTION, qr_quality);


%M_java = qr_writer.encode(message, BarcodeFormat.QR_CODE, 
props.size(2), props.size(1));
M_java = qr_writer.encode(message, BarcodeFormat.QR_CODE, props.size(2), 
props.size(1), qr_hints);

ir BABACH:

Java exception occurred:
java.lang.ClassCastException: java.lang.Byte cannot be cast to
com.google.zxing.qrcode.decoder.ErrorCorrectionLevel

at  com.google.zxing.qrcode.QRCodeWriter.encode(QRCodeWriter.java:69)

Error in ==> encode_qr at 103
M_java = qr_writer.encode(message, BarcodeFormat.QR_CODE,
props.size(2), props.size(1), qr_hints);

Kaip kuriant Hashtable nurodyti ką ji saugo, arba kaip padaryti cast'ą 
priskiriant elemento reikšmę?

PS atjungus imama 'M' klaidų korekcija ir QR'as gaunasi didokas.
-- 
ejs