summaryrefslogtreecommitdiff
path: root/wizards/com/sun/star/wizards/db
diff options
context:
space:
mode:
authorFrank Schoenheit [fs] <frank.schoenheit@sun.com>2010-04-16 13:55:24 +0200
committerFrank Schoenheit [fs] <frank.schoenheit@sun.com>2010-04-16 13:55:24 +0200
commit69929004c60c78e8022f89b002128f551dc0f8c7 (patch)
tree6d5c4439769b27f8c5fcbae0595bf20b09465542 /wizards/com/sun/star/wizards/db
parent1b192bd38a3695cc2965ece438d47d6f74958289 (diff)
parent6c07c7cad453e4ebb447577c7313323764d50ea9 (diff)
dba33f: merge with m76-branch
Diffstat (limited to 'wizards/com/sun/star/wizards/db')
-rw-r--r--wizards/com/sun/star/wizards/db/DBMetaData.java2
-rw-r--r--wizards/com/sun/star/wizards/db/QueryMetaData.java7
-rw-r--r--wizards/com/sun/star/wizards/db/SQLQueryComposer.java36
3 files changed, 31 insertions, 14 deletions
diff --git a/wizards/com/sun/star/wizards/db/DBMetaData.java b/wizards/com/sun/star/wizards/db/DBMetaData.java
index 16f8587e535c..f46c3fd657d4 100644
--- a/wizards/com/sun/star/wizards/db/DBMetaData.java
+++ b/wizards/com/sun/star/wizards/db/DBMetaData.java
@@ -108,7 +108,6 @@ public class DBMetaData
public com.sun.star.sdb.tools.XConnectionTools ConnectionTools;
public com.sun.star.lang.XMultiServiceFactory xMSF;
public XComponent xConnectionComponent;
- public SQLQueryComposer oSQLQueryComposer;
private XNameAccess m_xTableNames;
private XInteractionHandler oInteractionHandler;
@@ -1117,7 +1116,6 @@ public class DBMetaData
ConnectionTools = null;
xMSF = null;
xConnectionComponent = null;
- oSQLQueryComposer = null;
CommandObjects = null;
}
}
diff --git a/wizards/com/sun/star/wizards/db/QueryMetaData.java b/wizards/com/sun/star/wizards/db/QueryMetaData.java
index 2c49de15696b..bad14c2faa20 100644
--- a/wizards/com/sun/star/wizards/db/QueryMetaData.java
+++ b/wizards/com/sun/star/wizards/db/QueryMetaData.java
@@ -36,6 +36,7 @@ import com.sun.star.wizards.common.*;
public class QueryMetaData extends CommandMetaData
{
+ private SQLQueryComposer oSQLQueryComposer = null;
FieldColumn CurFieldColumn;
public String Command;
// Vector CommandNamesV;
@@ -290,4 +291,10 @@ public class QueryMetaData extends CommandMetaData
}
return iAggregate;
}
+ public SQLQueryComposer getSQLQueryComposer()
+ {
+ if ( oSQLQueryComposer == null )
+ oSQLQueryComposer = new SQLQueryComposer(this);
+ return oSQLQueryComposer;
+ }
}
diff --git a/wizards/com/sun/star/wizards/db/SQLQueryComposer.java b/wizards/com/sun/star/wizards/db/SQLQueryComposer.java
index a6a63c5a4fc7..0a52f6a3a7a9 100644
--- a/wizards/com/sun/star/wizards/db/SQLQueryComposer.java
+++ b/wizards/com/sun/star/wizards/db/SQLQueryComposer.java
@@ -60,7 +60,7 @@ public class SQLQueryComposer
// String m_sFromClause;
public XSingleSelectQueryAnalyzer m_xQueryAnalyzer;
Vector composedCommandNames = new Vector(1);
- public XSingleSelectQueryComposer m_xQueryComposer;
+ private XSingleSelectQueryComposer m_xQueryComposer;
XMultiServiceFactory xMSF;
boolean bincludeGrouping = true;
@@ -160,10 +160,8 @@ public class SQLQueryComposer
{
for (int i = 0; i < CurDBMetaData.getFilterConditions().length; i++)
{
- String sCurFieldName = CurDBMetaData.getFilterConditions()[i][0].Name;
m_xQueryComposer.setStructuredFilter(CurDBMetaData.getFilterConditions());
}
- String s = m_xQueryAnalyzer.getQuery();
}
catch (Exception exception)
{
@@ -270,9 +268,10 @@ public class SQLQueryComposer
return m_xQueryAnalyzer.getQuery();
}
- private String getFromClause()
+ public String getFromClause()
{
String sFromClause = "FROM";
+ composedCommandNames.clear();
String[] sCommandNames = CurDBMetaData.getIncludedCommandNames();
for (int i = 0; i < sCommandNames.length; i++)
{
@@ -291,20 +290,27 @@ public class SQLQueryComposer
public boolean setQueryCommand(XWindow _xParentWindow, boolean _bincludeGrouping, boolean _baddAliasFieldNames)
{
+ return setQueryCommand(_xParentWindow,_bincludeGrouping, _baddAliasFieldNames,true);
+ }
+ public boolean setQueryCommand(XWindow _xParentWindow, boolean _bincludeGrouping, boolean _baddAliasFieldNames, boolean addQuery)
+ {
try
{
String s;
bincludeGrouping = _bincludeGrouping;
- String sFromClause = getFromClause();
- String sSelectClause = getSelectClause(_baddAliasFieldNames);
- String queryclause = sSelectClause + " " + sFromClause;
- m_xQueryAnalyzer.setQuery(queryclause);
- if (CurDBMetaData.getFilterConditions() != null)
+ if ( addQuery )
{
- if (CurDBMetaData.getFilterConditions().length > 0)
+ String sFromClause = getFromClause();
+ String sSelectClause = getSelectClause(_baddAliasFieldNames);
+ String queryclause = sSelectClause + " " + sFromClause;
+ m_xQueryAnalyzer.setQuery(queryclause);
+ if (CurDBMetaData.getFilterConditions() != null)
{
- CurDBMetaData.setFilterConditions(replaceConditionsByAlias(CurDBMetaData.getFilterConditions()));
- m_xQueryComposer.setStructuredFilter(CurDBMetaData.getFilterConditions());
+ if (CurDBMetaData.getFilterConditions().length > 0)
+ {
+ CurDBMetaData.setFilterConditions(replaceConditionsByAlias(CurDBMetaData.getFilterConditions()));
+ m_xQueryComposer.setStructuredFilter(CurDBMetaData.getFilterConditions());
+ }
}
}
s = m_xQueryAnalyzer.getQuery();
@@ -333,6 +339,8 @@ public class SQLQueryComposer
{
FieldColumn CurFieldColumn = CurDBMetaData.getFieldColumnByDisplayName(_fieldname);
CommandName curComposedCommandName = getComposedCommandByDisplayName(CurFieldColumn.getCommandName());
+ if ( curComposedCommandName == null )
+ return _fieldname;
String curAliasName = curComposedCommandName.getAliasName();
return quoteName(curAliasName) + "." + quoteName(CurFieldColumn.getFieldName());
}
@@ -418,4 +426,8 @@ public class SQLQueryComposer
typeexception.printStackTrace(System.out);
}
}
+ public XSingleSelectQueryComposer getQueryComposer()
+ {
+ return m_xQueryComposer;
+ }
}