Revision: 6146
http://squirrel-sql.svn.sourceforge.net/squirrel-sql/?rev=6146&view=rev
Author: gerdwagner
Date: 2011-01-27 02:30:19 +0000 (Thu, 27 Jan 2011)
Log Message:
-----------
Fixed NullPointerException in Hibernate Plugin when executing HQL with 'view objects' switched on
Modified Paths:
--------------
trunk/sql12/doc/src/main/resources/changes.txt
trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/completion/HQLCompletionInfoCollection.java
trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/completion/HqlAliasParser.java
trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/completion/MappingInfoProvider.java
trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/mapping/MappedClassInfo.java
trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/viewobjects/HibernatePropertyReader.java
Modified: trunk/sql12/doc/src/main/resources/changes.txt
===================================================================
--- trunk/sql12/doc/src/main/resources/changes.txt 2011-01-13 20:55:17 UTC (rev 6145)
+++ trunk/sql12/doc/src/main/resources/changes.txt 2011-01-27 02:30:19 UTC (rev 6146)
@@ -18,6 +18,7 @@
3148653: Missing App Icon on Mac OS X (Fix is available in the Mac OS X 3.2.1 installer file)
+Fixed NullPointerException in Hibernate Plugin when executing HQL with 'view objects' switched on.
3.2.1 (12/29/2010)
==================
Modified: trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/completion/HQLCompletionInfoCollection.java
===================================================================
--- trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/completion/HQLCompletionInfoCollection.java 2011-01-13 20:55:17 UTC (rev 6145)
+++ trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/completion/HQLCompletionInfoCollection.java 2011-01-27 02:30:19 UTC (rev 6146)
@@ -74,7 +74,7 @@
public CompletionCandidates getInfosStartingWith(CompletionParser parser)
{
- // Tricky alias and chaining completion examples
+ // Tricky alias and chaining completion examples
//
// au to auftr in
// from Kv auftr where au
@@ -194,17 +194,17 @@
_currentAliasInfos = aliasInfos;
}
- public MappedClassInfo getMappedClassInfoFor(String token, boolean matchNameExact, boolean stateless)
+ public MappedClassInfo getMappedClassInfoFor(String token)
{
// Example for this code:
- // Completion should
+ // Completion should
// from Kv k inner join fetch k.positionen as posses where posses.artNr = 'sdfsdf'
CompletionParser cp = new CompletionParser(token);
if(2 > cp.size())
{
- return getMappedClassInfoForNonAliasedToken(cp, matchNameExact, stateless);
+ return getMappedClassInfoForNonAliasedToken(cp, true);
}
String aliasCandidate = cp.getToken(0);
@@ -229,14 +229,14 @@
}
}
- return getMappedClassInfoForNonAliasedToken(cp, false, stateless);
+ return getMappedClassInfoForNonAliasedToken(cp, false);
}
- private MappedClassInfo getMappedClassInfoForNonAliasedToken(CompletionParser cp, boolean matchNameExact, boolean stateless)
+ private MappedClassInfo getMappedClassInfoForNonAliasedToken(CompletionParser cp, boolean matchNameExact)
{
for (MappedClassInfo mappedClassInfo : _mappedClassInfos)
{
- if(mappedClassInfo.matches(cp, matchNameExact, stateless))
+ if(mappedClassInfo.matches(cp, matchNameExact, true))
{
return mappedClassInfo;
}
@@ -291,6 +291,12 @@
}
+ @Override
+ public MappedClassInfo getExactMappedClassInfoFor(String className)
+ {
+ return _mappedClassInfoByClassName.get(className);
+ }
+
public ISyntaxHighlightTokenMatcher getHqlSyntaxHighlightTokenMatcher()
{
return _hqlSyntaxHighlightTokenMatcher;
Modified: trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/completion/HqlAliasParser.java
===================================================================
--- trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/completion/HqlAliasParser.java 2011-01-13 20:55:17 UTC (rev 6145)
+++ trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/completion/HqlAliasParser.java 2011-01-27 02:30:19 UTC (rev 6146)
@@ -36,7 +36,7 @@
}
else
{
- lastMappedClass = mappingInfoProvider.getMappedClassInfoFor(token, true, true);
+ lastMappedClass = mappingInfoProvider.getMappedClassInfoFor(token);
}
}
else
Modified: trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/completion/MappingInfoProvider.java
===================================================================
--- trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/completion/MappingInfoProvider.java 2011-01-13 20:55:17 UTC (rev 6145)
+++ trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/completion/MappingInfoProvider.java 2011-01-27 02:30:19 UTC (rev 6146)
@@ -5,7 +5,9 @@
public interface MappingInfoProvider
{
// Will be called asynchronously to the event dispatch thread
- MappedClassInfo getMappedClassInfoFor(String token, boolean matchNameExact, boolean stateless);
+ MappedClassInfo getMappedClassInfoFor(String token);
boolean mayBeClassOrAliasName(String token);
+
+ MappedClassInfo getExactMappedClassInfoFor(String className);
}
Modified: trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/mapping/MappedClassInfo.java
===================================================================
--- trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/mapping/MappedClassInfo.java 2011-01-13 20:55:17 UTC (rev 6145)
+++ trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/mapping/MappedClassInfo.java 2011-01-27 02:30:19 UTC (rev 6146)
@@ -19,12 +19,12 @@
{
_mappedClassInfoData = mappedClassInfoData;
- setPropertyInfos(new PropertyInfo[_mappedClassInfoData.getHibernatePropertyInfos().length + 1]);
+ _propertyInfos = new PropertyInfo[_mappedClassInfoData.getHibernatePropertyInfos().length + 1];
- getPropertyInfos()[0] = new PropertyInfo(_mappedClassInfoData.getIndentifierHibernatePropertyInfo(), _mappedClassInfoData.getMappedClassName());
+ _propertyInfos[0] = new PropertyInfo(_mappedClassInfoData.getIndentifierHibernatePropertyInfo(), _mappedClassInfoData.getMappedClassName());
for (int i = 0; i < _mappedClassInfoData.getHibernatePropertyInfos().length; i++)
{
- getPropertyInfos()[i+1] = new PropertyInfo(_mappedClassInfoData.getHibernatePropertyInfos()[i], _mappedClassInfoData.getMappedClassName());
+ _propertyInfos[i+1] = new PropertyInfo(_mappedClassInfoData.getHibernatePropertyInfos()[i], _mappedClassInfoData.getMappedClassName());
}
}
@@ -84,7 +84,7 @@
ArrayList<String> props = getArrayFormChain(propertyChainBegin);
- PropertyInfo[] propInfoBuf = getPropertyInfos();
+ PropertyInfo[] propInfoBuf = _propertyInfos;
for (int i = 0; i < props.size(); i++)
{
@@ -136,7 +136,7 @@
{
ArrayList<CompletionInfo> ret = new ArrayList<CompletionInfo>();
- for (PropertyInfo propertyInfo : getPropertyInfos())
+ for (PropertyInfo propertyInfo : _propertyInfos )
{
if(propertyInfo.matchesUnQualified(parser.getLastToken()))
{
@@ -165,11 +165,11 @@
public String[] getAttributeNames()
{
- String[] ret = new String[getPropertyInfos().length];
+ String[] ret = new String[_propertyInfos.length];
- for (int i = 0; i < getPropertyInfos().length; i++)
+ for (int i = 0; i < _propertyInfos.length; i++)
{
- ret[i] = getPropertyInfos()[i].getCompareString();
+ ret[i] = _propertyInfos[i].getCompareString();
}
@@ -178,7 +178,7 @@
public PropertyInfo getAttributeByName(String attrName)
{
- for (PropertyInfo propertyInfo : getPropertyInfos())
+ for (PropertyInfo propertyInfo : _propertyInfos )
{
if(propertyInfo.getCompareString().equals(attrName))
{
@@ -193,7 +193,7 @@
public PropertyInfo[] getAttributes()
{
- return getPropertyInfos();
+ return _propertyInfos;
}
@@ -204,21 +204,11 @@
public void initAttributesWithClassInfo(MappingInfoProvider mappingInfoProvider)
{
- for (PropertyInfo propertyInfo : getPropertyInfos())
+ for (PropertyInfo propertyInfo : _propertyInfos )
{
- propertyInfo.setMappedClassInfo(mappingInfoProvider.getMappedClassInfoFor(propertyInfo.getHibernatePropertyInfo().getClassName(), false, false));
+ propertyInfo.setMappedClassInfo(mappingInfoProvider.getExactMappedClassInfoFor(propertyInfo.getHibernatePropertyInfo().getClassName()));
}
}
- public PropertyInfo[] getPropertyInfos()
- {
- return _propertyInfos;
- }
-
- public void setPropertyInfos(PropertyInfo[] propertyInfos)
- {
- _propertyInfos = propertyInfos;
- }
-
}
Modified: trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/viewobjects/HibernatePropertyReader.java
===================================================================
--- trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/viewobjects/HibernatePropertyReader.java 2011-01-13 20:55:17 UTC (rev 6145)
+++ trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/viewobjects/HibernatePropertyReader.java 2011-01-27 02:30:19 UTC (rev 6146)
@@ -32,7 +32,7 @@
}
catch (Exception e)
{
- throw new RuntimeException(e);
+ throw new RuntimeException("Cannot access property: " + _obj.getClass().getName() + "." + _propertyName, e);
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|