Maven Integration
Add to your dependency Managment:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.zaubersoftware.gnip4j</groupId>
<artifactId>gnip4j-core</artifactId>
<version>${gnip4j.version}</version>
</dependency>
<dependency>
<groupId>com.zaubersoftware.gnip4j</groupId>
<artifactId>gnip4j-http</artifactId>
<version>${gnip4j.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
...
<properties>
<gnip4j.version>0.1</gnip4j.version>
</properties>
and add to your project:
<dependencies>
<dependency>
<groupId>com.zaubersoftware.gnip4j</groupId>
<artifactId>gnip4j-core</artifactId>
</dependency>
</dependencies>
If you need logging adding slf4j as a dependency.
Consuming ten Activities from the stream
final String domain = "acme-powertrack";
final String username = "acme";
final String password = "password";
final GnipFacade gnip = new DefaultGnipFacade(
new JRERemoteResourceProvider(
new InmutableGnipAuthentication(username, password)));
System.out.println("-- Creating stream");
final AtomicInteger counter = new AtomicInteger();
final StreamNotificationAdapter observer = new StreamNotificationAdapter() {
@Override
public void notify(final Activity activity, final GnipStream stream) {
final int i = counter.getAndIncrement();
if (i >= 10) {
System.out.println("-- Closing stream.");
stream.close();
}
System.out.println(i + "-" + activity.getBody()
+ " " + activity.getGnip().getMatchingRules());
}
};
final GnipStream stream = gnip.createStream(domain, 1, observer);
System.out.println("-- Awaiting for stream to terminate");
stream.await();
System.out.println("-- Shutting down");