@Test public void distinctPluginConfigInfDtoShouldSuccess() { PluginConfigInterfaceDto dto1 = new PluginConfigInterfaceDto("a", "pluginConfigId", "action", "serviceName1", "serviceDisplayName", "path", "httpMethod", null, null); PluginConfigInterfaceDto dto2 = new PluginConfigInterfaceDto("b", "pluginConfigId", "action", "serviceName2", "serviceDisplayName", "path", "httpMethod", null, null); PluginConfigInterfaceDto dto3 = new PluginConfigInterfaceDto("c", "pluginConfigId", "action", "serviceName3", "serviceDisplayName", "path", "httpMethod", null, null); PluginConfigInterfaceDto dto4 = new PluginConfigInterfaceDto("d", "pluginConfigId", "action", "serviceName1", "serviceDisplayName", "path", "httpMethod", null, null); PluginConfigInterfaceDto dto5 = new PluginConfigInterfaceDto("e", "pluginConfigId", "action", "serviceName5", "serviceDisplayName", "path", "httpMethod", null, null); List<PluginConfigInterfaceDto> list = Lists.newArrayList(dto1, dto2, dto3, dto4, dto5); List<PluginConfigInterfaceDto> retList = new ArrayList<PluginConfigInterfaceDto>(); retList = configService.distinctPluginConfigInfDto(list); assertThat(retList.size()).isEqualTo(4); assertThat(retList).contains(dto1, dto2, dto3, dto5); assertThat(retList).doesNotContain(dto4); }
@SuppressWarnings("unchecked") public List<PluginConfigInterfaceDto> distinctPluginConfigInfDto(List<PluginConfigInterfaceDto> dto) { dto = dto.stream() .collect(Collectors.collectingAndThen( Collectors.toCollection( () -> new TreeSet<>(Comparator.comparing(PluginConfigInterfaceDto::getServiceName))), ArrayList::new)); return dto; }
PluginConfigService { @SuppressWarnings("unchecked") public List<PluginConfigInterfaceDto> distinctPluginConfigInfDto(List<PluginConfigInterfaceDto> dto) { dto = dto.stream() .collect(Collectors.collectingAndThen( Collectors.toCollection( () -> new TreeSet<>(Comparator.comparing(PluginConfigInterfaceDto::getServiceName))), ArrayList::new)); return dto; } }
PluginConfigService { @SuppressWarnings("unchecked") public List<PluginConfigInterfaceDto> distinctPluginConfigInfDto(List<PluginConfigInterfaceDto> dto) { dto = dto.stream() .collect(Collectors.collectingAndThen( Collectors.toCollection( () -> new TreeSet<>(Comparator.comparing(PluginConfigInterfaceDto::getServiceName))), ArrayList::new)); return dto; }  }
PluginConfigService { @SuppressWarnings("unchecked") public List<PluginConfigInterfaceDto> distinctPluginConfigInfDto(List<PluginConfigInterfaceDto> dto) { dto = dto.stream() .collect(Collectors.collectingAndThen( Collectors.toCollection( () -> new TreeSet<>(Comparator.comparing(PluginConfigInterfaceDto::getServiceName))), ArrayList::new)); return dto; }  List<PluginConfigInterface> getPluginConfigInterfaces(String pluginConfigId); PluginConfigDto savePluginConfig(PluginConfigDto pluginConfigDto); PluginConfigDto createPluginConfig(PluginConfigDto pluginConfigDto); void updatePluginConfigRoleBinding(String pluginConfigId,
            PluginConfigRoleRequestDto pluginConfigRoleRequestDto); void deletePluginConfigRoleBinding(String pluginConfigId,
            PluginConfigRoleRequestDto pluginConfigRoleRequestDto); PluginConfigDto updatePluginConfig(PluginConfigDto pluginConfigDto); PluginConfigDto enablePlugin(String pluginConfigId); PluginConfigDto disablePlugin(String pluginConfigId); PluginConfigInterface getPluginConfigInterfaceByServiceName(String serviceName); List<PluginConfigInterfaceDto> queryAllLatestEnabledPluginConfigInterface(); List<PluginConfigInterfaceDto> queryAllEnabledPluginConfigInterfaceForEntityByFilterRule(
            TargetEntityFilterRuleDto filterRuleDto); @SuppressWarnings("unchecked") List<PluginConfigInterfaceDto> queryAllEnabledPluginConfigInterfaceForEntity(String packageName,
            String entityName, TargetEntityFilterRuleDto filterRuleDto); @SuppressWarnings("unchecked") List<PluginConfigInterfaceDto> distinctPluginConfigInfDto(List<PluginConfigInterfaceDto> dto); void disableAllPluginsForPluginPackage(String pluginPackageId); List<PluginConfigInterfaceDto> queryPluginConfigInterfaceByConfigId(String configId); void deletePluginConfigById(String configId); }
PluginConfigService { @SuppressWarnings("unchecked") public List<PluginConfigInterfaceDto> distinctPluginConfigInfDto(List<PluginConfigInterfaceDto> dto) { dto = dto.stream() .collect(Collectors.collectingAndThen( Collectors.toCollection( () -> new TreeSet<>(Comparator.comparing(PluginConfigInterfaceDto::getServiceName))), ArrayList::new)); return dto; }  List<PluginConfigInterface> getPluginConfigInterfaces(String pluginConfigId); PluginConfigDto savePluginConfig(PluginConfigDto pluginConfigDto); PluginConfigDto createPluginConfig(PluginConfigDto pluginConfigDto); void updatePluginConfigRoleBinding(String pluginConfigId,
            PluginConfigRoleRequestDto pluginConfigRoleRequestDto); void deletePluginConfigRoleBinding(String pluginConfigId,
            PluginConfigRoleRequestDto pluginConfigRoleRequestDto); PluginConfigDto updatePluginConfig(PluginConfigDto pluginConfigDto); PluginConfigDto enablePlugin(String pluginConfigId); PluginConfigDto disablePlugin(String pluginConfigId); PluginConfigInterface getPluginConfigInterfaceByServiceName(String serviceName); List<PluginConfigInterfaceDto> queryAllLatestEnabledPluginConfigInterface(); List<PluginConfigInterfaceDto> queryAllEnabledPluginConfigInterfaceForEntityByFilterRule(
            TargetEntityFilterRuleDto filterRuleDto); @SuppressWarnings("unchecked") List<PluginConfigInterfaceDto> queryAllEnabledPluginConfigInterfaceForEntity(String packageName,
            String entityName, TargetEntityFilterRuleDto filterRuleDto); @SuppressWarnings("unchecked") List<PluginConfigInterfaceDto> distinctPluginConfigInfDto(List<PluginConfigInterfaceDto> dto); void disableAllPluginsForPluginPackage(String pluginPackageId); List<PluginConfigInterfaceDto> queryPluginConfigInterfaceByConfigId(String configId); void deletePluginConfigById(String configId);  }