@Override public Type create(Type type) { if (type.getPackageName().isEmpty()) { return createWithoutPackage(type); } else { return createWithPackage(type); } }
private Type createWithPackage(Type type) { String packageName = type.getPackageName(); String simpleName = prefix + normalizeName(type.getFullName() .substring(packageName.length() + 1)) + suffix; packageName = (packageName.startsWith("java") ? "ext." : "") + packageName + packageSuffix; return new SimpleType(type.getCategory(), packageName + "." + simpleName, packageName, simpleName, false, false); }
@Test public void prefix_and_suffix() { QueryTypeFactory factory = new QueryTypeFactoryImpl("Q", "Type", ""); assertEquals("com.querydsl.codegen.QPointType", factory.create(type).getFullName()); }
@Test public void getPathType_of_innerClass() { TypeMappings typeMappings = new JavaTypeMappings(); EntityType model = new EntityType(new ClassType(TypeMappingsTest.class)); EntityType type = new EntityType(new ClassType(Entity.class)); typeMappings.register(type, new QueryTypeFactoryImpl("Q","","").create(type)); Type pathType = typeMappings.getPathType(type, model, false); assertEquals("QTypeMappingsTest_Entity", pathType.getSimpleName()); }
@Test public void prefix_and_package_suffix() { QueryTypeFactory factory = new QueryTypeFactoryImpl("Q", "", ".query"); assertEquals("com.querydsl.codegen.query.QPoint", factory.create(type).getFullName()); }
@Test public void getPathType_of_innerClass() { TypeMappings typeMappings = new JavaTypeMappings(); EntityType model = new EntityType(new ClassType(TypeMappingsTest.class)); EntityType type = new EntityType(new ClassType(Entity.class)); typeMappings.register(type, new QueryTypeFactoryImpl("Q","","").create(type)); Type pathType = typeMappings.getPathType(type, model, false); assertEquals("QTypeMappingsTest_Entity", pathType.getSimpleName()); }
@Test public void prefix_only() { QueryTypeFactory factory = new QueryTypeFactoryImpl("Q", "", ""); assertEquals("com.querydsl.codegen.QPoint", factory.create(type).getFullName()); }
private Type createWithoutPackage(Type type) { String simpleName = prefix + normalizeName(type.getFullName()) + suffix; return new SimpleType(type.getCategory(), simpleName, "", simpleName, false, false); }
@Test public void suffix_only() { QueryTypeFactory factory = new QueryTypeFactoryImpl("", "Type", ""); assertEquals("com.querydsl.codegen.PointType", factory.create(type).getFullName()); }
@Test public void different_package() throws IOException { queryTypeFactory = new QueryTypeFactoryImpl("Q", "", ".gen"); EntityType entityType = new EntityType(new ClassType(Entity.class)); typeMappings.register(entityType, queryTypeFactory.create(entityType)); serializer.serialize(entityType, SimpleSerializerConfig.DEFAULT, new JavaWriter(writer)); assertTrue(writer.toString().contains("public class QEntitySerializerTest_Entity " + "extends EntityPathBase<EntitySerializerTest.Entity>")); CompileUtils.assertCompiles("QEntitySerializerTest_Entity", writer.toString()); }
@Test public void suffix_only() { QueryTypeFactory factory = new QueryTypeFactoryImpl("", "Type", ""); assertEquals("com.querydsl.codegen.PointType", factory.create(type).getFullName()); }
@Test public void prefix_and_package_suffix() { QueryTypeFactory factory = new QueryTypeFactoryImpl("Q", "", ".query"); assertEquals("com.querydsl.codegen.query.QPoint", factory.create(type).getFullName()); }
@Test public void prefix_only() { QueryTypeFactory factory = new QueryTypeFactoryImpl("Q", "", ""); assertEquals("com.querydsl.codegen.QPoint", factory.create(type).getFullName()); }
@Test public void prefix_and_suffix() { QueryTypeFactory factory = new QueryTypeFactoryImpl("Q", "Type", ""); assertEquals("com.querydsl.codegen.QPointType", factory.create(type).getFullName()); }
@Test public void different_package() throws IOException { queryTypeFactory = new QueryTypeFactoryImpl("Q", "", ".gen"); EntityType entityType = new EntityType(new ClassType(Entity.class)); typeMappings.register(entityType, queryTypeFactory.create(entityType)); serializer.serialize(entityType, SimpleSerializerConfig.DEFAULT, new JavaWriter(writer)); assertTrue(writer.toString().contains("public class QEntitySerializerTest_Entity " + "extends EntityPathBase<EntitySerializerTest.Entity>")); CompileUtils.assertCompiles("QEntitySerializerTest_Entity", writer.toString()); }