Skip to content

Commit d3c6f53

Browse files
authored
Merge pull request #9 from nats-io/repackage-and-2-0-0
Repackage requiring major version.
2 parents 4d5038f + 14cae99 commit d3c6f53

14 files changed

+136
-63
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ plugins {
1111
id 'signing'
1212
}
1313

14-
def jarVersion = "1.5.3"
14+
def jarVersion = "2.0.0"
1515
group = 'io.nats'
1616

1717
def isMerge = System.getenv("BUILD_EVENT") == "push"

src/main/java/io/nats/client/support/DateTimeUtils.java renamed to src/main/java/io/nats/json/DateTimeUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
// See the License for the specific language governing permissions and
1212
// limitations under the License.
1313

14-
package io.nats.client.support;
14+
package io.nats.json;
1515

1616
import java.time.Duration;
1717
import java.time.Instant;

src/main/java/io/nats/client/support/Encoding.java renamed to src/main/java/io/nats/json/Encoding.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
// See the License for the specific language governing permissions and
1212
// limitations under the License.
1313

14-
package io.nats.client.support;
14+
package io.nats.json;
1515

1616
import java.io.UnsupportedEncodingException;
1717
import java.net.URLDecoder;

src/main/java/io/nats/client/support/JsonParseException.java renamed to src/main/java/io/nats/json/JsonParseException.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package io.nats.client.support;
1+
package io.nats.json;
22

33
import java.io.IOException;
44

src/main/java/io/nats/client/support/JsonParser.java renamed to src/main/java/io/nats/json/JsonParser.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
// See the License for the specific language governing permissions and
1212
// limitations under the License.
1313

14-
package io.nats.client.support;
14+
package io.nats.json;
1515

1616
import java.math.BigDecimal;
1717
import java.math.BigInteger;
@@ -21,8 +21,6 @@
2121
import java.util.List;
2222
import java.util.Map;
2323

