Skip to content

Commit 16ae9c1

Browse files
author
graeme
committed
removed dependency on ognl
git-svn-id: https://svn.codehaus.org/grails/trunk@4142 1cfb16fd-6d17-0410-8ff1-b7e8e1e2867d
1 parent adb916f commit 16ae9c1

File tree

6 files changed

+31
-44
lines changed

6 files changed

+31
-44
lines changed

lib/ognl-2.7.jar

-164 KB
Binary file not shown.

src/persistence/org/codehaus/groovy/grails/orm/hibernate/metaclass/AbstractStaticPersistentMethod.java

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,19 @@
1515
*/
1616
package org.codehaus.groovy.grails.orm.hibernate.metaclass;
1717

18-
import java.util.Iterator;
19-
import java.util.Map;
20-
import java.util.regex.Pattern;
21-
22-
import ognl.DefaultTypeConverter;
23-
import ognl.Ognl;
24-
2518
import org.codehaus.groovy.grails.commons.metaclass.AbstractStaticMethodInvocation;
2619
import org.hibernate.Criteria;
2720
import org.hibernate.FetchMode;
2821
import org.hibernate.SessionFactory;
2922
import org.hibernate.criterion.Order;
23+
import org.springframework.beans.SimpleTypeConverter;
3024
import org.springframework.orm.hibernate3.HibernateTemplate;
3125
import org.springframework.util.Assert;
3226

27+
import java.util.Iterator;
28+
import java.util.Map;
29+
import java.util.regex.Pattern;
30+
3331
/**
3432
* Abstract base class for static persistent methods
3533
*
@@ -43,10 +41,9 @@ public abstract class AbstractStaticPersistentMethod extends
4341

4442
private SessionFactory sessionFactory = null;
4543
private ClassLoader classLoader = null;
46-
private DefaultTypeConverter converter = new DefaultTypeConverter();
47-
private Map context = Ognl.createDefaultContext(this);
48-
49-
protected static final String ARGUMENT_MAX = "max";
44+
private SimpleTypeConverter converter = new SimpleTypeConverter();
45+
46+
protected static final String ARGUMENT_MAX = "max";
5047
protected static final String ARGUMENT_OFFSET = "offset";
5148
protected static final String ARGUMENT_ORDER = "order";
5249
protected static final String ARGUMENT_SORT = "sort";
@@ -84,10 +81,10 @@ protected void populateArgumentsForCriteria(Criteria c, Map argMap) {
8481
Integer maxParam = null;
8582
Integer offsetParam = null;
8683
if(argMap.containsKey(ARGUMENT_MAX)) {
87-
maxParam = (Integer)converter.convertValue(context,argMap.get(ARGUMENT_MAX),Integer.class);
84+
maxParam = (Integer)converter.convertIfNecessary(argMap.get(ARGUMENT_MAX),Integer.class);
8885
}
8986
if(argMap.containsKey(ARGUMENT_OFFSET)) {
90-
offsetParam = (Integer)converter.convertValue(context,argMap.get(ARGUMENT_OFFSET),Integer.class);
87+
offsetParam = (Integer)converter.convertIfNecessary(argMap.get(ARGUMENT_OFFSET),Integer.class);
9188
}
9289
String orderParam = (String)argMap.get(ARGUMENT_ORDER);
9390
Object fetchObj = argMap.get(ARGUMENT_FETCH);

src/persistence/org/codehaus/groovy/grails/orm/hibernate/metaclass/ExistsPersistentMethod.java

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,13 @@
1515
package org.codehaus.groovy.grails.orm.hibernate.metaclass;
1616

1717
import groovy.lang.MissingMethodException;
18-
import ognl.DefaultTypeConverter;
19-
import ognl.Ognl;
18+
import org.codehaus.groovy.grails.commons.DomainClassArtefactHandler;
2019
import org.codehaus.groovy.grails.commons.GrailsApplication;
2120
import org.codehaus.groovy.grails.commons.GrailsDomainClass;
22-
import org.codehaus.groovy.grails.commons.DomainClassArtefactHandler;
2321
import org.hibernate.SessionFactory;
22+
import org.springframework.beans.SimpleTypeConverter;
2423

2524
import java.io.Serializable;
26-
import java.util.Map;
2725
import java.util.regex.Pattern;
2826

2927
/**
@@ -40,8 +38,7 @@ public class ExistsPersistentMethod extends AbstractStaticPersistentMethod {
4038
private static final String METHOD_SIGNATURE = "exists";
4139

4240
private GrailsApplication application;
43-
private Map context = Ognl.createDefaultContext(this);
44-
private DefaultTypeConverter typeConverter = new DefaultTypeConverter();
41+
private SimpleTypeConverter typeConverter = new SimpleTypeConverter();
4542

4643
public ExistsPersistentMethod(GrailsApplication application, SessionFactory sessionFactory, ClassLoader classLoader) {
4744
super(sessionFactory, classLoader,METHOD_PATTERN);
@@ -64,7 +61,7 @@ protected Object doInvokeInternal(Class clazz, String methodName, Object[] argum
6461
if(domainClass != null) {
6562
Class identityType = domainClass.getIdentifier().getType();
6663
if(!identityType.isAssignableFrom(arg.getClass())) {
67-
arg = typeConverter.convertValue(context,arg, identityType);
64+
arg = typeConverter.convertIfNecessary(arg, identityType);
6865
}
6966
}
7067

src/persistence/org/codehaus/groovy/grails/orm/hibernate/metaclass/GetAllPersistentMethod.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,14 @@
1414
*/
1515
package org.codehaus.groovy.grails.orm.hibernate.metaclass;
1616

