use of com.hazelcast.multimap.impl.MultiMapValue in project hazelcast by hazelcast.
the class TxnPutBackupOperation method run.
@Override
public void run() throws Exception {
MultiMapContainer container = getOrCreateContainer();
MultiMapValue multiMapValue = container.getOrCreateMultiMapValue(dataKey);
response = true;
if (multiMapValue.containsRecordId(recordId)) {
response = false;
return;
}
Collection<MultiMapRecord> coll = multiMapValue.getCollection(false);
MultiMapRecord record = new MultiMapRecord(recordId, isBinary() ? value : toObject(value));
coll.add(record);
}
use of com.hazelcast.multimap.impl.MultiMapValue in project hazelcast by hazelcast.
the class TxnPutOperation method run.
@Override
public void run() throws Exception {
begin = Clock.currentTimeMillis();
MultiMapContainer container = getOrCreateContainer();
MultiMapValue multiMapValue = container.getOrCreateMultiMapValue(dataKey);
response = true;
if (multiMapValue.containsRecordId(recordId)) {
response = false;
return;
}
Collection<MultiMapRecord> coll = multiMapValue.getCollection(false);
MultiMapRecord record = new MultiMapRecord(recordId, isBinary() ? value : toObject(value));
coll.add(record);
}
use of com.hazelcast.multimap.impl.MultiMapValue in project hazelcast by hazelcast.
the class TxnRemoveBackupOperation method run.
@Override
public void run() throws Exception {
MultiMapContainer container = getOrCreateContainer();
MultiMapValue multiMapValue = container.getMultiMapValueOrNull(dataKey);
response = true;
if (multiMapValue == null || !multiMapValue.containsRecordId(recordId)) {
response = false;
return;
}
Collection<MultiMapRecord> coll = multiMapValue.getCollection(false);
Iterator<MultiMapRecord> iter = coll.iterator();
while (iter.hasNext()) {
if (iter.next().getRecordId() == recordId) {
iter.remove();
break;
}
}
if (coll.isEmpty()) {
delete();
}
}
use of com.hazelcast.multimap.impl.MultiMapValue in project hazelcast by hazelcast.
the class TxnRemoveOperation method run.
@Override
public void run() throws Exception {
begin = Clock.currentTimeMillis();
MultiMapContainer container = getOrCreateContainer();
MultiMapValue multiMapValue = container.getMultiMapValueOrNull(dataKey);
response = true;
if (multiMapValue == null || !multiMapValue.containsRecordId(recordId)) {
response = false;
return;
}
Collection<MultiMapRecord> coll = multiMapValue.getCollection(false);
Iterator<MultiMapRecord> iter = coll.iterator();
while (iter.hasNext()) {
if (iter.next().getRecordId() == recordId) {
iter.remove();
break;
}
}
if (coll.isEmpty()) {
delete();
}
}
use of com.hazelcast.multimap.impl.MultiMapValue in project hazelcast by hazelcast.
the class MultiMapKeyValueSource method hasNext.
@Override
public boolean hasNext() {
if (valueIterator != null) {
boolean hasNext = valueIterator.hasNext();
multiMapRecord = hasNext ? valueIterator.next() : null;
if (hasNext) {
return true;
}
}
if (keyIterator != null && keyIterator.hasNext()) {
Data dataKey = keyIterator.next();
key = (K) ss.toObject(dataKey);
MultiMapValue wrapper = multiMapContainer.getMultiMapValueOrNull(dataKey);
valueIterator = wrapper.getCollection(true).iterator();
return hasNext();
}
return false;
}
Aggregations