24-
import static io.nats.client.support.JsonValue.NULL;
25-
2624
public class JsonParser {
2725

2826
public enum Option {KEEP_NULLS}
@@ -160,7 +158,7 @@ public JsonParser(char[] json, int startIndex, Option... options) {
160158
public JsonValue parse() throws JsonParseException {
161159
char c = peekToken();
162160
if (c == 0) {
163-
return NULL;
161+
return JsonValue.NULL;
164162
}
165163
return nextValue();
166164
}
@@ -253,7 +251,7 @@ private Map<String, JsonValue> nextObject() throws JsonParseException {
253251
}
254252

255253
JsonValue value = nextValue();
256-
if (value != NULL || keepNulls) {
254+
if (value != JsonValue.NULL || keepNulls) {
257255
map.put(key, value);
258256
}
259257

src/main/java/io/nats/client/support/JsonSerializable.java renamed to src/main/java/io/nats/json/JsonSerializable.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
// See the License for the specific language governing permissions and
1212
// limitations under the License.
1313

14-
package io.nats.client.support;
14+
package io.nats.json;
1515

1616
import java.nio.charset.StandardCharsets;
1717

src/main/java/io/nats/client/support/JsonValue.java renamed to src/main/java/io/nats/json/JsonValue.java

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,20 @@
1111
// See the License for the specific language governing permissions and
1212
// limitations under the License.
1313

14-
package io.nats.client.support;
14+
package io.nats.json;
15+
16+
import static io.nats.json.Encoding.jsonEncode;
17+
import static io.nats.json.JsonWriteUtils.addField;
1518

1619
import java.math.BigDecimal;
1720
import java.math.BigInteger;
18-
import java.util.*;
19-
20-
import static io.nats.client.support.Encoding.jsonEncode;
21-
import static io.nats.client.support.JsonWriteUtils.*;
21+
import java.util.ArrayList;
22+
import java.util.Arrays;
23+
import java.util.Collections;
24+
import java.util.HashMap;
25+
import java.util.List;
26+
import java.util.Map;
27+
import java.util.Objects;
2228

2329
public class JsonValue implements JsonSerializable {
2430

@@ -226,16 +232,16 @@ private String valueString(Map<String, JsonValue> map) {
226232
addField(sbo, key, map.get(key));
227233
}
228234
}
229-
return endJson(sbo).toString();
235+
return JsonWriteUtils.endJson(sbo).toString();
230236
}
231237

232238
private String valueString(List<JsonValue> list) {
233-
StringBuilder sba = beginArray();
239+
StringBuilder sba = JsonWriteUtils.beginArray();
234240
for (JsonValue v : list) {
235241
sba.append(v.toJson());
236242
sba.append(COMMA);
237243
}
238-
return endArray(sba).toString();
244+
return JsonWriteUtils.endArray(sba).toString();
239245
}
240246

241247
@Override

src/main/java/io/nats/client/support/JsonValueUtils.java renamed to src/main/java/io/nats/json/JsonValueUtils.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,26 @@
1111
// See the License for the specific language governing permissions and
1212
// limitations under the License.
1313

14-
package io.nats.client.support;
14+
package io.nats.json;
15+
16+
import static io.nats.json.JsonValue.EMPTY_ARRAY;
17+
import static io.nats.json.JsonValue.EMPTY_MAP;
18+
import static io.nats.json.JsonValue.Type;
1519

1620
import java.math.BigDecimal;
1721
import java.math.BigInteger;
1822
import java.nio.charset.StandardCharsets;
1923
import java.time.Duration;
2024
import java.time.ZonedDateTime;
21-
import java.util.*;
25+
import java.util.ArrayList;
26+
import java.util.Base64;
27+
import java.util.Collection;
28+
import java.util.HashMap;
29+
import java.util.List;
30+
import java.util.Map;
31+
import java.util.Set;
2232
import java.util.function.Function;
2333

24-
import static io.nats.client.support.JsonValue.*;
25-
2634
/**
2735
* Internal json value helpers.
2836
*/

src/main/java/io/nats/client/support/JsonWriteUtils.java renamed to src/main/java/io/nats/json/JsonWriteUtils.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,18 @@
1111
// See the License for the specific language governing permissions and
1212
// limitations under the License.
1313

14-
package io.nats.client.support;
14+
package io.nats.json;
15+
16+
import static io.nats.json.DateTimeUtils.DEFAULT_TIME;
17+
import static io.nats.json.Encoding.jsonEncode;
18+
import static io.nats.json.JsonValueUtils.instance;
1519

1620
import java.time.Duration;
1721
import java.time.ZonedDateTime;
1822
import java.util.Arrays;
1923
import java.util.List;
2024
import java.util.Map;
2125

22-
import static io.nats.client.support.DateTimeUtils.DEFAULT_TIME;
23-
import static io.nats.client.support.Encoding.jsonEncode;
24-
import static io.nats.client.support.JsonValueUtils.instance;
25-
2626
public abstract class JsonWriteUtils {
2727
public static final String Q = "\"";
2828
public static final String QCOLONQ = "\":\"";

src/main/javadoc/overview.html

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,9 @@
1616
<html>
1717
<head></head>
1818
<body>
19-
Java implementation of NATS NKEYS used in the <a href="http://nats.io">NATs messaging system</a>.
19+
A simple JSON parser and utilities written in Java, extracted from JNATS</a>.
2020
<p><img src="large-logo.png" alt="nats logo"></p>
2121

22-
<p>NATS Server is a simple, high performance open source messaging system for cloud native applications, IoT messaging, and microservices architectures.
23-
This Java API opens the server to Java applications. The API is performant, supporting millions of messages a second, and easy to use.
24-
</p>
25-
26-
<p>The library allows you to create and use NKEYS in Java code.</p>
27-
2822
<p><em>This package is implemented with Java 8 features.</em></p>
2923

3024
</body>

src/test/java/io/nats/client/support/DateTimeUtilsTests.java renamed to src/test/java/io/nats/json/DateTimeUtilsTests.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,18 @@
1111
// See the License for the specific language governing permissions and
1212
// limitations under the License.
1313

14-
package io.nats.client.support;
14+
package io.nats.json;
1515

16-
import org.junit.jupiter.api.Test;
16+
import static org.junit.jupiter.api.Assertions.assertEquals;
17+
import static org.junit.jupiter.api.Assertions.assertFalse;
18+
import static org.junit.jupiter.api.Assertions.assertTrue;
1719

1820
import java.time.Duration;
1921
import java.time.Instant;
2022
import java.time.ZoneId;
2123
import java.time.ZonedDateTime;
2224

23-
import static org.junit.jupiter.api.Assertions.*;
25+
import org.junit.jupiter.api.Test;
2426

2527
public final class DateTimeUtilsTests {
2628

src/test/java/io/nats/client/support/JsonEncodingTests.java renamed to src/test/java/io/nats/json/JsonEncodingTests.java

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,22 @@
1111
// See the License for the specific language governing permissions and
1212
// limitations under the License.
1313

14-
package io.nats.client.support;
14+
package io.nats.json;
1515

16-
import io.ResourceUtils;
17-
import org.junit.jupiter.api.Test;
16+
import static io.nats.json.Encoding.base64UrlDecode;
17+
import static io.nats.json.Encoding.fromBase64Url;
18+
import static io.nats.json.Encoding.jsonDecode;
19+
import static io.nats.json.Encoding.jsonEncode;
20+
import static io.nats.json.Encoding.toBase64Url;
21+
import static io.nats.json.Encoding.uriDecode;
22+
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
23+
import static org.junit.jupiter.api.Assertions.assertEquals;
1824

1925
import java.util.List;
2026

21-
import static io.nats.client.support.Encoding.*;
22-
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
23-
import static org.junit.jupiter.api.Assertions.assertEquals;
27+
import org.junit.jupiter.api.Test;
28+
29+
import io.ResourceUtils;
2430

2531
public final class JsonEncodingTests {
2632
@Test

src/test/java/io/nats/client/support/JsonParsingTests.java renamed to src/test/java/io/nats/json/JsonParsingTests.java

Lines changed: 44 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,25 +11,57 @@
1111
// See the License for the specific language governing permissions and
1212
// limitations under the License.
1313

14-
package io.nats.client.support;
15-
16-
import io.ResourceUtils;
17-
import nl.jqno.equalsverifier.EqualsVerifier;
18-
import nl.jqno.equalsverifier.Warning;
19-
import org.junit.jupiter.api.Test;
14+
package io.nats.json;
15+
16+
import static io.nats.json.Encoding.jsonEncode;
17+
import static io.nats.json.JsonParser.Option;
18+
import static io.nats.json.JsonParser.Option.KEEP_NULLS;
19+
import static io.nats.json.JsonParser.parse;
20+
import static io.nats.json.JsonParser.parseUnchecked;
21+
import static io.nats.json.JsonValueUtils.ArrayBuilder;
22+
import static io.nats.json.JsonValueUtils.MapBuilder;
23+
import static io.nats.json.JsonValueUtils.arrayBuilder;
24+
import static io.nats.json.JsonValueUtils.getInteger;
25+
import static io.nats.json.JsonValueUtils.getLong;
26+
import static io.nats.json.JsonValueUtils.instance;
27+
import static io.nats.json.JsonValueUtils.mapBuilder;
28+
import static io.nats.json.JsonValueUtils.read;
29+
import static io.nats.json.JsonValueUtils.readBoolean;
30+
import static io.nats.json.JsonValueUtils.readDate;
31+
import static io.nats.json.JsonValueUtils.readInteger;
32+
import static io.nats.json.JsonValueUtils.readLong;
33+
import static io.nats.json.JsonValueUtils.readNanos;
34+
import static io.nats.json.JsonValueUtils.readNanosList;
35+
import static io.nats.json.JsonValueUtils.readObject;
36+
import static io.nats.json.JsonValueUtils.readOptionalStringList;
37+
import static io.nats.json.JsonValueUtils.readString;
38+
import static io.nats.json.JsonValueUtils.readStringList;
39+
import static io.nats.json.JsonValueUtils.readStringListIgnoreEmpty;
40+
import static io.nats.json.JsonValueUtils.readStringStringMap;
41+
import static io.nats.json.JsonValueUtils.readValue;
42+
import static org.junit.jupiter.api.Assertions.assertEquals;
43+
import static org.junit.jupiter.api.Assertions.assertFalse;
44+
import static org.junit.jupiter.api.Assertions.assertNotNull;
45+
import static org.junit.jupiter.api.Assertions.assertNull;
46+
import static org.junit.jupiter.api.Assertions.assertThrows;
47+
import static org.junit.jupiter.api.Assertions.assertTrue;
2048

2149
import java.math.BigDecimal;
2250
import java.math.BigInteger;
2351
import java.time.DateTimeException;
2452
import java.time.Duration;
2553
import java.time.ZonedDateTime;
26-
import java.util.*;
54+
import java.util.ArrayList;
55+
import java.util.HashMap;
56+
import java.util.HashSet;
57+
import java.util.List;
58+
import java.util.Map;
2759

28-
import static io.nats.client.support.Encoding.jsonEncode;
29-
import static io.nats.client.support.JsonParser.*;
30-
import static io.nats.client.support.JsonParser.Option.KEEP_NULLS;
31-
import static io.nats.client.support.JsonValueUtils.*;
32-
import static org.junit.jupiter.api.Assertions.*;
60+
import org.junit.jupiter.api.Test;
61+
62+
import io.ResourceUtils;
63+
import nl.jqno.equalsverifier.EqualsVerifier;
64+
import nl.jqno.equalsverifier.Warning;
3365

3466
public final class JsonParsingTests {
3567

src/test/java/io/nats/client/support/JsonWriteUtilsTests.java renamed to src/test/java/io/nats/json/JsonWriteUtilsTests.java

Lines changed: 35 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,45 @@
1111
// See the License for the specific language governing permissions and
1212
// limitations under the License.
1313

14-
package io.nats.client.support;
15-
16-
import io.ResourceUtils;
17-
import org.junit.jupiter.api.Test;
14+
package io.nats.json;
15+
16+
import static io.nats.json.DateTimeUtils.DEFAULT_TIME;
17+
import static io.nats.json.JsonWriteUtils._addList;
18+
import static io.nats.json.JsonWriteUtils.addDurations;
19+
import static io.nats.json.JsonWriteUtils.addEnumWhenNot;
20+
import static io.nats.json.JsonWriteUtils.addField;
21+
import static io.nats.json.JsonWriteUtils.addFieldAsNanos;
22+
import static io.nats.json.JsonWriteUtils.addFieldEvenEmpty;
23+
import static io.nats.json.JsonWriteUtils.addFieldWhenGreaterThan;
24+
import static io.nats.json.JsonWriteUtils.addFieldWhenGtZero;
25+
import static io.nats.json.JsonWriteUtils.addFieldWhenGteMinusOne;
26+
import static io.nats.json.JsonWriteUtils.addFldWhenTrue;
27+
import static io.nats.json.JsonWriteUtils.addJsons;
28+
import static io.nats.json.JsonWriteUtils.addRawJson;
29+
import static io.nats.json.JsonWriteUtils.addStrings;
30+
import static io.nats.json.JsonWriteUtils.beginFormattedJson;
31+
import static io.nats.json.JsonWriteUtils.beginJson;
32+
import static io.nats.json.JsonWriteUtils.beginJsonPrefixed;
33+
import static io.nats.json.JsonWriteUtils.endFormattedJson;
34+
import static io.nats.json.JsonWriteUtils.endJson;
35+
import static io.nats.json.JsonWriteUtils.printFormatted;
36+
import static io.nats.json.JsonWriteUtils.safeParseLong;
37+
import static io.nats.json.JsonWriteUtils.toKey;
38+
import static org.junit.jupiter.api.Assertions.assertEquals;
39+
import static org.junit.jupiter.api.Assertions.assertFalse;
40+
import static org.junit.jupiter.api.Assertions.assertTrue;
1841

1942
import java.time.Duration;
2043
import java.time.ZonedDateTime;
21-
import java.util.*;
44+
import java.util.ArrayList;
45+
import java.util.HashMap;
46+
import java.util.List;
47+
import java.util.Map;
48+
import java.util.Objects;
2249

23-
import static io.nats.client.support.DateTimeUtils.DEFAULT_TIME;
24-
import static io.nats.client.support.JsonWriteUtils.*;
25-
import static org.junit.jupiter.api.Assertions.*;
50+
import org.junit.jupiter.api.Test;
51+
52+
import io.ResourceUtils;
2653

2754
public final class JsonWriteUtilsTests {
2855

0 commit comments

Comments
 (0)