Skip to content

Commit

Permalink
java 8 support
Browse files Browse the repository at this point in the history
  • Loading branch information
bingoohuang committed May 29, 2018
1 parent 89278dc commit fbf706e
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 35 deletions.
12 changes: 6 additions & 6 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<description>voucher NO. generator</description>
<url>http://github.com/bingoohuang/voucher-no</url>
<properties>
<java.version>1.6</java.version>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.source>${java.version}</maven.compiler.source>
Expand Down Expand Up @@ -67,14 +67,14 @@
<dependency>
<groupId>com.google.truth</groupId>
<artifactId>truth</artifactId>
<version>0.33</version>
<version>0.40</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.25</version>
<version>1.8.0-beta2</version>
<scope>test</scope>
</dependency>
<dependency>
Expand All @@ -91,7 +91,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
<version>3.0.1</version>
<executions>
<execution>
<id>attach-sources</id>
Expand All @@ -105,7 +105,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9.1</version>
<version>3.0.1</version>
<executions>
<execution>
<id>attach-javadocs</id>
Expand Down Expand Up @@ -134,7 +134,7 @@
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.6.201602180812</version>
<version>0.8.1</version>
<executions>
<execution>
<id>prepare-agent</id>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ public boolean add(String element) {
public boolean add(byte[] bytes) {
int[] hashes = createHashes(bytes);

return bitSet.set(hashes) > 0;
return bitSet.add(hashes);
}

/**
Expand All @@ -91,7 +91,7 @@ public boolean contains(String element) {
public boolean contains(byte[] bytes) {
int[] hashes = createHashes(bytes);

return bitSet.get(hashes) == 0;
return bitSet.contains(hashes);
}

private int[] createHashes(byte[] bytes) {
Expand Down
36 changes: 9 additions & 27 deletions src/main/java/com/github/bingoohuang/voucherno/RedisBitSet.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,44 +5,26 @@
import redis.clients.jedis.BinaryJedis;
import redis.clients.jedis.Protocol;

import java.util.List;
import java.util.Arrays;

public class RedisBitSet {
private BinaryJedis jedis;
private byte[] name;
private final BinaryJedis jedis;
private final byte[] name;

public RedisBitSet(BinaryJedis jedis, String name) {
this.jedis = jedis;
this.name = name.getBytes(MessageDigestUtils.UTF8);
}

public int set(int[] hashes) {
public boolean add(int[] hashes) {
val multi = jedis.multi();
for (int hash : hashes) {
multi.setbit(name, hash, Protocol.BYTES_TRUE);
}
val result = multi.exec();

int oks = 0;
for (val obj : result) {
if (obj == Boolean.FALSE) ++oks;
}

return oks;
Arrays.stream(hashes).forEach(x -> multi.setbit(name, x, Protocol.BYTES_TRUE));
return multi.exec().stream().filter(x -> x == Boolean.FALSE).count() > 0;
}

public int get(int[] hashes) {
public boolean contains(int[] hashes) {
val multi = jedis.multi();
for (int hash : hashes) {
multi.getbit(name, hash);
}
List<Object> result = multi.exec();

int falses = 0;
for (val obj : result) {
if (obj == Boolean.FALSE) ++falses;
}

return falses;
Arrays.stream(hashes).forEach(x -> multi.getbit(name, x));
return multi.exec().stream().filter(x -> x == Boolean.FALSE).count() == 0;
}
}

0 comments on commit fbf706e

Please sign in to comment.