mirror of
https://github.com/querydsl/querydsl.git
synced 2026-07-03 21:07:49 +08:00
Move configuration customization into SpatialSupport
This commit is contained in:
parent
14ada024b7
commit
9e403bd85d
@ -22,9 +22,7 @@ import java.lang.annotation.Annotation;
|
||||
import java.util.*;
|
||||
|
||||
import com.google.common.base.Strings;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.mysema.codegen.model.ClassType;
|
||||
import com.mysema.codegen.model.SimpleType;
|
||||
import com.mysema.query.annotations.Config;
|
||||
import com.mysema.query.annotations.QueryProjection;
|
||||
import com.mysema.query.annotations.QueryType;
|
||||
@ -181,23 +179,7 @@ public class DefaultConfiguration implements Configuration {
|
||||
try {
|
||||
// register additional mappings, if querydsl-spatial is on the classpath
|
||||
Class.forName("com.mysema.query.spatial.GeometryExpression");
|
||||
TypeMappings typeMappings = module.get(TypeMappings.class);
|
||||
Map<String, String> additions = Maps.newHashMap();
|
||||
additions.put("Geometry", "GeometryPath");
|
||||
additions.put("GeometryCollection", "GeometryCollectionPath");
|
||||
additions.put("LinearRing", "LinearRingPath");
|
||||
additions.put("LineString", "LineStringPath");
|
||||
additions.put("MultiLineString", "MultiLineStringPath");
|
||||
additions.put("MultiPoint", "MultiPointPath");
|
||||
additions.put("MultiPolygon", "MultiPolygonPath");
|
||||
additions.put("Point", "PointPath");
|
||||
additions.put("Polygon", "PolygonPath");
|
||||
additions.put("PolyHedralSurface", "PolyhedralSurfacePath");
|
||||
for (Map.Entry<String, String> entry : additions.entrySet()) {
|
||||
typeMappings.register(
|
||||
new SimpleType("org.geolatte.geom."+ entry.getKey()),
|
||||
new SimpleType("com.mysema.query.spatial.path." + entry.getValue()));
|
||||
}
|
||||
SpatialSupport.addSupport(module);
|
||||
} catch (Exception e) {
|
||||
// do nothing
|
||||
}
|
||||
|
||||
@ -0,0 +1,55 @@
|
||||
package com.mysema.query.apt;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.common.collect.Sets;
|
||||
import com.mysema.codegen.model.SimpleType;
|
||||
import com.mysema.query.codegen.AbstractModule;
|
||||
import com.mysema.query.codegen.CodegenModule;
|
||||
import com.mysema.query.codegen.TypeMappings;
|
||||
|
||||
public final class SpatialSupport {
|
||||
|
||||
private static void registerTypes(TypeMappings typeMappings) {
|
||||
Map<String, String> additions = Maps.newHashMap();
|
||||
additions.put("Geometry", "GeometryPath");
|
||||
additions.put("GeometryCollection", "GeometryCollectionPath");
|
||||
additions.put("LinearRing", "LinearRingPath");
|
||||
additions.put("LineString", "LineStringPath");
|
||||
additions.put("MultiLineString", "MultiLineStringPath");
|
||||
additions.put("MultiPoint", "MultiPointPath");
|
||||
additions.put("MultiPolygon", "MultiPolygonPath");
|
||||
additions.put("Point", "PointPath");
|
||||
additions.put("Polygon", "PolygonPath");
|
||||
additions.put("PolyHedralSurface", "PolyhedralSurfacePath");
|
||||
for (Map.Entry<String, String> entry : additions.entrySet()) {
|
||||
typeMappings.register(
|
||||
new SimpleType("org.geolatte.geom."+ entry.getKey()),
|
||||
new SimpleType("com.mysema.query.spatial.path." + entry.getValue()));
|
||||
}
|
||||
}
|
||||
|
||||
private static void addImports(AbstractModule module) {
|
||||
Set<String> imports = module.get(Set.class, CodegenModule.IMPORTS);
|
||||
String packageName = "com.mysema.query.spatial.path";
|
||||
if (imports.isEmpty()) {
|
||||
imports = ImmutableSet.of(packageName);
|
||||
} else {
|
||||
Set<String> old = imports;
|
||||
imports = Sets.newHashSet();
|
||||
imports.addAll(old);
|
||||
imports.add(packageName);
|
||||
}
|
||||
module.bind(CodegenModule.IMPORTS, imports);
|
||||
}
|
||||
|
||||
public static void addSupport(AbstractModule module) {
|
||||
registerTypes(module.get(TypeMappings.class));
|
||||
addImports(module);
|
||||
}
|
||||
|
||||
private SpatialSupport() {}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user