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 2018/01/19 12:54:17 UTC

[1/3] cayenne git commit: CAY-2394 Velocity 2.0 upgrade

Repository: cayenne
Updated Branches:
  refs/heads/master 84687a787 -> d3b546a37


CAY-2394 Velocity 2.0 upgrade


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/a37df6b2
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/a37df6b2
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/a37df6b2

Branch: refs/heads/master
Commit: a37df6b2dae6102c48ef50f73e0a6265080be5ec
Parents: 8d79f45
Author: Arseni Bulatski <an...@gmail.com>
Authored: Wed Jan 17 10:34:54 2018 +0300
Committer: Arseni Bulatski <an...@gmail.com>
Committed: Fri Jan 19 12:02:16 2018 +0300

----------------------------------------------------------------------
 .../cayenne/tools/DbImporterTaskTest.java       |  4 +-
 cayenne-cgen/pom.xml                            |  2 +-
 .../cayenne/gen/ClassGenerationAction.java      |  6 +-
 .../gen/ClassGeneratorResourceLoader.java       | 27 +++----
 .../apache/cayenne/gen/ClassGenerationCase.java |  3 -
 .../main/java/org/apache/cayenne/util/Util.java | 39 +++++++++-
 cayenne-velocity/pom.xml                        |  2 +-
 .../velocity/SQLTemplateResourceManager.java    | 25 ++++---
 .../velocity/VelocitySQLTemplateProcessor.java  | 10 +--
 .../SQLTemplateResourceManagerTest.java         | 77 --------------------
 docs/doc/src/main/resources/RELEASE-NOTES.txt   |  1 +
 .../cayenne/tools/DbImporterMojoTest.java       |  2 +-
 .../modeler/editor/SelectPropertiesPanel.java   | 10 ++-
 .../util/DbAttributePathComboBoxEditor.java     |  2 +-
 .../util/PathChooserComboBoxCellEditor.java     |  2 +-
 pom.xml                                         |  4 +-
 16 files changed, 87 insertions(+), 129 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/a37df6b2/cayenne-ant/src/test/java/org/apache/cayenne/tools/DbImporterTaskTest.java
----------------------------------------------------------------------
diff --git a/cayenne-ant/src/test/java/org/apache/cayenne/tools/DbImporterTaskTest.java b/cayenne-ant/src/test/java/org/apache/cayenne/tools/DbImporterTaskTest.java
index df746c2..6e83263 100644
--- a/cayenne-ant/src/test/java/org/apache/cayenne/tools/DbImporterTaskTest.java
+++ b/cayenne-ant/src/test/java/org/apache/cayenne/tools/DbImporterTaskTest.java
@@ -45,7 +45,7 @@ import java.sql.Statement;
 import java.util.List;
 
 import static org.apache.cayenne.dbsync.reverse.dbimport.ReverseEngineeringUtils.*;
-import static org.apache.commons.lang.StringUtils.isBlank;
+import static org.apache.cayenne.util.Util.isBlank;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
@@ -226,4 +226,6 @@ public class DbImporterTaskTest {
         }
     }
 
+
+
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/a37df6b2/cayenne-cgen/pom.xml
----------------------------------------------------------------------
diff --git a/cayenne-cgen/pom.xml b/cayenne-cgen/pom.xml
index 6b96780..d95761d 100644
--- a/cayenne-cgen/pom.xml
+++ b/cayenne-cgen/pom.xml
@@ -50,7 +50,7 @@
 
         <dependency>
             <groupId>org.apache.velocity</groupId>
-            <artifactId>velocity</artifactId>
+            <artifactId>velocity-engine-core</artifactId>
             <scope>compile</scope>
         </dependency>
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/a37df6b2/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
----------------------------------------------------------------------
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 e8678d1..eb122be 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
@@ -25,12 +25,10 @@ import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.Embeddable;
 import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.map.QueryDescriptor;
-import org.slf4j.Logger;
 import org.apache.velocity.Template;
 import org.apache.velocity.VelocityContext;
 import org.apache.velocity.app.VelocityEngine;
-import org.apache.velocity.runtime.RuntimeConstants;
-import org.apache.velocity.runtime.log.NullLogChute;
+import org.slf4j.Logger;
 
 import java.io.File;
 import java.io.FileOutputStream;
