Skip to content

Commit e912341

Browse files
committed
CLEANUP: Refactored simply the SMGetResultImpl class.
1 parent 9dcec45 commit e912341

File tree

2 files changed

+8
-18
lines changed

2 files changed

+8
-18
lines changed

src/main/java/net/spy/memcached/internal/result/SMGetResultImpl.java

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -40,20 +40,19 @@ public void mergeSMGetElements(final List<SMGetElement<T>> eachResult,
4040

4141
private void mergeSMGetElements(final List<SMGetElement<T>> eachResult) {
4242
if (mergedResult.isEmpty()) {
43-
// merged result is empty, add all.
4443
mergedResult.addAll(eachResult);
4544

45+
// remove elements that exceed the count
4646
while (mergedResult.size() > count) {
4747
mergedResult.remove(count);
4848
}
4949
return;
5050
}
5151

5252
// do sort merge
53-
boolean doInsert; // Is current eachResult could be inserted?
5453
int comp, pos = 0;
5554
for (SMGetElement<T> result : eachResult) {
56-
doInsert = true;
55+
boolean doInsert = true;
5756
for (; pos < mergedResult.size(); pos++) {
5857
comp = result.compareBkeyTo(mergedResult.get(pos));
5958
if ((reverse) ? (comp > 0) : (comp < 0)) {
@@ -81,13 +80,9 @@ private void mergeSMGetElements(final List<SMGetElement<T>> eachResult) {
8180
continue;
8281
}
8382
if (pos >= count) {
84-
// At this point, following conditions are met.
85-
// - mergedResult.size() == totalResultElementCount &&
86-
// - The current <bkey, key> of eachResult is
87-
// behind of the last <bkey, key> of mergedResult.
88-
// Then, all the next <bkey, key> elements of eachResult are
89-
// definitely behind of the last <bkey, bkey> of mergedResult.
90-
// So, stop the current sort-merge.
83+
// The next element of eachResult must be positioned behind
84+
// the elements of the mergedResult whose size is count.
85+
// So, stop the current sort-merge task.
9186
break;
9287
}
9388
mergedResult.add(pos, result);
@@ -138,13 +133,11 @@ public void makeResultOperationStatus() {
138133
}
139134

140135
final OperationStatus status;
141-
142136
if (!unique && hasDuplicatedBKeyResult()) {
143137
status = new OperationStatus(true, "DUPLICATED");
144138
} else {
145139
status = new OperationStatus(true, "END");
146140
}
147-
148141
resultOperationStatus = new CollectionOperationStatus(status);
149142
}
150143
}

src/main/java/net/spy/memcached/internal/result/SMGetResultOldImpl.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,10 @@ public void mergeSMGetElements(final List<SMGetElement<T>> eachResult,
5050
final boolean isEachResultTrimmed) {
5151

5252
if (mergedResult.isEmpty()) {
53-
// merged result is empty, add all.
5453
mergedResult.addAll(eachResult);
5554
isMergedResultTrimmed.set(isEachResultTrimmed);
5655

56+
// remove elements that exceed the totalResultElementCount
5757
while (mergedResult.size() > totalResultElementCount) {
5858
mergedResult.remove(totalResultElementCount);
5959
}
@@ -106,23 +106,20 @@ public void mergeSMGetElements(final List<SMGetElement<T>> eachResult,
106106

107107
@Override
108108
public void makeResultOperationStatus() {
109-
final boolean isDuplicated = hasDuplicatedBKeyResult();
110109
final OperationStatus status;
111-
112110
if (isMergedResultTrimmed.get()) {
113-
if (isDuplicated) {
111+
if (hasDuplicatedBKeyResult()) {
114112
status = new OperationStatus(true, "DUPLICATED_TRIMMED");
115113
} else {
116114
status = new OperationStatus(true, "TRIMMED");
117115
}
118116
} else {
119-
if (isDuplicated) {
117+
if (hasDuplicatedBKeyResult()) {
120118
status = new OperationStatus(true, "DUPLICATED");
121119
} else {
122120
status = new OperationStatus(true, "END");
123121
}
124122
}
125-
126123
resultOperationStatus = new CollectionOperationStatus(status);
127124
}
128125
}

0 commit comments

Comments
 (0)