1*b1cdbd2cSJim Jagielski /************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski package com.sun.star.wizards.report; 24*b1cdbd2cSJim Jagielski 25*b1cdbd2cSJim Jagielski import com.sun.star.beans.PropertyValue; 26*b1cdbd2cSJim Jagielski import com.sun.star.lang.XMultiServiceFactory; 27*b1cdbd2cSJim Jagielski import com.sun.star.sdb.application.XDatabaseDocumentUI; 28*b1cdbd2cSJim Jagielski import com.sun.star.text.XTextDocument; 29*b1cdbd2cSJim Jagielski 30*b1cdbd2cSJim Jagielski import com.sun.star.wizards.ui.*; 31*b1cdbd2cSJim Jagielski import com.sun.star.wizards.common.*; 32*b1cdbd2cSJim Jagielski import com.sun.star.uno.Exception; 33*b1cdbd2cSJim Jagielski import java.util.logging.Level; 34*b1cdbd2cSJim Jagielski import java.util.logging.Logger; 35*b1cdbd2cSJim Jagielski 36*b1cdbd2cSJim Jagielski public class Dataimport extends UnoDialog2 implements com.sun.star.awt.XActionListener 37*b1cdbd2cSJim Jagielski { // extends ReportWizard 38*b1cdbd2cSJim Jagielski 39*b1cdbd2cSJim Jagielski // ReportTextDocument CurReportDocument; 40*b1cdbd2cSJim Jagielski IReportDocument CurReportDocument; 41*b1cdbd2cSJim Jagielski 42*b1cdbd2cSJim Jagielski // PropertyValue[] CurProperties; 43*b1cdbd2cSJim Jagielski static boolean bStopProcess; 44*b1cdbd2cSJim Jagielski static String sProgressDBConnection; 45*b1cdbd2cSJim Jagielski static String sProgressDataImport; 46*b1cdbd2cSJim Jagielski static String sProgressBaseCurRecord; 47*b1cdbd2cSJim Jagielski static String sProgressCurRecord; 48*b1cdbd2cSJim Jagielski static String sProgressTitle; 49*b1cdbd2cSJim Jagielski static String sStop; 50*b1cdbd2cSJim Jagielski 51*b1cdbd2cSJim Jagielski // public static final String TBLRECORDSECTION = ReportTextDocument.TBLRECORDSECTION; 52*b1cdbd2cSJim Jagielski // public static final String TBLGROUPSECTION = ReportTextDocument.TBLGROUPSECTION; 53*b1cdbd2cSJim Jagielski // public static final String RECORDSECTION = ReportTextDocument.RECORDSECTION; 54*b1cdbd2cSJim Jagielski // public static final String GROUPSECTION = ReportTextDocument.GROUPSECTION; 55*b1cdbd2cSJim Jagielski // public static final String COPYOFTBLRECORDSECTION = ReportTextDocument.COPYOFTBLRECORDSECTION; 56*b1cdbd2cSJim Jagielski // public static final String COPYOFTBLGROUPSECTION = ReportTextDocument.COPYOFTBLGROUPSECTION; 57*b1cdbd2cSJim Jagielski // public static final String COPYOFRECORDSECTION = ReportTextDocument.COPYOFRECORDSECTION; 58*b1cdbd2cSJim Jagielski // public static final String COPYOFGROUPSECTION = ReportTextDocument.COPYOFGROUPSECTION; Dataimport(XMultiServiceFactory _xMSF)59*b1cdbd2cSJim Jagielski public Dataimport(XMultiServiceFactory _xMSF) 60*b1cdbd2cSJim Jagielski { 61*b1cdbd2cSJim Jagielski super(_xMSF); 62*b1cdbd2cSJim Jagielski super.addResourceHandler("ReportWizard", "dbw"); 63*b1cdbd2cSJim Jagielski sProgressDBConnection = m_oResource.getResText(UIConsts.RID_DB_COMMON + 34); 64*b1cdbd2cSJim Jagielski sProgressDataImport = m_oResource.getResText(UIConsts.RID_REPORT + 67); 65*b1cdbd2cSJim Jagielski sProgressTitle = m_oResource.getResText(UIConsts.RID_REPORT + 62); 66*b1cdbd2cSJim Jagielski sProgressBaseCurRecord = m_oResource.getResText(UIConsts.RID_REPORT + 63); 67*b1cdbd2cSJim Jagielski sStop = m_oResource.getResText(UIConsts.RID_DB_COMMON + 21); 68*b1cdbd2cSJim Jagielski 69*b1cdbd2cSJim Jagielski } 70*b1cdbd2cSJim Jagielski disposing(com.sun.star.lang.EventObject eventObject)71*b1cdbd2cSJim Jagielski public void disposing(com.sun.star.lang.EventObject eventObject) 72*b1cdbd2cSJim Jagielski { 73*b1cdbd2cSJim Jagielski } 74*b1cdbd2cSJim Jagielski actionPerformed(com.sun.star.awt.ActionEvent actionEvent)75*b1cdbd2cSJim Jagielski public void actionPerformed(com.sun.star.awt.ActionEvent actionEvent) 76*b1cdbd2cSJim Jagielski { 77*b1cdbd2cSJim Jagielski // bStopProcess = true; 78*b1cdbd2cSJim Jagielski CurReportDocument.StopProcess(); 79*b1cdbd2cSJim Jagielski } 80*b1cdbd2cSJim Jagielski 81*b1cdbd2cSJim Jagielski // public static void main(String args[]) 82*b1cdbd2cSJim Jagielski // { 83*b1cdbd2cSJim Jagielski // String ConnectStr = "uno:socket,host=localhost,port=8100;urp,negotiate=0,forcesynchronous=1;StarOffice.NamingService"; 84*b1cdbd2cSJim Jagielski // XMultiServiceFactory xMSF = null; 85*b1cdbd2cSJim Jagielski // try 86*b1cdbd2cSJim Jagielski // { 87*b1cdbd2cSJim Jagielski // xMSF = com.sun.star.wizards.common.Desktop.connect(ConnectStr); 88*b1cdbd2cSJim Jagielski // if (xMSF != null) 89*b1cdbd2cSJim Jagielski // { 90*b1cdbd2cSJim Jagielski // System.out.println("Connected to " + ConnectStr); 91*b1cdbd2cSJim Jagielski // } 92*b1cdbd2cSJim Jagielski // PropertyValue[] curproperties = new PropertyValue[3]; 93*b1cdbd2cSJim Jagielski // curproperties[0] = Properties.createProperty("DatabaseLocation", "file:///C:/Documents and Settings/bc93774.EHAM02-DEV/My Documents/MyHSQL.odb"); 94*b1cdbd2cSJim Jagielski //// curproperties[0] = Properties.createProperty("DatabaseLocation", "file:///C:/Documents and Settings/bc93774.EHAM02-DEV/My Documents/MyDocAssign.odb"); //baseLocation ); "DataSourceName", "db1"); 95*b1cdbd2cSJim Jagielski //// curproperties[0] = Properties.createProperty("DataSourceName", "Bibliography"); 96*b1cdbd2cSJim Jagielski // curproperties[1] = Properties.createProperty(PropertyNames.COMMAND_TYPE, new Integer(CommandType.TABLE)); 97*b1cdbd2cSJim Jagielski // curproperties[2] = Properties.createProperty(PropertyNames.COMMAND, "Table2"); 98*b1cdbd2cSJim Jagielski // 99*b1cdbd2cSJim Jagielski // Dataimport CurDataimport = new Dataimport(xMSF); 100*b1cdbd2cSJim Jagielski // TextDocument oTextDocument = new TextDocument(xMSF, true, null); 101*b1cdbd2cSJim Jagielski // CurDataimport.createReport(xMSF, oTextDocument.xTextDocument, curproperties); 102*b1cdbd2cSJim Jagielski // 103*b1cdbd2cSJim Jagielski // } 104*b1cdbd2cSJim Jagielski // catch (Exception e) 105*b1cdbd2cSJim Jagielski // { 106*b1cdbd2cSJim Jagielski // e.printStackTrace(System.out); 107*b1cdbd2cSJim Jagielski // } 108*b1cdbd2cSJim Jagielski // catch (java.lang.Exception javaexception) 109*b1cdbd2cSJim Jagielski // { 110*b1cdbd2cSJim Jagielski // javaexception.printStackTrace(System.out); 111*b1cdbd2cSJim Jagielski // } 112*b1cdbd2cSJim Jagielski // } showProgressDisplay(XMultiServiceFactory xMSF, boolean bgetConnection)113*b1cdbd2cSJim Jagielski public void showProgressDisplay(XMultiServiceFactory xMSF, boolean bgetConnection) 114*b1cdbd2cSJim Jagielski { 115*b1cdbd2cSJim Jagielski try 116*b1cdbd2cSJim Jagielski { 117*b1cdbd2cSJim Jagielski Helper.setUnoPropertyValues(xDialogModel, 118*b1cdbd2cSJim Jagielski new String[] 119*b1cdbd2cSJim Jagielski { 120*b1cdbd2cSJim Jagielski PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TITLE, PropertyNames.PROPERTY_WIDTH 121*b1cdbd2cSJim Jagielski }, 122*b1cdbd2cSJim Jagielski new Object[] 123*b1cdbd2cSJim Jagielski { 124*b1cdbd2cSJim Jagielski 84, 0, sProgressTitle, 180 125*b1cdbd2cSJim Jagielski }); 126*b1cdbd2cSJim Jagielski com.sun.star.awt.FontDescriptor oFontDesc = new com.sun.star.awt.FontDescriptor(); 127*b1cdbd2cSJim Jagielski oFontDesc.Weight = com.sun.star.awt.FontWeight.BOLD; 128*b1cdbd2cSJim Jagielski if (bgetConnection) 129*b1cdbd2cSJim Jagielski { 130*b1cdbd2cSJim Jagielski insertControlModel("com.sun.star.awt.UnoControlFixedTextModel", "lblProgressDBConnection", 131*b1cdbd2cSJim Jagielski new String[] 132*b1cdbd2cSJim Jagielski { 133*b1cdbd2cSJim Jagielski PropertyNames.FONT_DESCRIPTOR, PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_WIDTH 134*b1cdbd2cSJim Jagielski }, 135*b1cdbd2cSJim Jagielski new Object[] 136*b1cdbd2cSJim Jagielski { 137*b1cdbd2cSJim Jagielski oFontDesc, 10, sProgressDBConnection, 6, 6, 0, 150 138*b1cdbd2cSJim Jagielski }); 139*b1cdbd2cSJim Jagielski 140*b1cdbd2cSJim Jagielski insertControlModel("com.sun.star.awt.UnoControlFixedTextModel", "lblProgressDataImport", 141*b1cdbd2cSJim Jagielski new String[] 142*b1cdbd2cSJim Jagielski { 143*b1cdbd2cSJim Jagielski PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_WIDTH 144*b1cdbd2cSJim Jagielski }, 145*b1cdbd2cSJim Jagielski new Object[] 146*b1cdbd2cSJim Jagielski { 147*b1cdbd2cSJim Jagielski 10, sProgressDataImport, 6, 24, 0, 120 148*b1cdbd2cSJim Jagielski }); 149*b1cdbd2cSJim Jagielski } 150*b1cdbd2cSJim Jagielski else 151*b1cdbd2cSJim Jagielski { 152*b1cdbd2cSJim Jagielski insertControlModel("com.sun.star.awt.UnoControlFixedTextModel", "lblProgressDataImport", 153*b1cdbd2cSJim Jagielski new String[] 154*b1cdbd2cSJim Jagielski { 155*b1cdbd2cSJim Jagielski PropertyNames.FONT_DESCRIPTOR, PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_WIDTH 156*b1cdbd2cSJim Jagielski }, 157*b1cdbd2cSJim Jagielski new Object[] 158*b1cdbd2cSJim Jagielski { 159*b1cdbd2cSJim Jagielski oFontDesc, 10, sProgressDataImport, 6, 24, 0, 120 160*b1cdbd2cSJim Jagielski }); 161*b1cdbd2cSJim Jagielski } 162*b1cdbd2cSJim Jagielski insertControlModel("com.sun.star.awt.UnoControlFixedTextModel", "lblCurProgress", 163*b1cdbd2cSJim Jagielski new String[] 164*b1cdbd2cSJim Jagielski { 165*b1cdbd2cSJim Jagielski PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_WIDTH 166*b1cdbd2cSJim Jagielski }, 167*b1cdbd2cSJim Jagielski new Object[] 168*b1cdbd2cSJim Jagielski { 169*b1cdbd2cSJim Jagielski 10, PropertyNames.EMPTY_STRING, 12, 42, 0, 120 170*b1cdbd2cSJim Jagielski }); 171*b1cdbd2cSJim Jagielski 172*b1cdbd2cSJim Jagielski insertButton("cmdCancel", 10000, this, 173*b1cdbd2cSJim Jagielski new String[] 174*b1cdbd2cSJim Jagielski { 175*b1cdbd2cSJim Jagielski PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH, PropertyNames.PROPERTY_LABEL 176*b1cdbd2cSJim Jagielski }, 177*b1cdbd2cSJim Jagielski new Object[] 178*b1cdbd2cSJim Jagielski { 179*b1cdbd2cSJim Jagielski 14, HelpIds.getHelpIdString(34321), 74, 58, 0, new Short((short) 1), 40, sStop 180*b1cdbd2cSJim Jagielski }); 181*b1cdbd2cSJim Jagielski createWindowPeer(CurReportDocument.getWizardParent()); 182*b1cdbd2cSJim Jagielski calculateDialogPosition(CurReportDocument.getFrame().getComponentWindow().getPosSize()); 183*b1cdbd2cSJim Jagielski xWindow.setVisible(true); 184*b1cdbd2cSJim Jagielski super.xReschedule.reschedule(); 185*b1cdbd2cSJim Jagielski } 186*b1cdbd2cSJim Jagielski catch (Exception e) 187*b1cdbd2cSJim Jagielski { 188*b1cdbd2cSJim Jagielski Logger.getLogger(Dataimport.class.getName()).log(Level.SEVERE, null, e); 189*b1cdbd2cSJim Jagielski // return; 190*b1cdbd2cSJim Jagielski } 191*b1cdbd2cSJim Jagielski catch (java.lang.Exception e) 192*b1cdbd2cSJim Jagielski { 193*b1cdbd2cSJim Jagielski Logger.getLogger(Dataimport.class.getName()).log(Level.SEVERE, null, e); 194*b1cdbd2cSJim Jagielski // return; 195*b1cdbd2cSJim Jagielski } 196*b1cdbd2cSJim Jagielski } 197*b1cdbd2cSJim Jagielski 198*b1cdbd2cSJim Jagielski // public void importReportData(final XMultiServiceFactory xMSF, final Dataimport CurDataimport, final ReportTextDocument CurReportDocument.getDoc()) { importReportData(final XMultiServiceFactory _xMSF, final Dataimport _CurDataimport, IReportDocument _CurReportDocument, PropertyValue[] _properties)199*b1cdbd2cSJim Jagielski public void importReportData(final XMultiServiceFactory _xMSF, final Dataimport _CurDataimport, IReportDocument _CurReportDocument, PropertyValue[] _properties) 200*b1cdbd2cSJim Jagielski { 201*b1cdbd2cSJim Jagielski if (CurReportDocument.reconnectToDatabase(_xMSF, _properties)) 202*b1cdbd2cSJim Jagielski { 203*b1cdbd2cSJim Jagielski // The following calls to remove the Sections must occur after the connection to the database 204*b1cdbd2cSJim Jagielski modifyFontWeight("lblProgressDBConnection", com.sun.star.awt.FontWeight.NORMAL); 205*b1cdbd2cSJim Jagielski modifyFontWeight("lblProgressDataImport", com.sun.star.awt.FontWeight.BOLD); 206*b1cdbd2cSJim Jagielski CurReportDocument.insertDatabaseDatatoReportDocument(_xMSF); 207*b1cdbd2cSJim Jagielski } 208*b1cdbd2cSJim Jagielski xComponent.dispose(); 209*b1cdbd2cSJim Jagielski CurReportDocument.getRecordParser().dispose(); 210*b1cdbd2cSJim Jagielski } 211*b1cdbd2cSJim Jagielski createReport( XMultiServiceFactory xMSF, XDatabaseDocumentUI i_documentUI, XTextDocument _textDocument, PropertyValue[] properties)212*b1cdbd2cSJim Jagielski public void createReport( XMultiServiceFactory xMSF, XDatabaseDocumentUI i_documentUI, XTextDocument _textDocument, 213*b1cdbd2cSJim Jagielski PropertyValue[] properties) 214*b1cdbd2cSJim Jagielski { 215*b1cdbd2cSJim Jagielski CurReportDocument = ReportTextImplementation.create( xMSF, i_documentUI, _textDocument, m_oResource ); 216*b1cdbd2cSJim Jagielski showProgressDisplay(xMSF, true); 217*b1cdbd2cSJim Jagielski importReportData(xMSF, this, CurReportDocument, properties); 218*b1cdbd2cSJim Jagielski } 219*b1cdbd2cSJim Jagielski } 220