17-
import ognl.DefaultTypeConverter;
18-
import ognl.Ognl;
1917

2018
import org.codehaus.groovy.grails.commons.DomainClassArtefactHandler;
2119
import org.codehaus.groovy.grails.commons.GrailsApplication;
2220
import org.codehaus.groovy.grails.commons.GrailsDomainClass;
2321
import org.hibernate.*;
2422
import org.hibernate.criterion.Restrictions;
2523
import org.springframework.orm.hibernate3.HibernateCallback;
24+
import org.springframework.beans.SimpleTypeConverter;
2625

2726
import groovy.lang.GroovyObject;
2827

@@ -48,10 +47,9 @@ public class GetAllPersistentMethod
4847
private static final Pattern METHOD_PATTERN = Pattern.compile("^getAll$");
4948
public static final String METHOD_SIGNATURE = "getAll";
5049
private GrailsApplication application;
51-
private Map context = Ognl.createDefaultContext(this);
52-
private DefaultTypeConverter typeConverter = new DefaultTypeConverter();
50+
private SimpleTypeConverter typeConverter = new SimpleTypeConverter();
5351

54-
public GetAllPersistentMethod(GrailsApplication application,
52+
public GetAllPersistentMethod(GrailsApplication application,
5553
SessionFactory sessionFactory, ClassLoader classLoader) {
5654
super(sessionFactory, classLoader, METHOD_PATTERN);
5755
this.application = application;
@@ -80,7 +78,7 @@ protected Object doInvokeInternal(final Class clazz, String methodName, Object[]
8078
// convert arguments to required identifier type
8179
for (int i = 0; i < arguments.length; i++) {
8280
if (!identityType.isAssignableFrom(arguments[i].getClass())) {
83-
args.add(typeConverter.convertValue(context, arguments[i], identityType));
81+
args.add(typeConverter.convertIfNecessary(arguments[i], identityType));
8482
} else {
8583
args.add(arguments[i]);
8684
}

src/persistence/org/codehaus/groovy/grails/orm/hibernate/metaclass/GetPersistentMethod.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,13 @@
1515
package org.codehaus.groovy.grails.orm.hibernate.metaclass;
1616

1717
import groovy.lang.MissingMethodException;
18-
import ognl.DefaultTypeConverter;
19-
import ognl.Ognl;
18+
import org.codehaus.groovy.grails.commons.DomainClassArtefactHandler;
2019
import org.codehaus.groovy.grails.commons.GrailsApplication;
2120
import org.codehaus.groovy.grails.commons.GrailsDomainClass;
22-
import org.codehaus.groovy.grails.commons.DomainClassArtefactHandler;
2321
import org.hibernate.SessionFactory;
22+
import org.springframework.beans.SimpleTypeConverter;
2423

2524
import java.io.Serializable;
26-
import java.util.Map;
2725
import java.util.regex.Pattern;
2826
/**
2927
* The "get" static persistent method for Grails domain classes. This method
@@ -43,10 +41,9 @@ public class GetPersistentMethod extends AbstractStaticPersistentMethod {
4341
private static final Pattern METHOD_PATTERN = Pattern.compile("^get$");
4442
public static final String METHOD_SIGNATURE = "get";
4543
private GrailsApplication application;
46-
private Map context = Ognl.createDefaultContext(this);
47-
private DefaultTypeConverter typeConverter = new DefaultTypeConverter();
44+
private SimpleTypeConverter typeConverter = new SimpleTypeConverter();
4845

49-
public GetPersistentMethod(GrailsApplication application, SessionFactory sessionFactory, ClassLoader classLoader) {
46+
public GetPersistentMethod(GrailsApplication application, SessionFactory sessionFactory, ClassLoader classLoader) {
5047
super(sessionFactory, classLoader, METHOD_PATTERN);
5148
this.application = application;
5249
}
@@ -67,7 +64,7 @@ protected Object doInvokeInternal(final Class clazz, String methodName,
6764
if(domainClass != null) {
6865
Class identityType = domainClass.getIdentifier().getType();
6966
if(!identityType.isAssignableFrom(arg.getClass())) {
70-
arg = typeConverter.convertValue(context,arg, identityType);
67+
arg = typeConverter.convertIfNecessary(arg, identityType);
7168
}
7269
}
7370

src/scaffolding/org/codehaus/groovy/grails/scaffolding/DefaultScaffoldDomain.java

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@
1515
*/
1616
package org.codehaus.groovy.grails.scaffolding;
1717

18-
import ognl.DefaultTypeConverter;
19-
import ognl.Ognl;
2018
import org.apache.commons.lang.StringUtils;
2119
import org.apache.commons.logging.Log;
2220
import org.apache.commons.logging.LogFactory;
@@ -27,6 +25,7 @@
2725
import org.hibernate.criterion.Restrictions;
2826
import org.springframework.beans.BeanWrapper;
2927
import org.springframework.beans.BeanWrapperImpl;
28+
import org.springframework.beans.SimpleTypeConverter;
3029
import org.springframework.orm.hibernate3.HibernateCallback;
3130
import org.springframework.orm.hibernate3.HibernateTemplate;
3231
import org.springframework.validation.BindException;
@@ -57,14 +56,13 @@ public class DefaultScaffoldDomain implements ScaffoldDomain {
5756
private Class persistentClass;
5857
private HibernateTemplate template;
5958

60-
private Map context = Ognl.createDefaultContext(this);
61-
private DefaultTypeConverter converter = new DefaultTypeConverter();
6259
private BeanWrapper bean;
6360
private Class identityClass;
6461
private Validator validator;
6562
private String identityPropertyName;
66-
67-
public DefaultScaffoldDomain(Class persistentClass,
63+
private SimpleTypeConverter typeConverter = new SimpleTypeConverter();
64+
65+
public DefaultScaffoldDomain(Class persistentClass,
6866
SessionFactory sessionFactory) {
6967

7068
setPersistentClass(persistentClass);
@@ -156,7 +154,7 @@ public List find(final String by, Object q, final int max, final int offset) {
156154
if(this.bean.isReadableProperty(by)) {
157155
Class propertyType = this.bean.getPropertyType(by);
158156
if(!propertyType.isAssignableFrom( q.getClass() )) {
159-
q = converter.convertValue(context, q, propertyType);
157+
q = typeConverter.convertIfNecessary( q, propertyType);
160158
}
161159

162160
final Object query = q;
@@ -198,7 +196,7 @@ public List find(final String[] by, Object[] q, final int max, final int offset)
198196
if(this.bean.isReadableProperty(by[i]) && i < q.length) {
199197
Class propertyType = this.bean.getPropertyType(by[i]);
200198
if(!propertyType.isAssignableFrom( q[i].getClass() )) {
201-
q[i] = converter.convertValue(context, q[i], propertyType);
199+
q[i] = typeConverter.convertIfNecessary(q[i], propertyType);
202200
}
203201
if(q[i] == null) {
204202
ignoreList.add(by[i]);
@@ -285,7 +283,7 @@ public Object delete(Serializable id) {
285283
if(id == null)
286284
throw new IllegalArgumentException("Argument 'id' cannot be null");
287285

288-
id = (Serializable)converter.convertValue(context,id,identityClass);
286+
id = (Serializable)typeConverter.convertIfNecessary(id,identityClass);
289287

290288
Object instance = template.get(persistentClass,id);
291289
if(instance != null) {
@@ -314,7 +312,7 @@ public Object get(Serializable id) {
314312
if(id == null)
315313
throw new IllegalArgumentException("Argument 'id' cannot be null");
316314
if(identityClass != null)
317-
id = (Serializable)converter.convertValue(context,id,identityClass);
315+
id = (Serializable)typeConverter.convertIfNecessary(id,identityClass);
318316

319317
return template.get(persistentClass,id);
320318
}

0 commit comments

Comments
 (0)