Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -24,18 +24,21 @@ public class ContractModule extends SimpleModule {

protected final ContractParser parser;


@Override
public void setupModule(SetupContext context) {
super.setupModule(context);

context.addBeanDeserializerModifier(new BeanDeserializerModifier() {
private static final long serialVersionUID = 4940931805636291357L;

public JsonDeserializer<?> modifyDeserializer(DeserializationConfig config, BeanDescription description, JsonDeserializer<?> deserializer) {
if (IVertex.class.isAssignableFrom(description.getBeanClass())) return new ContractDeserializer(deserializer, getParser());
return deserializer;
}
});
context.addBeanSerializerModifier(new BeanSerializerModifier() {
private static final long serialVersionUID = -4855611336964247038L;

@Override
public JsonSerializer<?> modifySerializer(SerializationConfig config, BeanDescription description, JsonSerializer<?> serializer) {
if (IVertex.class.isAssignableFrom(description.getBeanClass())) return new ContractSerializer(serializer, getDescriber(), getParser());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,17 @@ public void setupModule(SetupContext context) {
super.setupModule(context);

context.addBeanDeserializerModifier(new BeanDeserializerModifier() {
private static final long serialVersionUID = -618720025694338390L;

public JsonDeserializer<?> modifyDeserializer(DeserializationConfig config, BeanDescription description, JsonDeserializer<?> deserializer) {
if (ITerm.class.isAssignableFrom(description.getBeanClass())) return new StandardTermDeserializer(deserializer);
if (ITerms.class.isAssignableFrom(description.getBeanClass())) return new TermsDeserializer();
return deserializer;
}
});
context.addBeanSerializerModifier(new BeanSerializerModifier() {
private static final long serialVersionUID = 3390001814604938831L;

@Override
public JsonSerializer<?> modifySerializer(SerializationConfig config, BeanDescription description, JsonSerializer<?> serializer) {
if (ITerm.class.isAssignableFrom(description.getBeanClass())) return new StandardTermSerializer();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import com.fasterxml.jackson.databind.MapperFeature;
import com.fasterxml.jackson.databind.ObjectWriter;
import com.fasterxml.jackson.dataformat.csv.CsvMapper;
import com.fasterxml.jackson.dataformat.csv.CsvMapper.Builder;
import com.g2forge.alexandria.java.adt.compare.CollectionComparator;
import com.g2forge.alexandria.java.adt.compare.ComparableComparator;
import com.g2forge.alexandria.java.adt.compare.MappedComparator;
Expand Down Expand Up @@ -60,7 +61,7 @@ public class ReassertSummarizer {
protected Set<IVertex> computeOrigins(IReport report, final Graph<IVertex, IEdge> graph) {
final Set<Artifact<?>> reportOrigins = report.getOrigins().getOrigins().keySet();
if (graph.vertexSet().containsAll(reportOrigins)) return Collections.unmodifiableSet(reportOrigins);

final ITypeRef<Artifact<?>> artifactType = new ATypeRef<Artifact<?>>() {};
return graph.vertexSet().stream().flatMap(artifactType::castIfInstance).filter(a -> !graph.incomingEdgesOf(a).stream().map(graph::getEdgeSource).anyMatch(artifactType::isInstance)).collect(Collectors.toSet());
}
Expand All @@ -69,10 +70,19 @@ protected Set<IVertex> computeOrigins(IReport report, final Graph<IVertex, IEdge
return mode -> new ReportRenderer(mode, context);
}

protected List<GraphPath<IVertex, IEdge>> readable(List<GraphPath<IVertex, IEdge>> paths) {
return paths.stream().filter(path -> {
final List<IVertex> vertexList = path.getVertexList();
if (vertexList.size() <= 2) return true;
return vertexList.subList(1, vertexList.size() - 1).stream().allMatch(v -> !(v instanceof Work));
}).collect(Collectors.toList());
}

protected <T> void render(Class<T> writenType, Class<?> schemaType, Collection<T> value, IDataSink sink, ASummaryModule module) {
final CsvMapper mapper = new CsvMapper();
mapper.disable(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY);
mapper.registerModule(module);
final Builder mapperBuilder = CsvMapper.builder();
mapperBuilder.disable(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY);
mapperBuilder.addModule(module);
final CsvMapper mapper = mapperBuilder.build();

final ObjectWriter writer = mapper.writerFor(writenType).with(mapper.schemaFor(schemaType).withHeader().withColumnReordering(true).withArrayElementSeparator("\n"));
try (final OutputStream stream = sink.getStream(ITypeRef.of(OutputStream.class))) {
Expand Down Expand Up @@ -164,12 +174,4 @@ public int compare(IVertex o1, IVertex o2) {

return retVal.build();
}

protected List<GraphPath<IVertex, IEdge>> readable(List<GraphPath<IVertex, IEdge>> paths) {
return paths.stream().filter(path -> {
final List<IVertex> vertexList = path.getVertexList();
if (vertexList.size() <= 2) return true;
return vertexList.subList(1, vertexList.size() - 1).stream().allMatch(v -> !(v instanceof Work));
}).collect(Collectors.toList());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@ public void setupModule(SetupContext context) {
super.setupModule(context);

context.addBeanSerializerModifier(new BeanSerializerModifier() {
private static final long serialVersionUID = 2340456774216459044L;

@Override
public JsonSerializer<?> modifySerializer(SerializationConfig config, BeanDescription description, JsonSerializer<?> serializer) {
return modify(description, serializer);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import com.fasterxml.jackson.databind.ObjectWriter;
import com.fasterxml.jackson.databind.type.MapLikeType;
import com.fasterxml.jackson.dataformat.csv.CsvMapper;
import com.fasterxml.jackson.dataformat.csv.CsvMapper.Builder;
import com.fasterxml.jackson.dataformat.csv.CsvSchema;
import com.fasterxml.jackson.dataformat.csv.CsvSchema.ColumnType;
import com.fasterxml.jackson.module.paranamer.ParanamerModule;
Expand Down Expand Up @@ -58,10 +59,10 @@ public void setTerm(T term, TermRelation relation) {
private static final CsvMapper mapper = computeMapper();

protected static CsvMapper computeMapper() {
final CsvMapper mapper = new CsvMapper();
mapper.configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true);
mapper.registerModule(new ParanamerModule());
return mapper;
final Builder mapperBuilder = CsvMapper.builder();
mapperBuilder.enable(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES);
mapperBuilder.addModule(new ParanamerModule());
return mapperBuilder.build();
}

public <C, T> Map<C, ITerms<T>> read(Class<C> contractClass, Class<? extends T> termClass, IDataSource source) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,16 @@ public class SimpleEdgeModule extends SimpleModule {
public void setupModule(SetupContext context) {
super.setupModule(context);
context.addBeanDeserializerModifier(new BeanDeserializerModifier() {
private static final long serialVersionUID = -7441441779625262166L;

public JsonDeserializer<?> modifyDeserializer(DeserializationConfig config, BeanDescription description, JsonDeserializer<?> deserializer) {
if (IEdge.class.isAssignableFrom(description.getBeanClass())) return new SimpleEdgeDeserializer(deserializer);
return deserializer;
}
});
context.addBeanSerializerModifier(new BeanSerializerModifier() {
private static final long serialVersionUID = -5870420170827620394L;

@Override
public JsonSerializer<?> modifySerializer(SerializationConfig config, BeanDescription description, JsonSerializer<?> serializer) {
if (IEdge.class.isAssignableFrom(description.getBeanClass()) && description.findProperties().isEmpty()) return new SimpleEdgeSerializer();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ public void setupModule(SetupContext context) {
addDeserializer(IMavenPackaging.class, new MavenPackagingDeserializer());
super.setupModule(context);
context.addBeanDeserializerModifier(new BeanDeserializerModifier() {
private static final long serialVersionUID = 9132457908029868158L;

@Override
public JsonDeserializer<?> modifyCollectionDeserializer(DeserializationConfig config, CollectionType type, BeanDescription beanDescription, JsonDeserializer<?> deserializer) {
if (deserializer instanceof CollectionDeserializer) return new XmlWhitespaceCollectionDeserialiser((CollectionDeserializer) deserializer);
Expand Down