EclipseLink ORM (upgrade dependencies). #PL-5412

This commit is contained in:
Konstantin Krivopustov 2015-08-18 09:33:38 +00:00
parent 6fdc62a5da
commit c720152777
3 changed files with 53 additions and 52 deletions

View File

@ -57,7 +57,7 @@ def springVersion = '4.2.0.RELEASE'
def springSecurityVersion = '4.0.2.RELEASE'
def servletApi = [group: 'org.apache.tomcat', name: 'tomcat-servlet-api', version: '7.0.53']
def groovyArtifact = [group: 'org.codehaus.groovy', name: 'groovy-all', version: '2.1.6']
def groovyArtifact = 'org.codehaus.groovy:groovy-all:2.4.4'
//def asm = [group: 'org.ow2.asm', name: 'asm', version: '5.0.3']
def poi = [group: 'com.haulmont.thirdparty', name: 'poi', version: '3.9.20130515']
def postgres = [group: 'postgresql', name: 'postgresql', version: '9.1-901.jdbc4']
@ -76,24 +76,24 @@ configure([sharedLibModule, globalModule, coreModule, clientModule, guiModule,
apply(plugin: 'cuba')
dependencies {
compile(group: 'commons-logging', name: 'commons-logging', version: '1.1.1')
compile('commons-logging:commons-logging:1.2')
compile(group: 'commons-lang', name: 'commons-lang', version: '2.6')
compile(group: 'commons-collections', name: 'commons-collections', version: '3.2.1')
compile(group: 'commons-io', name: 'commons-io', version: '1.4')
compile(group: 'commons-codec', name: 'commons-codec', version: '1.6')
compile(group: 'commons-cli', name: 'commons-cli', version: '1.2')
compile(group: 'commons-pool', name: 'commons-pool', version: '1.5.1')
compile(group: 'org.apache.commons', name: 'commons-compress', version: '1.1')
compile('commons-io:commons-io:2.4')
compile('commons-codec:commons-codec:1.10')
compile('commons-cli:commons-cli:1.3.1')
compile('org.apache.commons:commons-pool2:2.4.2')
compile('org.apache.commons:commons-compress:1.9')
compile(group: 'dom4j', name: 'dom4j', version: '1.6.1')
compile(group: 'com.sun.mail', name: 'javax.mail', version: '1.5.1')
compile('com.sun.mail:javax.mail:1.5.4')
compile(group: 'log4j', name: 'log4j', version: '1.2.16')
compile(group: 'org.perf4j', name: 'perf4j', version: '0.9.16')
compile(group: 'com.google.code.findbugs', name: 'jsr305', version: '2.0.3')
compile('com.google.code.findbugs:jsr305:3.0.0')
compile(group: 'com.haulmont.thirdparty', name: 'javaee-api', version: '6.0.20091228')
compile(groovyArtifact)
compile(group: 'antlr', name: 'antlr', version: '2.7.7')
// compile(asm)
compile(group: 'com.google.guava', name: 'guava', version: '16.0.1')
compile('com.google.guava:guava:18.0')
compile 'org.eclipse.persistence:javax.persistence:2.1.0'
compile 'org.eclipse.persistence:commonj.sdo:2.1.1'
@ -101,7 +101,7 @@ configure([sharedLibModule, globalModule, coreModule, clientModule, guiModule,
compile 'com.haulmont.thirdparty:eclipselink:2.6.0.cuba.1'
compile(group: 'org.antlr', name: 'antlr-runtime', version: '3.5.2')
compile(group: 'org.freemarker', name: 'freemarker', version: '2.3.16')
compile('org.freemarker:freemarker:2.3.23')
compile(group: 'aopalliance', name: 'aopalliance', version: '1.0')
compile(group: 'org.springframework', name: 'spring-core', version: springVersion)
compile(group: 'org.springframework', name: 'spring-beans', version: springVersion)
@ -240,10 +240,10 @@ configure(coreModule) {
runtime(group: 'xmlpull', name: 'xmlpull', version: '1.1.3.1')
compile(group: 'org.ocpsoft.prettytime', name: 'prettytime-nlp', version: '3.2.5.Final')
compile(group: 'org.jgroups', name: 'jgroups', version: '3.6.1.Final')
compile(group: 'org.aspectj', name: 'aspectjrt', version: '1.8.4')
compile(group: 'org.aspectj', name: 'aspectjweaver', version: '1.8.4')
compile(group: 'org.mybatis', name: 'mybatis', version: '3.2.7')
compile(group: 'org.mybatis', name: 'mybatis-spring', version: '1.2.2')
compile('org.aspectj:aspectjrt:1.8.6')
compile('org.aspectj:aspectjweaver:1.8.6')
compile('org.mybatis:mybatis:3.3.0')
compile('org.mybatis:mybatis-spring:1.2.3')
compile(group: 'org.springframework', name: 'spring-context-support', version: springVersion)
compile(group: 'org.springframework', name: 'spring-orm', version: springVersion)
compile(group: 'org.springframework', name: 'spring-tx', version: springVersion)
@ -255,7 +255,7 @@ configure(coreModule) {
jdbc(postgres)
jdbc(hsqldb)
testCompile(group: 'commons-dbcp', name: 'commons-dbcp', version: '1.4')
testCompile('org.apache.commons:commons-dbcp2:2.1.1')
testRuntime(servletApi)
testRuntime(hsqldb)
testRuntime(postgres)
@ -340,7 +340,7 @@ configure(coreModule) {
configure(clientModule) {
dependencies {
compile(globalModule)
compile(group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.2.2')
compile('org.apache.httpcomponents:httpclient:4.5')
}
task testsJar(dependsOn: testClasses, type: Jar) {
@ -499,7 +499,7 @@ configure(webAuthModule) {
compile(group: 'org.springframework.ldap', name: 'spring-ldap-core', version: '2.0.2.RELEASE') {
exclude(group: 'org.slf4j', module: 'jcl-over-slf4j') // removed because it defines its own Log4j LogFactory via JDK services mechanism
}
compile(group: 'org.slf4j', name: 'slf4j-log4j12', version: '1.7.5')
compile('org.slf4j:slf4j-log4j12:1.7.12')
provided(servletApi)
}

View File

@ -4,7 +4,7 @@
*/
package com.haulmont.cuba.testsupport;
import org.apache.commons.dbcp.BasicDataSource;
import org.apache.commons.dbcp2.BasicDataSource;
import javax.sql.DataSource;
import java.io.PrintWriter;
@ -22,7 +22,7 @@ public class TestDataSource implements DataSource {
dataSource.setUrl(connUrl);
dataSource.setUsername(user);
dataSource.setPassword(password);
dataSource.setMaxActive(20);
dataSource.setMaxTotal(20);
}
public Connection getConnection() throws SQLException {

View File

@ -18,8 +18,11 @@ import groovy.util.ScriptException;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.commons.pool.BaseKeyedPoolableObjectFactory;
import org.apache.commons.pool.impl.GenericKeyedObjectPool;
import org.apache.commons.pool2.BaseKeyedPooledObjectFactory;
import org.apache.commons.pool2.PooledObject;
import org.apache.commons.pool2.impl.DefaultPooledObject;
import org.apache.commons.pool2.impl.GenericKeyedObjectPool;
import org.apache.commons.pool2.impl.GenericKeyedObjectPoolConfig;
import org.codehaus.groovy.control.CompilationFailedException;
import org.codehaus.groovy.control.CompilerConfiguration;
@ -50,13 +53,13 @@ public abstract class AbstractScripting implements Scripting {
protected String groovyClassPath;
protected Set<String> imports = new HashSet<String>();
protected Set<String> imports = new HashSet<>();
protected volatile GroovyScriptEngine gse;
protected GroovyClassLoader gcl;
protected GenericKeyedObjectPool pool;
protected GenericKeyedObjectPool<String, Script> pool;
protected GlobalConfig globalConfig;
@ -110,38 +113,35 @@ public abstract class AbstractScripting implements Scripting {
return gcl;
}
private synchronized GenericKeyedObjectPool getPool() {
private synchronized GenericKeyedObjectPool<String, Script> getPool() {
if (pool == null) {
GenericKeyedObjectPool.Config poolConfig = new GenericKeyedObjectPool.Config();
poolConfig.maxActive = -1;
poolConfig.maxIdle = globalConfig.getGroovyEvaluationPoolMaxIdle();
pool = new GenericKeyedObjectPool(
new BaseKeyedPoolableObjectFactory() {
public Object makeObject(Object key) throws Exception {
if (!(key instanceof String))
throw new IllegalArgumentException();
String text = ((String) key);
GenericKeyedObjectPoolConfig poolConfig = new GenericKeyedObjectPoolConfig();
poolConfig.setMaxTotalPerKey(-1);
poolConfig.setMaxIdlePerKey(globalConfig.getGroovyEvaluationPoolMaxIdle());
pool = new GenericKeyedObjectPool<>(
new BaseKeyedPooledObjectFactory<String, Script>() {
@Override
public Script create(String key) throws Exception {
StringBuilder sb = new StringBuilder();
for (String importItem : imports) {
sb.append("import ").append(importItem).append("\n");
}
Matcher matcher = IMPORT_PATTERN.matcher(text);
Matcher matcher = IMPORT_PATTERN.matcher(key);
String result;
if (matcher.find()) {
StringBuffer s = new StringBuffer();
matcher.appendReplacement(s, sb + "$0");
result = matcher.appendTail(s).toString();
} else {
Matcher packageMatcher = PACKAGE_PATTERN.matcher(text);
Matcher packageMatcher = PACKAGE_PATTERN.matcher(key);
if (packageMatcher.find()) {
StringBuffer s = new StringBuffer();
packageMatcher.appendReplacement(s, "$0\n"+sb);
result = packageMatcher.appendTail(s).toString();
}
else {
result = sb.append(text).toString();
result = sb.append(key).toString();
}
}
@ -149,9 +149,15 @@ public abstract class AbstractScripting implements Scripting {
cc.setClasspath(groovyClassPath);
cc.setRecompileGroovySource(true);
GroovyShell shell = new GroovyShell(javaClassLoader, new Binding(), cc);
//noinspection UnnecessaryLocalVariable
Script script = shell.parse(result);
return script;
}
@Override
public PooledObject<Script> wrap(Script value) {
return new DefaultPooledObject<>(value);
}
},
poolConfig
);
@ -172,7 +178,7 @@ public abstract class AbstractScripting implements Scripting {
public <T> T evaluateGroovy(String text, Binding binding) {
Script script = null;
try {
script = (Script) getPool().borrowObject(text);
script = getPool().borrowObject(text);
script.setBinding(binding);
return (T) script.run();
} catch (Exception e) {
@ -184,7 +190,7 @@ public abstract class AbstractScripting implements Scripting {
if (e instanceof RuntimeException)
throw ((RuntimeException) e);
else
throw new RuntimeException(e);
throw new RuntimeException("Error evaluating Groovy expression", e);
} finally {
if (script != null)
try {
@ -222,12 +228,12 @@ public abstract class AbstractScripting implements Scripting {
script.setBinding(binding);
return (T) script.run();
} catch (InstantiationException | IllegalAccessException e1) {
throw new RuntimeException(e1);
throw new RuntimeException("Error instantiating Script object", e1);
}
}
throw new RuntimeException(e);
throw new RuntimeException("Error running Groovy script", e);
} catch (ScriptException e) {
throw new RuntimeException(e);
throw new RuntimeException("Error running Groovy script", e);
}
}
@ -303,9 +309,6 @@ public abstract class AbstractScripting implements Scripting {
// Make sure we can open it, if we can't it doesn't exist.
groovyScriptConn.getInputStream();
break;
} catch (MalformedURLException e) {
groovyScriptConn = null;
errors.append(e.toString()).append("\n");
} catch (IOException e) {
groovyScriptConn = null;
errors.append(e.toString()).append("\n");
@ -346,15 +349,12 @@ public abstract class AbstractScripting implements Scripting {
// Make sure we can open it, if we can't it doesn't exist.
groovyScriptConn.getInputStream();
break;
} catch (MalformedURLException e) {
groovyScriptConn = null;
errors.append(e.toString()).append("\n");
} catch (IOException e) {
groovyScriptConn = null;
errors.append(e.toString()).append("\n");
}
} else {
errors.append("File " + file + " doesn't exist").append("\n");
errors.append("File ").append(file).append(" doesn't exist").append("\n");
}
}
if (groovyScriptConn != null)
@ -372,7 +372,7 @@ public abstract class AbstractScripting implements Scripting {
errors.append(e.toString()).append("\n");
}
} else {
errors.append("Classpath resource " + fileName + " doesn't exist").append("\n");
errors.append("Classpath resource ").append(fileName).append(" doesn't exist").append("\n");
}
if (groovyScriptConn != null)
return groovyScriptConn;
@ -431,7 +431,8 @@ public abstract class AbstractScripting implements Scripting {
try {
Class parentClassLoaderClass = super.loadClass(name, false, true, resolve);
// return if the parent loader was successful
if (cls != parentClassLoaderClass) return parentClassLoaderClass;
if (parentClassLoaderClass != null)
return parentClassLoaderClass;
} catch (ClassNotFoundException cnfe) {
last = cnfe;
} catch (NoClassDefFoundError ncdfe) {