[Squirrel-sql-commits] sql12/plugins/hibernate/src/net/sourceforge/squirrel_sql/plugins/hibernate/c
A Java SQL client for any JDBC compliant database
Brought to you by:
colbell,
gerdwagner
From: Gerd W. <ger...@us...> - 2007-08-22 23:15:42
|
Update of /cvsroot/squirrel-sql/sql12/plugins/hibernate/src/net/sourceforge/squirrel_sql/plugins/hibernate/completion In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv1330/plugins/hibernate/src/net/sourceforge/squirrel_sql/plugins/hibernate/completion Modified Files: HQLCompletionInfoCollection.java AliasInfo.java Log Message: Enhancements of HQL completion Index: AliasInfo.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/plugins/hibernate/src/net/sourceforge/squirrel_sql/plugins/hibernate/completion/AliasInfo.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** AliasInfo.java 22 Aug 2007 22:26:58 -0000 1.7 --- AliasInfo.java 22 Aug 2007 23:15:38 -0000 1.8 *************** *** 40,46 **** public ArrayList<PropertyInfo> getQualifiedMatchingAttributes(CompletionParser parser) { ! if(parser.getToken(0).equals(_alias)) { - // cannot call _mci.getMatchingAttributes() because of property chaining return _mci.getQualifiedMatchingAttributes(new CompletionParser(_mci.getClassName() + "." + parser.getAllButFirst())); } --- 40,45 ---- public ArrayList<PropertyInfo> getQualifiedMatchingAttributes(CompletionParser parser) { ! if(1 < parser.size() && parser.getToken(0).equals(_alias)) { return _mci.getQualifiedMatchingAttributes(new CompletionParser(_mci.getClassName() + "." + parser.getAllButFirst())); } Index: HQLCompletionInfoCollection.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/plugins/hibernate/src/net/sourceforge/squirrel_sql/plugins/hibernate/completion/HQLCompletionInfoCollection.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** HQLCompletionInfoCollection.java 22 Aug 2007 22:26:58 -0000 1.8 --- HQLCompletionInfoCollection.java 22 Aug 2007 23:15:38 -0000 1.9 *************** *** 75,78 **** --- 75,93 ---- { + // Tricky alias and chaining completion examples + // + // au to auftr in + // from Kv auftr where au + // + // au to auftr in + // from Kv.positionen.kv auftr where au + // + // positionen. to fields of Kv aggregate positionen in + // from Kv auftr where auftr.positionen. + // + // positionen. to fields of Kv aggregate positionen in + // from Kv where positionen. + + ArrayList<CompletionInfo> ciClasses = new ArrayList<CompletionInfo>(); ArrayList<CompletionInfo> ciAttrs = new ArrayList<CompletionInfo>(); *************** *** 102,108 **** ArrayList<CompletionInfo> ret = new ArrayList<CompletionInfo>(); ! if(null != _lastFoundMappedClassInfo && 1 == parser.size()) { ! ret.addAll(_lastFoundMappedClassInfo.getMatchingAttributes(parser)); } --- 117,141 ---- ArrayList<CompletionInfo> ret = new ArrayList<CompletionInfo>(); ! MappedClassInfo lastFoundBuf = _lastFoundMappedClassInfo; ! if(null != lastFoundBuf) { ! if(1 == parser.size()) ! { ! ret.addAll(lastFoundBuf.getMatchingAttributes(parser)); ! } ! else ! { ! ! for (PropertyInfo propertyInfo : lastFoundBuf.getAttributes()) ! { ! if(propertyInfo.getHibernatePropertyInfo().getPropertyName().equals(parser.getToken(0))) ! { ! MappedClassInfo mappedClassInfo = propertyInfo.getMappedClassInfo(); ! CompletionParser simpleAttrFakeParser = new CompletionParser(mappedClassInfo.getClassName() + "." + parser.getAllButFirst()); ! ArrayList<PropertyInfo> matchingAttributes = mappedClassInfo.getQualifiedMatchingAttributes(simpleAttrFakeParser); ! ret.addAll(matchingAttributes); ! } ! } ! } } *************** *** 164,168 **** public MappedClassInfo getMappedClassInfoFor(String token) { ! // looking for an alias like posses in // from Kv k inner join fetch k.positionen as posses where posses.artNr = 'sdfsdf' --- 197,202 ---- public MappedClassInfo getMappedClassInfoFor(String token) { ! // Example for this code: ! // Completion should // from Kv k inner join fetch k.positionen as posses where posses.artNr = 'sdfsdf' |