meltwaterarchive / datasift-java Goto Github PK
View Code? Open in Web Editor NEWJava client to interface with DataSift
Home Page: http://www.datasift.com/
License: MIT License
Java client to interface with DataSift
Home Page: http://www.datasift.com/
License: MIT License
Can we make it possible to set a proxy host and port on the httpClient - raised in the following discussion - http://dev.datasift.com/discussions/how-configure-http-proxy-java-client-library
Arbitrarily recent (and legal) timestamps used as start and end times for historics().prepare() throw a JsonParsing Exception. Older timestamps seem to work fine.
Example snippet:
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
long end = cal.getTimeInMillis() / 1000;
cal.add(Calendar.DAY_OF_YEAR, -2);
long start = cal.getTimeInMillis() / 1000;
PreparedHistoricsQuery query = datasift.historics().prepare(stream.hash(), start, end, "fun with historics", sources).sync();
Here is the output:
Exception in thread "main" com.datasift.client.exceptions.JsonParsingException: Unable to decode JSON from DataSift response
at com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:52)
io.netty.util.internal.logging.Slf4JLogger 17:32:31,163 WARN DefaultChannelPipeline:151 - An exception was thrown by a user handler's exceptionCaught() method while handling the following exception:
com.datasift.client.exceptions.JsonParsingException: Unable to decode JSON from DataSift response
at com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:52)
at com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:37)
at io.higgs.http.client.readers.PageReader.done(PageReader.java:24)
at io.higgs.http.client.readers.Reader.setCompleted(Reader.java:77)
at io.higgs.http.client.Response.setCompleted(Response.java:72)
at io.higgs.http.client.ClientHandler.channelRead0(ClientHandler.java:57)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:153)
at com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:37)
at io.higgs.http.client.readers.PageReader.done(PageReader.java:24)
at io.higgs.http.client.readers.Reader.setCompleted(Reader.java:77)
at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:148)
at io.higgs.http.client.Response.setCompleted(Response.java:72)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:153)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:122)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:485)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:452)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:346)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101)
at java.lang.Thread.run(Thread.java:745)
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of java.util.LinkedHashMap out of START_ARRAY token
at [Source: java.io.StringReader@b2c9a9c; line: 1, column: 119](through reference chain: com.datasift.client.historics.PreparedHistoricsQuery["availability"]->com.datasift.client.historics.Availability["sources"]->com.datasift.client.historics.Source["augmentations"])
at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:164)
at com.fasterxml.jackson.databind.DeserializationContext.mappingException(DeserializationContext.java:599)
at com.fasterxml.jackson.databind.DeserializationContext.mappingException(DeserializationContext.java:593)
at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:306)
at io.higgs.http.client.ClientHandler.channelRead0(ClientHandler.java:57)
at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:26)
at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:375)
at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:98)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:308)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:121)
at com.fasterxml.jackson.databind.deser.std.MapDeserializer._readAndBindStringMap(MapDeserializer.java:429)
at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:310)
at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:26)
at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:375)
at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:98)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:308)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:121)
at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:375)
at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:107)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:308)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:121)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:2797)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:1943)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:49)
... 28 more
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:153)
at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:148)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:153)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:122)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:485)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:452)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:346)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101)
at java.lang.Thread.run(Thread.java:745)
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of java.util.LinkedHashMap out of START_ARRAY token
at [Source: java.io.StringReader@b2c9a9c; line: 1, column: 119](through reference chain: com.datasift.client.historics.PreparedHistoricsQuery["availability"]->com.datasift.client.historics.Availability["sources"]->com.datasift.client.historics.Source["augmentations"])
at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:164)
at com.fasterxml.jackson.databind.DeserializationContext.mappingException(DeserializationContext.java:599)
at com.fasterxml.jackson.databind.DeserializationContext.mappingException(DeserializationContext.java:593)
at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:306)
at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:26)
at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:375)
at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:98)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:308)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:121)
at com.fasterxml.jackson.databind.deser.std.MapDeserializer._readAndBindStringMap(MapDeserializer.java:429)
at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:310)
at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:26)
at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:375)
at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:98)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:308)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:121)
at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:375)
at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:107)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:308)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:121)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:2797)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:1943)
at com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:49)
... 28 more
While using pull the user can experience API errors resulting in an exception, these need to be handled more gracefully.
Stack trace:
2014-07-02 14:26:02 i.n.c.DefaultChannelPipeline [WARN] An exception was
thrown by a user handler's exceptionCaught() method while handling the
following exception:
com.datasift.client.exceptions.DataSiftException: Unknown error
at
com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:60)
~[stormjar.jar:na]
at
com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:37)
~[stormjar.jar:na]
at io.higgs.http.client.readers.PageReader.done(PageReader.java:24)
~[stormjar.jar:na]
at io.higgs.http.client.readers.Reader.setCompleted(Reader.java:77)
~[stormjar.jar:na]
at io.higgs.http.client.Response.setCompleted(Response.java:72)
~[stormjar.jar:na]
at
io.higgs.http.client.ClientHandler.channelRead0(ClientHandler.java:57)
~[stormjar.jar:na]
at
io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103)
~[stormjar.jar:na]
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:332)
[stormjar.jar:na]
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:318)
[stormjar.jar:na]
at
io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
[stormjar.jar:na]
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:332)
[stormjar.jar:na]
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:318)
[stormjar.jar:na]
at
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
[stormjar.jar:na]
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:332)
[stormjar.jar:na]
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:318)
[stormjar.jar:na]
at
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:163)
[stormjar.jar:na]
at
io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:148)
[stormjar.jar:na]
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:332)
[stormjar.jar:na]
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:318)
[stormjar.jar:na]
at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:990)
[stormjar.jar:na]
at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:873)
[stormjar.jar:na]
at
io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:241)
[stormjar.jar:na]
at
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:149)
[stormjar.jar:na]
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:332)
[stormjar.jar:na]
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:318)
[stormjar.jar:na]
at
io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:787)
[stormjar.jar:na]
at
io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:125)
[stormjar.jar:na]
at
io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:507)
[stormjar.jar:na]
at
io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:464)
[stormjar.jar:na]
at
io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:378)
[stormjar.jar:na]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:350)
[stormjar.jar:na]
at
io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
[stormjar.jar:na]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_55]
DataSiftClient dataSiftClient = new DataSiftClient(new DataSiftConfig("xxx", "xxx"));
Usage usage = dataSiftClient.usage(Period.HOUR).sync();
UsageStream stream = usage.getStreams();
System.out.println(usage.getResponse().data());
Returns:
{"start":"Thu, 27 Aug 2015 08:50:00 +0000","end":"Thu, 27 Aug 2015 09:50:00 +0000","streams":{"1bb086ff4f9d58cca88a1cb706968652":{"licenses":[],"seconds":3600},"293e675770333ca7696da411109633d6":{"licenses":[],"seconds":3600},"2f8540ed0f2056bd6b0db4cba7eceff5":{"licenses":
... ... ..
System.out.println(stream.getLicenses());
Returns:
null
Seems like the response data is not set into UsageStream, or is it something I missed out?
The dependency tree of datasift-java artifact with version 3.2.16 is affected by CVE-2016-4970:
+- com.datasift.client:datasift-java:jar:3.2.16
| +- com.boundary:high-scale-lib:jar:1.0.6
| +- io.higgs:http-client:jar:0.0.22
| | +- io.higgs:core:jar:0.0.22
| | - io.netty:netty-all:jar:4.0.28.Final
As raised in this discussion - http://dev.datasift.com/discussions/responseerror-codes
After receiving certain response codes, such as 401 or 403, we continue to attempt to reconnect, where we should probably give up.
Change required here https://github.com/datasift/datasift-java/blob/develop/src/org/datasift/ApiClient.java#L63 to use SSL by default on REST API requests.
The function updateOrCreate is not using the given 'id' and is failing when you try to update an existing ManagedSource
Hi,
It seems that some past datasift-java releases have not been tagged into git repository.
From GitHub, it seems that latest release is 3.0.0-Beta2 whereas on Maven Central point to a 3.0.0-Beta3.1 release
Regards,
Hi,
I just started using this client library and ran into a problem. After changing line 21 (i.e. DataSiftConfig().auth) to my API information, I see the following exception thrown by line 49 (i.e. Usage usage = datasift.usage().sync();). Does anyone else see the following? Could someone look into this?
Thanks.
Albert
io.netty.util.internal.logging.Slf4JLogger 10:46:40,225 WARN DefaultChannelPipeline:151 - An exception was thrown by a user handler's exceptionCaught() method while handling the following exception:
com.datasift.client.exceptions.JsonParsingException: Unable to decode JSON from DataSift response
at com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:59)
at com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:41)
at io.higgs.http.client.future.PageReader.done(PageReader.java:29)
at io.higgs.http.client.future.Reader.setCompleted(Reader.java:52)
at io.higgs.http.client.Response.setCompleted(Response.java:69)
at io.higgs.http.client.ClientHandler.channelRead0(ClientHandler.java:57)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:153)
at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:148)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:153)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:122)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:485)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:452)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:346)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101)
at java.lang.Thread.run(Thread.java:744)
Caused by: com.fasterxml.jackson.databind.exc.InvalidFormatException: Can not construct instance of java.util.Date from String value 'Tue, 04 Mar 2014 15:45:00 +0000': not a valid representation (error: Failed to parse Date value 'Tue, 04 Mar 2014 15:45:00 +0000': Unparseable date: "Tue, 04 Mar 2014 15:45:00 +0000")
at [Source: java.io.StringReader@65e2fa47; line: 1, column: 2] (through reference chain: com.datasift.client.core.Usage["start"])
at com.fasterxml.jackson.databind.exc.InvalidFormatException.from(InvalidFormatException.java:55)
at com.fasterxml.jackson.databind.DeserializationContext.weirdStringException(DeserializationContext.java:650)
at com.fasterxml.jackson.databind.deser.std.StdDeserializer._parseDate(StdDeserializer.java:577)
at com.fasterxml.jackson.databind.deser.std.DateDeserializers$DateBasedDeserializer._parseDate(DateDeserializers.java:142)
at com.fasterxml.jackson.databind.deser.std.DateDeserializers$DateDeserializer.deserialize(DateDeserializers.java:227)
at com.fasterxml.jackson.databind.deser.std.DateDeserializers$DateDeserializer.deserialize(DateDeserializers.java:210)
at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:375)
at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:107)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:308)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:121)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:2797)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:1943)
at com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:55)
... 28 more
After resolving issues #73, #108 and #109, this still seems to be an issue in v3.2.16 of the client (latest version at time of writing).
com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of java.util.LinkedHashMap out of START_ARRAY token
at [Source: {"id":"xxx","dpus":30,"availability":{"start":"1481500800","end":"1481587200","sources":{"tumblr":{"augmentations":[],"versions":["3"],"status":100}}}}; line: 1, column: 133] (through reference chain: com.datasift.client.historics.PreparedHistoricsQuery["availability"]->com.datasift.client.historics.Availability["sources"]->java.util.LinkedHashMap["tumblr"]->com.datasift.client.historics.Source["augmentations"])
When there are no augmentations the response is an empty array []. In the source code, Augmentations are represented as a Map<String, Integer>
which is represented as {} in json notation. That is the cause of the error. Right now it is not possible to properly use this method in client
See #47 (comment)
The stack trace is:
2014-10-01 18:00:52.158 [nioEventLoopGroup-2-2] ERROR c.s.e.datasift.stream.ErrorHandler -Error in Datasift stream\
io.netty.handler.codec.EncoderException: java.lang.IllegalStateException: unexpected message type: UnpooledUnsafeDirectByteBuf\
at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:107) ~[netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.CombinedChannelDuplexHandler.write(CombinedChannelDuplexHandler.java:193) ~[netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:657) ~[netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:715) ~[netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:650) ~[netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:112) ~[netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:657) ~[netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:715) ~[netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:705) ~[netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:740) ~[netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:895) ~[netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:241) ~[netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.higgs.ws.client.WebSocketStream.send(WebSocketStream.java:51) ~[ws-client-0.0.8-1.jar:na]\
at com.datasift.client.stream.StreamingData.pushUnsentSubscriptions(StreamingData.java:239) [datasift-java-3.0.0-Beta3.5.jar:na]\
at com.datasift.client.stream.StreamingData.subscribe(StreamingData.java:225) [datasift-java-3.0.0-Beta3.5.jar:na]\
at com.datasift.client.stream.StreamingData$2.operationComplete(StreamingData.java:246) [datasift-java-3.0.0-Beta3.5.jar:na]\
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:682) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.util.concurrent.DefaultPromise.notifyLateListener(DefaultPromise.java:624) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.util.concurrent.DefaultPromise.addListener(DefaultPromise.java:144) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:93) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:28) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at com.datasift.client.stream.StreamingData.pushUnsentSubscriptions(StreamingData.java:239) [datasift-java-3.0.0-Beta3.5.jar:na]\
at com.datasift.client.stream.StreamingData.subscribe(StreamingData.java:225) [datasift-java-3.0.0-Beta3.5.jar:na]\
at com.datasift.client.stream.StreamingData$2.operationComplete(StreamingData.java:246) [datasift-java-3.0.0-Beta3.5.jar:na]\
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:682) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.util.concurrent.DefaultPromise.notifyLateListener(DefaultPromise.java:624) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.util.concurrent.DefaultPromise.addListener(DefaultPromise.java:144) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:93) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:28) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at com.datasift.client.stream.StreamingData.pushUnsentSubscriptions(StreamingData.java:239) [datasift-java-3.0.0-Beta3.5.jar:na]\
at com.datasift.client.stream.StreamingData.subscribe(StreamingData.java:225) [datasift-java-3.0.0-Beta3.5.jar:na]\
at com.datasift.client.stream.StreamingData$2.operationComplete(StreamingData.java:246) [datasift-java-3.0.0-Beta3.5.jar:na]\
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:682) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.util.concurrent.Defau\
t io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:28) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at com.datasift.client.stream.StreamingData.pushUnsentSubscriptions(StreamingData.java:239) [datasift-java-3.0.0-Beta3.5.jar:na]\
at com.datasift.client.stream.StreamingData.subscribe(StreamingData.java:225) [datasift-java-3.0.0-Beta3.5.jar:na]\
at com.datasift.client.stream.StreamingData$2.operationComplete(StreamingData.java:246) [datasift-java-3.0.0-Beta3.5.jar:na]\
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:682) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.util.concurrent.DefaultPromise.notifyLateListener(DefaultPromise.java:624) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.util.concurrent.DefaultPromise.addListener(DefaultPromise.java:144) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:93) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:28) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at com.datasift.client.stream.StreamingData.pushUnsentSubscriptions(StreamingData.java:239) [datasift-java-3.0.0-Beta3.5.jar:na]\
at com.datasift.client.stream.StreamingData.subscribe(StreamingData.java:225) [datasift-java-3.0.0-Beta3.5.jar:na]\
at com.datasift.client.stream.StreamingData$2.operationComplete(StreamingData.java:246) [datasift-java-3.0.0-Beta3.5.jar:na]\
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:682) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.util.concurrent.DefaultPromise.notifyLateListener(DefaultPromise.java:624) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.util.concurrent.DefaultPromise.addListener(DefaultPromise.java:144) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:93) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:28) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at com.datasift.client.stream.StreamingData.pushUnsentSubscriptions(StreamingData.java:239) [datasift-java-3.0.0-Beta3.5.jar:na]\
at com.datasift.client.stream.StreamingData.subscribe(StreamingData.java:225) [datasift-java-3.0.0-Beta3.5.jar:na]\
at com.datasift.client.stream.StreamingData$2.operationComplete(StreamingData.java:246) [datasift-java-3.0.0-Beta3.5.jar:na]\
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:682) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.util.concurrent.DefaultPromise.notifyLateListener(DefaultPromise.java:624) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.util.concurrent.DefaultPromise.addListener(DefaultPromise.java:144) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:93) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:28) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at com.datasift.client.stream.StreamingData.pushUnsentSubscriptions(StreamingData.java:239) [datasift-java-3.0.0-Beta3.5.jar:na]\
at com.datasift.client.stream.StreamingData.subscribe(StreamingData.java:225) [datasift-java-3.0.0-Beta3.5.jar:na]\
at com.datasift.client.stream.StreamingData$2.operationComplete(StreamingData.java:246) [datasift-java-3.0.0-Beta3.5.jar:na]\
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:682) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.util.concurrent.DefaultPromise$LateListeners.run(DefaultPromise.java:847) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.util.concurrent.DefaultPromise$LateListenerNotifier.run(DefaultPromise.java:875) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:370) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116) [netty-all-4.0.20.Final.jar:4.0.20.Final]\
at java.lang.Thread.run(Thread.java:722) [na:1.7.0_07]\
Caused by: java.lang.IllegalStateException: unexpected message type: UnpooledUnsafeDirectByteBuf\
Hi,
I can't find any reference for handling of Location Delete (scrub_geo) Messages (http://dev.datasift.com/docs/resources/location-delete-scrubgeo-messages) and
Twitter User Status Messages (http://dev.datasift.com/docs/resources/twitter-user-status-messages) in DataSift Java SDK.
I've been looking into StreamingData and StreamEventListener classes without finding a reference to this type of messages.
Regards,
When creating a Google+ managed source the Event types parameter needs to be passed as an array not a string, as per the example listed on the docs site.
At the moment source.addResource(Type.PEOPLE_UPDATES, "me");
will result in the following exception
{"error":"resources item must contain a valid \"event_types\" entry","original_error":"resources item must contain a valid \"event_types\" entry"}
In the User class method callAPI, the http code 201 is considered an error. But 201 is "Created". For instance, in the call to "resource/create" the success code is 201, but the library considers it as an error.
for 3.0.0-Beta3.1 making a call to client.validate(csdl).sync() with invalid CSDL never returns back to the caller.
Take some CSDL such as :
twitter.media exists
and
tiwitter.hashtags in "braves,freddiesfeed"
and submit to be validated and the Exception below comes back from the Call through the async request, but never gets bubbled back up to the validate() call as invalid CSDL. In reality should this request make it all the way through is the expectation that the message for the DataSiftException The target twitter.media does not exist end up residing in the error value of the DataSiftResult for display back to the user?
WARN : io.netty.channel.DefaultChannelPipeline - An exception was thrown by a user handler's exceptionCaught() method while handling the following exception:
com.datasift.client.exceptions.DataSiftException: The target twitter.media does not exist
at com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:68)
at com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:41)
at io.higgs.http.client.readers.PageReader.done(PageReader.java:24)
at io.higgs.http.client.readers.Reader.setCompleted(Reader.java:77)
at io.higgs.http.client.Response.setCompleted(Response.java:72)
at io.higgs.http.client.ClientHandler.channelRead0(ClientHandler.java:57)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:153)
at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:148)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:153)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:122)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:485)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:452)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:346)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101)
at java.lang.Thread.run(Thread.java:744)
Hi
I noticed the Instagram.addResource method uses the latitude instead of the distance when the type is set to location/area and no four square ID has been supplied:
parameterSet.set("distance", lattitude);
Also, the value variable is checked for null in the switch statement and an illegal argument exception is thrown. The "by location" methods on the Instagram class all supply a null as the value param.
Thanks
Alex
Dependency high-scale-lib v.1.0.3 is no longer available on Maven.
Can you specify high-scale-lib >= v.1.0.6 ?
The deserialization of PylonSampleInteraction.topicIds
seems too fail (probably because they are not representable by Integers).
Exception when calling method DataSiftPylon.sample()
:
com.fasterxml.jackson.core.JsonParseException: Numeric value (119435464813984) out of range of int
at [Source: java.io.StringReader@1e17c35d; line: 1, column: 1688]
at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1378)
at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:599)
at com.fasterxml.jackson.core.base.ParserBase.convertNumberToInt(ParserBase.java:835)
at com.fasterxml.jackson.core.base.ParserBase.getIntValue(ParserBase.java:631)
at com.fasterxml.jackson.databind.deser.std.StdDeserializer._parseInteger(StdDeserializer.java:305)
at com.fasterxml.jackson.databind.deser.std.NumberDeserializers$IntegerDeserializer.deserialize(NumberDeserializers.java:202)
at com.fasterxml.jackson.databind.deser.std.NumberDeserializers$IntegerDeserializer.deserialize(NumberDeserializers.java:187)
at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:226)
at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:203)
at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:23)
at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:375)
at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:107)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:308)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:121)
at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:375)
at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:107)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:308)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:121)
at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:226)
at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:203)
at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:23)
at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:375)
at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:107)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:308)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:121)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:2796)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:1942)
at com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:49)
A trivial implementation of this method never produces any output, whereas StreamSubscription.onMessage
is regularly invoked. This method is important to my project for confirmation of stream subscriptions.
In cases where we try to subscribe to an invalid stream hash, we will receive a 400 error from the Streaming API. Looking at https://github.com/datasift/datasift-java/blob/develop/src/org/datasift/streamconsumer/HttpMultiThread.java#L151-171, we can see that this will result in stopConsumer() being called - we should not be calling stopConsumer() if we have other active streams.
It seems that the onConnect and onClose methods are never called.
We have a new output_params.compression parameter for the FTP, SFTP, S3 Push connectors:
http://dev.datasift.com/docs/push/connectors/ftp
http://dev.datasift.com/docs/push/connectors/sftp
http://dev.datasift.com/docs/push/connectors/s3
It is optional and takes the values: 'none' (default) and 'gzip'.
For the HTTP push connector, the output_params.use_gzip parameter has been superseded by output_params.compression.
It is optional and takes the values: 'none' (default), 'zlib', and 'gzip'.
http://dev.datasift.com/docs/push/connectors/http
User agent string is out of date; suggests v.3.1.1 is actually 3.0.0
https://github.com/datasift/datasift-java/blob/1814c2aafb1424468a09af0338753736bd2722f8/src/main/java/com/datasift/client/DataSiftConfig.java#L37
We are using the datasift client (3.1.0 jar) streaming api and I see the CPU usage going up 100% after few hours and the application hangs. The datasift client thread is in runnable state and the thread dump is very similar to the netty epoll issue mentioned here - netty/netty#327
This happens very frequently and I'll provide the exact thread dump if this happens again (the original dump was deleted by accident).
The addition of Stream Hash id would be useful for use case getting Usage then retrieve all Stream ids currently running and the call stop(id) on these ids.
Use case: Customer allows users to enter a list of hashes, but one or more may be incorrect
Feature: Currently, the warning is swallowed. Would be helpful to have this information available.
sample response from stream.datasift.com/multi:
{"status":"warning","message":"73789db39017a290a2383135face194 is an invalid hash","hash":"73789db39017a290a2383135face194"}
I consistently get the following exception (from an ErrorListener#exceptionCaught(Throwable)
instance registered with StreamingData
) immediately after subscribing.
io.netty.handler.codec.EncoderException: java.lang.IllegalStateException: unexpected message type: UnpooledUnsafeDirectByteBuf
at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:107) [netty-all-4.0.12.Final.jar:na]
at io.netty.channel.CombinedChannelDuplexHandler.write(CombinedChannelDuplexHandler.java:193) ~[netty-all-4.0.12.Final.jar:na]
at io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:645) [netty-all-4.0.12.Final.jar:na]
at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:699) [netty-all-4.0.12.Final.jar:na]
at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:638) [netty-all-4.0.12.Final.jar:na]
at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:115) [netty-all-4.0.12.Final.jar:na]
at io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:645) [netty-all-4.0.12.Final.jar:na]
at io.netty.channel.DefaultChannelHandlerContext.access$2000(DefaultChannelHandlerContext.java:29) [netty-all-4.0.12.Final.jar:na]
at io.netty.channel.DefaultChannelHandlerContext$WriteTask.run(DefaultChannelHandlerContext.java:906) [netty-all-4.0.12.Final.jar:na]
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354) [netty-all-4.0.12.Final.jar:na]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353) [netty-all-4.0.12.Final.jar:na]
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101) [netty-all-4.0.12.Final.jar:na]
at java.lang.Thread.run(Thread.java:744) [na:1.7.0_45]
Caused by: java.lang.IllegalStateException: unexpected message type: UnpooledUnsafeDirectByteBuf
at io.netty.handler.codec.http.HttpObjectEncoder.encode(HttpObjectEncoder.java:80) ~[netty-all-4.0.12.Final.jar:na]
at io.netty.handler.codec.http.HttpClientCodec$Encoder.encode(HttpClientCodec.java:94) ~[netty-all-4.0.12.Final.jar:na]
at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:89) [netty-all-4.0.12.Final.jar:na]
... 12 common frames omitted
Workflow is very simple:
Stream
object.And I never seem to get any results, even for interactions containing common terms. Also of possible interest, I get these shortly after:
java.io.IOException: Connection reset by peer
at sun.nio.ch.FileDispatcherImpl.read0(Native Method) ~[na:1.7.0_45]
at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39) ~[na:1.7.0_45]
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) ~[na:1.7.0_45]
at sun.nio.ch.IOUtil.read(IOUtil.java:192) ~[na:1.7.0_45]
at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:379) ~[na:1.7.0_45]
at io.netty.buffer.UnpooledUnsafeDirectByteBuf.setBytes(UnpooledUnsafeDirectByteBuf.java:436) ~[netty-all-4.0.12.Final.jar:na]
Using 3.0.0-Beta1. Is this a problem in my environment or a bug with the library.
This was received while using the Java client, any idea what could have caused it?
io.netty.util.internal.logging.Slf4JLogger 10:04:46,769 WARN DefaultPromise:151 - An exception was thrown by io.higgs.http.client.Request$1.operationComplete()
io.netty.util.concurrent.BlockingOperationException: DefaultChannelPromise@65ef3cb0(incomplete)
at io.netty.util.concurrent.DefaultPromise.checkDeadLock(DefaultPromise.java:397)
at io.netty.channel.DefaultChannelPromise.checkDeadLock(DefaultChannelPromise.java:157)
at io.netty.util.concurrent.DefaultPromise.awaitUninterruptibly(DefaultPromise.java:290)
at io.netty.channel.DefaultChannelPromise.awaitUninterruptibly(DefaultChannelPromise.java:135)
at io.netty.channel.DefaultChannelPromise.awaitUninterruptibly(DefaultChannelPromise.java:28)
at io.higgs.http.client.POST.doRequest(POST.java:71)
at io.higgs.http.client.POST.makeTheRequest(POST.java:66)
at io.higgs.http.client.Request$1.operationComplete(Request.java:165)
at io.higgs.http.client.Request$1.operationComplete(Request.java:161)
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:682)
at io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:607)
at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:565)
at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:413)
at io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:82)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.fulfillConnectPromise(AbstractNioChannel.java:254)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:288)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:524)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:464)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:378)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:350)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
at java.lang.Thread.run(Thread.java:744)
io.netty.util.internal.logging.Slf4JLogger 10:04:48,913 WARN DefaultPromise:151 - An exception was thrown by io.higgs.http.client.Request$1.operationComplete()
io.netty.util.concurrent.BlockingOperationException: DefaultChannelPromise@6c5330ab(incomplete)
at io.netty.util.concurrent.DefaultPromise.checkDeadLock(DefaultPromise.java:397)
at io.netty.channel.DefaultChannelPromise.checkDeadLock(DefaultChannelPromise.java:157)
at io.netty.util.concurrent.DefaultPromise.awaitUninterruptibly(DefaultPromise.java:290)
at io.netty.channel.DefaultChannelPromise.awaitUninterruptibly(DefaultChannelPromise.java:135)
at io.netty.channel.DefaultChannelPromise.awaitUninterruptibly(DefaultChannelPromise.java:28)
at io.higgs.http.client.POST.doRequest(POST.java:71)
at io.higgs.http.client.POST.makeTheRequest(POST.java:66)
at io.higgs.http.client.Request$1.operationComplete(Request.java:165)
at io.higgs.http.client.Request$1.operationComplete(Request.java:161)
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:682)
at io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:607)
at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:565)
at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:413)
at io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:82)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.fulfillConnectPromise(AbstractNioChannel.java:254)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:288)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:524)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:464)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:378)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:350)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
at java.lang.Thread.run(Thread.java:744)
We have noticed a serious issue when using the Datasift Java Client. Below is the code we are using:
public static void main(String... args) throws InterruptedException {
try{
DataSiftConfig config = new DataSiftConfig("USERRNAME", "API_KEY");
final DataSiftClient datasift = new DataSiftClient(config);
datasift.shutdown();
} catch(Exception e) {
e.printStackTrace();
}
}
We have seen a thread is spawned and does not get killed when we invoke shutdown method of Datasift Client. The thread continues to be alive. This is creating a lot of unused resource and the system crawls to a halt
I have developed a java application that implements v3.1.1 of the api.
The app has been streaming data successfully for a few weeks.
Today, I received the following exception and no more interactions have been received since:-
java.net.ConnectException: Connection timed out: no further information: websocket.datasift.com/46.236.5.226:443
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.7.051]
at sun.nio.ch.SocketChannelImpl.finishConnect(Unknown Source) ~[na:1.7.051]
at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:208) ~[netty-all-4.0.20.Final.jar:4.0.20.Final]
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:287) ~[netty-all-4.0.20.Final.jar:4.0.20.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:524) ~[netty-all-4.0.20.Final.jar:4.0.20.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:464) ~[netty-all-4.0.20.Final.jar:4.0.20.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:378) ~[netty-all-4.0.20.Final.jar:4.0.20.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:350) ~[netty-all-4.0.20.Final.jar:4.0.20.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116) [netty-all-4.0.20.Final.jar:4.0.20.Final]
at java.lang.Thread.run(Unknown Source) [na:1.7.0_51]
Originally raised in https://support.datasift.com/hc/communities/public/questions/202199138-Streaming-Exception-Connection-timed-out
java.lang.IllegalStateException: Not connected
at io.higgs.ws.client.WebSocketStream.emit(WebSocketStream.java:48)
at com.datasift.client.stream.StreamingData.unsubscribe(StreamingData.java:198)
while executing datasiftClient.liveStream().unsubscribe(currentStream);
From discussion topic at https://support.datasift.com/hc/communities/public/questions/202596207-Exception-when-subscribing-to-a-stream-using-v3-2-0-or-v3-2-1:
Further to the issue "Streaming Exception - Connection timed out", I upgraded from v3.1.1 to v3.2.1 this morning and am getting the following when attempting to subscribe to a stream:-
com.datasift.client.stream.DataSiftConnection 11:09:36,953 WARN DataSiftConnection:179 - Failed to connect to DataSift, if enabled, client will reconnect
java.lang.NullPointerException
at com.datasift.client.stream.DataSiftConnection.connect(DataSiftConnection.java:174)
at com.datasift.client.stream.DataSiftConnection.<init>(DataSiftConnection.java:55)
at com.datasift.client.stream.ConnectionManager.subscribe(ConnectionManager.java:139)
at uk.co.insidertech.examples.DataSiftStream.main(DataSiftStream.java:73)
com.datasift.client.stream.DataSiftConnection 11:09:38,967 WARN DataSiftConnection:179 - Failed to connect to DataSift, if enabled, client will reconnect
java.lang.NullPointerException
at com.datasift.client.stream.DataSiftConnection.connect(DataSiftConnection.java:174)
at com.datasift.client.stream.DataSiftConnection.connect(DataSiftConnection.java:181)
at com.datasift.client.stream.DataSiftConnection.<init>(DataSiftConnection.java:55)
at com.datasift.client.stream.ConnectionManager.subscribe(ConnectionManager.java:139)
at uk.co.insidertech.examples.DataSiftStream.main(DataSiftStream.java:73)
com.datasift.client.stream.DataSiftConnection 11:09:42,974 WARN DataSiftConnection:179 - Failed to connect to DataSift, if enabled, client will reconnect
java.lang.NullPointerException
at com.datasift.client.stream.DataSiftConnection.connect(DataSiftConnection.java:174)
at com.datasift.client.stream.DataSiftConnection.connect(DataSiftConnection.java:181)
at com.datasift.client.stream.DataSiftConnection.connect(DataSiftConnection.java:181)
at com.datasift.client.stream.DataSiftConnection.<init>(DataSiftConnection.java:55)
at com.datasift.client.stream.ConnectionManager.subscribe(ConnectionManager.java:139)
at uk.co.insidertech.examples.DataSiftStream.main(DataSiftStream.java:73)
Test program:-
DataSiftConfig config = new DataSiftConfig("*******", "***********************************");
DataSiftClient datasift = new DataSiftClient(config);
String csdl = "twitter.user.screen_name == \"****\"";
Stream stream = datasift.compile(csdl).sync();
datasift.liveStream().onError(new ErrorHandler()); // handles stream errors
datasift.liveStream().onStreamEvent(new DeleteHandler()); // handles data deletes
datasift.liveStream().subscribe(new Subscription(stream));
I have gone back to v3.1.1 and this works.
Hi,
Since i updated the API version to 1.3 and the Java Library to 3.2.13, i have not been able to stop records with the method datasift.pylon().stop(PylonRecordingId pylonRecordingId), i always receive the same message com.datasift.client.exceptions.DataSiftException: id must be a valid id.
I tried to stop the records directly making the call to the stop endpoint(https://api.datasift.com/v1.3/pylon/stop) using Curl and the records are stop without any problem.
I am passing the PylonRecordingId in this manner new PylonRecordingId(record.getRecordingId()) as the parameter in the stop method.
Best Regards
Hello!
I'm trying to get a list of my datasift historics and I'm getting errors while deserializing an instance of HistoricsQueryList. I have the following unit test:
DataSiftConfig config = new DataSiftConfig("my_username", "my_key"); DataSiftClient datasift = new DataSiftClient(config); Stream stream = Stream.fromString("my_stream_hash"); HistoricsQueryList list = datasift.historics().list().sync();
I'm getting the following exception:
com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of com.datasift.client.historics.HistoricsQueryList out of START_OBJECT token
at [Source: java.io.StringReader@78dcb136; line: 1, column: 1
Since HistoricsQueryList implements List I guess Jackson is expecting a JSON array instead of object from API.
Am I doing something wrong? Thanks!
PreparedHistoricsQuery query =
datasift.historics().prepare(stream.hash(), fiveHrsAgo, fourHrsAgo,
name).sync();
causes an error:
com.datasift.client.exceptions.JsonParsingException: Unable to decode
JSON from DataSift response
at
com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:52)
at
com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:37)
at io.higgs.http.client.readers.PageReader.done(PageReader.java:24)
at io.higgs.http.client.readers.Reader.setCompleted(Reader.java:85)
at io.higgs.http.client.Response.setCompleted(Response.java:103)
at
io.higgs.http.client.ClientHandler.channelRead0(ClientHandler.java:65)
at
io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308)
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:294)
at
io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308)
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:294)
at
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308)
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:294)
at
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:244)
at
io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:147)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308)
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:294)
at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1069)
at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:939)
at
io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:327)
at
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:230)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308)
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:294)
at
io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:846)
at
io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131)
at
io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)
at
io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)
at
io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)
at
io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111)
at java.lang.Thread.run(Unknown Source)
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Can not
deserialize instance of java.util.LinkedHashMap out of START_ARRAY token
at [Source: java.io.StringReader@16beb40c; line: 1, column: 93]
(through reference chain:
com.datasift.client.historics.PreparedHistoricsQuery["availability"]->com.datasift.client.historics.Availability["sources"])
at
com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:164)
at
com.fasterxml.jackson.databind.DeserializationContext.mappingException(DeserializationContext.java:599)
at
com.fasterxml.jackson.databind.DeserializationContext.mappingException(DeserializationContext.java:593)
at
com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:306)
at
com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:26)
at
com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:375)
at
com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:98)
at
com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:308)
at
com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:121)
at
com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:375)
at
com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:107)
at
com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:308)
at
com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:121)
at
com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:2796)
at
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:1942)
at
com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:49)
... 32 more
It would be convenient if datasift-java were available in a public maven repo. Maybe central or sonatype-oss? I myself have never gone through this process, so I'm not sure how difficult it is. I understand if it would be too much hassle.
Short of that, do you mind if I publish releases of datasift-java to clojars.org, under a groupId I own? This would be a minor convenience for me right now, and would help when I release a library that depends on datasift-java (so that others can use this library without manually installing datasift-java into their local repo).
This issue is explained fully in a discussion topic - http://dev.datasift.com/discussions/onstopped-not-called-sometimes-when-account-runs-out-money
Hi,
I noticed a problem where DataSiftClient.compile(String) doesn't seem to work on long Strings. Could someone confirm/deny this? A mock CSDL is provided below along with the exception thrown.
Albert
Mar 05, 2014 10:54:33 AM io.netty.util.internal.logging.Slf4JLogger warn
WARNING: An exception was thrown by io.higgs.http.client.Request$1.operationComplete()
io.netty.util.concurrent.BlockingOperationException: DefaultChannelPromise@2cb57927(incomplete)
at io.netty.util.concurrent.DefaultPromise.checkDeadLock(DefaultPromise.java:373)
at io.netty.channel.DefaultChannelPromise.checkDeadLock(DefaultChannelPromise.java:157)
at io.netty.util.concurrent.DefaultPromise.awaitUninterruptibly(DefaultPromise.java:269)
at io.netty.channel.DefaultChannelPromise.awaitUninterruptibly(DefaultChannelPromise.java:135)
at io.netty.channel.DefaultChannelPromise.awaitUninterruptibly(DefaultChannelPromise.java:28)
at io.higgs.http.client.POST.doRequest(POST.java:71)
at io.higgs.http.client.POST.makeTheRequest(POST.java:66)
at io.higgs.http.client.Request$1.operationComplete(Request.java:165)
at io.higgs.http.client.Request$1.operationComplete(Request.java:161)
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:621)
at io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:586)
at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:543)
at io.netty.util.concurrent.DefaultPromise.setSuccess(DefaultPromise.java:380)
at io.netty.channel.DefaultChannelPromise.setSuccess(DefaultChannelPromise.java:76)
at io.netty.channel.DefaultChannelPromise.setSuccess(DefaultChannelPromise.java:71)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:229)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:502)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:452)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:346)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101)
at java.lang.Thread.run(Thread.java:744)
Mar 05, 2014 10:54:33 AM io.netty.util.internal.logging.Slf4JLogger warn
WARNING: An exception was thrown by a user handler's exceptionCaught() method while handling the following exception:
com.datasift.client.exceptions.JsonParsingException: Unable to decode JSON from DataSift response
at com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:59)
at com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:41)
at io.higgs.http.client.future.PageReader.done(PageReader.java:29)
at io.higgs.http.client.future.Reader.setCompleted(Reader.java:52)
at io.higgs.http.client.Response.setCompleted(Response.java:69)
at io.higgs.http.client.ClientHandler.channelRead0(ClientHandler.java:57)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:153)
at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:148)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:153)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:122)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:485)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:452)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:346)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101)
at java.lang.Thread.run(Thread.java:744)
Caused by: com.fasterxml.jackson.core.JsonParseException: Unexpected character ('<' (code 60)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')
at [Source: java.io.StringReader@7a7cbb68; line: 1, column: 2]
at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1378)
at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:599)
at com.fasterxml.jackson.core.base.ParserMinimalBase._reportUnexpectedChar(ParserMinimalBase.java:520)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._handleUnexpectedValue(ReaderBasedJsonParser.java:1387)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextToken(ReaderBasedJsonParser.java:678)
at com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:2835)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:2782)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:1943)
at com.datasift.client.DataSiftApiClient$1.apply(DataSiftApiClient.java:55)
... 28 more
interaction.content contains_any "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31, A32, A33, A34, A35, A36, A37, A38, A39, A40, A41, A42, A43, A44, A45, A46, A47, A48, A49, A50, A51, A52, A53, A54, A55, A56, A57, A58, A59, A60, A61, A62, A63, A64, A65, A66, A67, A68, A69, A70, A71, A72, A73, A74, A75, A76, A77, A78, A79, A80, A81, A82, A83, A84, A85, A86, A87, A88, A89, A90, A91, A92, A93, A94, A95, A96, A97, A98, A99, A100, A101, A102, A103, A104, A105, A106, A107, A108, A109, A110, A111, A112, A113, A114, A115, A116, A117, A118, A119, A120, A121, A122, A123, A124, A125, A126, A127, A128, A129, A130, A131, A132, A133, A134, A135, A136, A137, A138, A139, A140, A141, A142, A143, A144, A145, A146, A147, A148, A149, A150, A151, A152, A153, A154, A155, A156, A157, A158, A159, A160, A161, A162, A163, A164, A165, A166, A167, A168, A169, A170, A171, A172, A173, A174, A175, A176, A177, A178, A179, A180, A181, A182, A183, A184, A185, A186, A187, A188, A189, A190, A191, A192, A193, A194, A195, A196, A197, A198, A199, A200, A201, A202, A203, A204, A205, A206, A207, A208, A209, A210, A211, A212, A213, A214, A215, A216, A217, A218, A219, A220, A221, A222, A223, A224, A225, A226, A227, A228, A229, A230, A231, A232, A233, A234, A235, A236, A237, A238, A239, A240, A241, A242, A243, A244, A245, A246, A247, A248, A249, A250, A251, A252, A253, A254, A255, A256, A257, A258, A259, A260, A261, A262, A263, A264, A265, A266, A267, A268, A269, A270, A271, A272, A273, A274, A275, A276, A277, A278, A279, A280, A281, A282, A283, A284, A285, A286, A287, A288, A289, A290, A291, A292, A293, A294, A295, A296, A297, A298, A299, A300, A301, A302, A303, A304, A305, A306, A307, A308, A309, A310, A311, A312, A313, A314, A315, A316, A317, A318, A319, A320, A321, A322, A323, A324, A325, A326, A327, A328, A329, A330, A331, A332, A333, A334, A335, A336, A337, A338, A339, A340, A341, A342, A343, A344, A345, A346, A347, A348, A349, A350, A351, A352, A353, A354, A355, A356, A357, A358, A359, A360, A361, A362, A363, A364, A365, A366, A367, A368, A369, A370, A371, A372, A373, A374, A375, A376, A377, A378, A379, A380, A381, A382, A383, A384, A385, A386, A387, A388, A389, A390, A391, A392, A393, A394, A395, A396, A397, A398, A399, A400, A401, A402, A403, A404, A405, A406, A407, A408, A409, A410, A411, A412, A413, A414, A415, A416, A417, A418, A419, A420, A421, A422, A423, A424, A425, A426, A427, A428, A429, A430, A431, A432, A433, A434, A435, A436, A437, A438, A439, A440, A441, A442, A443, A444, A445, A446, A447, A448, A449, A450, A451, A452, A453, A454, A455, A456, A457, A458, A459, A460, A461, A462, A463, A464, A465, A466, A467, A468, A469, A470, A471, A472, A473, A474, A475, A476, A477, A478, A479, A480, A481, A482, A483, A484, A485, A486, A487, A488, A489, A490, A491, A492, A493, A494, A495, A496, A497, A498, A499, A500, A501, A502, A503, A504, A505, A506, A507, A508, A509, A510, A511, A512, A513, A514, A515, A516, A517, A518, A519, A520, A521, A522, A523, A524, A525, A526, A527, A528, A529, A530, A531, A532, A533, A534, A535, A536, A537, A538, A539, A540, A541, A542, A543, A544, A545, A546, A547, A548, A549, A550, A551, A552, A553, A554, A555, A556, A557, A558, A559, A560, A561, A562, A563, A564, A565, A566, A567, A568, A569, A570, A571, A572, A573, A574, A575, A576, A577, A578, A579, A580, A581, A582, A583, A584, A585, A586, A587, A588, A589, A590, A591, A592, A593, A594, A595, A596, A597, A598, A599, A600, A601, A602, A603, A604, A605, A606, A607, A608, A609, A610, A611, A612, A613, A614, A615, A616, A617, A618, A619, A620, A621, A622, A623, A624, A625, A626, A627, A628, A629, A630, A631, A632, A633, A634, A635, A636, A637, A638, A639, A640, A641, A642, A643, A644, A645, A646, A647, A648, A649, A650, A651, A652, A653, A654, A655, A656, A657, A658, A659, A660, A661, A662, A663, A664, A665, A666, A667, A668, A669, A670, A671, A672, A673, A674, A675, A676, A677, A678, A679, A680, A681, A682, A683, A684, A685, A686, A687, A688, A689, A690, A691, A692, A693, A694, A695, A696, A697, A698, A699, A700, A701, A702, A703, A704, A705, A706, A707, A708, A709, A710, A711, A712, A713, A714, A715, A716, A717, A718, A719, A720, A721, A722, A723, A724, A725, A726, A727, A728, A729, A730, A731, A732, A733, A734, A735, A736, A737, A738, A739, A740, A741, A742, A743, A744, A745, A746, A747, A748, A749, A750, A751, A752, A753, A754, A755, A756, A757, A758, A759, A760, A761, A762, A763, A764, A765, A766, A767, A768, A769, A770, A771, A772, A773, A774, A775, A776, A777, A778, A779, A780, A781, A782, A783, A784, A785, A786, A787, A788, A789, A790, A791, A792, A793, A794, A795, A796, A797, A798, A799, A800, A801, A802, A803, A804, A805, A806, A807, A808, A809, A810, A811, A812, A813, A814, A815, A816, A817, A818, A819, A820, A821, A822, A823, A824, A825, A826, A827, A828, A829, A830, A831, A832, A833, A834, A835, A836, A837, A838, A839, A840, A841, A842, A843, A844, A845, A846, A847, A848, A849, A850, A851, A852, A853, A854, A855, A856, A857, A858, A859, A860, A861, A862, A863, A864, A865, A866, A867, A868, A869, A870, A871, A872, A873, A874, A875, A876, A877, A878, A879, A880, A881, A882, A883, A884, A885, A886, A887, A888, A889, A890, A891, A892, A893, A894, A895, A896, A897, A898, A899, A900, A901, A902, A903, A904, A905, A906, A907, A908, A909, A910, A911, A912, A913, A914, A915, A916, A917, A918, A919, A920, A921, A922, A923, A924, A925, A926, A927, A928, A929, A930, A931, A932, A933, A934, A935, A936, A937, A938, A939, A940, A941, A942, A943, A944, A945, A946, A947, A948, A949, A950, A951, A952, A953, A954, A955, A956, A957, A958, A959, A960, A961, A962, A963, A964, A965, A966, A967, A968, A969, A970, A971, A972, A973, A974, A975, A976, A977, A978, A979, A980, A981, A982, A983, A984, A985, A986, A987, A988, A989, A990, A991, A992, A993, A994, A995, A996, A997, A998, A999, A1000, A1001, A1002, A1003, A1004, A1005, A1006, A1007, A1008, A1009, A1010, A1011, A1012, A1013, A1014, A1015, A1016, A1017, A1018, A1019, A1020, A1021, A1022, A1023, A1024, A1025, A1026, A1027, A1028, A1029, A1030, A1031, A1032, A1033, A1034, A1035, A1036, A1037, A1038, A1039, A1040, A1041, A1042, A1043, A1044, A1045, A1046, A1047, A1048, A1049, A1050, A1051, A1052, A1053, A1054, A1055, A1056, A1057, A1058, A1059, A1060, A1061, A1062, A1063, A1064, A1065, A1066, A1067, A1068, A1069, A1070, A1071, A1072, A1073, A1074, A1075, A1076, A1077, A1078, A1079, A1080, A1081, A1082, A1083, A1084, A1085, A1086, A1087, A1088, A1089, A1090, A1091, A1092, A1093, A1094, A1095, A1096, A1097, A1098, A1099, A1100, A1101, A1102, A1103, A1104, A1105, A1106, A1107, A1108, A1109, A1110, A1111, A1112, A1113, A1114, A1115, A1116, A1117, A1118, A1119, A1120, A1121, A1122, A1123, A1124, A1125, A1126, A1127, A1128, A1129, A1130, A1131, A1132, A1133, A1134, A1135, A1136, A1137, A1138, A1139, A1140, A1141, A1142, A1143, A1144, A1145, A1146, A1147, A1148, A1149, A1150, A1151, A1152, A1153, A1154, A1155, A1156, A1157, A1158, A1159, A1160, A1161, A1162, A1163, A1164, A1165, A1166, A1167, A1168, A1169, A1170, A1171, A1172, A1173, A1174, A1175, A1176, A1177, A1178, A1179, A1180, A1181, A1182, A1183, A1184, A1185, A1186, A1187, A1188, A1189, A1190, A1191, A1192, A1193, A1194, A1195, A1196, A1197, A1198, A1199, A1200, A1201, A1202, A1203, A1204, A1205, A1206, A1207, A1208, A1209, A1210, A1211, A1212, A1213, A1214, A1215, A1216, A1217, A1218, A1219, A1220, A1221, A1222, A1223, A1224, A1225, A1226, A1227, A1228, A1229, A1230, A1231, A1232, A1233, A1234, A1235, A1236, A1237, A1238, A1239, A1240, A1241, A1242, A1243, A1244, A1245, A1246, A1247, A1248, A1249, A1250, A1251, A1252, A1253, A1254, A1255, A1256, A1257, A1258, A1259, A1260, A1261, A1262, A1263, A1264, A1265, A1266, A1267, A1268, A1269, A1270, A1271, A1272, A1273, A1274, A1275, A1276, A1277, A1278, A1279, A1280, A1281, A1282, A1283, A1284, A1285, A1286, A1287, A1288, A1289, A1290, A1291, A1292, A1293, A1294, A1295, A1296, A1297, A1298, A1299, A1300, A1301, A1302, A1303, A1304, A1305, A1306, A1307, A1308, A1309, A1310, A1311, A1312, A1313, A1314, A1315, A1316, A1317, A1318, A1319, A1320, A1321, A1322, A1323, A1324, A1325, A1326, A1327, A1328, A1329, A1330, A1331, A1332, A1333, A1334, A1335, A1336, A1337, A1338, A1339, A1340, A1341, A1342, A1343, A1344, A1345, A1346, A1347, A1348, A1349, A1350, A1351, A1352, A1353, A1354, A1355, A1356, A1357, A1358, A1359, A1360, A1361, A1362, A1363, A1364, A1365, A1366, A1367, A1368, A1369, A1370, A1371, A1372, A1373, A1374, A1375, A1376, A1377, A1378, A1379, A1380, A1381, A1382, A1383, A1384, A1385, A1386, A1387, A1388, A1389, A1390, A1391, A1392, A1393, A1394, A1395, A1396, A1397, A1398, A1399, A1400, A1401, A1402, A1403, A1404, A1405, A1406, A1407, A1408, A1409, A1410, A1411, A1412, A1413, A1414, A1415, A1416, A1417, A1418, A1419, A1420, A1421, A1422, A1423, A1424, A1425, A1426, A1427, A1428, A1429, A1430, A1431, A1432, A1433, A1434, A1435, A1436, A1437, A1438, A1439, A1440, A1441, A1442, A1443, A1444, A1445, A1446, A1447, A1448, A1449, A1450, A1451, A1452, A1453, A1454, A1455, A1456, A1457, A1458, A1459, A1460, A1461, A1462, A1463, A1464, A1465, A1466, A1467, A1468, A1469, A1470, A1471, A1472, A1473, A1474, A1475, A1476, A1477, A1478, A1479, A1480, A1481, A1482, A1483, A1484, A1485, A1486, A1487, A1488, A1489, A1490, A1491, A1492, A1493, A1494, A1495, A1496, A1497, A1498, A1499, A1500, A1501, A1502, A1503, A1504, A1505, A1506, A1507, A1508, A1509, A1510, A1511, A1512, A1513, A1514, A1515, A1516, A1517, A1518, A1519, A1520, A1521, A1522, A1523, A1524, A1525, A1526, A1527, A1528, A1529, A1530, A1531, A1532, A1533, A1534, A1535, A1536, A1537, A1538, A1539, A1540, A1541, A1542, A1543, A1544, A1545, A1546, A1547, A1548, A1549, A1550, A1551, A1552, A1553, A1554, A1555, A1556, A1557, A1558, A1559, A1560, A1561, A1562, A1563, A1564, A1565, A1566, A1567, A1568, A1569, A1570, A1571, A1572, A1573, A1574, A1575, A1576, A1577, A1578, A1579, A1580, A1581, A1582, A1583, A1584, A1585, A1586, A1587, A1588, A1589, A1590, A1591, A1592, A1593, A1594, A1595, A1596, A1597, A1598, A1599, A1600, A1601, A1602, A1603, A1604, A1605, A1606, A1607, A1608, A1609, A1610, A1611, A1612, A1613, A1614, A1615, A1616, A1617, A1618, A1619, A1620, A1621, A1622, A1623, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B15, B16, B17, B18, B19, B20, B21, B22, B23, B24, B25, B26, B27, B28, B29, B30, B31, B32, B33, B34, B35, B36, B37, B38, B39, B40, B41, B42, B43, B44, B45, B46, B47, B48, B49, B50, B51, B52, B53, B54, B55, B56, B57, B58, B59, B60, B61, B62, B63, B64, B65, B66, B67, B68, B69, B70, B71, B72, B73, B74, B75, B76, B77, B78, B79, B80, B81, B82, B83, B84, B85, B86, B87, B88, B89, B90, B91, B92, B93, B94, B95, B96, B97, B98, B99, B100, B101, B102, B103, B104, B105, B106, B107, B108, B109, B110, B111, B112, B113, B114, B115, B116, B117, B118, B119, B120, B121, B122, B123, B124, B125, B126, B127, B128, B129, B130, B131, B132, B133, B134, B135, B136, B137, B138, B139, B140, B141, B142, B143, B144, B145, B146, B147, B148, B149, B150, B151, B152, B153, B154, B155, B156, B157, B158, B159, B160, B161, B162, B163, B164, B165, B166, B167, B168, B169, B170, B171, B172, B173, B174, B175, B176, B177, B178, B179, B180, B181, B182, B183, B184, B185, B186, B187, B188, B189, B190, B191, B192, B193, B194, B195, B196, B197, B198, B199, B200, B201, B202, B203, B204, B205, B206, B207, B208, B209, B210, B211, B212, B213, B214, B215, B216, B217, B218, B219, B220, B221, B222, B223, B224, B225, B226, B227, B228, B229, B230, B231, B232, B233, B234, B235, B236, B237, B238, B239, B240, B241, B242, B243, B244, B245, B246, B247, B248, B249, B250, B251, B252, B253, B254, B255, B256, B257, B258, B259, B260, B261, B262, B263, B264, B265, B266, B267, B268, B269, B270, B271, B272, B273, B274, B275, B276, B277, B278, B279, B280, B281, B282, B283, B284, B285, B286, B287, B288, B289, B290, B291, B292, B293, B294, B295, B296, B297, B298, B299, B300, B301, B302, B303, B304, B305, B306, B307, B308, B309, B310, B311, B312, B313, B314, B315, B316, B317, B318, B319, B320, B321, B322, B323, B324, B325, B326, B327, B328, B329, B330, B331, B332, B333, B334, B335, B336, B337, B338, B339, B340, B341, B342, B343, B344, B345, B346, B347, B348, B349, B350, B351, B352, B353, B354, B355, B356, B357, B358, B359, B360, B361, B362, B363, B364, B365, B366, B367, B368, B369, B370, B371, B372, B373, B374, B375, B376, B377, B378, B379, B380, B381, B382, B383, B384, B385, B386, B387, B388, B389, B390, B391, B392, B393, B394, B395, B396, B397, B398, B399, B400, B401, B402, B403, B404, B405, B406, B407, B408, B409, B410, B411, B412, B413, B414, B415, B416, B417, B418, B419, B420, B421, B422, B423, B424, B425, B426, B427, B428, B429, B430, B431, B432, B433, B434, B435, B436, B437, B438, B439, B440, B441, B442, B443, B444, B445, B446, B447, B448, B449, B450, B451, B452, B453, B454, B455, B456, B457, B458, B459, B460, B461, B462, B463, B464, B465, B466, B467, B468, B469, B470, B471, B472, B473, B474, B475, B476, B477, B478, B479, B480, B481, B482, B483, B484, B485, B486, B487, B488, B489, B490, B491, B492, B493, B494, B495, B496, B497, B498, B499, B500, B501, B502, B503, B504, B505, B506, B507, B508, B509, B510, B511, B512, B513, B514, B515, B516, B517, B518, B519, B520, B521, B522, B523, B524, B525, B526, B527, B528, B529, B530, B531, B532, B533, B534, B535, B536, B537, B538, B539, B540, B541, B542, B543, B544, B545, B546, B547, B548, B549, B550, B551, B552, B553, B554, B555, B556, B557, B558, B559, B560, B561, B562, B563, B564, B565, B566, B567, B568, B569, B570, B571, B572, B573, B574, B575, B576, B577, B578, B579, B580, B581, B582, B583, B584, B585, B586, B587, B588, B589, B590, B591, B592, B593, B594, B595, B596, B597, B598, B599, B600, B601, B602, B603, B604, B605, B606, B607, B608, B609, B610, B611, B612, B613, B614, B615, B616, B617, B618, B619, B620, B621, B622, B623, B624, B625, B626, B627, B628, B629, B630, B631, B632, B633, B634, B635, B636, B637, B638, B639, B640, B641, B642, B643, B644, B645, B646, B647, B648, B649, B650, B651, B652, B653, B654, B655, B656, B657, B658, B659, B660, B661, B662, B663, B664, B665, B666, B667, B668, B669, B670, B671, B672, B673, B674, B675, B676, B677, B678, B679, B680, B681, B682, B683, B684, B685, B686, B687, B688, B689, B690, B691, B692, B693, B694, B695, B696, B697, B698, B699, B700, B701, B702, B703, B704, B705, B706, B707, B708, B709, B710, B711, B712, B713, B714, B715, B716, B717, B718, B719, B720, B721, B722, B723, B724, B725, B726, B727, B728, B729, B730, B731, B732, B733, B734, B735, B736, B737, B738, B739, B740, B741, B742, B743, B744, B745, B746, B747, B748, B749, B750, B751, B752, B753, B754, B755, B756, B757, B758, B759, B760, B761, B762, B763, B764, B765, B766, B767, B768, B769, B770, B771, B772, B773, B774, B775, B776, B777, B778, B779, B780, B781, B782, B783, B784, B785, B786, B787, B788, B789, B790, B791, B792, B793, B794, B795, B796, B797, B798, B799, B800, B801, B802, B803, B804, B805, B806, B807, B808, B809, B810, B811, B812, B813, B814, B815, B816, B817, B818, B819, B820, B821, B822, B823, B824, B825, B826, B827, B828, B829, B830, B831, B832, B833, B834, B835, B836, B837, B838, B839, B840, B841, B842, B843, B844, B845, B846, B847, B848, B849, B850, B851, B852, B853, B854, B855, B856, B857, B858, B859, B860, B861, B862, B863, B864, B865, B866, B867, B868, B869, B870, B871, B872, B873, B874, B875, B876, B877, B878, B879, B880, B881, B882, B883, B884, B885, B886, B887, B888, B889, B890, B891, B892, B893, B894, B895, B896, B897, B898, B899, B900, B901, B902, B903, B904, B905, B906, B907, B908, B909, B910, B911, B912, B913, B914, B915, B916, B917, B918, B919, B920, B921, B922, B923, B924, B925, B926, B927, B928, B929, B930, B931, B932, B933, B934, B935, B936, B937, B938, B939, B940, B941, B942, B943, B944, B945, B946, B947, B948, B949, B950, B951, B952, B953, B954, B955, B956, B957, B958, B959, B960, B961, B962, B963, B964, B965, B966, B967, B968, B969, B970, B971, B972, B973, B974, B975, B976, B977, B978, B979, B980, B981, B982, B983, B984, B985, B986, B987, B988, B989, B990, B991, B992, B993, B994, B995, B996, B997, B998, B999, B1000, B1001, B1002, B1003, B1004, B1005, B1006, B1007, B1008, B1009, B1010, B1011, B1012, B1013, B1014, B1015, B1016, B1017, B1018, B1019, B1020, B1021, B1022, B1023, B1024, B1025, B1026, B1027, B1028, B1029, B1030, B1031, B1032, B1033, B1034, B1035, B1036, B1037, B1038, B1039, B1040, B1041, B1042, B1043, B1044, B1045, B1046, B1047, B1048, B1049, B1050, B1051, B1052, B1053, B1054, B1055, B1056, B1057, B1058, B1059, B1060, B1061, B1062, B1063, B1064, B1065, B1066, B1067, B1068, B1069, B1070, B1071, B1072, B1073, B1074, B1075, B1076, B1077, B1078, B1079, B1080, B1081, B1082, B1083, B1084, B1085, B1086, B1087, B1088, B1089, B1090, B1091, B1092, B1093, B1094, B1095, B1096, B1097, B1098, B1099, B1100, B1101, B1102, B1103, B1104, B1105, B1106, B1107, B1108, B1109, B1110, B1111, B1112, B1113, B1114, B1115, B1116, B1117, B1118, B1119, B1120, B1121, B1122, B1123, B1124, B1125, B1126, B1127, B1128, B1129, B1130, B1131, B1132, B1133, B1134, B1135, B1136, B1137, B1138, B1139, B1140, B1141, B1142, B1143, B1144, B1145, B1146, B1147, B1148, B1149, B1150, B1151, B1152, B1153, B1154, B1155, B1156, B1157, B1158, B1159, B1160, B1161, B1162, B1163, B1164, B1165, B1166, B1167, B1168, B1169, B1170, B1171, B1172, B1173, B1174, B1175, B1176, B1177, B1178, B1179, B1180, B1181, B1182, B1183, B1184, B1185, B1186, B1187, B1188, B1189, B1190, B1191, B1192, B1193, B1194, B1195, B1196, B1197, B1198, B1199, B1200, B1201, B1202, B1203, B1204, B1205, B1206, B1207, B1208, B1209, B1210, B1211, B1212, B1213, B1214, B1215, B1216, B1217, B1218, B1219, B1220, B1221, B1222, B1223, B1224, B1225, B1226, B1227, B1228, B1229, B1230, B1231, B1232, B1233, B1234, B1235, B1236, B1237, B1238, B1239, B1240, B1241, B1242, B1243, B1244, B1245, B1246, B1247, B1248, B1249, B1250, B1251, B1252, B1253, B1254, B1255, B1256, B1257, B1258, B1259, B1260, B1261, B1262, B1263, B1264, B1265, B1266, B1267, B1268, B1269, B1270, B1271, B1272, B1273, B1274, B1275, B1276, B1277, B1278, B1279, B1280, B1281, B1282, B1283, B1284, B1285, B1286, B1287, B1288, B1289, B1290, B1291, B1292, B1293, B1294, B1295, B1296, B1297, B1298, B1299, B1300, B1301, B1302, B1303, B1304, B1305, B1306, B1307, B1308, B1309, B1310, B1311, B1312, B1313, B1314, B1315, B1316, B1317, B1318, B1319, B1320, B1321, B1322, B1323, B1324, B1325, B1326, B1327, B1328, B1329, B1330, B1331, B1332, B1333, B1334, B1335, B1336, B1337, B1338, B1339, B1340, B1341, B1342, B1343, B1344, B1345, B1346, B1347, B1348, B1349, B1350, B1351, B1352, B1353, B1354, B1355, B1356, B1357, B1358, B1359, B1360, B1361, B1362, B1363, B1364, B1365, B1366, B1367, B1368, B1369, B1370, B1371, B1372, B1373, B1374, B1375, B1376, B1377, B1378, B1379, B1380, B1381, B1382, B1383, B1384, B1385, B1386, B1387, B1388, B1389, B1390, B1391, B1392, B1393, B1394, B1395, B1396, B1397, B1398, B1399, B1400, B1401, B1402, B1403, B1404, B1405, B1406, B1407, B1408, B1409, B1410, B1411, B1412, B1413, B1414, B1415, B1416, B1417, B1418, B1419, B1420, B1421, B1422, B1423, B1424, B1425, B1426, B1427, B1428, B1429, B1430, B1431, B1432, B1433, B1434, B1435, B1436, B1437, B1438, B1439, B1440, B1441, B1442, B1443, B1444, B1445, B1446, B1447, B1448, B1449, B1450, B1451, B1452, B1453, B1454, B1455, B1456, B1457, B1458, B1459, B1460, B1461, B1462, B1463, B1464, B1465, B1466, B1467, B1468, B1469, B1470, B1471, B1472, B1473, B1474, B1475, B1476, B1477, B1478, B1479, B1480, B1481, B1482, B1483, B1484, B1485, B1486, B1487, B1488, B1489, B1490, B1491, B1492, B1493, B1494, B1495, B1496, B1497, B1498, B1499, B1500, B1501, B1502, B1503, B1504, B1505, B1506, B1507, B1508, B1509, B1510, B1511, B1512, B1513, B1514, B1515, B1516, B1517, B1518, B1519, B1520, B1521, B1522, B1523, B1524, B1525, B1526, B1527, B1528, B1529, B1530, B1531, B1532, B1533, B1534, B1535, B1536, B1537, B1538, B1539, B1540, B1541, B1542, B1543, B1544, B1545, B1546, B1547, B1548, B1549, B1550, B1551, B1552, B1553, B1554, B1555, B1556, B1557, B1558, B1559, B1560, B1561, B1562, B1563, B1564, B1565, B1566, B1567, B1568, B1569, B1570, B1571, B1572, B1573, B1574, B1575, B1576, B1577, B1578, B1579, B1580, B1581, B1582, B1583, B1584, B1585, B1586, B1587, B1588, B1589, B1590, B1591, B1592, B1593, B1594, B1595, B1596, B1597, B1598, B1599, B1600, B1601, B1602, B1603, B1604, B1605, B1606, B1607, B1608, B1609, B1610, B1611, B1612, B1613, B1614, B1615, B1616, B1617, B1618, B1619, B1620, B1621, B1622, B1623, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21, C22, C23, C24, C25, C26, C27, C28, C29, C30, C31, C32, C33, C34, C35, C36, C37, C38, C39, C40, C41, C42, C43, C44, C45, C46, C47, C48, C49, C50, C51, C52, C53, C54, C55, C56, C57, C58, C59, C60, C61, C62, C63, C64, C65, C66, C67, C68, C69, C70, C71, C72, C73, C74, C75, C76, C77, C78, C79, C80, C81, C82, C83, C84, C85, C86, C87, C88, C89, C90, C91, C92, C93, C94, C95, C96, C97, C98, C99, C100, C101, C102, C103, C104, C105, C106, C107, C108, C109, C110, C111, C112, C113, C114, C115, C116, C117, C118, C119, C120, C121, C122, C123, C124, C125, C126, C127, C128, C129, C130, C131, C132, C133, C134, C135, C136, C137, C138, C139, C140, C141, C142, C143, C144, C145, C146, C147, C148, C149, C150, C151, C152, C153, C154, C155, C156, C157, C158, C159, C160, C161, C162, C163, C164, C165, C166, C167, C168, C169, C170, C171, C172, C173, C174, C175, C176, C177, C178, C179, C180, C181, C182, C183, C184, C185, C186, C187, C188, C189, C190, C191, C192, C193, C194, C195, C196, C197, C198, C199, C200, C201, C202, C203, C204, C205, C206, C207, C208, C209, C210, C211, C212, C213, C214, C215, C216, C217, C218, C219, C220, C221, C222, C223, C224, C225, C226, C227, C228, C229, C230, C231, C232, C233, C234, C235, C236, C237, C238, C239, C240, C241, C242, C243, C244, C245, C246, C247, C248, C249, C250, C251, C252, C253, C254, C255, C256, C257, C258, C259, C260, C261, C262, C263, C264, C265, C266, C267, C268, C269, C270, C271, C272, C273, C274, C275, C276, C277, C278, C279, C280, C281, C282, C283, C284, C285, C286, C287, C288, C289, C290, C291, C292, C293, C294, C295, C296, C297, C298, C299, C300, C301, C302, C303, C304, C305, C306, C307, C308, C309, C310, C311, C312, C313, C314, C315, C316, C317, C318, C319, C320"
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.