public int copy(DirectoryConsumerStatus destConsumerStatus) { assert (destConsumerStatus != null) : "destConsumerStatus must be non-null"; destConsumerStatus.streamId(streamId()); if (consumerServiceStatusList() != null && !consumerServiceStatusList().isEmpty()) { int ret = CodecReturnCodes.SUCCESS; for (ConsumerStatusService consStatusService : consumerServiceStatusList()) { ConsumerStatusService destConsStatusService = new ConsumerStatusServiceImpl(); ret = consStatusService.copy(destConsStatusService); if (ret < CodecReturnCodes.SUCCESS) return ret; destConsumerStatus.consumerServiceStatusList().add(destConsStatusService); } } return CodecReturnCodes.SUCCESS; }
@Test public void consumerStatusServiceCopyTests() { ConsumerStatusService consumerStatusService1 = DirectoryMsgFactory.createConsumerStatusService(); ConsumerStatusService consumerStatusService2 = DirectoryMsgFactory.createConsumerStatusService(); int serviceId = 1; long sourceMirroringMode = 1; int action = MapEntryActions.UPDATE; consumerStatusService1.serviceId(serviceId); consumerStatusService1.sourceMirroringMode(sourceMirroringMode); consumerStatusService1.action(action); System.out.println("ConsumerStatusService copy tests..."); int ret = consumerStatusService1.copy(consumerStatusService2); assertEquals(CodecReturnCodes.SUCCESS, ret); // verify deep copy assertEquals(consumerStatusService1.action(), consumerStatusService2.action()); assertEquals(consumerStatusService1.serviceId(), consumerStatusService2.serviceId()); assertEquals(consumerStatusService1.sourceMirroringMode(), consumerStatusService2.sourceMirroringMode()); System.out.println("Done."); }