@Override public void perform(GraphRewrite event, EvaluationContext context) { final GraphContext graphContext = event.getGraphContext(); List<Map<Object, Object>> javaSourceGroups = graphContext.getQuery(JavaSourceFileModel.class).getRawTraversal() .group() .by(v -> groupByProjectModelFunction(graphContext, (Vertex)v)) .toList(); final GraphService<JavaSourceFileModel> service = new GraphService<>(event.getGraphContext(), JavaSourceFileModel.class); for (Map<Object, Object> duplicateLists : javaSourceGroups) { for (Object duplicateListObject : duplicateLists.values()) { List<Vertex> duplicateList = (List<Vertex>)duplicateListObject; List<JavaSourceFileModel> toDelete = returnVerticesToDelete(service, duplicateList); toDelete.forEach(javaSourceFileModel -> javaSourceFileModel.remove()); } } }
@Override public Configuration getConfiguration(RuleLoaderContext ruleLoaderContext) { return ConfigurationBuilder.begin() .addRule() .when(SourceMode.isDisabled()) .perform(new DecompileCondition()) .addRule() .when(SourceMode.isDisabled()) .perform(new CleanFromMultipleSourceFiles()); } // @formatter:on
@Override public Configuration getConfiguration(RuleLoaderContext ruleLoaderContext) { return ConfigurationBuilder.begin() .addRule() .when(SourceMode.isDisabled()) .perform(new DecompileCondition()) .addRule() .when(SourceMode.isDisabled()) .perform(new CleanFromMultipleSourceFiles()); } // @formatter:on
@Override public void perform(GraphRewrite event, EvaluationContext context) { final GraphContext graphContext = event.getGraphContext(); List<Map<Object, Object>> javaSourceGroups = graphContext.getQuery(JavaSourceFileModel.class).getRawTraversal() .group() .by(v -> groupByProjectModelFunction(graphContext, (Vertex)v)) .toList(); final GraphService<JavaSourceFileModel> service = new GraphService<>(event.getGraphContext(), JavaSourceFileModel.class); for (Map<Object, Object> duplicateLists : javaSourceGroups) { for (Object duplicateListObject : duplicateLists.values()) { List<Vertex> duplicateList = (List<Vertex>)duplicateListObject; List<JavaSourceFileModel> toDelete = returnVerticesToDelete(service, duplicateList); toDelete.forEach(javaSourceFileModel -> javaSourceFileModel.remove()); } } }