Skip to content

Commit

Permalink
ISPN-7918 Drop functional EntryVersion
Browse files Browse the repository at this point in the history
  • Loading branch information
rvansa committed Jun 13, 2017
1 parent 7e9d8ef commit 03a067b
Show file tree
Hide file tree
Showing 11 changed files with 41 additions and 234 deletions.
Expand Up @@ -128,7 +128,6 @@ public interface Ids {
// TODO: Add other meta params
int META_LIFESPAN = 91;
int META_ENTRY_VERSION = 92;
int NUMERIC_ENTRY_VERSION = 93;

int READ_WRITE_SNAPSHOT_VIEW = 94;

Expand Down Expand Up @@ -167,7 +166,6 @@ public interface Ids {

int VERSIONED_RESULT = 115;
int VERSIONED_RESULTS = 116;
int FUNCTIONAL_ENTRY_VERSION_ADAPTER = 117;

int XID_IMPL = 118;

Expand Down

This file was deleted.

84 changes: 0 additions & 84 deletions core/src/main/java/org/infinispan/functional/EntryVersion.java

This file was deleted.

16 changes: 6 additions & 10 deletions core/src/main/java/org/infinispan/functional/MetaParam.java
Expand Up @@ -3,6 +3,7 @@
import java.util.Optional;

import org.infinispan.commons.util.Experimental;
import org.infinispan.container.versioning.EntryVersion;

/**
* An easily extensible metadata parameter that's stored along with the value
Expand Down Expand Up @@ -197,29 +198,24 @@ public String toString() {
* @since 8.0
*/
@Experimental
class MetaEntryVersion<T> implements Writable<EntryVersion<T>> {
private final EntryVersion<T> entryVersion;
class MetaEntryVersion implements Writable<EntryVersion> {
private final EntryVersion entryVersion;

public MetaEntryVersion(EntryVersion<T> entryVersion) {
public MetaEntryVersion(EntryVersion entryVersion) {
this.entryVersion = entryVersion;
}

@Override
public EntryVersion<T> get() {
public EntryVersion get() {
return entryVersion;
}

@SuppressWarnings("unchecked")
public static <T> T type() {
return (T) MetaEntryVersion.class;
}

@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;

MetaEntryVersion<?> that = (MetaEntryVersion<?>) o;
MetaEntryVersion that = (MetaEntryVersion) o;

return entryVersion.equals(that.entryVersion);

Expand Down
Expand Up @@ -17,7 +17,6 @@
import org.infinispan.commons.util.Util;
import org.infinispan.container.entries.CacheEntry;
import org.infinispan.container.versioning.EntryVersion;
import org.infinispan.container.versioning.FunctionalEntryVersionAdapter;
import org.infinispan.marshall.core.Ids;
import org.infinispan.metadata.Metadata;

Expand Down Expand Up @@ -461,7 +460,7 @@ private static <K, V> void updateMetaParams(CacheEntry<K, V> entry, MetaParam.Wr
Optional<EntryVersion> version = Optional.ofNullable(entry.getMetadata()).map(m -> m.version());
MetaParams metaParams = MetaParams.empty();
if (version.isPresent()) {
metaParams.add(new MetaParam.MetaEntryVersion(new FunctionalEntryVersionAdapter(version.get())));
metaParams.add(new MetaParam.MetaEntryVersion(version.get()));
}
if (metas.length != 0) {
metaParams.addMany(metas);
Expand Down
Expand Up @@ -17,7 +17,6 @@
import org.infinispan.commons.util.Experimental;
import org.infinispan.commons.util.Util;
import org.infinispan.container.versioning.EntryVersion;
import org.infinispan.container.versioning.FunctionalEntryVersionAdapter;
import org.infinispan.marshall.core.Ids;
import org.infinispan.metadata.InternalMetadata;
import org.infinispan.metadata.Metadata;
Expand Down Expand Up @@ -88,12 +87,7 @@ public long maxIdle() {

@Override
public EntryVersion version() {
return params.find(MetaEntryVersion.class).map(MetaParamsInternalMetadata::versionOrNull).orElse(null);
}

private static EntryVersion versionOrNull(MetaEntryVersion mev) {
org.infinispan.functional.EntryVersion entryVersion = mev.get();
return entryVersion instanceof FunctionalEntryVersionAdapter ? ((FunctionalEntryVersionAdapter) entryVersion).get() : null;
return params.find(MetaEntryVersion.class).map(MetaEntryVersion::get).orElse(null);
}

@Override
Expand Down Expand Up @@ -146,7 +140,7 @@ public Metadata.Builder maxIdle(long time) {

@Override
public Metadata.Builder version(EntryVersion version) {
params.add(new MetaEntryVersion<>(new FunctionalEntryVersionAdapter(version)));
params.add(new MetaEntryVersion(version));
return this;
}

Expand Down
Expand Up @@ -32,7 +32,6 @@
import org.infinispan.container.entries.metadata.MetadataTransientCacheValue;
import org.infinispan.container.entries.metadata.MetadataTransientMortalCacheEntry;
import org.infinispan.container.entries.metadata.MetadataTransientMortalCacheValue;
import org.infinispan.container.versioning.FunctionalEntryVersionAdapter;
import org.infinispan.container.versioning.NumericVersion;
import org.infinispan.container.versioning.SimpleClusteredVersion;
import org.infinispan.context.Flag;
Expand Down Expand Up @@ -164,7 +163,6 @@ static ClassToExternalizerMap load(
addInternalExternalizer(new EquivalenceExternalizer(), exts);
addInternalExternalizer(new ExceptionResponse.Externalizer(), exts);
addInternalExternalizer(new Flag.Externalizer(), exts);
addInternalExternalizer(new FunctionalEntryVersionAdapter.Externalizer(), exts);
addInternalExternalizer(new GlobalTransaction.Externalizer(), exts);
addInternalExternalizer(new KeyFilterAsCacheEventFilter.Externalizer(), exts);
addInternalExternalizer(new KeyFilterAsKeyValueFilter.Externalizer(), exts);
Expand Down Expand Up @@ -198,7 +196,6 @@ static ClassToExternalizerMap load(
addInternalExternalizer(new MetadataTransientMortalCacheValue.Externalizer(), exts); // TODO: Untested in core
addInternalExternalizer(new MetaParamExternalizers.LifespanExternalizer(), exts);
addInternalExternalizer(new MetaParamExternalizers.EntryVersionParamExternalizer(), exts);
addInternalExternalizer(new MetaParamExternalizers.NumericEntryVersionExternalizer(), exts);
addInternalExternalizer(new MetaParams.Externalizer(), exts);
addInternalExternalizer(new MetaParamsInternalMetadata.Externalizer(), exts);
addInternalExternalizer(new MIMECacheEntry.Externalizer(), exts); // new
Expand Down
Expand Up @@ -5,8 +5,7 @@
import java.io.ObjectOutput;
import java.util.Set;

import org.infinispan.functional.EntryVersion;
import org.infinispan.functional.EntryVersion.NumericEntryVersion;
import org.infinispan.container.versioning.EntryVersion;
import org.infinispan.functional.MetaParam.MetaEntryVersion;
import org.infinispan.functional.MetaParam.MetaLifespan;
import org.infinispan.commons.marshall.AbstractExternalizer;
Expand Down Expand Up @@ -64,27 +63,4 @@ public Integer getId() {
}
}

public static final class NumericEntryVersionExternalizer extends AbstractExternalizer<NumericEntryVersion> {
@Override
public void writeObject(ObjectOutput output, NumericEntryVersion object) throws IOException {
output.writeLong(object.get());
}

@Override
public NumericEntryVersion readObject(ObjectInput input) throws IOException, ClassNotFoundException {
long version = input.readLong();
return new NumericEntryVersion(version);
}

@Override
public Set<Class<? extends NumericEntryVersion>> getTypeClasses() {
return Util.<Class<? extends NumericEntryVersion>>asSet(NumericEntryVersion.class);
}

@Override
public Integer getId() {
return Ids.NUMERIC_ENTRY_VERSION;
}
}

}
@@ -1,6 +1,6 @@
package org.infinispan.functional;

import static org.infinispan.functional.EntryVersion.CompareResult.EQUAL;
import static org.infinispan.container.versioning.InequalVersionComparisonResult.EQUAL;
import static org.infinispan.marshall.core.MarshallableFunctions.identity;
import static org.infinispan.marshall.core.MarshallableFunctions.removeReturnPrevOrNull;
import static org.infinispan.marshall.core.MarshallableFunctions.returnReadOnlyFindOrNull;
Expand Down Expand Up @@ -45,7 +45,7 @@
import java.util.function.Supplier;

import org.infinispan.AdvancedCache;
import org.infinispan.functional.EntryVersion.NumericEntryVersion;
import org.infinispan.container.versioning.NumericVersion;
import org.infinispan.functional.EntryView.ReadEntryView;
import org.infinispan.functional.EntryView.ReadWriteEntryView;
import org.infinispan.functional.EntryView.WriteEntryView;
Expand Down Expand Up @@ -311,13 +311,13 @@ private <K> void doReadWriteForConditionalParamBasedReplace(Supplier<K> keySuppl
ReadWriteMap<K, String> map1, ReadWriteMap<K, String> map2) {
replaceWithVersion(keySupplier, map1, map2, 100, rw -> {
assertEquals("uno", rw.get());
assertEquals(Optional.of(new MetaEntryVersion<>(new NumericEntryVersion(200))),
assertEquals(Optional.of(new MetaEntryVersion(new NumericVersion(200))),
rw.findMetaParam(MetaEntryVersion.class));
}
);
replaceWithVersion(keySupplier, map1, map2, 900, rw -> {
assertEquals(Optional.of("one"), rw.find());
assertEquals(Optional.of(new MetaEntryVersion<>(new NumericEntryVersion(100))),
assertEquals(Optional.of(new MetaEntryVersion(new NumericVersion(100))),
rw.findMetaParam(MetaEntryVersion.class));
});
}
Expand All @@ -342,7 +342,7 @@ private static final class SetStringAndVersionConstant<K>
implements Function<ReadWriteEntryView<K, String>, Void> {
@Override
public Void apply(ReadWriteEntryView<K, String> rw) {
rw.set("one", new MetaEntryVersion<>(new NumericEntryVersion(100)));
rw.set("one", new MetaEntryVersion(new NumericVersion(100)));
return null;
}

Expand Down Expand Up @@ -370,11 +370,10 @@ private VersionBasedConditionalReplace(long version) {

@Override
public ReadWriteEntryView<K, String> apply(ReadWriteEntryView<K, String> rw) {
Class<MetaEntryVersion<Long>> clazz = MetaEntryVersion.type();
Optional<MetaEntryVersion<Long>> metaParam = rw.findMetaParam(clazz);
Optional<MetaEntryVersion> metaParam = rw.findMetaParam(MetaEntryVersion.class);
metaParam.ifPresent(metaVersion -> {
if (metaVersion.get().compareTo(new NumericEntryVersion(version)) == EQUAL)
rw.set("uno", new MetaEntryVersion<>(new NumericEntryVersion(200)));
if (metaVersion.get().compareTo(new NumericVersion(version)) == EQUAL)
rw.set("uno", new MetaEntryVersion(new NumericVersion(200)));
});
return rw;
}
Expand Down

0 comments on commit 03a067b

Please sign in to comment.