private void readObject(ObjectInputStream in) throws IOException, InvalidIdException { try { in.defaultReadObject(); } catch(ClassNotFoundException e) { // Fatal. throw new IOException("Incorrect serial versions" + e); } waveId = ApiIdSerializer.instance().deserialiseWaveId(serializedWaveId); waveletId = ApiIdSerializer.instance().deserialiseWaveletId(serializedWaveletId); } }
/** * Generates a temporary blip id. * * @param wavelet the wavelet to seed the temporary id. * @return a temporary blip id. */ private static String generateTempBlipId(Wavelet wavelet) { return String.format(TEMP_BLIP_ID_FORMAT, ApiIdSerializer.instance().serialiseWaveletId(wavelet.getWaveletId()), ID_GENERATOR.nextInt()); }
WaveletId waveletId; try { waveId = ApiIdSerializer.instance().deserialiseWaveId( String.format(TEMP_WAVE_ID_FORMAT, domain, ID_GENERATOR.nextInt())); waveletId = ApiIdSerializer.instance().deserialiseWaveletId( String.format(TEMP_WAVELET_ID_FORMAT, domain)); } catch (InvalidIdException e) { ApiIdSerializer.instance().serialiseWaveletId(waveletId), ID_GENERATOR.nextInt()); Map<String, Blip> blips = new HashMap<String, Blip>();
protected static String s(WaveletId waveletId) { return ApiIdSerializer.instance().serialiseWaveletId(waveletId); } }
protected static String s(WaveletId waveletId) { return ApiIdSerializer.instance().serialiseWaveletId(waveletId); } }
@Override public ObservableConversationView openConversation( OperationRequest operation, ParticipantId participant) throws InvalidRequestException { try { WaveId waveId = ApiIdSerializer.instance().deserialiseWaveId( OperationUtil.<String>getRequiredParameter(operation, ParamsProperty.WAVE_ID)); WaveletId waveletId = ApiIdSerializer.instance().deserialiseWaveletId( OperationUtil.<String>getRequiredParameter(operation, ParamsProperty.WAVELET_ID)); return openConversation(waveId, waveletId, participant); } catch (InvalidIdException e) { throw new InvalidRequestException("Invalid id", operation, e); } }
@Override public OpBasedWavelet openWavelet(OperationRequest operation, ParticipantId participant) throws InvalidRequestException { try { WaveId waveId = ApiIdSerializer.instance().deserialiseWaveId( OperationUtil.<String>getRequiredParameter(operation, ParamsProperty.WAVE_ID)); WaveletId waveletId = ApiIdSerializer.instance().deserialiseWaveletId( OperationUtil.<String>getRequiredParameter(operation, ParamsProperty.WAVELET_ID)); return openWavelet(waveId, waveletId, participant); } catch (InvalidIdException e) { throw new InvalidRequestException("Invalid id", operation, e); } }
protected static String s(WaveId waveId) { return ApiIdSerializer.instance().serialiseWaveId(waveId); }
protected static String s(WaveId waveId) { return ApiIdSerializer.instance().serialiseWaveId(waveId); }
/** @return a digest for an empty wave. */ private Digest emptyDigest(WaveViewData wave) { String title = ModernIdSerialiser.INSTANCE.serialiseWaveId(wave.getWaveId()); String id = ApiIdSerializer.instance().serialiseWaveId(wave.getWaveId()); return new Digest(title, "(empty)", id, Collections.<String> emptyList(), -1L, -1L, 0, 0); }
throw new IOException(response.getErrorMessage()); WaveId waveId = ApiIdSerializer.instance().deserialiseWaveId( (String) response.getData().get(ParamsProperty.WAVE_ID)); WaveletId waveletId = ApiIdSerializer.instance().deserialiseWaveletId( (String) response.getData().get(ParamsProperty.WAVELET_ID)); String rootBlipId = (String) response.getData().get(ParamsProperty.BLIP_ID);
@Override public ImmutableSet<WaveletId> getVisibleWaveletIds(OperationRequest operation, ParticipantId participant) throws InvalidRequestException { Set<WaveletId> waveletIds = new HashSet<WaveletId>(); try { WaveId waveId = ApiIdSerializer.instance().deserialiseWaveId( OperationUtil.<String>getRequiredParameter(operation, ParamsProperty.WAVE_ID)); ImmutableSet<WaveletId> ids = waveletProvider.getWaveletIds(waveId); for (WaveletId waveletId: ids) { WaveletName waveletName = WaveletName.of(waveId, waveletId); if (waveletProvider.checkAccessPermission(waveletName, participant)) { waveletIds.add(waveletId); } } } catch (InvalidIdException ex) { throw new InvalidRequestException("Invalid id", operation, ex); } catch (WaveServerException e) { LOG.severe("Error of access to wave", e); } return ImmutableSet.copyOf(waveletIds); }
/** @return a digest for an unrecognised type of wave. */ private Digest unknownDigest(WaveViewData wave) { String title = ModernIdSerialiser.INSTANCE.serialiseWaveId(wave.getWaveId()); String id = ApiIdSerializer.instance().serialiseWaveId(wave.getWaveId()); long lmt = -1L; long created = -1L; int docs = 0; List<String> participants = new ArrayList<String>(); for (WaveletData data : wave.getWavelets()) { lmt = Math.max(lmt, data.getLastModifiedTime()); created = Math.max(lmt, data.getCreationTime()); docs += data.getDocumentIds().size(); for (ParticipantId p : data.getParticipants()) { if (participants.size() < PARTICIPANTS_SNIPPET_LENGTH) { participants.add(p.getAddress()); } else { break; } } } return new Digest(title, "(unknown)", id, participants, lmt, created, 0, docs); }
@Override public void execute(OperationRequest operation, OperationContext context, ParticipantId participant) throws InvalidRequestException { WaveId waveId; WaveletId waveletId; try { waveId = ApiIdSerializer.instance().deserialiseWaveId( OperationUtil.<String>getRequiredParameter(operation, ParamsProperty.WAVE_ID)); waveletId = ApiIdSerializer.instance().deserialiseWaveletId( OperationUtil.<String>getRequiredParameter(operation, ParamsProperty.WAVELET_ID)); } catch (InvalidIdException ex) { throw new InvalidRequestException("Invalid id", operation, ex); } WaveletName waveletName = WaveletName.of(waveId, waveletId); CommittedWaveletSnapshot snapshot = context.getWaveletSnapshot(waveletName, participant); WaveletSnapshot protoSnapshot = SnapshotSerializer.serializeWavelet(snapshot.snapshot, snapshot.snapshot.getHashedVersion()); WaveletSnapshotProtoImpl protoSnapshotImpl = new WaveletSnapshotProtoImpl(protoSnapshot); String jsonSnapshot = gson.toJson(protoSnapshotImpl.toGson(null, gson)); Map<ParamsProperty, Object> data = ImmutableMap.<ParamsProperty, Object> of(ParamsProperty.RAW_SNAPSHOT, jsonSnapshot); context.constructResponse(operation, data); }
HashedVersion endVersion; try { waveId = ApiIdSerializer.instance().deserialiseWaveId( OperationUtil.<String>getRequiredParameter(operation, ParamsProperty.WAVE_ID)); waveletId = ApiIdSerializer.instance().deserialiseWaveletId( OperationUtil.<String>getRequiredParameter(operation, ParamsProperty.WAVELET_ID)); } catch (InvalidIdException ex) {
@SuppressWarnings("unchecked") @Override public boolean matches(Object item) { Map<ParamsProperty, Object> map = (Map<ParamsProperty, Object>) item; assertTrue(map.containsKey(ParamsProperty.SEARCH_RESULTS)); Object resultsObj = map.get(ParamsProperty.SEARCH_RESULTS); SearchResult results = (SearchResult) resultsObj; assertEquals(query, results.getQuery()); assertEquals(1, results.getNumResults()); Digest digest = results.getDigests().get(0); assertEquals(title, digest.getTitle()); assertEquals(ApiIdSerializer.instance().serialiseWaveId(waveId), digest.getWaveId()); Builder<ParticipantId> participantIds = ImmutableSet.builder(); for (String name : digest.getParticipants()) { participantIds.add(ParticipantId.ofUnsafe(name)); } assertEquals(participants, participantIds.build()); assertEquals(unreadCount, digest.getUnreadCount()); assertEquals(blipCount, digest.getBlipCount()); return true; }
@SuppressWarnings("unchecked") @Override public boolean matches(Object item) { Map<ParamsProperty, Object> map = (Map<ParamsProperty, Object>) item; assertTrue(map.containsKey(ParamsProperty.SEARCH_RESULTS)); Object resultsObj = map.get(ParamsProperty.SEARCH_RESULTS); SearchResult results = (SearchResult) resultsObj; assertEquals(query, results.getQuery()); assertEquals(1, results.getNumResults()); Digest digest = results.getDigests().get(0); assertEquals(title, digest.getTitle()); assertEquals(ApiIdSerializer.instance().serialiseWaveId(waveId), digest.getWaveId()); Builder<ParticipantId> participantIds = ImmutableSet.builder(); for (String name : digest.getParticipants()) { participantIds.add(ParticipantId.ofUnsafe(name)); } assertEquals(participants, participantIds.build()); assertEquals(unreadCount, digest.getUnreadCount()); assertEquals(blipCount, digest.getBlipCount()); return true; }