You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vo...@apache.org on 2016/09/08 14:45:49 UTC
[07/50] ignite git commit: wip
wip
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/31c586ae
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/31c586ae
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/31c586ae
Branch: refs/heads/ignite-3199-1
Commit: 31c586aed2f128023d8d1abe8da7733fb5770232
Parents: b8e9299
Author: Pavel Tupitsyn <pt...@apache.org>
Authored: Mon Sep 5 16:43:42 2016 +0300
Committer: Pavel Tupitsyn <pt...@apache.org>
Committed: Mon Sep 5 16:43:42 2016 +0300
----------------------------------------------------------------------
.../platform/websession/LockEntryProcessor.java | 24 ++++++++++++--------
1 file changed, 14 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/31c586ae/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/websession/LockEntryProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/websession/LockEntryProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/websession/LockEntryProcessor.java
index 5a26aeb..0f0822b 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/websession/LockEntryProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/websession/LockEntryProcessor.java
@@ -29,9 +29,9 @@ import java.sql.Timestamp;
/**
* Entry processor that locks web session data.
*/
-public class LockEntryProcessor implements CacheEntryProcessor<String, SessionStateData, Object> {
+public class LockEntryProcessor implements CacheEntryProcessor<String, BinaryObject, Object> {
/** {@inheritDoc} */
- @Override public Object process(MutableEntry<String, SessionStateData> entry, Object... objects)
+ @Override public Object process(MutableEntry<String, BinaryObject> entry, Object... objects)
throws EntryProcessorException {
// Arg contains lock info: node id + thread id
// Return result is either BinarizableSessionStateStoreData (when not locked) or lockAge (when locked)
@@ -39,25 +39,29 @@ public class LockEntryProcessor implements CacheEntryProcessor<String, SessionSt
if (!entry.exists())
return null;
- SessionStateData data = entry.getValue();
+ BinaryObject data = entry.getValue();
assert data != null;
- if (data.getLockNodeId() != null) {
+ if (data.field("LockNodeId") != null) {
// Already locked: return lock time.
- assert data.getLockTime() != null;
+ Object lockTime = data.field("LockTime");
- return data.getLockTime();
+ assert lockTime != null;
+
+ return lockTime;
}
LockInfo lockInfo = (LockInfo)objects[0];
// Not locked: lock and return result
- data.setLockNodeId(lockInfo.getLockNodeId());
- data.setLockId(lockInfo.getLockId());
- data.setLockTime(lockInfo.getLockTime());
+ final BinaryObjectBuilder builder = data.toBuilder();
+
+ builder.setField("LockNodeId", lockInfo.getLockNodeId());
+ builder.setField("LockId", lockInfo.getLockId());
+ builder.setField("LockTime", lockInfo.getLockTime());
- entry.setValue(data);
+ entry.setValue(builder.build());
return data;
}