Skip to content

Commit

Permalink
Version 1.3.6-beta
Browse files Browse the repository at this point in the history
1. Update LevelDB version.
2. Delete the BiMap data structure.
3. Optimize code.
  • Loading branch information
artbits committed Feb 14, 2024
1 parent eec79e6 commit 6a69bed
Show file tree
Hide file tree
Showing 8 changed files with 17 additions and 102 deletions.
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ repositories {
}

dependencies {
implementation 'com.github.artbits:quickio:1.3.5'
implementation 'com.github.artbits:quickio:1.3.6-beta'
}
```
Maven:
Expand All @@ -41,7 +41,7 @@ Maven:
<dependency>
<groupId>com.github.artbits</groupId>
<artifactId>quickio</artifactId>
<version>1.3.5</version>
<version>1.3.6-beta</version>
</dependency>
```

Expand Down Expand Up @@ -111,6 +111,7 @@ Optional.ofNullable(file).ifPresent(f -> QuickIO.println(f.getPath()));
+ [Tin - File storage](/src/test/java/apis/TinExample.java)
+ Thanks:
+ [LevelDB](https://github.com/dain/leveldb)
+ [LevelDB-Beta](https://github.com/artbits/leveldb-beta)
+ [Protostuff](https://github.com/protostuff/protostuff)


Expand Down
4 changes: 3 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,12 @@ version '0.0.1'

repositories {
maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
maven { url 'https://www.jitpack.io' }
}

dependencies {
implementation 'org.iq80.leveldb:leveldb:0.12'
// implementation 'org.iq80.leveldb:leveldb:0.12'
implementation 'com.github.artbits:leveldb-beta:1.0.0'
implementation 'io.protostuff:protostuff-core:1.8.0'
implementation 'io.protostuff:protostuff-runtime:1.8.0'
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.9.0'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

package com.github.artbits.quickio.core;

import org.iq80.leveldb.WriteBatch;
import org.iq80.leveldb.api.WriteBatch;

import java.util.function.BiConsumer;
import java.util.function.BiFunction;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
package com.github.artbits.quickio.core;

import com.github.artbits.quickio.exception.QIOException;
import org.iq80.leveldb.*;
import org.iq80.leveldb.api.*;
import org.iq80.leveldb.impl.Iq80DBFactory;

import java.io.File;
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/github/artbits/quickio/core/Indexer.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

import com.github.artbits.quickio.annotations.Index;
import com.github.artbits.quickio.exception.QIOException;
import org.iq80.leveldb.WriteBatch;
import org.iq80.leveldb.api.WriteBatch;

import java.util.*;
import java.util.concurrent.atomic.AtomicReference;
Expand Down
13 changes: 8 additions & 5 deletions src/main/java/com/github/artbits/quickio/core/QCollection.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,7 @@
import com.github.artbits.quickio.api.Collection;
import com.github.artbits.quickio.api.FindOptions;
import com.github.artbits.quickio.exception.QIOException;
import com.google.common.util.concurrent.AtomicDouble;
import org.iq80.leveldb.DBException;
import org.iq80.leveldb.api.DBException;

import java.math.BigDecimal;
import java.util.ArrayList;
Expand Down Expand Up @@ -395,19 +394,23 @@ public BigDecimal sum(String fieldName) {

@Override
public Double average(String fieldName, Predicate<T> predicate) {
AtomicDouble sum = new AtomicDouble(0);
AtomicReference<BigDecimal> sum = new AtomicReference<>();
AtomicLong count = new AtomicLong(0);
engine.iteration((key, value) -> {
T t = Codec.decode(value, clazz);
if (t != null) {
if (predicate != null && !predicate.test(t)) {
return;
}
sum.addAndGet(new ReflectObject<>(t).getBigDecimalValue(fieldName).doubleValue());
if (sum.get() == null) {
sum.set(new ReflectObject<>(t).getBigDecimalValue(fieldName));
} else {
sum.set(sum.get().add(new ReflectObject<>(t).getBigDecimalValue(fieldName)));
}
count.incrementAndGet();
}
});
return sum.get() / count.get();
return sum.get().doubleValue() / count.get();
}


Expand Down
73 changes: 0 additions & 73 deletions src/main/java/com/github/artbits/quickio/struct/BiMap.java

This file was deleted.

18 changes: 0 additions & 18 deletions src/test/java/apis/KVExample.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import com.github.artbits.quickio.api.KV;
import com.github.artbits.quickio.core.Config;
import com.github.artbits.quickio.core.QuickIO;
import com.github.artbits.quickio.struct.BiMap;
import org.junit.jupiter.api.Test;

import java.util.Objects;
Expand Down Expand Up @@ -81,21 +80,4 @@ void foreach_apis() {
});
}


@Test
void bimap_struct() {
BiMap citiesMap = new BiMap<Integer, String>()
.put(1, "Beijing")
.put(2, "Shanghai")
.put(3, "Canton")
.put(4, "Shenzhen");

kv.write("cities", citiesMap);

BiMap<Integer, String> map = kv.read("cities", new BiMap<>());
map.forEach((key, value) -> QuickIO.println("%d = %s", key, value));

QuickIO.println("%d = %s", map.getKey("Beijing"), map.getValue(1));
}

}

0 comments on commit 6a69bed

Please sign in to comment.