### Eclipse Workspace Patch 1.0 #P org.jboss.tools.hibernate4_0 Index: src/org/jboss/tools/hibernate4_0/HQLQueryPage.java =================================================================== --- src/org/jboss/tools/hibernate4_0/HQLQueryPage.java (revision 42713) +++ src/org/jboss/tools/hibernate4_0/HQLQueryPage.java (working copy) @@ -30,11 +30,11 @@ import org.hibernate.HibernateException; import org.hibernate.Query; import org.hibernate.Session; -import org.hibernate.SharedSessionContract; import org.hibernate.console.AbstractQueryPage; import org.hibernate.console.ConsoleQueryParameter; import org.hibernate.console.QueryInputModel; import org.hibernate.console.ext.HibernateExtension; +import org.hibernate.type.BasicTypeRegistry; import org.hibernate.type.Type; @@ -42,6 +42,7 @@ private Query query; private String queryString; + private BasicTypeRegistry defaultBasicTypeRegistry = new BasicTypeRegistry(); public List getList() { if (query==null) return Collections.emptyList(); @@ -85,14 +86,17 @@ try { int pos = Integer.parseInt(parameter.getName()); //FIXME no method to set positioned list value - query2.setParameter(pos, calcValue( parameter ), parameter.getType()); + query2.setParameter(pos, calcValue( parameter ), + defaultBasicTypeRegistry.getRegisteredType(parameter.getTypeName())); } catch(NumberFormatException nfe) { Object value = parameter.getValue(); if (value != null && value.getClass().isArray()){ Object[] values = (Object[])value; - query2.setParameterList(parameter.getName(), Arrays.asList(values), parameter.getType()); + query2.setParameterList(parameter.getName(), Arrays.asList(values), + defaultBasicTypeRegistry.getRegisteredType(parameter.getTypeName())); } else { - query2.setParameter(parameter.getName(), calcValue( parameter ), parameter.getType()); + query2.setParameter(parameter.getName(), calcValue( parameter ), + defaultBasicTypeRegistry.getRegisteredType(parameter.getTypeName())); } } } #P org.jboss.tools.hibernate3_6 Index: src/org/jboss/tools/hibernate3_6/HQLQueryPage.java =================================================================== --- src/org/jboss/tools/hibernate3_6/HQLQueryPage.java (revision 42713) +++ src/org/jboss/tools/hibernate3_6/HQLQueryPage.java (working copy) @@ -34,6 +34,7 @@ import org.hibernate.console.ConsoleQueryParameter; import org.hibernate.console.QueryInputModel; import org.hibernate.console.ext.HibernateExtension; +import org.hibernate.type.BasicTypeRegistry; import org.hibernate.type.Type; @@ -41,6 +42,7 @@ private Query query; private String queryString; + private BasicTypeRegistry defaultBasicTypeRegistry = new BasicTypeRegistry(); public List getList() { if (query==null) return Collections.emptyList(); @@ -84,14 +86,17 @@ try { int pos = Integer.parseInt(parameter.getName()); //FIXME no method to set positioned list value - query2.setParameter(pos, calcValue( parameter ), parameter.getType()); + query2.setParameter(pos, calcValue( parameter ), + defaultBasicTypeRegistry.getRegisteredType(parameter.getTypeName())); } catch(NumberFormatException nfe) { Object value = parameter.getValue(); if (value != null && value.getClass().isArray()){ Object[] values = (Object[])value; - query2.setParameterList(parameter.getName(), Arrays.asList(values), parameter.getType()); + query2.setParameterList(parameter.getName(), Arrays.asList(values), + defaultBasicTypeRegistry.getRegisteredType(parameter.getTypeName())); } else { - query2.setParameter(parameter.getName(), calcValue( parameter ), parameter.getType()); + query2.setParameter(parameter.getName(), calcValue( parameter ), + defaultBasicTypeRegistry.getRegisteredType(parameter.getTypeName())); } } } #P org.hibernate.eclipse.console Index: src/org/hibernate/eclipse/console/views/QueryParametersPage.java =================================================================== --- src/org/hibernate/eclipse/console/views/QueryParametersPage.java (revision 42713) +++ src/org/hibernate/eclipse/console/views/QueryParametersPage.java (working copy) @@ -213,7 +213,7 @@ while(iterator.hasNext()) { NullableType type = (NullableType) iterator.next(); if(i==((Integer)value).intValue()) { - if(cqp.getType()!=type) { + if(!cqp.getTypeName().equals(type.getName())) { cqp.setType(type); cqp.setNull(); // have to reset to ensure it's working } @@ -258,10 +258,10 @@ } if ( TYPE_PROPERTY.equals( property ) ) { Iterator iterator = possibleTypes.iterator(); - NullableType type = cqp.getType(); + String type = cqp.getTypeName(); int i = 0; while(iterator.hasNext()) { - if (type == iterator.next()) { + if (type.equals(iterator.next().getName())) { return Integer.valueOf(i); } i++; @@ -360,7 +360,7 @@ case 0: return cqp.getName(); case 1: - return cqp.getType().getName(); + return cqp.getTypeName(); case 2: { String label = cqp.getStringValues()[0]; #P org.hibernate.eclipse Index: src/org/hibernate/console/ConsoleQueryParameter.java =================================================================== --- src/org/hibernate/console/ConsoleQueryParameter.java (revision 42713) +++ src/org/hibernate/console/ConsoleQueryParameter.java (working copy) @@ -102,8 +102,8 @@ this.name = name; } - public NullableType getType() { - return type; + public String getTypeName() { + return type.getName(); } public void setType(NullableType type) { #P org.jboss.tools.hibernate3_5 Index: src/org/jboss/tools/hibernate3_5/HQLQueryPage.java =================================================================== --- src/org/jboss/tools/hibernate3_5/HQLQueryPage.java (revision 42713) +++ src/org/jboss/tools/hibernate3_5/HQLQueryPage.java (working copy) @@ -35,6 +35,7 @@ import org.hibernate.console.QueryInputModel; import org.hibernate.console.ext.HibernateExtension; import org.hibernate.type.Type; +import org.hibernate.type.TypeFactory; public class HQLQueryPage extends AbstractQueryPage { @@ -84,14 +85,17 @@ try { int pos = Integer.parseInt(parameter.getName()); //FIXME no method to set positioned list value - query2.setParameter(pos, calcValue( parameter ), parameter.getType()); + query2.setParameter(pos, calcValue( parameter ), + TypeFactory.heuristicType(parameter.getTypeName())); } catch(NumberFormatException nfe) { Object value = parameter.getValue(); if (value != null && value.getClass().isArray()){ Object[] values = (Object[])value; - query2.setParameterList(parameter.getName(), Arrays.asList(values), parameter.getType()); + query2.setParameterList(parameter.getName(), Arrays.asList(values), + TypeFactory.heuristicType(parameter.getTypeName())); } else { - query2.setParameter(parameter.getName(), calcValue( parameter ), parameter.getType()); + query2.setParameter(parameter.getName(), calcValue( parameter ), + TypeFactory.heuristicType(parameter.getTypeName())); } } }