help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: java package - aa= javaObject('java.lang.Byte',uint8(1));


From: Scott Haynes
Subject: Re: java package - aa= javaObject('java.lang.Byte',uint8(1));
Date: Wed, 24 Apr 2013 11:57:42 -0600

That's a good trick ... any idea how I could do that with a javaArray of bytes?  

aa=javaArray('java.lang.Short',2)

Regardless, you have opened up another door of possibility. I went ahead and submitted the bug report it's "bug #38821: Support for java.lang.Byte / NoSuchMethodException"

Thanks
Scott



On Wed, Apr 24, 2013 at 11:06 AM, PhilipNienhuis <address@hidden> wrote:
scotth2o wrote
> Hello,
>
> I'm trying to make octave communicate with a java API used for ssh/sftp
> etc ... I'm using java 1.2.9 & octave 3.4.3 on (old) fedora linux. The
> java method requires the following:
>
>  byte[] readMatlab(ch.ethz.ssh2.SFTPv3FileHandle, long, byte[], int, int)
>
> The following syntax works in matlab:
>
>     >> out=h.readMatlab(fid.filehandel,...
>                                     uint32(fid.fileoffset), ...
>                                     uint8(zeros(1,nsz)), ...
>                                     uint16(0), ...
>                                     uint16(nsz))
>
> I've tried several variations of the matlab syntax above and I think the
> best guess at something that should work in octave is below.
>
>             >>        iout=javaArray('java.lang.Byte',nsz);
>             >>        iout=java_invoke(h,'readMatlab', ...
>                                fid.filehandel,...
>                                java_new('java.lang.Long',fid.fileoffset),
> ...
>                                javaArray('java.lang.Byte',nsz), ...
>                                java_new('java.lang.Integer',0), ...
>                                java_new('java.lang.Integer',nsz));
>
> Unfortunately it doesn't work & I'm wondering where to look for additional
> debug information. My guess is the java byte array is what is screwing
> things up  & I think it all boils down to the following line which I can't
> make run.
>
>   >> aa= javaObject('java.lang.Byte',uint8(1));
>
> Any advice is appreciated.  Thanks in advance & best regards

Sorry, I forgot to mention that there's another, quicker fix:


octave-3.6.4-rc1:3> cc = javaObject ("java.lang.Short", 1).byteValue
cc =

<Java object: java.lang.Byte>


I've often use this trick for creating Java classes that looked unreachable,
but it doesn't always work.

After peeking in ClassHelper.java and the Java on-line rt docs it doesn't
seem to be so easy as I figured, first of all I have to find out if Byte is
a numeric or character class.
If the above trick works for you, I think we'd better leave this issue alone
for now.

Philip




--
View this message in context: http://octave.1599824.n4.nabble.com/java-package-aa-javaObject-java-lang-Byte-uint8-1-tp4652216p4652282.html
Sent from the Octave - General mailing list archive at Nabble.com.
_______________________________________________
Help-octave mailing list
address@hidden
https://mailman.cae.wisc.edu/listinfo/help-octave



--
Scott Haynes
112 Barbara St.
Louisville CO 80027
307-760-0543

reply via email to

[Prev in Thread] Current Thread [Next in Thread]