Skip to content

Instantly share code, notes, and snippets.

Created April 22, 2017 20:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/8c1c9be267f04facfa8f8ccd5a11c408 to your computer and use it in GitHub Desktop.
Save anonymous/8c1c9be267f04facfa8f8ccd5a11c408 to your computer and use it in GitHub Desktop.
PIVOT-993 Patch
Index: core/src/org/apache/pivot/util/Version.java
===================================================================
--- core/src/org/apache/pivot/util/Version.java (revision 1544924)
+++ core/src/org/apache/pivot/util/Version.java (working copy)
@@ -28,10 +28,10 @@
public class Version implements Comparable<Version>, Serializable {
private static final long serialVersionUID = -3677773163272115116L;
- private byte majorRevision = 0;
- private byte minorRevision = 0;
- private byte maintenanceRevision = 0;
- private byte updateRevision = 0;
+ private short majorRevision = 0;
+ private short minorRevision = 0;
+ private short maintenanceRevision = 0;
+ private short updateRevision = 0;
private String build = null;
public Version(int majorRevision, int minorRevision, int maintenanceRevision,
@@ -41,61 +41,61 @@
public Version(int majorRevision, int minorRevision, int maintenanceRevision,
int updateRevision, String build) {
- if (majorRevision > 0x7f) {
+ if (majorRevision > 0x7fff) {
throw new IllegalArgumentException("majorRevision must be less than "
- + 0x7f + ".");
+ + 0x7fff + ".");
}
- if (minorRevision > 0xff) {
+ if (minorRevision > 0x7fff) {
throw new IllegalArgumentException("minorRevision must be less than "
- + 0xff + ".");
+ + 0x7fff + ".");
}
- if (maintenanceRevision > 0xff) {
+ if (maintenanceRevision > 0x7fff) {
throw new IllegalArgumentException("maintenanceRevision must be less than "
- + 0xff + ".");
+ + 0x7fff + ".");
}
- if (updateRevision > 0xff) {
+ if (updateRevision > 0x7fff) {
throw new IllegalArgumentException("updateRevision must be less than "
- + 0xff + ".");
+ + 0x7fff + ".");
}
- this.majorRevision = (byte)majorRevision;
- this.minorRevision = (byte)minorRevision;
- this.maintenanceRevision = (byte)maintenanceRevision;
- this.updateRevision = (byte)updateRevision;
+ this.majorRevision = (short)majorRevision;
+ this.minorRevision = (short)minorRevision;
+ this.maintenanceRevision = (short)maintenanceRevision;
+ this.updateRevision = (short)updateRevision;
this.build = build;
}
- public byte getMajorRevision() {
+ public short getMajorRevision() {
return majorRevision;
}
- public byte getMinorRevision() {
+ public short getMinorRevision() {
return minorRevision;
}
- public byte getMaintenanceRevision() {
+ public short getMaintenanceRevision() {
return maintenanceRevision;
}
- public byte getUpdateRevision() {
+ public short getUpdateRevision() {
return updateRevision;
}
- public int getNumber() {
- int number = ((majorRevision) & 0xff) << (8 * 3)
- | ((minorRevision) & 0xff) << (8 * 2)
- | ((maintenanceRevision) & 0xff) << (8 * 1)
- | ((updateRevision) & 0xff) << (8 * 0);
+ public long getNumber() {
+ long number = ((majorRevision) & 0xffff) << (16 * 3)
+ | ((minorRevision) & 0xffff) << (16 * 2)
+ | ((maintenanceRevision) & 0xffff) << (16 * 1)
+ | ((updateRevision) & 0xffff) << (16 * 0);
return number;
}
@Override
public int compareTo(Version version) {
- return (getNumber() - version.getNumber());
+ return new Long(getNumber()).compareTo(version.getNumber());
}
@Override
@@ -106,7 +106,7 @@
@Override
public int hashCode() {
- return getNumber();
+ return new Long(getNumber()).hashCode();
}
@Override
@@ -126,10 +126,10 @@
public static Version decode(String string) {
Version version = null;
- byte majorRevision = 0;
- byte minorRevision = 0;
- byte maintenanceRevision = 0;
- byte updateRevision = 0;
+ short majorRevision = 0;
+ short minorRevision = 0;
+ short maintenanceRevision = 0;
+ short updateRevision = 0;
String build = null;
String revision;
@@ -144,19 +144,19 @@
String[] revisionNumbers = revision.split("\\.");
if (revisionNumbers.length > 0) {
- majorRevision = Byte.parseByte(revisionNumbers[0]);
+ majorRevision = Short.parseShort(revisionNumbers[0]);
if (revisionNumbers.length > 1) {
- minorRevision = Byte.parseByte(revisionNumbers[1]);
+ minorRevision = Short.parseShort(revisionNumbers[1]);
if (revisionNumbers.length > 2) {
String[] maintenanceRevisionNumbers = revisionNumbers[2].split("_");
if (maintenanceRevisionNumbers.length > 0) {
- maintenanceRevision = Byte.parseByte(maintenanceRevisionNumbers[0]);
+ maintenanceRevision = Short.parseShort(maintenanceRevisionNumbers[0]);
if (maintenanceRevisionNumbers.length > 1) {
- updateRevision = Byte.parseByte(maintenanceRevisionNumbers[1]);
+ updateRevision = Short.parseShort(maintenanceRevisionNumbers[1]);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment