Skip to content

Commit c987af4

Browse files
authoredMay 13, 2022
Merge pull request #1111 from aol/memoizeFix
fix: Memoize issue fix
2 parents 4c185f3 + 5a5cd89 commit c987af4

File tree

13 files changed

+64
-25
lines changed

13 files changed

+64
-25
lines changed
 

‎build.gradle

+2-2
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ subprojects {
133133

134134
}
135135
}
136-
/**
136+
137137
allprojects {
138138
tasks.withType(JavaCompile) {
139139
options.fork = true
@@ -142,4 +142,4 @@ allprojects {
142142

143143
}
144144

145-
**/
145+

‎cyclops-anym/build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ dependencies {
3131
api project(':cyclops-futurestream')
3232
api project(':cyclops-reactive-collections')
3333
api project(':cyclops-pure')
34-
compileOnly 'org.projectlombok:lombok:1.16.20'
34+
3535
testImplementation project(':cyclops').sourceSets.test.output
3636
testImplementation 'io.projectreactor:reactor-core:3.0.7.RELEASE'
3737
testImplementation group: 'junit', name: 'junit', version: '4.12'

‎cyclops-futurestream/build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ dependencies {
3232
api project(':cyclops')
3333
api project(':cyclops-reactive-collections')
3434

35-
compileOnly 'org.projectlombok:lombok:1.16.20'
35+
3636
testImplementation project(':cyclops').sourceSets.test.output
3737
testImplementation 'org.reactivestreams:reactive-streams-tck:1.0.0'
3838
testImplementation 'org.mockito:mockito-core:1.9.5'

‎cyclops-futurestream/src/main/java/com/oath/cyclops/react/collectors/lazy/BatchingCollector.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,11 @@
1010
import java.util.stream.Collectors;
1111

1212
import lombok.AllArgsConstructor;
13+
import lombok.Builder;
1314
import lombok.Getter;
14-
import lombok.experimental.Builder;
1515
import lombok.experimental.Wither;
1616

17+
1718
/**
1819
* This class allows a Batch of completable futures to be processed before collecting their results, to increase
1920
* parallelism.

‎cyclops-futurestream/src/main/java/com/oath/cyclops/react/collectors/lazy/MaxActive.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import lombok.AllArgsConstructor;
44
import lombok.Getter;
5-
import lombok.experimental.Builder;
5+
import lombok.Builder;
66
import lombok.experimental.Wither;
77

88
@AllArgsConstructor

‎cyclops-futurestream/src/main/java/com/oath/cyclops/react/collectors/lazy/SamplingCollector.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@
66
import com.oath.cyclops.internal.react.async.future.FastFuture;
77

88
import lombok.AllArgsConstructor;
9-
import lombok.experimental.Builder;
9+
import lombok.Builder;
1010
import lombok.experimental.Wither;
1111

12+
1213
/**
1314
*
1415
* Class that allows client code to only collect a sample of results from an Infinite SimpleReact Stream

‎cyclops-futurestream/src/test/java/cyclops/futurestream/react/simple/AlgorithmCompareTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
import lombok.AllArgsConstructor;
1717
import lombok.Getter;
18-
import lombok.experimental.Builder;
18+
import lombok.Builder;
1919
import lombok.experimental.Wither;
2020

2121

‎cyclops-jackson-integration/src/main/java/com/oath/cyclops/jackson/deserializers/CyclopsDeserializers.java

+42-1
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,49 @@ public JsonDeserializer<?> findCollectionDeserializer(CollectionType type, Deser
9898
public JsonDeserializer<?> findReferenceDeserializer(ReferenceType type,
9999
DeserializationConfig config, BeanDescription bean,
100100
TypeDeserializer typeDeserializer, JsonDeserializer<?> jsonDeserializer) throws JsonMappingException {
101+
Class<?> raw = type.getRawClass();
101102

102-
return super.findReferenceDeserializer(type, config, bean, typeDeserializer, jsonDeserializer);
103+
if (raw == Maybe.class) {
104+
return new MaybeDeserializer(type);
105+
}
106+
if (raw == Option.class) {
107+
return new OptionDeserializer(type);
108+
}
109+
if (raw == Eval.class) {
110+
return new EvalDeserializer(type);
111+
}
112+
if (raw == Future.class) {
113+
return new EvalDeserializer(type);
114+
}
115+
if (raw == Ior.class) {
116+
return new IorDeserializer(type);
117+
}
118+
if (raw == LazyEither.class) {
119+
return new LazyEitherDeserializer(type);
120+
}
121+
if (raw == LazyEither3.class) {
122+
return new LazyEither3Deserializer(type);
123+
}
124+
if (raw == LazyEither4.class) {
125+
return new LazyEither4Deserializer(type);
126+
}
127+
128+
if (raw == Either.class) {
129+
return new EitherDeserializer(type);
130+
}
131+
if (raw == Trampoline.class) {
132+
return new TrampolineDeserializer(type);
133+
}
134+
if (raw == Unrestricted.class) {
135+
return new TrampolineDeserializer(type);
136+
}
137+
if(tuples.contains(raw)) {
138+
return new TupleDeserializer(raw);
139+
}
140+
if (PersistentMap.class.isAssignableFrom(type.getRawClass())) {
141+
return new PersistentMapDeserializer(raw);
142+
}
143+
return super.findReferenceDeserializer(type, config, bean, typeDeserializer, jsonDeserializer);
103144
}
104145

105146
}

‎cyclops-pure/build.gradle

-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ dependencies {
2828
api project(':cyclops')
2929
api project(':cyclops-reactive-collections')
3030

31-
compileOnly 'org.projectlombok:lombok:1.16.20'
3231
testImplementation project(':cyclops').sourceSets.test.output
3332
testImplementation 'org.reactivestreams:reactive-streams-tck:1.0.0'
3433
testImplementation 'org.mockito:mockito-core:1.9.5'

‎cyclops-reactive-collections/build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ configurations {
2929
dependencies {
3030
api project(':cyclops')
3131
testImplementation project(':cyclops').sourceSets.test.output
32-
compileOnly 'org.projectlombok:lombok:1.16.12'
32+
3333
testImplementation project(':cyclops').sourceSets.test.output
3434
testImplementation 'org.reactivestreams:reactive-streams-tck:1.0.0'
3535
testImplementation group: 'io.projectreactor', name: 'reactor-test', version: '3.2.2.RELEASE'

‎cyclops/build.gradle

-8
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ def custom = { "$rootDir/gradle/${it}.gradle" } //find custom plugins locally
66
apply plugin: 'java'
77
apply plugin: 'eclipse'
88
apply plugin: 'maven-publish'
9-
//apply plugin: 'com.bmuschko.nexus'
109
apply plugin: 'jacoco'
1110
apply from: custom('jacoco-version')
1211
apply from: custom('jacoco-config')
@@ -102,12 +101,5 @@ task packageTests(type: Jar) {
102101
artifacts.archives packageTests
103102

104103

105-
/**
106104

107-
nexus {
108-
sign = true
109-
repositoryUrl = 'https://oss.sonatype.org/service/local/staging/deploy/maven2'
110-
snapshotRepositoryUrl = 'https://oss.sonatype.org/content/repositories/snapshots'
111-
}
112-
**/
113105

‎cyclops/src/main/java/cyclops/function/Memoize.java

+8-3
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,14 @@ public static <T> Function0<T> memoizeSupplier(final Supplier<T> s, final Cachea
7171
* @param <R> Return type of Function
7272
* @return Memoized asynchronously updating function
7373
*/
74-
public static <R> Function0<R> memoizeSupplierAsync(final Supplier<R> fn, ScheduledExecutorService ex, long updateRateInMillis){
75-
return ()-> Memoize.memoizeFunctionAsync(a-> fn.get(),ex,updateRateInMillis)
76-
.apply("k");
74+
public static <R> Function0<R> memoizeSupplierAsync(Supplier<R> fn, ScheduledExecutorService ex, long updateRateInMillis) {
75+
val memoizeFn = memoizeFunctionAsync((a) -> {
76+
return fn.get();
77+
}, ex, updateRateInMillis);
78+
79+
return () -> {
80+
return memoizeFn.apply("k");
81+
};
7782
}
7883
/**
7984
* Memoize a Supplier and update the cached values asynchronously using the provided Scheduled Executor Service

‎gradle.properties

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
version = 10.4.0
1+
version = 10.4.1
22
agronaVersion=1.1.11
33
reactiveStreamsVersion=1.0.3
44
reactorVersion=3.3.1.RELEASE
55
rxJava2Version=2.2.16
66
kindedJVersion=1.1.0
77
hamcrestVersion=1.3
8-
lombokVersion=1.16.20
9-
jacksonVersion=2.10.1
8+
lombokVersion=1.18.4
9+
jacksonVersion=2.13.2
1010

1111

1212
POM_NAME=cyclops

0 commit comments

Comments
 (0)
Please sign in to comment.