I also took a look, and tried a larger array -- the attached workflow processes 30K integers through an array and back out again, and works fine. So there isn't an inherent limit at 20K elements. So I'm not quite sure what's happening with yours, but maybe this will help to debug.<div>
<br></div><div>Matt</div><div><br></div><br><div class="gmail_quote">On Mon, May 21, 2012 at 8:32 AM, Christopher Brooks <span dir="ltr"><<a href="mailto:cxh@eecs.berkeley.edu" target="_blank">cxh@eecs.berkeley.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">HI Stefan,<br>
A quick search of the web shows no apparent limits.<br>
A more complete test case would help.<br>
<br>
The way I would approach this is by splitting up the problem into first just reading the data and being sure that worked and then adding more like encoding.<br>
<br>
_Christopher<div class="HOEnZb"><div class="h5"><br>
<br>
On 5/21/12 9:20 AM, Stefan Proell wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Dear Mailing list,<br>
I wrote my own Actor which I need in order to encode binary files via Base64 and pass the resulting encoded String to a REST Service. I feed the binary file with a BinaryFileReader-Actor to my encoding Actor and cast the Token to an Array, as I found no other solution to receive the bytes from the file. I then use a standard (and also deprecated) method for encoding the file first to Base64 and then send it through some URL-safe encoding. The method looks like this:<br>
<br>
<br>
@Override<br>
public void fire() throws IllegalActionException {<br>
<br>
super.fire();<br>
<br>
// Read file from InputPort and convert to a ByteArray<br>
ArrayToken inputToken = (ArrayToken) inputPort.get(0);<br>
byte[] inputBytes = ArrayToken.<u></u>arrayTokenToUnsignedByteArray(<u></u>inputToken);<br>
<br>
// Encoding<br>
String encode = new String(Base64.encodeBase64(<u></u>inputBytes));<br>
String encodedString = java.net.URLEncoder.encode(<u></u>encode);<br>
<br>
output.send(0, new StringToken(encodedString));<br>
<br>
}<br>
<br>
My problem is that the encoded file is truncated by the actor and hence not usable for further processing. There seems to be a limit of 20 000 array elements (bytes), which is not sufficient for my purpose. Does anyone have an idea why the file is chopped off after 20k letters?<br>
<br>
Thanks in advance,<br>
Stefan<br>
<br>
______________________________<u></u>_________________<br>
Kepler-users mailing list<br>
<a href="mailto:Kepler-users@kepler-project.org" target="_blank">Kepler-users@kepler-project.<u></u>org</a><br>
<a href="http://lists.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-users" target="_blank">http://lists.nceas.ucsb.edu/<u></u>kepler/mailman/listinfo/<u></u>kepler-users</a><br>
</blockquote>
<br></div></div><span class="HOEnZb"><font color="#888888">
-- <br>
Christopher Brooks, PMP University of California<br>
CHESS Executive Director US Mail: 337 Cory Hall<br>
Programmer/Analyst CHESS/Ptolemy/Trust Berkeley, CA 94720-1774<br>
ph: <a href="tel:510.643.9841" value="+15106439841" target="_blank">510.643.9841</a> (Office: 545Q Cory)<br>
home: (F-Tu) <a href="tel:707.665.0131" value="+17076650131" target="_blank">707.665.0131</a> cell: <a href="tel:707.332.0670" value="+17073320670" target="_blank">707.332.0670</a></font></span><div class="HOEnZb"><div class="h5">
<br>
<br>
______________________________<u></u>_________________<br>
Kepler-users mailing list<br>
<a href="mailto:Kepler-users@kepler-project.org" target="_blank">Kepler-users@kepler-project.<u></u>org</a><br>
<a href="http://lists.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-users" target="_blank">http://lists.nceas.ucsb.edu/<u></u>kepler/mailman/listinfo/<u></u>kepler-users</a><br>
</div></div></blockquote></div><br>