@@ -261,8 +259,6 @@ public class ClassGenerationAction {
 
 			Properties props = new Properties();
 
-			// null logger that will prevent velocity.log from being generated
-			props.put(RuntimeConstants.RUNTIME_LOG_LOGSYSTEM_CLASS, NullLogChute.class.getName());
 			props.put("resource.loader", "cayenne");
 			props.put("cayenne.resource.loader.class", ClassGeneratorResourceLoader.class.getName());
 			props.put("cayenne.resource.loader.cache", "false");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/a37df6b2/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGeneratorResourceLoader.java
----------------------------------------------------------------------
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 8e8a1ee..4a26fd5 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
@@ -19,11 +19,12 @@
 
 package org.apache.cayenne.gen;
 
-import java.io.BufferedInputStream;
+import java.io.BufferedReader;
 import java.io.File;
-import java.io.FileInputStream;
 import java.io.FileNotFoundException;
-import java.io.InputStream;
+import java.io.FileReader;
+import java.io.InputStreamReader;
+import java.io.Reader;
 
 import org.apache.velocity.exception.ResourceNotFoundException;
 import org.apache.velocity.runtime.resource.loader.FileResourceLoader;
@@ -43,10 +44,10 @@ public class ClassGeneratorResourceLoader extends FileResourceLoader {
      * wasn't found, it attempts to load it from current directory or as an absolute path.
      */
     @Override
-    public synchronized InputStream getResourceStream(String name)
+    public synchronized Reader getResourceReader(String name, String charset)
             throws ResourceNotFoundException {
 
-        InputStream stream = loadFromRelativePath(name);
+        Reader stream = loadFromRelativePath(name, charset);
         if (stream != null) {
             return stream;
         }
@@ -71,19 +72,19 @@ public class ClassGeneratorResourceLoader extends FileResourceLoader {
                 + "'. Searched filesystem path and classpath");
     }
 
-    protected InputStream loadFromRelativePath(String name) {
+    protected Reader loadFromRelativePath(String name, String charset) {
         try {
-            return super.getResourceStream(name);
+            return super.getResourceReader(name, charset);
         }
         catch (ResourceNotFoundException rnfex) {
             return null;
         }
     }
 
-    protected InputStream loadFromAbsPath(String name) {
+    protected Reader loadFromAbsPath(String name) {
         try {
             File file = new File(name);
-            return (file.canRead()) ? new BufferedInputStream(new FileInputStream(file
+            return (file.canRead()) ? new BufferedReader(new FileReader(file
                     .getAbsolutePath())) : null;
 
         }
@@ -92,11 +93,11 @@ public class ClassGeneratorResourceLoader extends FileResourceLoader {
         }
     }
 
-    protected InputStream loadFromThreadClassLoader(String name) {
-        return Thread.currentThread().getContextClassLoader().getResourceAsStream(name);
+    protected Reader loadFromThreadClassLoader(String name) {
+        return new InputStreamReader(Thread.currentThread().getContextClassLoader().getResourceAsStream(name));
     }
 
-    protected InputStream loadFromThisClassLoader(String name) {
-        return getClass().getClassLoader().getResourceAsStream(name);
+    protected Reader loadFromThisClassLoader(String name) {
+        return new InputStreamReader(getClass().getClassLoader().getResourceAsStream(name));
     }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/a37df6b2/cayenne-cgen/src/test/java/org/apache/cayenne/gen/ClassGenerationCase.java
----------------------------------------------------------------------
diff --git a/cayenne-cgen/src/test/java/org/apache/cayenne/gen/ClassGenerationCase.java b/cayenne-cgen/src/test/java/org/apache/cayenne/gen/ClassGenerationCase.java
index 78139fd..bc4b36f 100644
--- a/cayenne-cgen/src/test/java/org/apache/cayenne/gen/ClassGenerationCase.java
+++ b/cayenne-cgen/src/test/java/org/apache/cayenne/gen/ClassGenerationCase.java
@@ -23,7 +23,6 @@ import org.apache.velocity.Template;
 import org.apache.velocity.app.VelocityEngine;
 import org.apache.velocity.context.Context;
 import org.apache.velocity.runtime.RuntimeConstants;
-import org.apache.velocity.runtime.log.NullLogChute;
 import org.junit.Before;
 
 import java.io.StringWriter;
@@ -37,8 +36,6 @@ public class ClassGenerationCase {
     public void setUp() throws Exception {
         Properties props = new Properties();
 
-        // null logger that will prevent velocity.log from being generated
-        props.put(RuntimeConstants.RUNTIME_LOG_LOGSYSTEM_CLASS, NullLogChute.class.getName());
         props.put("resource.loader", "cayenne");
         props.put("cayenne.resource.loader.class", ClassGeneratorResourceLoader.class.getName());
         props.put("cayenne.resource.loader.cache", "false");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/a37df6b2/cayenne-server/src/main/java/org/apache/cayenne/util/Util.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/util/Util.java b/cayenne-server/src/main/java/org/apache/cayenne/util/Util.java
index e2575d9..1c41b3c 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/util/Util.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/util/Util.java
@@ -233,11 +233,48 @@ public class Util {
 	/**
 	 * Returns true, if the String is null or an empty string.
 	 */
-	public static boolean isEmptyString(String string) {
+	public static boolean isEmptyString(CharSequence string) {
 		return string == null || string.length() == 0;
 	}
 
 	/**
+	 * @since 4.1
+	 */
+	public static boolean isBlank(CharSequence cs) {
+		int strLen;
+		if (cs != null && (strLen = cs.length()) != 0) {
+			for(int i = 0; i < strLen; ++i) {
+				if (!Character.isWhitespace(cs.charAt(i))) {
+					return false;
+				}
+			}
+
+			return true;
+		} else {
+			return true;
+		}
+	}
+
+	/**
+	 * @since 4.1
+	 */
+	public static boolean isNumeric(CharSequence cs) {
+		if (isEmptyString(cs)) {
+			return false;
+		} else {
+			int sz = cs.length();
+
+			for(int i = 0; i < sz; ++i) {
+				if (!Character.isDigit(cs.charAt(i))) {
+					return false;
+				}
+			}
+
+			return true;
+		}
+	}
+
+	/**
 	 * Capitalizes the first letter of the property name.
 	 *
 	 * @since 4.1

http://git-wip-us.apache.org/repos/asf/cayenne/blob/a37df6b2/cayenne-velocity/pom.xml
----------------------------------------------------------------------
diff --git a/cayenne-velocity/pom.xml b/cayenne-velocity/pom.xml
index 2a0ed45..da66ef6 100644
--- a/cayenne-velocity/pom.xml
+++ b/cayenne-velocity/pom.xml
@@ -42,7 +42,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.velocity</groupId>
-            <artifactId>velocity</artifactId>
+            <artifactId>velocity-engine-core</artifactId>
             <scope>compile</scope>
         </dependency>
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/a37df6b2/cayenne-velocity/src/main/java/org/apache/cayenne/velocity/SQLTemplateResourceManager.java
----------------------------------------------------------------------
diff --git a/cayenne-velocity/src/main/java/org/apache/cayenne/velocity/SQLTemplateResourceManager.java b/cayenne-velocity/src/main/java/org/apache/cayenne/velocity/SQLTemplateResourceManager.java
index 97da483..33bb192 100644
--- a/cayenne-velocity/src/main/java/org/apache/cayenne/velocity/SQLTemplateResourceManager.java
+++ b/cayenne-velocity/src/main/java/org/apache/cayenne/velocity/SQLTemplateResourceManager.java
@@ -19,12 +19,7 @@
 
 package org.apache.cayenne.velocity;
 
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.util.Map;
-
 import org.apache.cayenne.util.concurrentlinkedhashmap.ConcurrentLinkedHashMap;
-import org.apache.commons.collections.ExtendedProperties;
 import org.apache.velocity.Template;
 import org.apache.velocity.exception.ParseErrorException;
 import org.apache.velocity.exception.ResourceNotFoundException;
@@ -32,14 +27,24 @@ import org.apache.velocity.runtime.RuntimeServices;
 import org.apache.velocity.runtime.resource.Resource;
 import org.apache.velocity.runtime.resource.ResourceManager;
 import org.apache.velocity.runtime.resource.loader.ResourceLoader;
+import org.apache.velocity.util.ExtProperties;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.util.Map;
 
 /**
  * An implementation of the Velocity ResourceManager and ResourceLoader that
  * creates templates from in-memory Strings.
- * 
+ *
  * @since 1.1
  */
-// class must be public since it is instantiated by Velocity via reflection.
+
+/**
+ * @deprecated since 4.1 is unused
+ */
+@Deprecated
 public class SQLTemplateResourceManager
     extends ResourceLoader
     implements ResourceManager {
@@ -89,13 +94,13 @@ public class SQLTemplateResourceManager
     }
 
     @Override
-    public InputStream getResourceStream(String source)
+    public Reader getResourceReader(String source, String charset)
         throws ResourceNotFoundException {
-        return new ByteArrayInputStream(source.getBytes());
+        return new InputStreamReader(new ByteArrayInputStream(source.getBytes()));
     }
 
     @Override
-    public void init(ExtendedProperties configuration) {
+    public void init(ExtProperties configuration) {
 
     }
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/a37df6b2/cayenne-velocity/src/main/java/org/apache/cayenne/velocity/VelocitySQLTemplateProcessor.java
----------------------------------------------------------------------
diff --git a/cayenne-velocity/src/main/java/org/apache/cayenne/velocity/VelocitySQLTemplateProcessor.java b/cayenne-velocity/src/main/java/org/apache/cayenne/velocity/VelocitySQLTemplateProcessor.java
index a39cffb..7b2bd54 100644
--- a/cayenne-velocity/src/main/java/org/apache/cayenne/velocity/VelocitySQLTemplateProcessor.java
+++ b/cayenne-velocity/src/main/java/org/apache/cayenne/velocity/VelocitySQLTemplateProcessor.java
@@ -26,11 +26,10 @@ import org.apache.cayenne.access.jdbc.SQLTemplateProcessor;
 import org.apache.cayenne.access.translator.ParameterBinding;
 import org.apache.cayenne.exp.ExpressionException;
 import org.apache.cayenne.template.SQLTemplateRenderingUtils;
+import org.apache.velocity.Template;
 import org.apache.velocity.VelocityContext;
 import org.apache.velocity.context.InternalContextAdapterImpl;
-import org.apache.velocity.runtime.RuntimeConstants;
 import org.apache.velocity.runtime.RuntimeInstance;
-import org.apache.velocity.runtime.log.NullLogChute;
 import org.apache.velocity.runtime.parser.ParseException;
 import org.apache.velocity.runtime.parser.node.ASTReference;
 import org.apache.velocity.runtime.parser.node.SimpleNode;
@@ -101,11 +100,6 @@ public class VelocitySQLTemplateProcessor implements SQLTemplateProcessor {
 		this.renderingUtils = new SQLTemplateRenderingUtils();
 		this.velocityRuntime = new RuntimeInstance();
 
-		// set null logger
-		velocityRuntime.addProperty(RuntimeConstants.RUNTIME_LOG_LOGSYSTEM, new NullLogChute());
-
-		velocityRuntime
-				.addProperty(RuntimeConstants.RESOURCE_MANAGER_CLASS, SQLTemplateResourceManager.class.getName());
 		velocityRuntime.addProperty("userdirective", BindDirective.class.getName());
 		velocityRuntime.addProperty("userdirective", BindEqualDirective.class.getName());
 		velocityRuntime.addProperty("userdirective", BindNotEqualDirective.class.getName());
@@ -195,7 +189,7 @@ public class VelocitySQLTemplateProcessor implements SQLTemplateProcessor {
 
 		SimpleNode nodeTree;
 		try {
-			nodeTree = velocityRuntime.parse(new StringReader(template), template);
+			nodeTree = velocityRuntime.parse(new StringReader(template), new Template());
 		} catch (ParseException pex) {
 			throw new CayenneRuntimeException("Error parsing template '%s' : %s", template, pex.getMessage());
 		}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/a37df6b2/cayenne-velocity/src/test/java/org/apache/cayenne/velocity/SQLTemplateResourceManagerTest.java
----------------------------------------------------------------------
diff --git a/cayenne-velocity/src/test/java/org/apache/cayenne/velocity/SQLTemplateResourceManagerTest.java b/cayenne-velocity/src/test/java/org/apache/cayenne/velocity/SQLTemplateResourceManagerTest.java
deleted file mode 100644
index 9ef2229..0000000
--- a/cayenne-velocity/src/test/java/org/apache/cayenne/velocity/SQLTemplateResourceManagerTest.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*****************************************************************
- *   Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- ****************************************************************/
-
-package org.apache.cayenne.velocity;
-
-import static org.junit.Assert.assertNotSame;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyBoolean;
-import static org.mockito.ArgumentMatchers.anyString;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-import java.io.Reader;
-
-import org.apache.velocity.Template;
-import org.apache.velocity.runtime.RuntimeConstants;
-import org.apache.velocity.runtime.RuntimeServices;
-import org.apache.velocity.runtime.parser.node.SimpleNode;
-import org.apache.velocity.runtime.resource.Resource;
-import org.apache.velocity.runtime.resource.ResourceManager;
-import org.junit.Before;
-import org.junit.Test;
-
-public class SQLTemplateResourceManagerTest {
-
-	private SQLTemplateResourceManager rm;
-
-	@Before
-	public void before() throws Exception {
-
-		RuntimeServices rs = mock(RuntimeServices.class);
-		when(rs.parse(any(Reader.class), anyString(), anyBoolean())).thenReturn(new SimpleNode(1));
-		when(rs.parse(any(Reader.class), anyString())).thenReturn(new SimpleNode(1));
-
-		this.rm = new SQLTemplateResourceManager();
-		rm.initialize(rs);
-	}
-
-	@Test
-	public void testFetResource() throws Exception {
-
-		Resource resource = rm.getResource("abc", ResourceManager.RESOURCE_TEMPLATE, RuntimeConstants.ENCODING_DEFAULT);
-
-		assertTrue(resource instanceof Template);
-
-		// must be cached...
-		assertSame(resource,
-				rm.getResource("abc", ResourceManager.RESOURCE_TEMPLATE, RuntimeConstants.ENCODING_DEFAULT));
-
-		// new resource must be different
-		assertNotSame(resource,
-				rm.getResource("xyz", ResourceManager.RESOURCE_TEMPLATE, RuntimeConstants.ENCODING_DEFAULT));
-
-		// after clearing cache, resource must be refreshed
-		rm.clearCache();
-		assertNotSame(resource,
-				rm.getResource("abc", ResourceManager.RESOURCE_TEMPLATE, RuntimeConstants.ENCODING_DEFAULT));
-	}
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/a37df6b2/docs/doc/src/main/resources/RELEASE-NOTES.txt
----------------------------------------------------------------------
diff --git a/docs/doc/src/main/resources/RELEASE-NOTES.txt b/docs/doc/src/main/resources/RELEASE-NOTES.txt
index 7958307..84f0217 100644
--- a/docs/doc/src/main/resources/RELEASE-NOTES.txt
+++ b/docs/doc/src/main/resources/RELEASE-NOTES.txt
@@ -15,6 +15,7 @@ Changes/New Features:
 
 CAY-2372 Extract new modules from cayenne-server
 CAY-2377 Cleanup deprecated code.
+CAY-2394 Upgrade to Apache Velocity 2.0
 
 Bug Fixes:
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/a37df6b2/maven-plugins/cayenne-maven-plugin/src/test/java/org/apache/cayenne/tools/DbImporterMojoTest.java
----------------------------------------------------------------------
diff --git a/maven-plugins/cayenne-maven-plugin/src/test/java/org/apache/cayenne/tools/DbImporterMojoTest.java b/maven-plugins/cayenne-maven-plugin/src/test/java/org/apache/cayenne/tools/DbImporterMojoTest.java
index 1f3a29a..9a27dfd 100644
--- a/maven-plugins/cayenne-maven-plugin/src/test/java/org/apache/cayenne/tools/DbImporterMojoTest.java
+++ b/maven-plugins/cayenne-maven-plugin/src/test/java/org/apache/cayenne/tools/DbImporterMojoTest.java
@@ -49,7 +49,7 @@ import java.sql.Statement;
 import java.util.Iterator;
 import java.util.Objects;
 
-import static org.apache.commons.lang.StringUtils.isBlank;
+import static org.apache.cayenne.util.Util.isBlank;
 import static org.mockito.Mockito.mock;
 
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/a37df6b2/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/SelectPropertiesPanel.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/SelectPropertiesPanel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/SelectPropertiesPanel.java
index 97b8c57..5a7b396 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/SelectPropertiesPanel.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/SelectPropertiesPanel.java
@@ -43,10 +43,12 @@ import org.apache.cayenne.map.QueryDescriptor;
 import org.apache.cayenne.query.QueryMetadata;
 import org.apache.cayenne.util.Util;
 import org.apache.cayenne.validation.ValidationException;
-import org.apache.commons.lang.StringUtils;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import static org.apache.cayenne.util.Util.isNumeric;
+
 /**
  * A panel that supports editing the properties of a GenericSelectQuery.
  * 
@@ -162,7 +164,7 @@ public abstract class SelectPropertiesPanel extends JPanel {
         if (string.length() == 0) {
             setQueryProperty(QueryMetadata.FETCH_OFFSET_PROPERTY, ZERO.toString());
         } else {
-            if (StringUtils.isNumeric(string)) {
+            if (isNumeric(string)) {
                 setQueryProperty(QueryMetadata.FETCH_OFFSET_PROPERTY, string);
             } else {
                 throw new ValidationException("Fetch offset must be an integer: %s", string);
@@ -175,7 +177,7 @@ public abstract class SelectPropertiesPanel extends JPanel {
         if (string.length() == 0) {
             setQueryProperty(QueryMetadata.FETCH_LIMIT_PROPERTY, ZERO.toString());
         } else {
-            if (StringUtils.isNumeric(string)) {
+            if (isNumeric(string)) {
                 setQueryProperty(QueryMetadata.FETCH_LIMIT_PROPERTY, string);
             } else {
                 throw new ValidationException("Fetch limit must be an integer: %s", string);
@@ -188,7 +190,7 @@ public abstract class SelectPropertiesPanel extends JPanel {
         if (string.length() == 0) {
             setQueryProperty(QueryMetadata.PAGE_SIZE_PROPERTY, ZERO.toString());
         } else {
-            if (StringUtils.isNumeric(string)) {
+            if (isNumeric(string)) {
                 setQueryProperty(QueryMetadata.PAGE_SIZE_PROPERTY, string);
             } else {
                 throw new ValidationException("Page size must be an integer: %s", string);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/a37df6b2/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/DbAttributePathComboBoxEditor.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/DbAttributePathComboBoxEditor.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/DbAttributePathComboBoxEditor.java
index f1cca8d..950ba80 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/DbAttributePathComboBoxEditor.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/DbAttributePathComboBoxEditor.java
@@ -27,7 +27,7 @@ import org.apache.cayenne.map.ObjAttribute;
 import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.modeler.editor.ObjAttributeTableModel;
 import org.apache.cayenne.util.CayenneMapEntry;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 
 import javax.swing.DefaultComboBoxModel;
 import javax.swing.JLabel;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/a37df6b2/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/PathChooserComboBoxCellEditor.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/PathChooserComboBoxCellEditor.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/PathChooserComboBoxCellEditor.java
index 4c137dc..5e5a904 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/PathChooserComboBoxCellEditor.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/PathChooserComboBoxCellEditor.java
@@ -22,7 +22,7 @@ package org.apache.cayenne.modeler.util;
 import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.util.combo.AutoCompletion;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 
 import javax.swing.AbstractCellEditor;
 import javax.swing.BorderFactory;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/a37df6b2/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 0c70f59..beaa9c2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -407,8 +407,8 @@
 			</dependency>
 			<dependency>
 				<groupId>org.apache.velocity</groupId>
-				<artifactId>velocity</artifactId>
-				<version>1.7</version>
+				<artifactId>velocity-engine-core</artifactId>
+				<version>2.0</version>
 			</dependency>
 			<dependency>
 				<groupId>foundrylogic.vpp</groupId>


[3/3] cayenne git commit: CAY-2394 Upgrade Apache Velocity to version 2.0 minor cleanup

Posted by nt...@apache.org.
CAY-2394 Upgrade Apache Velocity to version 2.0
  minor cleanup


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/d3b546a3
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/d3b546a3
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/d3b546a3

Branch: refs/heads/master
Commit: d3b546a37bfe629a285f6d1a3ba6e44efa014560
Parents: 174898d
Author: Nikita Timofeev <st...@gmail.com>
Authored: Fri Jan 19 15:52:03 2018 +0300
Committer: Nikita Timofeev <st...@gmail.com>
Committed: Fri Jan 19 15:52:03 2018 +0300

----------------------------------------------------------------------
 .../org/apache/cayenne/velocity/SQLTemplateResourceManager.java   | 3 ---
 1 file changed, 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/d3b546a3/cayenne-velocity/src/main/java/org/apache/cayenne/velocity/SQLTemplateResourceManager.java
----------------------------------------------------------------------
diff --git a/cayenne-velocity/src/main/java/org/apache/cayenne/velocity/SQLTemplateResourceManager.java b/cayenne-velocity/src/main/java/org/apache/cayenne/velocity/SQLTemplateResourceManager.java
index 33bb192..8648174 100644
--- a/cayenne-velocity/src/main/java/org/apache/cayenne/velocity/SQLTemplateResourceManager.java
+++ b/cayenne-velocity/src/main/java/org/apache/cayenne/velocity/SQLTemplateResourceManager.java
@@ -39,9 +39,6 @@ import java.util.Map;
  * creates templates from in-memory Strings.
  *
  * @since 1.1
- */
-
-/**
  * @deprecated since 4.1 is unused
  */
 @Deprecated


[2/3] cayenne git commit: Merge remote-tracking branch 'remotes/parent/pr/255' into asf-master

Posted by nt...@apache.org.
Merge remote-tracking branch 'remotes/parent/pr/255' into asf-master

# Conflicts:
#	cayenne-ant/src/test/java/org/apache/cayenne/tools/DbImporterTaskTest.java
#	docs/doc/src/main/resources/RELEASE-NOTES.txt


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/174898d5
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/174898d5
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/174898d5

Branch: refs/heads/master
Commit: 174898d5af5acc9f1242bdb2c4b108094d7b1307
Parents: 84687a7 a37df6b
Author: Nikita Timofeev <st...@gmail.com>
Authored: Fri Jan 19 15:33:01 2018 +0300
Committer: Nikita Timofeev <st...@gmail.com>
Committed: Fri Jan 19 15:33:01 2018 +0300

----------------------------------------------------------------------
 cayenne-cgen/pom.xml                            |  2 +-
 .../cayenne/gen/ClassGenerationAction.java      |  6 +-
 .../gen/ClassGeneratorResourceLoader.java       | 27 +++----
 .../apache/cayenne/gen/ClassGenerationCase.java |  3 -
 .../main/java/org/apache/cayenne/util/Util.java | 39 +++++++++-
 cayenne-velocity/pom.xml                        |  2 +-
 .../velocity/SQLTemplateResourceManager.java    | 25 ++++---
 .../velocity/VelocitySQLTemplateProcessor.java  | 10 +--
 .../SQLTemplateResourceManagerTest.java         | 77 --------------------
 docs/doc/src/main/resources/RELEASE-NOTES.txt   |  1 +
 .../cayenne/tools/DbImporterMojoTest.java       |  2 +-
 .../modeler/editor/SelectPropertiesPanel.java   | 10 ++-
 .../util/DbAttributePathComboBoxEditor.java     |  2 +-
 .../util/PathChooserComboBoxCellEditor.java     |  2 +-
 pom.xml                                         |  4 +-
 15 files changed, 84 insertions(+), 128 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/174898d5/docs/doc/src/main/resources/RELEASE-NOTES.txt
----------------------------------------------------------------------
diff --cc docs/doc/src/main/resources/RELEASE-NOTES.txt
index 4b6d894,84f0217..0c93335
--- a/docs/doc/src/main/resources/RELEASE-NOTES.txt
+++ b/docs/doc/src/main/resources/RELEASE-NOTES.txt
@@@ -15,8 -15,7 +15,9 @@@ Changes/New Features
  
  CAY-2372 Extract new modules from cayenne-server
  CAY-2377 Cleanup deprecated code.
 +CAY-2391 cdbimport: add option to skip user-defined relationships
 +CAY-2393 Add sqlserver-docker profile to automate tests on SQLServer
+ CAY-2394 Upgrade to Apache Velocity 2.0
  
  Bug Fixes:
  

http://git-wip-us.apache.org/repos/asf/cayenne/blob/174898d5/maven-plugins/cayenne-maven-plugin/src/test/java/org/apache/cayenne/tools/DbImporterMojoTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cayenne/blob/174898d5/pom.xml
----------------------------------------------------------------------