[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