You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by nt...@apache.org on 2022/01/24 16:04:04 UTC
[cayenne] branch STABLE-4.1 updated: CAY-2729 minor code cleanup
This is an automated email from the ASF dual-hosted git repository.
ntimofeev pushed a commit to branch STABLE-4.1
in repository https://gitbox.apache.org/repos/asf/cayenne.git
The following commit(s) were added to refs/heads/STABLE-4.1 by this push:
new c2f97fa CAY-2729 minor code cleanup
c2f97fa is described below
commit c2f97facde5ec7e1de39275fd67dad0540a58d70
Author: Nikita Timofeev <st...@gmail.com>
AuthorDate: Mon Jan 24 19:03:57 2022 +0300
CAY-2729 minor code cleanup
---
.../apache/cayenne/gen/ClassGenerationAction.java | 3 +-
.../cayenne/gen/ClassGeneratorResourceLoader.java | 39 +++++++++++++---------
2 files changed, 24 insertions(+), 18 deletions(-)
diff --git a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
index cd91a8f..cb09c09 100644
--- a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
+++ b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
@@ -285,8 +285,7 @@ public class ClassGenerationAction {
props.put("cayenne.resource.loader.class", ClassGeneratorResourceLoader.class.getName());
props.put("cayenne.resource.loader.cache", "false");
if (cgenConfiguration.getRootPath() != null) {
- props.put("cayenne.resource.loader.path", cgenConfiguration.getRootPath().toString());
- Velocity.setProperty(CGEN_ROOT_PATH, cgenConfiguration.getRootPath().toString());
+ props.put("cayenne.resource.loader.root", cgenConfiguration.getRootPath().toString());
}
VelocityEngine velocityEngine = new VelocityEngine();
diff --git a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGeneratorResourceLoader.java b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGeneratorResourceLoader.java
index dc55832..e34be92 100644
--- a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGeneratorResourceLoader.java
+++ b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGeneratorResourceLoader.java
@@ -29,9 +29,9 @@ import java.io.Reader;
import java.nio.file.Path;
import java.nio.file.Paths;
-import org.apache.velocity.app.Velocity;
import org.apache.velocity.exception.ResourceNotFoundException;
import org.apache.velocity.runtime.resource.loader.FileResourceLoader;
+import org.apache.velocity.util.ExtProperties;
/**
* Velocity template resource loader customized for Cayenne use. Supports loading
@@ -43,16 +43,22 @@ import org.apache.velocity.runtime.resource.loader.FileResourceLoader;
// instantiated via reflection by Velocity
public class ClassGeneratorResourceLoader extends FileResourceLoader {
- private static final String CGEN_ROOT_PATH = "cayenne.cgen.rootpath";
+ private Path rootPath;
+
+ @Override
+ public void init(ExtProperties configuration) {
+ String pathStr = configuration.getString("root");
+ if(pathStr != null) {
+ rootPath = Paths.get(pathStr);
+ }
+ }
/**
* Returns resource as InputStream. First calls super implementation. If resource
* wasn't found, it attempts to load it from current directory or as an absolute path.
*/
@Override
- public synchronized Reader getResourceReader(String name, String charset)
- throws ResourceNotFoundException {
-
+ public synchronized Reader getResourceReader(String name, String charset) throws ResourceNotFoundException {
Reader stream;
stream = loadFromThreadClassLoader(name);
@@ -74,17 +80,15 @@ public class ClassGeneratorResourceLoader extends FileResourceLoader {
if (stream != null) {
return stream;
}
+
throw new ResourceNotFoundException("Couldn't find resource '"
+ name
+ "'. Searched filesystem path and classpath");
}
protected Reader loadFromRelativePath(String name) {
- String rootPath = (String) Velocity.getProperty(CGEN_ROOT_PATH);
- Path datamapPath;
if (rootPath != null) {
- datamapPath = Paths.get(rootPath);
- Path absolutePath = datamapPath.resolve(name).normalize();
+ Path absolutePath = rootPath.resolve(name).normalize();
return loadFromAbsPath(absolutePath.toString());
}
return null;
@@ -93,22 +97,25 @@ public class ClassGeneratorResourceLoader extends FileResourceLoader {
protected Reader loadFromAbsPath(String name) {
try {
File file = new File(name);
- return (file.canRead()) ? new BufferedReader(new FileReader(file
- .getAbsolutePath())) : null;
-
- }
- catch (FileNotFoundException fnfe) {
+ return file.canRead()
+ ? new BufferedReader(new FileReader(file.getAbsolutePath()))
+ : null;
+ } catch (FileNotFoundException unused) {
return null;
}
}
protected Reader loadFromThreadClassLoader(String name) {
InputStream stream = Thread.currentThread().getContextClassLoader().getResourceAsStream(name);
- return stream != null ? new InputStreamReader(stream) : null;
+ return stream != null
+ ? new InputStreamReader(stream)
+ : null;
}
protected Reader loadFromThisClassLoader(String name) {
InputStream stream = getClass().getClassLoader().getResourceAsStream(name);
- return stream != null ? new InputStreamReader(stream) : null;
+ return stream != null
+ ? new InputStreamReader(stream)
+ : null;
}
}