[ 
https://issues.apache.org/jira/browse/LANG-341?focusedWorklogId=573268&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-573268
 ]

ASF GitHub Bot logged work on LANG-341:
---------------------------------------

                Author: ASF GitHub Bot
            Created on: 28/Mar/21 22:16
            Start Date: 28/Mar/21 22:16
    Worklog Time Spent: 10m 
      Work Description: yurelle commented on pull request #219:
URL: https://github.com/apache/commons-lang/pull/219#issuecomment-808968232


   Ok, I fixed the merge conflicts and all the new build style tests that have 
been added since I first made this PR back in 2016. And the build works for 
Java 8, but it is dying on the Java 16 build. The errors are complaining about 
stuff that I didn't touch, so I don't think this is my doing.
   
   Also, back when I wrote all this code, I wasn't allowed to use stuff that 
was added in Java 8 (specifically the BYTES static property that was added to 
the Primitive object classes). So, I manually created equivalent integer 
constants in the Conversion class. However, judging by the versions in the 
automated builds, it appears that java 8 is now the min supported version. If 
that is the case, then I can update this code to use the Java 8 BYTES fields, 
and remove the integer constants. Can you confirm if I'm allowed to use stuff 
that was introduced in Java 8?
   
   Also, @dmjones mentioned a desire to have the PR broken up into chunks to 
make review easier. I can do that if you want, but I need to know how small you 
want those chunks to be. My original commit message split the changes into 4 
groups of functions:
   - primitive to byte[] and back
   - hex to primitive and back
   - bit strings
   - invert bit order
   
   Would these 4 PR's be sufficient? or do you want it more fine grained?
   
   As for the whitespace, Intellij did it automatically; I'm not sure how to 
undo it.
   
   -Yurelle
   
   P.S. Sorry for leaving this in limbo for so long, but I've had depression 
for several years, and with a full-time job, I haven't had the energy to do 
much else. But I've had some time recently, and I'd like to finally get this 
finished, if yall still want it.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Issue Time Tracking
-------------------

    Worklog Id:     (was: 573268)
    Time Spent: 0.5h  (was: 20m)

> Add number to byte array methods
> --------------------------------
>
>                 Key: LANG-341
>                 URL: https://issues.apache.org/jira/browse/LANG-341
>             Project: Commons Lang
>          Issue Type: New Feature
>          Components: lang.*
>            Reporter: Lilianne E. Blaze
>            Priority: Major
>             Fix For: Discussion
>
>         Attachments: 341-v1-src.patch, 341-v1-test.patch, LANG-341-2.patch, 
> LANG-341.patch
>
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> Hello,
> I need a set of methods to convert Long to or from a byte[] array, as if
> writing / reading from Data(Input/Output)Stream(
> ByteArray(Input/Output)Stream ).
> First, doing it with Streams seems a bit wasteful, second, it seems a
> pretty general use. Would it be possible to add something like that to,
> for example,
> org.apache.commons.lang.math.NumberUtils?
> Example code:
> {code:java}
> static public long toLong(byte[] b)
>   {
>     return toLong(b, 0);
>   }
>   
>   static public long toLong(byte[] b, int offset)
>   {
>     return (((long)b[offset] << 56) +
>         ((long)(b[offset + 1] & 255) << 48) +
>         ((long)(b[offset + 2] & 255) << 40) +
>         ((long)(b[offset + 3] & 255) << 32) +
>         ((long)(b[offset + 4] & 255) << 24) +
>         ((b[offset + 5] & 255) << 16) +
>         ((b[offset + 6] & 255) <<  8) +
>         ((b[offset + 7] & 255) <<  0));
>   }
>   
>   static public byte[] longToByteArray(long l)
>   {
>     byte b[] = new byte[8];
>     longToByteArray(l, b, 0);
>     return b;
>   }
>   
>   static public void longToByteArray(long l, byte b[], int offset)
>   {
>     b[offset] = (byte)(l >>> 56);
>     b[offset + 1] = (byte)(l >>> 48);
>     b[offset + 2] = (byte)(l >>> 40);
>     b[offset + 3] = (byte)(l >>> 32);
>     b[offset + 4] = (byte)(l >>> 24);
>     b[offset + 5] = (byte)(l >>> 16);
>     b[offset + 6] = (byte)(l >>>  8);
>     b[offset + 7] = (byte)(l >>>  0);
>   }
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to