Skip to content

Commit

Permalink
17.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
FirokOtaku committed Nov 5, 2021
1 parent 3eb013b commit 6e1379d
Show file tree
Hide file tree
Showing 7 changed files with 38 additions and 17 deletions.
1 change: 0 additions & 1 deletion src/main/java/firok/spring/mvci/Constants.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ public final class Constants
public static final String BEAN_NAME_FULL = "##BEAN_NAME_FULL##";
public static final String BEAN_NAME_SHORT = "##BEAN_NAME_SHORT##";
public static final String BEAN_PACKAGE = "##BEAN_PACKAGE##";
public static final String BASE_PACKAGE = "##BASE_PACKAGE##";

public static final String MAPPER_NAME = "##MAPPER_NAME##";
public static final String SERVICE_NAME = "##SERVICE_NAME##";
Expand Down
32 changes: 21 additions & 11 deletions src/main/java/firok/spring/mvci/internal/BeanContext.java
Original file line number Diff line number Diff line change
Expand Up @@ -149,21 +149,36 @@ private static String nonDefault(List<MVCIntrospective> configs, Function<MVCInt
return defaultValue.get();
}

private void single(String valueKey, String valueTemplate, Map<String, String> extras)
{
mapExtraParams.put(valueKey, RegexPipeline.pipelineAll(valueTemplate, mapExtraParams, extras));
}
private void single(String valueKey, String valueTemplate)
{
mapExtraParams.put(valueKey, RegexPipeline.pipelineAll(valueTemplate, mapExtraParams));
mapExtraParams.put(valueKey, RegexPipeline.pipelineAll(valueTemplate, mapExtraParams, null));
}
private void write(String valueKeyLocation, String valueKeyName, String templateContent) throws Exception
{
String valueLocation = mapExtraParams.get(valueKeyLocation);
String valueName = mapExtraParams.get(valueKeyName);
String valueContent = RegexPipeline.pipelineAll(templateContent, mapExtraParams);
String valueContent = RegexPipeline.pipelineAll(templateContent, mapExtraParams, null);
try(var writer = mvci.createSourceFileWrite(valueLocation + "." + valueName))
{
writer.write(valueContent);
writer.flush();
}
}
private static final Map<String, String> paramMapper = new HashMap<>();
private static final Map<String, String> paramService = new HashMap<>();
private static final Map<String, String> paramServiceImpl = new HashMap<>();
private static final Map<String, String> paramController = new HashMap<>();
static
{
paramMapper.put("\\.entity\\.|\\.bean\\.",".mapper.");
paramService.put("\\.entity\\.|\\.bean\\.",".service.");
paramServiceImpl.put("\\.entity\\.|\\.bean\\.",".service_impl.");
paramController.put("\\.entity\\.|\\.bean\\.",".controller.");
}

@SneakyThrows
public void generate()
Expand All @@ -183,15 +198,10 @@ else if(beanNameFull.endsWith("Entity"))
beanNameShort = beanNameFull.substring(0,beanNameFull.length()-6);
else beanNameShort = beanNameFull;
String beanPackage = beanQualifiedName.substring(0, beanQualifiedNameLastDot);
String basePackage;
if(beanPackage.endsWith(".entity")) basePackage = beanPackage.substring(0, beanPackage.length() - 7);
else if(beanPackage.endsWith(".bean")) basePackage = beanPackage.substring(0, beanPackage.length() - 5);
else basePackage = beanPackage;

mapExtraParams.put(BEAN_NAME_FULL, beanNameFull);
mapExtraParams.put(BEAN_NAME_SHORT, beanNameShort);
mapExtraParams.put(BEAN_PACKAGE, beanPackage);
mapExtraParams.put(BASE_PACKAGE, basePackage);

// 根据配置 处理各种参数
shouldMapper = should(configs, MVCIntrospective::generateMapper);
Expand Down Expand Up @@ -220,10 +230,10 @@ else if(beanNameFull.endsWith("Entity"))
single(SERVICE_IMPL_NAME, templateServiceImplName);
single(CONTROLLER_NAME, templateControllerName);

single(MAPPER_PACKAGE, templateMapperPackage);
single(SERVICE_PACKAGE, templateServicePackage);
single(SERVICE_IMPL_PACKAGE, templateServiceImplPackage);
single(CONTROLLER_PACKAGE, templateControllerPackage);
single(MAPPER_PACKAGE, templateMapperPackage, paramMapper);
single(SERVICE_PACKAGE, templateServicePackage, paramService);
single(SERVICE_IMPL_PACKAGE, templateServiceImplPackage, paramServiceImpl);
single(CONTROLLER_PACKAGE, templateControllerPackage, paramController);

// 生成代码文件
if(shouldMapper) write(MAPPER_PACKAGE, MAPPER_NAME, templateMapper);
Expand Down
14 changes: 13 additions & 1 deletion src/main/java/firok/spring/mvci/internal/RegexPipeline.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

public class RegexPipeline
{
public static String pipelineAll(String content, Map<String, String> mapParams)
public static String pipelineAll(String content, Map<String, String> mapParams, Map<String, String> extras)
{
for(var entryParam : mapParams.entrySet())
{
Expand All @@ -17,6 +17,18 @@ public static String pipelineAll(String content, Map<String, String> mapParams)

content = regexPattern.matcher(content).replaceAll(replacement);
}
if(extras != null)
{
for(var entryParam : extras.entrySet())
{
String regexString = entryParam.getKey();
String replacement = entryParam.getValue();

Pattern regexPattern = getPattern(regexString);

content = regexPattern.matcher(content).replaceAll(replacement);
}
}
return content;
}
public static String pipelineFirst(String content, Map<String, String> mapParams)
Expand Down
2 changes: 1 addition & 1 deletion src/main/resources/controller.package.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
##BASE_PACKAGE##.controller
##BEAN_PACKAGE##
2 changes: 1 addition & 1 deletion src/main/resources/mapper.package.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
##BASE_PACKAGE##.mapper
##BEAN_PACKAGE##
2 changes: 1 addition & 1 deletion src/main/resources/service.package.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
##BASE_PACKAGE##.service
##BEAN_PACKAGE##
2 changes: 1 addition & 1 deletion src/main/resources/service_impl.package.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
##BASE_PACKAGE##.service_impl
##BEAN_PACKAGE##

0 comments on commit 6e1379d

Please sign in to comment.