throws Exception { if (types != null) { SyncRequest request = new SyncRequest(); request.setRequestId(requestsCounter.incrementAndGet()); request.setSyncRequestMetaData(metaDataTransport.createMetaDataRequest()); case CONFIGURATION: if (configurationTransport != null) { request.setConfigurationSyncRequest( configurationTransport.createConfigurationRequest()); case EVENT: if (isDownDirection) { request.setEventSyncRequest(new EventSyncRequest()); } else if (eventTransport != null) { request.setEventSyncRequest( eventTransport.createEventRequest(request.getRequestId())); if (notificationTransport != null) { if (isDownDirection) { request.setNotificationSyncRequest( notificationTransport.createEmptyNotificationRequest()); } else { request.setNotificationSyncRequest( notificationTransport.createNotificationRequest()); case PROFILE: if (!isDownDirection && profileTransport != null) {
/** * Converts Avro {@link SyncRequest} to {@link ClientSync}. * * @param source the avro structure * @return the client sync */ public static ClientSync convert(SyncRequest source) { ClientSync dest = new ClientSync(); dest.setRequestId(source.getRequestId()); dest.setClientSyncMetaData(convert(source.getSyncRequestMetaData())); dest.setBootstrapSync(convert(source.getBootstrapSyncRequest())); dest.setProfileSync(convert(source.getProfileSyncRequest())); dest.setConfigurationSync(convert(source.getConfigurationSyncRequest())); dest.setNotificationSync(convert(source.getNotificationSyncRequest())); dest.setEventSync(convert(source.getEventSyncRequest())); dest.setUserSync(convert(source.getUserSyncRequest())); dest.setLogSync(convert(source.getLogSyncRequest())); return dest; }
@Override public SyncRequest createResolveRequest() { if (clientState != null) { SyncRequest request = new SyncRequest(); request.setRequestId(increment.incrementAndGet()); BootstrapSyncRequest resolveRequest = new BootstrapSyncRequest(); List<KaaDataChannel> channels = channelManager.getChannels(); List<ProtocolVersionPair> pairs = new ArrayList<ProtocolVersionPair>(channels.size()); for (KaaDataChannel channel : channels) { TransportProtocolId channelTransportId = channel.getTransportProtocolId(); pairs.add(new ProtocolVersionPair(channelTransportId.getProtocolId(), channelTransportId.getProtocolVersion())); LOG.debug("Adding transport with id {} and version {} to resolve request", channelTransportId.getProtocolId(), channelTransportId.getProtocolVersion()); } resolveRequest.setSupportedProtocols(pairs); resolveRequest.setRequestId(increment.get()); request.setSyncRequestMetaData(new SyncRequestMetaData(sdkToken, null, null, null)); request.setBootstrapSyncRequest(resolveRequest); return request; } return null; }
KeyPair clientPair = KeyUtil.generateKeyPair(); AvroByteArrayConverter<org.kaaproject.kaa.common.endpoint.gen.SyncRequest> requestConverter = new AvroByteArrayConverter<>(org.kaaproject.kaa.common.endpoint.gen.SyncRequest.class); org.kaaproject.kaa.common.endpoint.gen.SyncRequest request = new org.kaaproject.kaa.common.endpoint.gen.SyncRequest(); request.setRequestId(42); SyncRequestMetaData md = new SyncRequestMetaData(); md.setSdkToken("sdkToken"); md.setEndpointPublicKeyHash(ByteBuffer.wrap(Sha1HashUtils.hashToBytes(clientPair.getPublic().getEncoded()))); request.setSyncRequestMetaData(md);
@Test public void testRequestCreation() throws IOException { DefaultBootstrapDataProcessor processor = new DefaultBootstrapDataProcessor(); BootstrapTransport transport = Mockito.mock(BootstrapTransport.class); Mockito.when(transport.createResolveRequest()).thenReturn(new SyncRequest()); processor.setBootstrapTransport(transport); Assert.assertNotNull(processor.compileRequest(null)); Mockito.verify(transport, Mockito.times(1)).createResolveRequest(); }
MessageEncoderDecoder crypt = new MessageEncoderDecoder(clientPair.getPrivate(), clientPair.getPublic(), serverPair.getPublic()); AvroByteArrayConverter<org.kaaproject.kaa.common.endpoint.gen.SyncRequest> requestConverter = new AvroByteArrayConverter<>(org.kaaproject.kaa.common.endpoint.gen.SyncRequest.class); org.kaaproject.kaa.common.endpoint.gen.SyncRequest request = new org.kaaproject.kaa.common.endpoint.gen.SyncRequest(); request.setRequestId(42); SyncRequestMetaData md = new SyncRequestMetaData(); md.setSdkToken("sdkToken"); md.setEndpointPublicKeyHash(ByteBuffer.wrap(Sha1HashUtils.hashToBytes(clientPair.getPublic().getEncoded()))); request.setSyncRequestMetaData(md);
AvroByteArrayConverter<SyncRequest> requestCreator = new AvroByteArrayConverter<SyncRequest>(SyncRequest.class); KaaDataMultiplexer multiplexer = Mockito.mock(KaaDataMultiplexer.class); Mockito.when(multiplexer.compileRequest(Mockito.anyMapOf(TransportType.class, ChannelDirection.class))).thenReturn(requestCreator.toByteArray(new SyncRequest())); KaaDataDemultiplexer demultiplexer = Mockito.mock(KaaDataDemultiplexer.class); tcpChannel.setMultiplexer(multiplexer);
@Override public SyncRequest build() { try { SyncRequest record = new SyncRequest(); record.requestId = fieldSetFlags()[0] ? this.requestId : (java.lang.Integer) defaultValue(fields()[0]); record.syncRequestMetaData = fieldSetFlags()[1] ? this.syncRequestMetaData : (org.kaaproject.kaa.common.endpoint.gen.SyncRequestMetaData) defaultValue(fields()[1]); record.bootstrapSyncRequest = fieldSetFlags()[2] ? this.bootstrapSyncRequest : (org.kaaproject.kaa.common.endpoint.gen.BootstrapSyncRequest) defaultValue(fields()[2]); record.profileSyncRequest = fieldSetFlags()[3] ? this.profileSyncRequest : (org.kaaproject.kaa.common.endpoint.gen.ProfileSyncRequest) defaultValue(fields()[3]); record.configurationSyncRequest = fieldSetFlags()[4] ? this.configurationSyncRequest : (org.kaaproject.kaa.common.endpoint.gen.ConfigurationSyncRequest) defaultValue(fields()[4]); record.notificationSyncRequest = fieldSetFlags()[5] ? this.notificationSyncRequest : (org.kaaproject.kaa.common.endpoint.gen.NotificationSyncRequest) defaultValue(fields()[5]); record.userSyncRequest = fieldSetFlags()[6] ? this.userSyncRequest : (org.kaaproject.kaa.common.endpoint.gen.UserSyncRequest) defaultValue(fields()[6]); record.eventSyncRequest = fieldSetFlags()[7] ? this.eventSyncRequest : (org.kaaproject.kaa.common.endpoint.gen.EventSyncRequest) defaultValue(fields()[7]); record.logSyncRequest = fieldSetFlags()[8] ? this.logSyncRequest : (org.kaaproject.kaa.common.endpoint.gen.LogSyncRequest) defaultValue(fields()[8]); record.extensionSyncRequests = fieldSetFlags()[9] ? this.extensionSyncRequests : (java.util.List<org.kaaproject.kaa.common.endpoint.gen.ExtensionSync>) defaultValue(fields()[9]); return record; } catch (Exception e) { throw new org.apache.avro.AvroRuntimeException(e); } } }