From 5ecfd2e8dd00fc84ff735e71f0d3097ab3c22f5d Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Wed, 25 Jun 2008 14:54:24 +0000 Subject: [PATCH] INTEGRATION: CWS rptwizard01 (1.40.44); FILE MERGED 2008/05/21 10:14:36 lla 1.40.44.3: RESYNC: (1.41-1.42); FILE MERGED 2008/02/15 07:36:23 lla 1.40.44.2: RESYNC: (1.40-1.41); FILE MERGED 2008/02/14 13:00:48 lla 1.40.44.1: #i86092# changes for new Report Wizard --- .../sun/star/wizards/report/Dataimport.java | 492 +++++------------- 1 file changed, 123 insertions(+), 369 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 = 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 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 void disposing(com.sun.star.lang.EventObject eventObject){ } public void actionPerformed(com.sun.star.awt.ActionEvent actionEvent) { - bStopProcess = true; + // 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"); +// 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); +// } +// } - 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, ""); - bgetConnection = CurReportDocument.CurDBMetaData.getConnection(CurProperties); - int nCommandType = com.sun.star.sdb.CommandType.COMMAND; - boolean bexecute = false; + 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, ""); - 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)}); } - } - 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); - } - CurReportDocument.oTextSectionHandler.breakLinkofTextSections(); - } catch (Exception exception) { - } catch (java.lang.Exception javaexception) { - javaexception.printStackTrace(System.out); - } - CurReportDocument.unlockallControllers(); - CurReportDocument.setLayoutSectionsVisible(false); - CurReportDocument.removeCopiedTextSections(); - CurReportDocument.oTextSectionHandler.removeInvisibleTextSections(); - CurReportDocument.removeLayoutTextTables(); - } + 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)}); - - 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); - } - DataVector.removeAllElements(); - } - - - - public void updateProgressDisplay(int iCounter) { - try { - if (iCounter % 10 == 0) { - sProgressCurRecord = JavaTools.replaceSubString(sProgressBaseCurRecord, String.valueOf(iCounter), ""); - setControlProperty("lblCurProgress", "Label", sProgressCurRecord); + 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; } - } catch (java.lang.Exception jexception) { - jexception.printStackTrace(System.out); - } + catch (Exception exception) + { + exception.printStackTrace(System.out); + // return; + } + catch (java.lang.Exception jexception) + { + jexception.printStackTrace(System.out); + // return; + } } - 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); + // 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); } + xComponent.dispose(); + CurReportDocument.getRecordParser().dispose(); } - } 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); - } + 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); } - } + + + + + + }