diff --git a/src/main/java/space/caoshd/otone/builder/PoBuilder.java b/src/main/java/space/caoshd/otone/builder/PoBuilder.java index 879cd2e..45ef01f 100644 --- a/src/main/java/space/caoshd/otone/builder/PoBuilder.java +++ b/src/main/java/space/caoshd/otone/builder/PoBuilder.java @@ -34,7 +34,7 @@ public class PoBuilder { public void build() { for (TableInfo tableInfo : tableInfoList) { String beanName = tableInfo.getBeanName(); - String packagePath = PathUtils.getPoPath(); + String packagePath = PathUtils.getPoPackagePath(); FileUtils.mkdir(packagePath); String outputPath = PathUtils.getPoJavaPath(beanName); diff --git a/src/main/java/space/caoshd/otone/util/CfgConsts.java b/src/main/java/space/caoshd/otone/util/CfgConsts.java index 98bab92..8b44723 100644 --- a/src/main/java/space/caoshd/otone/util/CfgConsts.java +++ b/src/main/java/space/caoshd/otone/util/CfgConsts.java @@ -43,23 +43,32 @@ public class CfgConsts { // 常量配置 public static final String VALUE_TABLE = "table"; - // 默认值配 + // JAVA 工程默认值配置 public static final String DEFAULT_PROJECT_PATH_JAVA = "src/main/java"; public static final String DEFAULT_PROJECT_PATH_RESOURCES = "src/main/resources"; - public static final String DEFAULT_PACKAGE_PO = "repository.po"; - public static final String DEFAULT_PACKAGE_MAPPER = "repository.mapper"; - public static final String DEFAULT_PACKAGE_SERVICE = "service"; - public static final String DEFAULT_PACKAGE_QUERY = "controller.query"; - public static final String DEFAULT_PACKAGE_FORM = "controller.form"; - public static final String DEFAULT_PACKAGE_VIEW = "controller.view"; - public static final String DEFAULT_PACKAGE_CONTROLLER = "controller"; - public static final String DEFAULT_CLASS_NAME_SUFFIX_PO = ""; - public static final String DEFAULT_CLASS_NAME_SUFFIX_MAPPER = "Mapper"; - public static final String DEFAULT_CLASS_NAME_SUFFIX_SERVICE = "Service"; - public static final String DEFAULT_CLASS_NAME_SUFFIX_QUERY = "Query"; - public static final String DEFAULT_CLASS_NAME_SUFFIX_FORM = "Form"; - public static final String DEFAULT_CLASS_NAME_SUFFIX_VIEW = "View"; - public static final String DEFAULT_CLASS_NAME_SUFFIX_CONTROLLER = "Controller"; + + // 包名默认值配置 + public static final String DEFAULT_PACKAGE_NAME_PO = "repository.po"; + public static final String DEFAULT_PACKAGE_NAME_MAPPER = "repository.mapper"; + public static final String DEFAULT_PACKAGE_NAME_SERVICE = "service"; + public static final String DEFAULT_PACKAGE_NAME_QUERY = "controller.query"; + public static final String DEFAULT_PACKAGE_NAME_FORM = "controller.form"; + public static final String DEFAULT_PACKAGE_NAME_VIEW = "controller.view"; + public static final String DEFAULT_PACKAGE_NAME_CONTROLLER = "controller"; + + // 模块名默认值配置 + public static final String DEFAULT_MODULE_NAME_CONTROLLER = "controller"; + public static final String DEFAULT_MODULE_NAME_SERVICE = "service"; + public static final String DEFAULT_MODULE_NAME_REPOSITORY = "repository"; + + // JAVA文件名后缀默认值配置 + public static final String DEFAULT_JAVA_NAME_SUFFIX_PO = ""; + public static final String DEFAULT_JAVA_NAME_SUFFIX_MAPPER = "Mapper"; + public static final String DEFAULT_JAVA_NAME_SUFFIX_SERVICE = "Service"; + public static final String DEFAULT_JAVA_NAME_SUFFIX_QUERY = "Query"; + public static final String DEFAULT_JAVA_NAME_SUFFIX_FORM = "Form"; + public static final String DEFAULT_JAVA_NAME_SUFFIX_VIEW = "View"; + public static final String DEFAULT_JAVA_NAME_SUFFIX_CONTROLLER = "Controller"; // 私有化构造器 private CfgConsts() {} diff --git a/src/main/java/space/caoshd/otone/util/PathUtils.java b/src/main/java/space/caoshd/otone/util/PathUtils.java index dbb42ba..a4976b0 100644 --- a/src/main/java/space/caoshd/otone/util/PathUtils.java +++ b/src/main/java/space/caoshd/otone/util/PathUtils.java @@ -14,7 +14,7 @@ public class PathUtils { return CONFIG.getString(CfgConsts.PROJECT_PATH_BASE); } - public static String getJavaSrcPath() { + public static String getJavaPath() { String basePath = getProjectPath(); String configPath = CONFIG.getString(CfgConsts.PROJECT_PATH_JAVA); String defaultPath = CfgConsts.DEFAULT_PROJECT_PATH_JAVA; @@ -22,89 +22,103 @@ public class PathUtils { return Paths.get(basePath, path).toString(); } - public static String getPackagePath() { - String basePath = getJavaSrcPath(); - String name = CONFIG.getString(CfgConsts.PACKAGE_NAME_BASE); - String path = name.replaceAll("\\.", "/"); - return Paths.get(basePath, path).toString(); + private static String packageToPath(String packageName) { + return packageName.replaceAll("\\.", "/"); } - public static String getPathBasedPackage(String configPath, String defaultPath) { - String basePath = getPackagePath(); - String path = StrUtils.defaultIfBlank(configPath, defaultPath); - return Paths.get(basePath, path).toString(); + public static String getPackageBasePath(String moduleName) { + String basePath = getJavaPath(); + String packageName = CONFIG.getString(CfgConsts.PACKAGE_NAME_BASE); + String path = packageToPath(packageName); + return Paths.get(basePath, moduleName, path).toString(); } - public static String getServicePath(String className) { - String configPath = CONFIG.getString(CfgConsts.PACKAGE_NAME_SERVICE); - String defaultPath = CfgConsts.DEFAULT_PACKAGE_MAPPER; - return getPathBasedPackage(configPath, defaultPath); + public static String getPathBasedPackage( + String moduleName, String configName, String defaultName + ) { + String basePath = getPackageBasePath(moduleName); + String packageName = StrUtils.defaultIfBlank(configName, defaultName); + String path = packageToPath(packageName); + return Paths.get(basePath, path).toString(); } - public static String getControllerPath(String className) { - String configPath = CONFIG.getString(CfgConsts.PACKAGE_NAME_CONTROLLER); - String defaultPath = CfgConsts.DEFAULT_PACKAGE_CONTROLLER; - return getPathBasedPackage(configPath, defaultPath); + public static boolean isMultiModule() { + return CONFIG.getBoolean(CfgConsts.MODULE_MULTIPLE); } - public static String getViewPath(String className) { - String configPath = CONFIG.getString(CfgConsts.PACKAGE_NAME_VIEW); - String defaultPath = CfgConsts.DEFAULT_PACKAGE_VIEW; - return getPathBasedPackage(configPath, defaultPath); + public static String getModuleName(String configName, String defaultName) { + if (!isMultiModule()) { + return ""; + } + return StrUtils.defaultIfBlank(configName, defaultName); } - public static String getFormPath(String className) { - String configPath = CONFIG.getString(CfgConsts.PACKAGE_NAME_FORM); - String defaultPath = CfgConsts.DEFAULT_PACKAGE_FORM; - return getPathBasedPackage(configPath, defaultPath); + public static String getRepositoryModuleName() { + String configName = CONFIG.getString(CfgConsts.MODULE_NAME_REPOSITORY); + String defaultName = CfgConsts.DEFAULT_MODULE_NAME_REPOSITORY; + return getModuleName(configName, defaultName); } - public static String getQueryPath(String className) { - String configPath = CONFIG.getString(CfgConsts.PACKAGE_NAME_QUERY); - String defaultPath = CfgConsts.DEFAULT_PACKAGE_QUERY; - return getPathBasedPackage(configPath, defaultPath); + public static String getServiceModuleName() { + String configName = CONFIG.getString(CfgConsts.MODULE_NAME_SERVICE); + String defaultName = CfgConsts.DEFAULT_MODULE_NAME_SERVICE; + return getModuleName(configName, defaultName); } - public static String getPoPath() { - String configPath = CONFIG.getString(CfgConsts.PACKAGE_NAME_PO); - String defaultPath = CfgConsts.DEFAULT_PACKAGE_PO; - return getPathBasedPackage(configPath, defaultPath); + public static String getControllerModuleName() { + String configName = CONFIG.getString(CfgConsts.MODULE_NAME_CONTROLLER); + String defaultName = CfgConsts.DEFAULT_MODULE_NAME_CONTROLLER; + return getModuleName(configName, defaultName); } - public static String getMapperPath() { - String configPath = CONFIG.getString(CfgConsts.PACKAGE_NAME_MAPPER); - String defaultPath = CfgConsts.DEFAULT_PACKAGE_MAPPER; - return getPathBasedPackage(configPath, defaultPath); - } - public static String getServicePath() { + public static String getServicePackagePath() { + String moduleName = getServiceModuleName(); String configPath = CONFIG.getString(CfgConsts.PACKAGE_NAME_SERVICE); - String defaultPath = CfgConsts.DEFAULT_PACKAGE_MAPPER; - return getPathBasedPackage(configPath, defaultPath); + String defaultPath = CfgConsts.DEFAULT_PACKAGE_NAME_MAPPER; + return getPathBasedPackage(moduleName, configPath, defaultPath); } - public static String getControllerPath() { + public static String getControllerPackagePath() { + String moduleName = getControllerModuleName(); String configPath = CONFIG.getString(CfgConsts.PACKAGE_NAME_CONTROLLER); - String defaultPath = CfgConsts.DEFAULT_PACKAGE_CONTROLLER; - return getPathBasedPackage(configPath, defaultPath); + String defaultPath = CfgConsts.DEFAULT_PACKAGE_NAME_CONTROLLER; + return getPathBasedPackage(moduleName, configPath, defaultPath); } - public static String getViewPath() { + public static String getViewPackagePath() { + String moduleName = getControllerModuleName(); String configPath = CONFIG.getString(CfgConsts.PACKAGE_NAME_VIEW); - String defaultPath = CfgConsts.DEFAULT_PACKAGE_VIEW; - return getPathBasedPackage(configPath, defaultPath); + String defaultPath = CfgConsts.DEFAULT_PACKAGE_NAME_VIEW; + return getPathBasedPackage(moduleName, configPath, defaultPath); } - public static String getFormPath() { + public static String getFormPackagePath() { + String moduleName = getControllerModuleName(); String configPath = CONFIG.getString(CfgConsts.PACKAGE_NAME_FORM); - String defaultPath = CfgConsts.DEFAULT_PACKAGE_FORM; - return getPathBasedPackage(configPath, defaultPath); + String defaultPath = CfgConsts.DEFAULT_PACKAGE_NAME_FORM; + return getPathBasedPackage(moduleName, configPath, defaultPath); } - public static String getQueryPath() { + public static String getQueryPackagePath() { + String moduleName = getControllerModuleName(); String configPath = CONFIG.getString(CfgConsts.PACKAGE_NAME_QUERY); - String defaultPath = CfgConsts.DEFAULT_PACKAGE_QUERY; - return getPathBasedPackage(configPath, defaultPath); + String defaultPath = CfgConsts.DEFAULT_PACKAGE_NAME_QUERY; + return getPathBasedPackage(moduleName, configPath, defaultPath); + } + + public static String getPoPackagePath() { + String moduleName = getRepositoryModuleName(); + String configPath = CONFIG.getString(CfgConsts.PACKAGE_NAME_PO); + String defaultPath = CfgConsts.DEFAULT_PACKAGE_NAME_PO; + return getPathBasedPackage(moduleName, configPath, defaultPath); + } + + public static String getMapperPackagePath() { + String moduleName = getRepositoryModuleName(); + String configPath = CONFIG.getString(CfgConsts.PACKAGE_NAME_MAPPER); + String defaultPath = CfgConsts.DEFAULT_PACKAGE_NAME_MAPPER; + return getPathBasedPackage(moduleName, configPath, defaultPath); } private static String getFilename(String className, String suffix) { @@ -112,27 +126,27 @@ public class PathUtils { } public static String getPoJavaPath(String className) { - String basePath = getPoPath(); + String basePath = getPoPackagePath(); String configSuffix = CONFIG.getString(CfgConsts.JAVA_NAME_SUFFIX_PO); - String defaultSuffix = CfgConsts.DEFAULT_CLASS_NAME_SUFFIX_PO; + String defaultSuffix = CfgConsts.DEFAULT_JAVA_NAME_SUFFIX_PO; String suffix = StrUtils.defaultIfBlank(configSuffix, defaultSuffix); String filename = getFilename(className, defaultSuffix); return Paths.get(basePath, filename).toString(); } public static String getMapperJavaPath(String className) { - String basePath = getMapperPath(); + String basePath = getMapperPackagePath(); String configSuffix = CONFIG.getString(CfgConsts.JAVA_NAME_SUFFIX_MAPPER); - String defaultSuffix = CfgConsts.DEFAULT_CLASS_NAME_SUFFIX_MAPPER; + String defaultSuffix = CfgConsts.DEFAULT_JAVA_NAME_SUFFIX_MAPPER; String suffix = StrUtils.defaultIfBlank(configSuffix, defaultSuffix); String filename = getFilename(className, suffix); return Paths.get(basePath, filename).toString(); } public static String getServiceJavaPath(String className) { - String basePath = getServicePath(); + String basePath = getServicePackagePath(); String configSuffix = CONFIG.getString(CfgConsts.JAVA_NAME_SUFFIX_SERVICE); - String defaultSuffix = CfgConsts.DEFAULT_CLASS_NAME_SUFFIX_SERVICE; + String defaultSuffix = CfgConsts.DEFAULT_JAVA_NAME_SUFFIX_SERVICE; String suffix = StrUtils.defaultIfBlank(configSuffix, defaultSuffix); String filename = getFilename(className, suffix); return Paths.get(basePath, filename).toString(); @@ -140,9 +154,9 @@ public class PathUtils { public static String getControllerJavaPath(String className) { - String basePath = getControllerPath(); + String basePath = getControllerPackagePath(); String configSuffix = CONFIG.getString(CfgConsts.JAVA_NAME_SUFFIX_CONTROLLER); - String defaultSuffix = CfgConsts.DEFAULT_CLASS_NAME_SUFFIX_CONTROLLER; + String defaultSuffix = CfgConsts.DEFAULT_JAVA_NAME_SUFFIX_CONTROLLER; String suffix = StrUtils.defaultIfBlank(configSuffix, defaultSuffix); String filename = getFilename(className, suffix); return Paths.get(basePath, filename).toString(); @@ -150,9 +164,9 @@ public class PathUtils { public static String getFormJavaPath(String className) { - String basePath = getFormPath(); + String basePath = getFormPackagePath(); String configSuffix = CONFIG.getString(CfgConsts.JAVA_NAME_SUFFIX_CONTROLLER); - String defaultSuffix = CfgConsts.DEFAULT_CLASS_NAME_SUFFIX_CONTROLLER; + String defaultSuffix = CfgConsts.DEFAULT_JAVA_NAME_SUFFIX_CONTROLLER; String suffix = StrUtils.defaultIfBlank(configSuffix, defaultSuffix); String filename = getFilename(className, suffix); return Paths.get(basePath, filename).toString(); @@ -160,18 +174,18 @@ public class PathUtils { public static String getQueryJavaPath(String className) { - String basePath = getQueryPath(); + String basePath = getQueryPackagePath(); String configSuffix = CONFIG.getString(CfgConsts.JAVA_NAME_SUFFIX_QUERY); - String defaultSuffix = CfgConsts.DEFAULT_CLASS_NAME_SUFFIX_QUERY; + String defaultSuffix = CfgConsts.DEFAULT_JAVA_NAME_SUFFIX_QUERY; String suffix = StrUtils.defaultIfBlank(configSuffix, defaultSuffix); String filename = getFilename(className, suffix); return Paths.get(basePath, filename).toString(); } public static String getViewJavaPath(String className) { - String basePath = getViewPath(); + String basePath = getViewPackagePath(); String configSuffix = CONFIG.getString(CfgConsts.JAVA_NAME_SUFFIX_VIEW); - String defaultSuffix = CfgConsts.DEFAULT_CLASS_NAME_SUFFIX_VIEW; + String defaultSuffix = CfgConsts.DEFAULT_JAVA_NAME_SUFFIX_VIEW; String suffix = StrUtils.defaultIfBlank(configSuffix, defaultSuffix); String filename = getFilename(className, suffix); return Paths.get(basePath, filename).toString(); diff --git a/src/test/java/space/caoshd/otone/util/PathUtilsTest.java b/src/test/java/space/caoshd/otone/util/PathUtilsTest.java index 7ee0df4..bf6fc21 100644 --- a/src/test/java/space/caoshd/otone/util/PathUtilsTest.java +++ b/src/test/java/space/caoshd/otone/util/PathUtilsTest.java @@ -10,9 +10,31 @@ class PathUtilsTest { System.out.println(projectPath); } + @Test + void getJavaPath(){ + String javaPath = PathUtils.getJavaPath(); + System.out.println(javaPath); + } + @Test void getPackagePath() { - String packagePath = PathUtils.getPackagePath(); + String packagePath = PathUtils.getPackageBasePath("service"); System.out.println(packagePath); } + + @Test + void getRepositoryModuleName() { + String repositoryModuleName = PathUtils.getRepositoryModuleName(); + System.out.println(repositoryModuleName); + } + + @Test + void getRepositoryPackageName() { + String poPackagePath = PathUtils.getPoPackagePath(); + System.out.println(poPackagePath); + + String viewPackagePath = PathUtils.getViewPackagePath(); + System.out.println(viewPackagePath); + } + } \ No newline at end of file