[Libreoffice-commits] .: Branch 'features/base-preview' - 7 commits - wizards/com
Lionel Elie Mamane
lmamane at kemper.freedesktop.org
Wed Jun 6 05:40:38 PDT 2012
wizards/com/sun/star/wizards/db/SQLQueryComposer.java | 22 +++++++-
wizards/com/sun/star/wizards/report/ReportTextDocument.java | 3 -
wizards/com/sun/star/wizards/report/ReportTextImplementation.java | 27 ++++++----
wizards/com/sun/star/wizards/ui/SortingComponent.java | 11 +---
4 files changed, 42 insertions(+), 21 deletions(-)
New commits:
commit e5bde62273d3268c5eb0cf34a14fde641f941518
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Wed Jun 6 14:28:50 2012 +0200
legacy reports: unify treatment of query and table
In *both* cases, the value of hidden control "Sorting" (if non-empty)
decides the columns being sorted on.
Change-Id: I7f4b50c3af8c12e48e5dedd36b5877ad7a9e1b66
diff --git a/wizards/com/sun/star/wizards/report/ReportTextImplementation.java b/wizards/com/sun/star/wizards/report/ReportTextImplementation.java
index 6be5b36..937d9f2 100644
--- a/wizards/com/sun/star/wizards/report/ReportTextImplementation.java
+++ b/wizards/com/sun/star/wizards/report/ReportTextImplementation.java
@@ -264,7 +264,8 @@ public class ReportTextImplementation extends ReportImplementationHelper impleme
}
getRecordParser().setRecordFieldNames(sNewList);
getRecordParser().GroupFieldNames = JavaTools.ArrayoutofString(sGroupFieldNames, PropertyNames.SEMI_COLON);
- getRecordParser().setCommandType(Integer.valueOf(sCommandType).intValue());
+ int nOrigCommandType = Integer.valueOf(sCommandType).intValue();
+ getRecordParser().setCommandType(nOrigCommandType);
sMsgQueryCreationImpossible = JavaTools.replaceSubString(sMsgQueryCreationImpossible, getRecordParser().Command, "<STATEMENT>");
bgetConnection = getRecordParser().getConnection(_properties);
@@ -278,8 +279,6 @@ public class ReportTextImplementation extends ReportImplementationHelper impleme
if (getRecordParser().hasEscapeProcessing(oCommand.getPropertySet()))
{
getRecordParser().Command = (String) oCommand.getPropertySet().getPropertyValue(PropertyNames.COMMAND);
- getRecordParser().getSQLQueryComposer().m_xQueryAnalyzer.setQuery(getRecordParser().Command);
- getRecordParser().Command = getRecordParser().getSQLQueryComposer().getQuery();
}
else
{
@@ -291,14 +290,24 @@ public class ReportTextImplementation extends ReportImplementationHelper impleme
bexecute = getRecordParser().executeCommand(nCommandType); //sMsgQueryCreationImpossible + (char) 13 + sMsgEndAutopilot, sFieldNameList, true);
if (bexecute)
{
- DBMetaData.CommandObject oCommand = getRecordParser().getQueryByName(sQueryName);
bexecute = getRecordParser().getFields(sFieldNameList, true);
- if (bexecute && getRecordParser().hasEscapeProcessing(oCommand.getPropertySet()))
+
+ boolean addSort = true;
+ if ( (nOrigCommandType == CommandType.QUERY) && !sQueryName.equals(PropertyNames.EMPTY_STRING) )
{
- getRecordParser().getSQLQueryComposer().prependSortingCriteria();
- getRecordParser().Command = getRecordParser().getSQLQueryComposer().getQuery();
- bexecute = getRecordParser().executeCommand(nCommandType);
+ DBMetaData.CommandObject oCommand = getRecordParser().getQueryByName(sQueryName);
+ if (!getRecordParser().hasEscapeProcessing(oCommand.getPropertySet()))
+ addSort = false;
}
+ if ( !(addSort && bexecute) )
+ {
+ return bexecute;
+ }
+ getRecordParser().getSQLQueryComposer().m_xQueryAnalyzer.setQuery(getRecordParser().Command);
+ getRecordParser().getSQLQueryComposer().prependSortingCriteria();
+ getRecordParser().Command = getRecordParser().getSQLQueryComposer().getQuery();
+
+ bexecute = getRecordParser().executeCommand(nCommandType);
}
return bexecute;
}
commit f293846b762831fd54b132f2e28922809ccff6da
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Wed Jun 6 14:26:58 2012 +0200
legacy report wizard: when source is table, save name in QueryName
Change-Id: Ie0bdbed9578b95f7fccc3d9ff6d9c8b5b91ac0ab
diff --git a/wizards/com/sun/star/wizards/report/ReportTextDocument.java b/wizards/com/sun/star/wizards/report/ReportTextDocument.java
index 5cddeca..cbb7b9a 100644
--- a/wizards/com/sun/star/wizards/report/ReportTextDocument.java
+++ b/wizards/com/sun/star/wizards/report/ReportTextDocument.java
@@ -206,16 +206,15 @@ class ReportTextDocument extends com.sun.star.wizards.text.TextDocument implemen
com.sun.star.container.XNameContainer xNamedForm = oFormHandler.insertFormbyName(SOREPORTFORMNAME);
XNameAccess xNameAccess = UnoRuntime.queryInterface(XNameAccess.class, xNamedForm);
oFormHandler.insertHiddenControl(xNameAccess, xNamedForm, PropertyNames.COMMAND_TYPE, Integer.toString(CurDBMetaData.getCommandType()));
+ oFormHandler.insertHiddenControl(xNameAccess, xNamedForm, QUERYNAME, CurDBMetaData.getCommandName());
if (CurDBMetaData.getCommandType() == CommandType.QUERY)
{
- oFormHandler.insertHiddenControl(xNameAccess, xNamedForm, QUERYNAME, CurDBMetaData.getCommandName());
oFormHandler.insertHiddenControl(xNameAccess, xNamedForm, PropertyNames.COMMAND, "");
//DBMetaData.CommandObject oCommand = CurDBMetaData.getQueryByName(CurDBMetaData.getCommandName());
//oFormHandler.insertHiddenControl(xNameAccess, xNamedForm, COMMAND, CurDBMetaData.Command);
}
else
{
- oFormHandler.insertHiddenControl(xNameAccess, xNamedForm, QUERYNAME, "");
oFormHandler.insertHiddenControl(xNameAccess, xNamedForm, PropertyNames.COMMAND, CurDBMetaData.Command);
}
oFormHandler.insertHiddenControl(xNameAccess, xNamedForm, "GroupFieldNames", JavaTools.ArraytoString(CurDBMetaData.GroupFieldNames));
commit b603eb3fe0ccb0e4c5042c3ffa3680b45e882070
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Wed Jun 6 14:25:51 2012 +0200
SQLQueryComposer allow setQueryCommand with prependSorting instead of append
Change-Id: Ia06794537ea4d0f6f069c83709792ebbcc084804
diff --git a/wizards/com/sun/star/wizards/db/SQLQueryComposer.java b/wizards/com/sun/star/wizards/db/SQLQueryComposer.java
index 059412a..2b24ac3 100644
--- a/wizards/com/sun/star/wizards/db/SQLQueryComposer.java
+++ b/wizards/com/sun/star/wizards/db/SQLQueryComposer.java
@@ -286,6 +286,11 @@ public class SQLQueryComposer
public boolean setQueryCommand(XWindow _xParentWindow, boolean _bincludeGrouping, boolean _baddAliasFieldNames, boolean addQuery)
{
+ return setQueryCommand(_xParentWindow, _bincludeGrouping, _baddAliasFieldNames, addQuery, false);
+ }
+
+ public boolean setQueryCommand(XWindow _xParentWindow, boolean _bincludeGrouping, boolean _baddAliasFieldNames, boolean addQuery, boolean prependSortingCriteria)
+ {
try
{
bincludeGrouping = _bincludeGrouping;
@@ -309,7 +314,14 @@ public class SQLQueryComposer
m_queryComposer.setStructuredHavingClause(CurDBMetaData.GroupByFilterConditions);
}
}
- appendSortingcriteria(_baddAliasFieldNames);
+ if (prependSortingCriteria)
+ {
+ prependSortingCriteria(_baddAliasFieldNames);
+ }
+ else
+ {
+ appendSortingcriteria(_baddAliasFieldNames);
+ }
return true;
}
commit 6fb9c5a071a05860761fd0dfba7f463d8f1038bc
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Wed Jun 6 14:24:54 2012 +0200
db.SQLQueryComposer allow prependSortingCriteria call with addAliasFieldNames
Change-Id: I05889ccac213743a55c302bd7249b30f817c0428
diff --git a/wizards/com/sun/star/wizards/db/SQLQueryComposer.java b/wizards/com/sun/star/wizards/db/SQLQueryComposer.java
index a1cdb56..059412a 100644
--- a/wizards/com/sun/star/wizards/db/SQLQueryComposer.java
+++ b/wizards/com/sun/star/wizards/db/SQLQueryComposer.java
@@ -155,11 +155,16 @@ public class SQLQueryComposer
public void prependSortingCriteria() throws SQLException
{
+ prependSortingCriteria(false);
+ }
+
+ public void prependSortingCriteria(boolean _baddAliasFieldNames) throws SQLException
+ {
XIndexAccess xColumnIndexAccess = m_xQueryAnalyzer.getOrderColumns();
m_queryComposer.setOrder("");
for (int i = 0; i < CurDBMetaData.getSortFieldNames().length; i++)
{
- appendSortingCriterion(i, false);
+ appendSortingCriterion(i, _baddAliasFieldNames);
}
for (int i = 0; i < xColumnIndexAccess.getCount(); i++)
{
commit dce3ca17fc30304f6d93c421c4c851fb29b8ce9b
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Wed Jun 6 14:23:50 2012 +0200
cleanup
Change-Id: I1ce4279d434ffa58328e17863b2e68af1e813a99
diff --git a/wizards/com/sun/star/wizards/db/SQLQueryComposer.java b/wizards/com/sun/star/wizards/db/SQLQueryComposer.java
index 8469a2b..a1cdb56 100644
--- a/wizards/com/sun/star/wizards/db/SQLQueryComposer.java
+++ b/wizards/com/sun/star/wizards/db/SQLQueryComposer.java
@@ -241,7 +241,6 @@ public class SQLQueryComposer
{
for (int m = 0; m < _filterconditions[n].length; m++)
{
- // _filterconditions[n][m].Name = getComposedAliasFieldName(_filterconditions[n][m].Name);
final String aliasName = getComposedAliasFieldName(_filterconditions[n][m].Name);
if ( columns.hasByName(aliasName))
_filterconditions[n][m].Name = aliasName;
commit 67fbec954fe4c383b3073366d114c3edaf9b2962
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Wed Jun 6 14:23:30 2012 +0200
untabify
Change-Id: I984c84534cb4c6cda8bd73a43d79ec8e49afcdeb
diff --git a/wizards/com/sun/star/wizards/report/ReportTextImplementation.java b/wizards/com/sun/star/wizards/report/ReportTextImplementation.java
index 33f3cf0..6be5b36 100644
--- a/wizards/com/sun/star/wizards/report/ReportTextImplementation.java
+++ b/wizards/com/sun/star/wizards/report/ReportTextImplementation.java
@@ -241,7 +241,7 @@ public class ReportTextImplementation extends ReportImplementationHelper impleme
}
catch (UnknownHiddenControlException exception)
{
- sorting = "";
+ sorting = "";
}
String sRecordFieldNames = getDoc().oFormHandler.getValueofHiddenControl(xNamedForm, "RecordFieldNames", sMsg);
if (xNamedForm.hasByName("QueryName"))
commit a6aa114c30004d563d1876c33618d760b1b91248
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Wed Jun 6 14:22:45 2012 +0200
fdo#48018 legacy reports do not sort by group columns
Legacy report means done with the "old" report system, as opposed to
with report builder.
This was caused by a misguided attempt to sort-of work around i#110536
instead of fixing it cleanly. Revert that.
Apparently the idea was to not explicitly set grouping columns as
sorting columns, but that the report execution would automagically add
grouping columns at begin of sorting list at report execution
time. That's a bad idea for at least two reasons:
* This does not allow the user to chose ASC/DESC for grouping columns
* In rare / advanced cases, sorting on another column *before*
grouping is desirable.
Plus, the "automagic adding" part apparently wasn't implemented
anyway.
Change-Id: I81e76eb4b6a0e543571a4df97d0ead77f6a2d7c8
diff --git a/wizards/com/sun/star/wizards/ui/SortingComponent.java b/wizards/com/sun/star/wizards/ui/SortingComponent.java
index 48ac44b..a6de255 100644
--- a/wizards/com/sun/star/wizards/ui/SortingComponent.java
+++ b/wizards/com/sun/star/wizards/ui/SortingComponent.java
@@ -258,13 +258,10 @@ public class SortingComponent
ArrayList<String> SortDescriptions = new ArrayList<String>();
for (int i = 0; i <= MaxSortIndex; i++)
{
- if (!((Boolean) CurUnoDialog.getControlProperty("lstSort" + (i + 1), PropertyNames.READ_ONLY)))
- {
- CurFieldName = xSortListBox[i].getSelectedItem();
- SortDescriptions.add(CurFieldName);
- iCurState = ((Short) CurUnoDialog.getControlProperty("optAscend" + Integer.toString(i + 1), PropertyNames.PROPERTY_STATE)).shortValue();
- SortFieldNames.add(new String[]{CurFieldName,iCurState == 1 ? PropertyNames.ASC :"DESC" });
- }
+ CurFieldName = xSortListBox[i].getSelectedItem();
+ SortDescriptions.add(CurFieldName);
+ iCurState = ((Short) CurUnoDialog.getControlProperty("optAscend" + Integer.toString(i + 1), PropertyNames.PROPERTY_STATE)).shortValue();
+ SortFieldNames.add(new String[]{CurFieldName,iCurState == 1 ? PropertyNames.ASC :"DESC" });
}
// When searching for a duplicate entry we can neglect wether the entries are to be sorted ascending or descending
// TODO for the future we should deliver a messagebox when two different sorting modes have been applied to one field
More information about the Libreoffice-commits
mailing list