summaryrefslogtreecommitdiff
path: root/wizards/com/sun/star/wizards/report/Dataimport.java
diff options
context:
space:
mode:
Diffstat (limited to 'wizards/com/sun/star/wizards/report/Dataimport.java')
-rw-r--r--wizards/com/sun/star/wizards/report/Dataimport.java494
1 files changed, 124 insertions, 370 deletions
diff --git a/wizards/com/sun/star/wizards/report/Dataimport.java b/wizards/com/sun/star/wizards/report/Dataimport.java
index 91182e728dbe..0f980200ff41 100644
--- a/wizards/com/sun/star/wizards/report/Dataimport.java
+++ b/wizards/com/sun/star/wizards/report/Dataimport.java
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: Dataimport.java,v $
- * $Revision: 1.43 $
+ * $Revision: 1.44 $
*
* This file is part of OpenOffice.org.
*
@@ -29,418 +29,172 @@
************************************************************************/
package com.sun.star.wizards.report;
-import java.util.Vector;
-
-import com.sun.star.awt.VclWindowPeerAttribute;
import com.sun.star.beans.PropertyValue;
-import com.sun.star.beans.XPropertySet;
-import com.sun.star.container.XNameAccess;
-import com.sun.star.container.XNameContainer;
-import com.sun.star.container.XNamed;
import com.sun.star.lang.XMultiServiceFactory;
-import com.sun.star.sdb.CommandType;
-import com.sun.star.style.BreakType;
-import com.sun.star.style.CaseMap;
-import com.sun.star.table.XCellRange;
-import com.sun.star.text.XTextContent;
-import com.sun.star.text.XTextCursor;
import com.sun.star.text.XTextDocument;
-import com.sun.star.text.XTextTable;
-import com.sun.star.uno.Any;
-import com.sun.star.uno.UnoRuntime;
-import com.sun.star.uno.XInterface;
import com.sun.star.wizards.db.*;
import com.sun.star.wizards.ui.*;
import com.sun.star.wizards.common.*;
import com.sun.star.wizards.document.*;
import com.sun.star.wizards.text.*;
-import com.sun.star.wizards.common.InvalidQueryException;
import com.sun.star.uno.Exception;
public class Dataimport extends UnoDialog2 implements com.sun.star.awt.XActionListener{ // extends ReportWizard
- ReportDocument CurReportDocument;
- PropertyValue[] CurProperties;
+ // ReportTextDocument CurReportDocument;
+ IReportDocument CurReportDocument;
+
+// PropertyValue[] CurProperties;
static boolean bStopProcess;
static String sProgressDBConnection;
static String sProgressDataImport;
static String sProgressBaseCurRecord;
static String sProgressCurRecord;
static String sProgressTitle;
- static String sMsgQueryCreationImpossible;
- static String sReportFormNotExisting;
static String sStop;
- static String sMsgHiddenControlMissing;
- static String sMsgEndAutopilot;
- static String sMsgConnectionImpossible;
- static String sMsgNoConnection;
- static String[] ReportMessages = new String[4];
- public static final String TBLRECORDSECTION = ReportDocument.TBLRECORDSECTION;
- public static final String TBLGROUPSECTION = ReportDocument.TBLGROUPSECTION;
- public static final String RECORDSECTION = ReportDocument.RECORDSECTION;
- public static final String GROUPSECTION = ReportDocument.GROUPSECTION;
- public static final String COPYOFTBLRECORDSECTION = ReportDocument.COPYOFTBLRECORDSECTION;
- public static final String COPYOFTBLGROUPSECTION = ReportDocument.COPYOFTBLGROUPSECTION;
- public static final String COPYOFRECORDSECTION = ReportDocument.COPYOFRECORDSECTION;
- public static final String COPYOFGROUPSECTION = ReportDocument.COPYOFGROUPSECTION;
+// public static final String TBLRECORDSECTION = ReportTextDocument.TBLRECORDSECTION;
+// public static final String TBLGROUPSECTION = ReportTextDocument.TBLGROUPSECTION;
+// public static final String RECORDSECTION = ReportTextDocument.RECORDSECTION;
+// public static final String GROUPSECTION = ReportTextDocument.GROUPSECTION;
+// public static final String COPYOFTBLRECORDSECTION = ReportTextDocument.COPYOFTBLRECORDSECTION;
+// public static final String COPYOFTBLGROUPSECTION = ReportTextDocument.COPYOFTBLGROUPSECTION;
+// public static final String COPYOFRECORDSECTION = ReportTextDocument.COPYOFRECORDSECTION;
+// public static final String COPYOFGROUPSECTION = ReportTextDocument.COPYOFGROUPSECTION;
+
+
+ public Dataimport(XMultiServiceFactory _xMSF)
+ {
+ super(_xMSF);
+ super.addResourceHandler("ReportWizard", "dbw");
+ sProgressDBConnection = m_oResource.getResText(UIConsts.RID_DB_COMMON + 34);
+ sProgressDataImport = m_oResource.getResText(UIConsts.RID_REPORT + 67);
+ sProgressTitle = m_oResource.getResText(UIConsts.RID_REPORT + 62);
+ sProgressBaseCurRecord = m_oResource.getResText(UIConsts.RID_REPORT + 63);
+ sStop = m_oResource.getResText(UIConsts.RID_DB_COMMON + 21);
- public Dataimport(XMultiServiceFactory _xMSF) {
- super(_xMSF);
- super.addResourceHandler("ReportWizard", "dbw");
- sProgressDBConnection = oResource.getResText(UIConsts.RID_DB_COMMON + 34);
- sProgressDataImport = oResource.getResText(UIConsts.RID_REPORT + 67);
- sProgressTitle = oResource.getResText(UIConsts.RID_REPORT + 62);
- sProgressBaseCurRecord = oResource.getResText(UIConsts.RID_REPORT + 63);
- sReportFormNotExisting = oResource.getResText(UIConsts.RID_REPORT + 64);
- sMsgQueryCreationImpossible = oResource.getResText(UIConsts.RID_REPORT + 65);
- sStop = oResource.getResText(UIConsts.RID_DB_COMMON + 21);
- sMsgHiddenControlMissing = oResource.getResText(UIConsts.RID_REPORT + 66);
- sMsgEndAutopilot = oResource.getResText(UIConsts.RID_DB_COMMON + 33);
- sMsgNoConnection = oResource.getResText(UIConsts.RID_DB_COMMON + 14);
- }
+ }
public void disposing(com.sun.star.lang.EventObject eventObject){
}
public void actionPerformed(com.sun.star.awt.ActionEvent actionEvent) {
- bStopProcess = true;
- }
-
- public static void main(String args[]) {
- String ConnectStr = "uno:socket,host=localhost,port=8100;urp,negotiate=0,forcesynchronous=1;StarOffice.NamingService";
- XMultiServiceFactory xMSF = null;
- try {
- xMSF = com.sun.star.wizards.common.Desktop.connect(ConnectStr);
- if (xMSF != null)
- System.out.println("Connected to " + ConnectStr);
- PropertyValue[] curproperties = new PropertyValue[3];
- curproperties[0] = Properties.createProperty("DatabaseLocation", "file:///C:/Documents and Settings/bc93774.EHAM02-DEV/My Documents/MyHSQL.odb");
-// curproperties[0] = Properties.createProperty("DatabaseLocation", "file:///C:/Documents and Settings/bc93774.EHAM02-DEV/My Documents/MyDocAssign.odb"); //baseLocation ); "DataSourceName", "db1");
-// curproperties[0] = Properties.createProperty("DataSourceName", "Bibliography");
- curproperties[1] = Properties.createProperty("CommandType", new Integer(CommandType.TABLE));
- curproperties[2] = Properties.createProperty("Command", "Table2");
-
- Dataimport CurDataimport = new Dataimport(xMSF);
- TextDocument oTextDocument = new TextDocument(xMSF, true, null);
- CurDataimport.createReport(xMSF, oTextDocument.xTextDocument, curproperties);
-
- } catch (Exception e) {
- e.printStackTrace(System.out);
- } catch (java.lang.Exception javaexception) {
- javaexception.printStackTrace(System.out);
- }
- }
-
- public void showProgressDisplay(XMultiServiceFactory xMSF, boolean bgetConnection) {
- try {
- Helper.setUnoPropertyValues(xDialogModel,
- new String[] { "Height", "Step", "Title", "Width" },
- new Object[] { new Integer(84), new Integer(0), sProgressTitle, new Integer(180)});
- com.sun.star.awt.FontDescriptor oFontDesc = new com.sun.star.awt.FontDescriptor();
- oFontDesc.Weight = com.sun.star.awt.FontWeight.BOLD;
- if (bgetConnection) {
- insertControlModel("com.sun.star.awt.UnoControlFixedTextModel", "lblProgressDBConnection",
- new String[] { "FontDescriptor", "Height", "Label", "PositionX", "PositionY", "Step", "Width" },
- new Object[] { oFontDesc, new Integer(10), sProgressDBConnection, new Integer(6), new Integer(6), new Integer(0), new Integer(150)});
-
- insertControlModel("com.sun.star.awt.UnoControlFixedTextModel", "lblProgressDataImport",
- new String[] { "Height", "Label", "PositionX", "PositionY", "Step", "Width" },
- new Object[] { new Integer(10), sProgressDataImport, new Integer(6), new Integer(24), new Integer(0), new Integer(120)});
- } else
- insertControlModel("com.sun.star.awt.UnoControlFixedTextModel", "lblProgressDataImport",
- new String[] { "FontDescriptor", "Height", "Label", "PositionX", "PositionY", "Step", "Width" },
- new Object[] { oFontDesc, new Integer(10), sProgressDataImport, new Integer(6), new Integer(24), new Integer(0), new Integer(120)});
-
- insertControlModel("com.sun.star.awt.UnoControlFixedTextModel", "lblCurProgress",
- new String[] { "Height", "Label", "PositionX", "PositionY", "Step", "Width" },
- new Object[] { new Integer(10), "", new Integer(12), new Integer(42), new Integer(0), new Integer(120)});
-
- insertButton("cmdCancel", 10000, this,
- new String[] { "Height", "HelpURL", "PositionX", "PositionY", "Step", "TabIndex", "Width", "Label" },
- new Object[] { new Integer(14), "HID:34321", new Integer(74), new Integer(58), new Integer(0), new Short((short) 1), new Integer(40), sStop });
- createWindowPeer(CurReportDocument.xWindowPeer);
- calculateDialogPosition(CurReportDocument.xFrame.getComponentWindow().getPosSize());
- xWindow.setVisible(true);
- super.xReschedule.reschedule();
- return;
- } catch (Exception exception) {
- exception.printStackTrace(System.out);
- return;
- } catch (java.lang.Exception jexception) {
- jexception.printStackTrace(System.out);
- return;
- }
- }
-
-
- private void addTextSectionCopies(){
- CurReportDocument.setLayoutSectionsVisible(false);
- XTextCursor xTextCursor = ReportDocument.createTextCursor(CurReportDocument.xTextDocument.getText());
- xTextCursor.gotoStart(false);
- for (int i = 0; i < CurReportDocument.CurDBMetaData.GroupFieldNames.length; i++){
- XNamed xNamedTextSection = addLinkedTextSection(xTextCursor, GROUPSECTION + Integer.toString(i + 1), null, null);
- xNamedTextSection.setName(COPYOFGROUPSECTION + (i+1));
- renameTableofLastSection(COPYOFTBLGROUPSECTION + (i+1));
- }
- if( CurReportDocument.CurDBMetaData.RecordFieldNames.length > 0){
- XNamed xNamedTextSection = addLinkedTextSection(xTextCursor, RECORDSECTION, null, null);
- xNamedTextSection.setName(COPYOFRECORDSECTION);
- renameTableofLastSection(COPYOFTBLRECORDSECTION);
- }
- }
-
-
- private void renameTableofLastSection(String _snewname){
- XTextTable xTextTable = CurReportDocument.oTextTableHandler.getlastTextTable();
- XNamed xNamedTable = (XNamed) UnoRuntime.queryInterface(XNamed.class, xTextTable);
- xNamedTable.setName(_snewname);
- }
-
-
- public void importReportData(final XMultiServiceFactory xMSF, final Dataimport CurDataimport, final ReportDocument CurReportDocument) {
- if (reconnectToDatabase(xMSF)) {
- // The following calls to remove the Sections must occur after the connection to the database
- modifyFontWeight("lblProgressDBConnection", com.sun.star.awt.FontWeight.NORMAL);
- modifyFontWeight("lblProgressDataImport", com.sun.star.awt.FontWeight.BOLD);
- insertDatabaseDatatoReportDocument(xMSF);
- }
- xComponent.dispose();
- CurReportDocument.CurDBMetaData.dispose();
- }
-
-
- public void createReport(final XMultiServiceFactory xMSF,XTextDocument _textDocument, PropertyValue[] properties) {
- CurReportDocument = new ReportDocument(xMSF, _textDocument,oResource);
- CurProperties = properties;
- showProgressDisplay(xMSF, true);
- importReportData(xMSF, this, CurReportDocument);
- }
-
- public boolean reconnectToDatabase(XMultiServiceFactory xMSF) {
- try {
- XNameContainer xNamedForms = CurReportDocument.oFormHandler.getDocumentForms();
- Object oDBForm = Helper.getUnoObjectbyName(xNamedForms, ReportWizard.SOREPORTFORMNAME);
- boolean bgetConnection;
- String sQueryName = "";
- if (oDBForm != null) {
- String sMsg = sMsgHiddenControlMissing + (char) 13 + sMsgEndAutopilot;
- XNameAccess xNamedForm = (XNameAccess) UnoRuntime.queryInterface(XNameAccess.class, oDBForm);
- CurReportDocument.CurDBMetaData.Command = CurReportDocument.oFormHandler.getValueofHiddenControl(xNamedForm, "Command", sMsg);
- String sCommandType = CurReportDocument.oFormHandler.getValueofHiddenControl(xNamedForm, "CommandType", sMsg);
- String sGroupFieldNames = CurReportDocument.oFormHandler.getValueofHiddenControl(xNamedForm, "GroupFieldNames", sMsg);
- String sFieldNames = CurReportDocument.oFormHandler.getValueofHiddenControl(xNamedForm, "FieldNames", sMsg);
- String sRecordFieldNames = CurReportDocument.oFormHandler.getValueofHiddenControl(xNamedForm, "RecordFieldNames", sMsg);
- if (xNamedForm.hasByName("QueryName"))
- sQueryName = CurReportDocument.oFormHandler.getValueofHiddenControl(xNamedForm, "QueryName", sMsg);
- String[] sFieldNameList = JavaTools.ArrayoutofString(sFieldNames, ";");
- CurReportDocument.CurDBMetaData.RecordFieldNames = JavaTools.ArrayoutofString(sRecordFieldNames, ";");
- CurReportDocument.CurDBMetaData.GroupFieldNames = JavaTools.ArrayoutofString(sGroupFieldNames, ";");
- CurReportDocument.CurDBMetaData.setCommandType(Integer.valueOf(sCommandType).intValue());
- sMsgQueryCreationImpossible = JavaTools.replaceSubString(sMsgQueryCreationImpossible, CurReportDocument.CurDBMetaData.Command, "<STATEMENT>");
- bgetConnection = CurReportDocument.CurDBMetaData.getConnection(CurProperties);
- int nCommandType = com.sun.star.sdb.CommandType.COMMAND;
- boolean bexecute = false;
+ // bStopProcess = true;
+ CurReportDocument.StopProcess();
+ }
+
+// public static void main(String args[])
+// {
+// String ConnectStr = "uno:socket,host=localhost,port=8100;urp,negotiate=0,forcesynchronous=1;StarOffice.NamingService";
+// XMultiServiceFactory xMSF = null;
+// try
+// {
+// xMSF = com.sun.star.wizards.common.Desktop.connect(ConnectStr);
+// if (xMSF != null)
+// {
+// System.out.println("Connected to " + ConnectStr);
+// }
+// PropertyValue[] curproperties = new PropertyValue[3];
+// curproperties[0] = Properties.createProperty("DatabaseLocation", "file:///C:/Documents and Settings/bc93774.EHAM02-DEV/My Documents/MyHSQL.odb");
+//// curproperties[0] = Properties.createProperty("DatabaseLocation", "file:///C:/Documents and Settings/bc93774.EHAM02-DEV/My Documents/MyDocAssign.odb"); //baseLocation ); "DataSourceName", "db1");
+//// curproperties[0] = Properties.createProperty("DataSourceName", "Bibliography");
+// curproperties[1] = Properties.createProperty("CommandType", new Integer(CommandType.TABLE));
+// curproperties[2] = Properties.createProperty("Command", "Table2");
+//
+// Dataimport CurDataimport = new Dataimport(xMSF);
+// TextDocument oTextDocument = new TextDocument(xMSF, true, null);
+// CurDataimport.createReport(xMSF, oTextDocument.xTextDocument, curproperties);
+//
+// }
+// catch (Exception e)
+// {
+// e.printStackTrace(System.out);
+// }
+// catch (java.lang.Exception javaexception)
+// {
+// javaexception.printStackTrace(System.out);
+// }
+// }
+
+ public void showProgressDisplay(XMultiServiceFactory xMSF, boolean bgetConnection)
+ {
+ try
+ {
+ Helper.setUnoPropertyValues(xDialogModel,
+ new String[] { "Height", "Step", "Title", "Width" },
+ new Object[] { new Integer(84), new Integer(0), sProgressTitle, new Integer(180)});
+ com.sun.star.awt.FontDescriptor oFontDesc = new com.sun.star.awt.FontDescriptor();
+ oFontDesc.Weight = com.sun.star.awt.FontWeight.BOLD;
if (bgetConnection)
{
- // LLA: restored from old 2.3 Version
- if ((CurReportDocument.CurDBMetaData.getCommandType() == CommandType.QUERY) &&
- (CurReportDocument.CurDBMetaData.Command.equals("")))
- {
- CurReportDocument.CurDBMetaData.oSQLQueryComposer = new SQLQueryComposer(CurReportDocument.CurDBMetaData);
- DBMetaData.CommandObject oCommand = CurReportDocument.CurDBMetaData.getQueryByName(sQueryName);
- if (CurReportDocument.CurDBMetaData.hasEscapeProcessing(oCommand.xPropertySet))
- {
- CurReportDocument.CurDBMetaData.Command = (String) oCommand.xPropertySet.getPropertyValue("Command");
- CurReportDocument.CurDBMetaData.oSQLQueryComposer.xQueryAnalyzer.setQuery(CurReportDocument.CurDBMetaData.Command);
- CurReportDocument.CurDBMetaData.oSQLQueryComposer.prependSortingCriteria();
- }
- else
- {
- nCommandType = com.sun.star.sdb.CommandType.QUERY;
- CurReportDocument.CurDBMetaData.Command = sQueryName;
- }
- }
- bexecute = CurReportDocument.CurDBMetaData.executeCommand(nCommandType); //sMsgQueryCreationImpossible + (char) 13 + sMsgEndAutopilot, sFieldNameList, true);
- if (bexecute){
- bexecute = CurReportDocument.CurDBMetaData.getFields(sFieldNameList, true);
- }
- return bexecute;
- } else
- return false;
- } else {
- sReportFormNotExisting = JavaTools.replaceSubString(sReportFormNotExisting, ReportWizard.SOREPORTFORMNAME, "<REPORTFORM>");
- showMessageBox("ErrorBox", VclWindowPeerAttribute.OK, sReportFormNotExisting + (char) 13 + sMsgEndAutopilot);
- return false;
- }
- } catch (InvalidQueryException queryexception) {
- return false;
- } catch (java.lang.Exception javaexception) {
- javaexception.printStackTrace(System.out);
- return false;
- } catch (com.sun.star.wizards.document.FormHandler.UnknownHiddenControlException exception) {
- return false;
- }
- }
+ insertControlModel("com.sun.star.awt.UnoControlFixedTextModel", "lblProgressDBConnection",
+ new String[] { "FontDescriptor", "Height", "Label", "PositionX", "PositionY", "Step", "Width" },
+ new Object[] { oFontDesc, new Integer(10), sProgressDBConnection, new Integer(6), new Integer(6), new Integer(0), new Integer(150)});
- public void insertDatabaseDatatoReportDocument(XMultiServiceFactory xMSF) {
- try {
- int ColIndex;
- boolean breset;
- Object oTable;
- Vector DataVector = new Vector();
- DBColumn CurDBColumn;
- Object CurGroupValue;
- String CurGroupTableName;
- RecordParser CurDBMetaData = CurReportDocument.CurDBMetaData;
- com.sun.star.style.BreakType CorrBreakValue = null;
- String CorrPageDescName = "";
- CurReportDocument.oTextFieldHandler.fixDateFields(true);
- CurReportDocument.removeAllVisibleTextSections();
- CurReportDocument.removeNonLayoutTextTables();
- addTextSectionCopies();
- CurReportDocument.getallDBColumns();
- int GroupFieldCount = CurDBMetaData.GroupFieldNames.length;
- int FieldCount = CurDBMetaData.FieldColumns.length;
- Object[] OldGroupFieldValues = new Object[GroupFieldCount];
- XTextTable[] xGroupBaseTables = new XTextTable[GroupFieldCount];
- int RecordFieldCount = FieldCount - GroupFieldCount;
- XTextDocument xTextDocument = CurReportDocument.xTextDocument;
- XTextCursor xTextCursor = ReportDocument.createTextCursor(CurReportDocument.xTextDocument.getText());
- xTextDocument.lockControllers();
- if (CurDBMetaData.ResultSet.next() == true) {
- replaceUserFields();
- Helper.setUnoPropertyValue(xTextCursor, "PageDescName", "First Page");
- for (ColIndex = 0; ColIndex < GroupFieldCount; ColIndex++) {
- CurGroupTableName = TBLGROUPSECTION + Integer.toString(ColIndex + 1);
- oTable = CurReportDocument.oTextTableHandler.xTextTablesSupplier.getTextTables().getByName(CurGroupTableName);
- xGroupBaseTables[ColIndex] = (XTextTable) UnoRuntime.queryInterface(XTextTable.class, oTable);
- CurGroupValue = CurDBMetaData.getGroupColumnValue(ColIndex);
- OldGroupFieldValues[ColIndex] = CurGroupValue;
- CurDBColumn = (DBColumn) CurReportDocument.DBColumnsVector.elementAt(ColIndex);
- addLinkedTextSection(xTextCursor, GROUPSECTION + Integer.toString(ColIndex + 1), CurDBColumn, CurGroupValue); //COPYOF!!!!
+ insertControlModel("com.sun.star.awt.UnoControlFixedTextModel", "lblProgressDataImport",
+ new String[] { "Height", "Label", "PositionX", "PositionY", "Step", "Width" },
+ new Object[] { new Integer(10), sProgressDataImport, new Integer(6), new Integer(24), new Integer(0), new Integer(120)});
}
- if (CurDBMetaData.getcurrentRecordData(DataVector) == true) {
- int RowIndex = 1;
- bStopProcess = false;
- while ((CurDBMetaData.ResultSet.next() == true) && (bStopProcess == false)) {
- RowIndex += 1;
- breset = false;
- for (ColIndex = 0; ColIndex < GroupFieldCount; ColIndex++) {
- CurGroupValue = CurDBMetaData.getGroupColumnValue(ColIndex);
- if ((CurGroupValue.equals((Object) OldGroupFieldValues[ColIndex]) == false) || (breset)) {
- breset = true;
- insertDataToRecordTable(xTextCursor, DataVector, RecordFieldCount);
- CurDBColumn = (DBColumn) CurReportDocument.DBColumnsVector.elementAt(ColIndex);
- addLinkedTextSection(xTextCursor, COPYOFGROUPSECTION + Integer.toString(ColIndex + 1), CurDBColumn, CurGroupValue);
- OldGroupFieldValues[ColIndex] = CurGroupValue;
- breset = !(ColIndex == GroupFieldCount - 1);
- }
- }
- CurDBMetaData.getcurrentRecordData(DataVector);
- updateProgressDisplay(RowIndex);
- }
- insertDataToRecordTable(xTextCursor, DataVector, RecordFieldCount);
- } else {
- CurReportDocument.unlockallControllers();
- return;
+ else
+ {
+ insertControlModel("com.sun.star.awt.UnoControlFixedTextModel", "lblProgressDataImport",
+ new String[] { "FontDescriptor", "Height", "Label", "PositionX", "PositionY", "Step", "Width" },
+ new Object[] { oFontDesc, new Integer(10), sProgressDataImport, new Integer(6), new Integer(24), new Integer(0), new Integer(120)});
}
+ insertControlModel("com.sun.star.awt.UnoControlFixedTextModel", "lblCurProgress",
+ new String[] { "Height", "Label", "PositionX", "PositionY", "Step", "Width" },
+ new Object[] { new Integer(10), "", new Integer(12), new Integer(42), new Integer(0), new Integer(120)});
+
+ insertButton("cmdCancel", 10000, this,
+ new String[] { "Height", "HelpURL", "PositionX", "PositionY", "Step", "TabIndex", "Width", "Label" },
+ new Object[] { new Integer(14), "HID:34321", new Integer(74), new Integer(58), new Integer(0), new Short((short) 1), new Integer(40), sStop });
+ createWindowPeer(CurReportDocument.getWizardParent());
+ calculateDialogPosition(CurReportDocument.getFrame().getComponentWindow().getPosSize());
+ xWindow.setVisible(true);
+ super.xReschedule.reschedule();
+ return;
}
- else{
- for (ColIndex = 0; ColIndex < GroupFieldCount; ColIndex++) {
- CurDBColumn = (DBColumn) CurReportDocument.DBColumnsVector.elementAt(ColIndex);
- Object oValue = "";
- addLinkedTextSection(xTextCursor, COPYOFGROUPSECTION + Integer.toString(ColIndex + 1), CurDBColumn, oValue);
- }
- addLinkedTextSection(xTextCursor, COPYOFRECORDSECTION, null, null);
- Object[][] RecordArray = new Object[1][RecordFieldCount];
- for (int i = 0; i < RecordArray[0].length; i++){
- RecordArray[0][i] = Any.VOID;
- }
- XTextTable xTextTable = CurReportDocument.oTextTableHandler.getlastTextTable();
- OfficeDocument.ArraytoCellRange(RecordArray, xTextTable, 0, 1);
+ catch (Exception exception)
+ {
+ exception.printStackTrace(System.out);
+ // return;
+ }
+ catch (java.lang.Exception jexception)
+ {
+ jexception.printStackTrace(System.out);
+ // return;
+ }
+ }
+
+ // public void importReportData(final XMultiServiceFactory xMSF, final Dataimport CurDataimport, final ReportTextDocument CurReportDocument.getDoc()) {
+ public void importReportData(final XMultiServiceFactory _xMSF, final Dataimport _CurDataimport, IReportDocument _CurReportDocument, PropertyValue[] _properties)
+ {
+ if (CurReportDocument.reconnectToDatabase(_xMSF, _properties))
+ {
+ // The following calls to remove the Sections must occur after the connection to the database
+ modifyFontWeight("lblProgressDBConnection", com.sun.star.awt.FontWeight.NORMAL);
+ modifyFontWeight("lblProgressDataImport", com.sun.star.awt.FontWeight.BOLD);
+ CurReportDocument.insertDatabaseDatatoReportDocument(_xMSF);
}
- CurReportDocument.oTextSectionHandler.breakLinkofTextSections();
- } catch (Exception exception) {
- } catch (java.lang.Exception javaexception) {
- javaexception.printStackTrace(System.out);
+ xComponent.dispose();
+ CurReportDocument.getRecordParser().dispose();
}
- CurReportDocument.unlockallControllers();
- CurReportDocument.setLayoutSectionsVisible(false);
- CurReportDocument.removeCopiedTextSections();
- CurReportDocument.oTextSectionHandler.removeInvisibleTextSections();
- CurReportDocument.removeLayoutTextTables();
- }
- public void insertDataToRecordTable(XTextCursor xTextCursor, Vector DataVector, int FieldCount) {
- int DataLength = DataVector.size();
- if ((FieldCount > 0) && (DataLength > 0)) {
- addLinkedTextSection(xTextCursor, COPYOFRECORDSECTION, null, null);
- Object[][] RecordArray = new Object[DataLength][FieldCount];
- DataVector.copyInto(RecordArray);
- XTextTable xTextTable = CurReportDocument.oTextTableHandler.getlastTextTable();
- if (DataLength > 1)
- xTextTable.getRows().insertByIndex(xTextTable.getRows().getCount(), DataLength - 1);
- OfficeDocument.ArraytoCellRange(RecordArray, xTextTable, 0, 1);
+ public void createReport(final XMultiServiceFactory xMSF,XTextDocument _textDocument, PropertyValue[] properties)
+ {
+ // CurReportDocument = new ReportTextDocument(xMSF, _textDocument,m_oResource);
+ CurReportDocument = ReportTextImplementation.create(xMSF, _textDocument,m_oResource);
+// CurProperties = properties;
+ showProgressDisplay(xMSF, true);
+ importReportData(xMSF, this, CurReportDocument, properties);
}
- DataVector.removeAllElements();
- }
- public void updateProgressDisplay(int iCounter) {
- try {
- if (iCounter % 10 == 0) {
- sProgressCurRecord = JavaTools.replaceSubString(sProgressBaseCurRecord, String.valueOf(iCounter), "<COUNT>");
- setControlProperty("lblCurProgress", "Label", sProgressCurRecord);
- super.xReschedule.reschedule();
- }
- } catch (java.lang.Exception jexception) {
- jexception.printStackTrace(System.out);
- }
- }
- public XNamed addLinkedTextSection(XTextCursor xTextCursor, String sLinkRegion, DBColumn CurDBColumn, Object CurGroupValue) {
- XNamed xNamedTextSection = null;
- try {
- XInterface xTextSection = (XInterface) CurReportDocument.xMSFDoc.createInstance("com.sun.star.text.TextSection");
- XTextContent xTextSectionContent = (XTextContent) UnoRuntime.queryInterface(XTextContent.class, xTextSection);
- xNamedTextSection = (XNamed) UnoRuntime.queryInterface(XNamed.class, xTextSection);
- xTextCursor.gotoEnd(false);
- xTextCursor.getText().insertTextContent(xTextCursor, xTextSectionContent, true);
- Helper.setUnoPropertyValue(xTextSection, "LinkRegion", sLinkRegion);
- if (CurDBColumn != null){
- boolean bIsGroupTable = (sLinkRegion.equals(RECORDSECTION) != true);
- if (bIsGroupTable == true){
- XTextTable xTextTable = CurReportDocument.oTextTableHandler.getlastTextTable();
- XCellRange xCellRange = (XCellRange) UnoRuntime.queryInterface(XCellRange.class, xTextTable);
- CurDBColumn.modifyCellContent(xCellRange, CurGroupValue);
- }
- }
- } catch (Exception exception) {
- exception.printStackTrace(System.out);
- }
- return xNamedTextSection;
- }
- public void replaceUserFields() {
- DBColumn CurDBColumn;
- XTextCursor xNameCellCursor;
- String FieldContent;
- int iCount = CurReportDocument.DBColumnsVector.size();
- for (int i = 0; i < iCount; i++) {
- CurDBColumn = (DBColumn) CurReportDocument.DBColumnsVector.elementAt(i);
- xNameCellCursor = ReportDocument.createTextCursor(CurDBColumn.xNameCell);
- xNameCellCursor.gotoStart(false);
- FieldContent = CurReportDocument.oTextFieldHandler.getUserFieldContent(xNameCellCursor);
- if (!FieldContent.equals("")){
- xNameCellCursor.goRight((short) 1, true);
- xNameCellCursor.setString(FieldContent);
- }
- }
- }
}