Repository: incubator-wave Updated Branches: refs/heads/master ed27695d1 -> 7e3895da3
Fixes tests - adds adds null pointer check. Project: http://git-wip-us.apache.org/repos/asf/incubator-wave/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-wave/commit/7e3895da Tree: http://git-wip-us.apache.org/repos/asf/incubator-wave/tree/7e3895da Diff: http://git-wip-us.apache.org/repos/asf/incubator-wave/diff/7e3895da Branch: refs/heads/master Commit: 7e3895da37d8911e7a833bbb6ac3c3adc4e7c74d Parents: ed27695 Author: Yuri Zelikov <[email protected]> Authored: Thu Aug 28 01:37:47 2014 +0300 Committer: Yuri Zelikov <[email protected]> Committed: Thu Aug 28 01:37:47 2014 +0300 ---------------------------------------------------------------------- .../box/server/waveserver/AbstractSearchProviderImpl.java | 4 +++- .../box/server/waveserver/SimpleSearchProviderImpl.java | 7 +++++-- 2 files changed, 8 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/7e3895da/src/org/waveprotocol/box/server/waveserver/AbstractSearchProviderImpl.java ---------------------------------------------------------------------- diff --git a/src/org/waveprotocol/box/server/waveserver/AbstractSearchProviderImpl.java b/src/org/waveprotocol/box/server/waveserver/AbstractSearchProviderImpl.java index e026a81..b5e81ad 100644 --- a/src/org/waveprotocol/box/server/waveserver/AbstractSearchProviderImpl.java +++ b/src/org/waveprotocol/box/server/waveserver/AbstractSearchProviderImpl.java @@ -20,6 +20,7 @@ package org.waveprotocol.box.server.waveserver; import com.google.common.base.Function; +import com.google.common.base.Preconditions; import com.google.common.collect.LinkedHashMultimap; import com.google.common.collect.Lists; import com.google.common.collect.Maps; @@ -139,6 +140,7 @@ public abstract class AbstractSearchProviderImpl implements SearchProvider { protected boolean isWaveletMatchesCriteria(ReadableWaveletData wavelet, ParticipantId user, ParticipantId sharedDomainParticipantId, boolean isAllQuery) throws WaveletStateException { + Preconditions.checkNotNull(wavelet); // If it is user data wavelet for the user - return true. if (IdUtil.isUserDataWavelet(wavelet.getWaveletId()) && wavelet.getCreator().equals(user)) { return true; @@ -158,7 +160,7 @@ public abstract class AbstractSearchProviderImpl implements SearchProvider { // explicit or implicit participant and therefore has access permission. return true; } - + /** * Ensures that each wave in the current waves view has the user data wavelet by always adding * it to the view. http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/7e3895da/src/org/waveprotocol/box/server/waveserver/SimpleSearchProviderImpl.java ---------------------------------------------------------------------- diff --git a/src/org/waveprotocol/box/server/waveserver/SimpleSearchProviderImpl.java b/src/org/waveprotocol/box/server/waveserver/SimpleSearchProviderImpl.java index d0104b6..9884daf 100644 --- a/src/org/waveprotocol/box/server/waveserver/SimpleSearchProviderImpl.java +++ b/src/org/waveprotocol/box/server/waveserver/SimpleSearchProviderImpl.java @@ -20,6 +20,7 @@ package org.waveprotocol.box.server.waveserver; import com.google.common.base.Function; +import com.google.common.base.Preconditions; import com.google.common.collect.LinkedHashMultimap; import com.google.common.collect.Lists; import com.google.inject.Inject; @@ -97,7 +98,7 @@ public class SimpleSearchProviderImpl extends AbstractSearchProviderImpl { createWavesViewToFilter(user, isAllQuery); Function<ReadableWaveletData, Boolean> filterWaveletsFunction = createFilterWaveletsFunction(user, isAllQuery, withParticipantIds, creatorParticipantIds); - + ensureWavesHaveUserDataWavelet(currentUserWavesView, user); List<WaveViewData> results = @@ -142,7 +143,8 @@ public class SimpleSearchProviderImpl extends AbstractSearchProviderImpl { @Override public Boolean apply(ReadableWaveletData wavelet) { try { - return isWaveletMatchesCriteria(wavelet, user, sharedDomainParticipantId, + return wavelet != null + && isWaveletMatchesCriteria(wavelet, user, sharedDomainParticipantId, withParticipantIds, creatorParticipantIds, isAllQuery); } catch (WaveletStateException e) { LOG.warning( @@ -169,6 +171,7 @@ public class SimpleSearchProviderImpl extends AbstractSearchProviderImpl { protected boolean isWaveletMatchesCriteria(ReadableWaveletData wavelet, ParticipantId user, ParticipantId sharedDomainParticipantId, List<ParticipantId> withList, List<ParticipantId> creatorList, boolean isAllQuery) throws WaveletStateException { + Preconditions.checkNotNull(wavelet); // Filter by creator. This is the fastest check so we perform it first. for (ParticipantId creator : creatorList) { if (!creator.equals(wavelet.getCreator())) {
