odk/CustomTarget_build-examples_java.mk | 1 odk/examples/java/EmbedDocument/Container1/EmbedContApp.java | 1044 ---------- odk/examples/java/EmbedDocument/Container1/EmbedContFrame.java | 128 - odk/examples/java/EmbedDocument/Container1/Makefile | 65 4 files changed, 1238 deletions(-)
New commits: commit 4eacc9dc0f5c643b02fdc7364666536fc040f54b Author: Manish <[email protected]> AuthorDate: Sat Apr 5 12:54:13 2025 +0530 Commit: Hossein <[email protected]> CommitDate: Mon Apr 7 23:36:29 2025 +0200 tdf#162563 Remove remaining Java applet code and references Change-Id: Icecb06ee056c3089e931f6fca8f0791ec67ccf8f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183740 Tested-by: Jenkins Reviewed-by: Hossein <[email protected]> diff --git a/odk/CustomTarget_build-examples_java.mk b/odk/CustomTarget_build-examples_java.mk index b9e942e5a6d4..c8cef347aa7b 100644 --- a/odk/CustomTarget_build-examples_java.mk +++ b/odk/CustomTarget_build-examples_java.mk @@ -54,7 +54,6 @@ my_example_dirs_java = \ java/ToDo \ # java/ConverterServlet \ -# java/EmbedDocument/Container1 \ # java/EmbedDocument/EmbeddedObject \ # java/NotesAccess \ # java/Storage \ diff --git a/odk/examples/java/EmbedDocument/Container1/EmbedContApp.java b/odk/examples/java/EmbedDocument/Container1/EmbedContApp.java deleted file mode 100644 index a275c27eaf7f..000000000000 --- a/odk/examples/java/EmbedDocument/Container1/EmbedContApp.java +++ /dev/null @@ -1,1044 +0,0 @@ -/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -import java.awt.*; -import java.applet.*; -import java.awt.event.*; -import java.net.*; -import java.io.*; - -import javax.swing.JOptionPane; - -import com.sun.star.lang.XMultiServiceFactory; -import com.sun.star.lang.XSingleServiceFactory; - -import com.sun.star.uno.UnoRuntime; -import com.sun.star.uno.XInterface; -import com.sun.star.uno.AnyConverter; -import com.sun.star.uno.Type; - -import com.sun.star.lang.XComponent; - -import com.sun.star.beans.PropertyValue; - -import com.sun.star.datatransfer.DataFlavor; -import com.sun.star.datatransfer.XTransferable; - -import com.sun.star.container.XNameAccess; - -import com.sun.star.io.XStream; -import com.sun.star.io.XInputStream; -import com.sun.star.io.XOutputStream; -import com.sun.star.io.XTruncate; - -import com.sun.star.util.XCloseable; - -import com.sun.star.embed.*; - -public class EmbedContApp extends Applet implements MouseListener, XEmbeddedClient -{ - private XMultiServiceFactory m_xServiceFactory; - - private XEmbeddedObject m_xEmbedObj; - private XStorage m_xStorage; - - private Frame m_aFrame; - private Menu m_aFileMenu; - private Menu m_aObjectMenu; - private Toolkit m_aToolkit; - private Image m_aImage; - - private boolean m_bOwnFile = false; - - private boolean m_bLinkObj = false; - private String m_aLinkURI; - - public EmbedContApp( Frame aFrame, XMultiServiceFactory xServiceFactory ) - { - m_aFrame = aFrame; - m_xServiceFactory = xServiceFactory; - } - - public void init() - { - resize( 640, 480 ); - setBackground( Color.gray ); - - m_aToolkit = Toolkit.getDefaultToolkit(); - - // Get a menu bar. - MenuBar aMenuBar = m_aFrame.getMenuBar(); - if( aMenuBar == null ) - { - aMenuBar = new MenuBar(); - m_aFrame.setMenuBar( aMenuBar ); - } - - // Create menus for the menu bar. - - // File menu - m_aFileMenu = new Menu( "File", true ); - aMenuBar.add( m_aFileMenu ); - - MenuItem aItem = new NewMenuItem(); - m_aFileMenu.add( aItem ); - - aItem = new OpenFileMenuItem(); - m_aFileMenu.add( aItem ); - - aItem = new SaveMenuItem(); - m_aFileMenu.add( aItem ); - - aItem = new SaveAsMenuItem(); - m_aFileMenu.add( aItem ); - - // Object menu - m_aObjectMenu = new Menu( "Object", true ); - aMenuBar.add( m_aObjectMenu ); - - aItem = new NewObjectMenuItem(); - m_aObjectMenu.add( aItem ); - - aItem = new LoadObjectMenuItem(); - m_aObjectMenu.add( aItem ); - - aItem = new LinkObjectMenuItem(); - m_aObjectMenu.add( aItem ); - - aItem = new ConvertLinkToEmbedMenuItem(); - m_aObjectMenu.add( aItem ); - - // Handle mouse clicks in our window. - addMouseListener( this ); - } - - public void update( Graphics g ) - { - paint( g ); - } - - public void paint( Graphics g ) - { - super.paint( g ); - - if ( m_xEmbedObj != null ) - { - synchronized( this ) - { - if ( m_aImage != null ) - g.drawImage( m_aImage, 0, 0, EmbedContApp.this ); - } - } - } - - public void generateNewImage() - { - if ( m_xEmbedObj != null ) - { - try { - int nOldState = m_xEmbedObj.getCurrentState(); - int nState = nOldState; - if ( nOldState == EmbedStates.LOADED ) - { - m_xEmbedObj.changeState( EmbedStates.RUNNING ); - nState = EmbedStates.RUNNING; - } - - if ( nState == EmbedStates.ACTIVE || nState == EmbedStates.RUNNING ) - { - XComponentSupplier xCompProv = (XComponentSupplier)UnoRuntime.queryInterface( - XComponentSupplier.class, - m_xEmbedObj ); - if ( xCompProv != null ) - { - XCloseable xComp = xCompProv.getComponent(); - XTransferable xTransfer = (XTransferable)UnoRuntime.queryInterface( - XTransferable.class, - xComp ); - if ( xTransfer != null ) - { - DataFlavor aFlavor = new DataFlavor(); - aFlavor.MimeType = "image/png"; - aFlavor.HumanPresentableName = "Portable Network Graphics"; - aFlavor.DataType = new Type( byte[].class ); - - byte[] aPNGData = (byte[])AnyConverter.toArray( xTransfer.getTransferData( aFlavor ) ); - if ( aPNGData != null && aPNGData.length != 0 ) - { - synchronized( this ) - { - m_aImage = m_aToolkit.createImage( aPNGData ); - } - } - } - else - System.out.println( "paint() : can not get XTransferable for the component! " ); - } - else - System.out.println( "paint() : XComponentSupplier is not implemented! " ); - } - } - catch( com.sun.star.uno.Exception e ) - { - // dialogs should not be used in paint() - System.out.println( "Exception in paint(): " + e ); - } - } - } - - public void mouseClicked( MouseEvent e ) - { - if( e.getModifiers() == InputEvent.BUTTON1_MASK ) - { - // activate object if exists and not active - if ( m_xEmbedObj != null ) - { - try { - m_xEmbedObj.changeState( EmbedStates.ACTIVE ); - } - catch( Exception ex ) - { - JOptionPane.showMessageDialog( m_aFrame, ex, "Exception on mouse click", JOptionPane.ERROR_MESSAGE ); - } - } - } - } - - public void mousePressed( MouseEvent e ){}; - public void mouseEntered( MouseEvent e ){}; - public void mouseExited( MouseEvent e ){}; - public void mouseReleased( MouseEvent e ){}; - - // XEmbeddedClient - public void saveObject() - throws com.sun.star.uno.Exception - { - if ( m_xEmbedObj != null ) - { - try { - XEmbedPersist xPersist = (XEmbedPersist)UnoRuntime.queryInterface( XEmbedPersist.class, m_xEmbedObj ); - if ( xPersist != null ) - { - xPersist.storeOwn(); - generateNewImage(); - } - else - JOptionPane.showMessageDialog( m_aFrame, "No XEmbedPersist!", "Error:", JOptionPane.ERROR_MESSAGE ); - } - catch( Exception e ) - { - JOptionPane.showMessageDialog( m_aFrame, e, "Exception in saveObject:", JOptionPane.ERROR_MESSAGE ); - } - } - - generateNewImage(); - repaint(); - } - - public void onShowWindow( boolean bVisible ) - { - // for now nothing to do - } - - class NewMenuItem extends MenuItem implements ActionListener // Menu New - { - public NewMenuItem() - { - super( "New", new MenuShortcut( KeyEvent.VK_A )); - addActionListener( this ); - } - - public void actionPerformed( ActionEvent e ) - { - // clear everything - clearObjectAndStorage(); - - repaint(); - } - } - - class SaveAsMenuItem extends MenuItem implements ActionListener // Menu SaveAs... - { - public SaveAsMenuItem() - { - super( "SaveAs..." ); - addActionListener( this ); - } - - public void actionPerformed( ActionEvent e ) - { - // open SaveAs dialog and store - - if ( m_xStorage != null && m_xEmbedObj != null ) - { - FileDialog aFileDialog = new FileDialog( m_aFrame, "SaveAs", FileDialog.SAVE ); - aFileDialog.show(); - if ( aFileDialog.getFile() != null ) - { - String aFileName = aFileDialog.getDirectory() + aFileDialog.getFile(); - File aFile = new File( aFileName ); - if ( aFile != null ) - { - // create object from specified file - String aFileURI = aFile.toURI().toASCIIString(); - try { - saveObject(); - - if ( m_bLinkObj ) - storeLinkToStorage(); - - saveStorageAsFileURI( aFileURI ); - } - catch( Exception ex ) - { - JOptionPane.showMessageDialog( m_aFrame, - ex, - "Exception in SaveAsMenuItem:", - JOptionPane.ERROR_MESSAGE ); - } - } - } - } - else - JOptionPane.showMessageDialog( m_aFrame, "No document is embedded!", "Error:", JOptionPane.ERROR_MESSAGE ); - } - } - - class OpenFileMenuItem extends MenuItem implements ActionListener // Menu Open - { - public OpenFileMenuItem() - { - super( "Open", new MenuShortcut( KeyEvent.VK_C )); - addActionListener( this ); - } - - public void actionPerformed( ActionEvent e ) - { - // clear everything - clearObjectAndStorage(); - - // open OpenFile dialog and load doc - FileDialog aFileDialog = new FileDialog( m_aFrame, "Open" ); - aFileDialog.show(); - if ( aFileDialog.getFile() != null ) - { - String aFileName = aFileDialog.getDirectory() + aFileDialog.getFile(); - File aFile = new File( aFileName ); - if ( aFile != null ) - { - // create object from specified file - String aFileURI = aFile.toURI().toASCIIString(); - - // load from specified file - loadFileURI( aFileURI ); - - if ( m_xEmbedObj != null ) - { - try { - m_xEmbedObj.setClientSite( EmbedContApp.this ); - } - catch( Exception ex ) - { - JOptionPane.showMessageDialog( m_aFrame, - ex, - "Exception in OpenFileMenuItem:", - JOptionPane.ERROR_MESSAGE ); - } - } - } - } - - generateNewImage(); - repaint(); - } - } - - class SaveMenuItem extends MenuItem implements ActionListener // Menu Save - { - public SaveMenuItem() - { - super( "Save", new MenuShortcut( KeyEvent.VK_D )); - addActionListener( this ); - } - - public void actionPerformed( ActionEvent e ) - { - // if has persistence store there - // if not open SaveAs dialog and store - if ( m_xStorage != null && m_xEmbedObj != null ) - { - if ( m_bOwnFile ) - { - if ( m_xStorage == null ) - { - JOptionPane.showMessageDialog( m_aFrame, - "No storage for owned file!", - "Error:", - JOptionPane.ERROR_MESSAGE ); - return; - } - - try { - saveObject(); - - if ( m_bLinkObj ) - storeLinkToStorage(); - - XTransactedObject xTransact = (XTransactedObject)UnoRuntime.queryInterface( XTransactedObject.class, - m_xStorage ); - if ( xTransact != null ) - xTransact.commit(); - } - catch( Exception ex ) - { - JOptionPane.showMessageDialog( m_aFrame, - ex, - "Exception during save operation in SaveMenuItem:", - JOptionPane.ERROR_MESSAGE ); - } - } - else - { - FileDialog aFileDialog = new FileDialog( m_aFrame, "SaveAs", FileDialog.SAVE ); - aFileDialog.show(); - if ( aFileDialog.getFile() != null ) - { - String aFileName = aFileDialog.getDirectory() + aFileDialog.getFile(); - File aFile = new File( aFileName ); - if ( aFile != null ) - { - // create object from specified file - String aFileURI = aFile.toURI().toASCIIString(); - try { - saveObject(); - - if ( m_bLinkObj ) - storeLinkToStorage(); - - saveStorageAsFileURI( aFileURI ); - } - catch( Exception ex ) - { - JOptionPane.showMessageDialog( m_aFrame, - ex, - "Exception during 'save as' operation in SaveMenuItem:", - JOptionPane.ERROR_MESSAGE ); - } - } - } - } - } - else - JOptionPane.showMessageDialog( m_aFrame, "No document is embedded!", "Error:", JOptionPane.ERROR_MESSAGE ); - } - } - - class NewObjectMenuItem extends MenuItem implements ActionListener // Menu NewObject - { - public NewObjectMenuItem() - { - super( "Create", new MenuShortcut( KeyEvent.VK_N )); - addActionListener( this ); - } - - public void actionPerformed( ActionEvent e ) - { - // remove current object an init a new one - clearObjectAndStorage(); - - Object[] possibleValues = { "com.sun.star.comp.Writer.TextDocument", - "com.sun.star.comp.Writer.GlobalDocument", - "com.sun.star.comp.Writer.WebDocument", - "com.sun.star.comp.Calc.SpreadsheetDocument", - "com.sun.star.comp.Draw.PresentationDocument", - "com.sun.star.comp.Draw.DrawingDocument", - "com.sun.star.comp.Math.FormulaDocument" }; - - String selectedValue = (String)JOptionPane.showInputDialog( null, "DocumentType", "Select", - JOptionPane.INFORMATION_MESSAGE, null, - possibleValues, possibleValues[0] ); - - if ( selectedValue != null ) - { - m_xStorage = createTempStorage(); - - if ( m_xStorage != null ) - m_xEmbedObj = createEmbedObject( selectedValue ); - else - JOptionPane.showMessageDialog( m_aFrame, - "Can't create temporary storage!", - "Error:", - JOptionPane.ERROR_MESSAGE ); - - - if ( m_xEmbedObj != null ) - { - try { - m_xEmbedObj.setClientSite( EmbedContApp.this ); - } - catch( Exception ex ) - { - JOptionPane.showMessageDialog( m_aFrame, - ex, - "Exception in NewObjectMenuItem:", - JOptionPane.ERROR_MESSAGE ); - } - } - } - - generateNewImage(); - repaint(); - } - } - - class LoadObjectMenuItem extends MenuItem implements ActionListener // Menu LoadObject - { - public LoadObjectMenuItem() - { - super( "Load from file", new MenuShortcut( KeyEvent.VK_L )); - addActionListener( this ); - } - - public void actionPerformed( ActionEvent e ) - { - // first remove current object - clearObjectAndStorage(); - - // open OpenFile dialog and load doc - FileDialog aFileDialog = new FileDialog( m_aFrame, "Select sources to use for object init" ); - aFileDialog.show(); - if ( aFileDialog.getFile() != null ) - { - String aFileName = aFileDialog.getDirectory() + aFileDialog.getFile(); - File aFile = new File( aFileName ); - if ( aFile != null ) - { - // create object from specified file - String aFileURI = aFile.toURI().toASCIIString(); - m_xStorage = createTempStorage(); - - if ( m_xStorage != null ) - m_xEmbedObj = loadEmbedObject( aFileURI ); - - if ( m_xEmbedObj != null ) - { - try { - m_xEmbedObj.setClientSite( EmbedContApp.this ); - } - catch( Exception ex ) - { - JOptionPane.showMessageDialog( m_aFrame, - ex, - "Exception in LoadObjectMenuItem:", - JOptionPane.ERROR_MESSAGE ); - } - } - } - } - - generateNewImage(); - repaint(); - } - } - - class LinkObjectMenuItem extends MenuItem implements ActionListener // Menu LinkObject - { - public LinkObjectMenuItem() - { - super( "Create link", new MenuShortcut( KeyEvent.VK_M )); - addActionListener( this ); - } - - public void actionPerformed( ActionEvent e ) - { - // first remove current object - clearObjectAndStorage(); - - // open OpenFile dialog and load doc - FileDialog aFileDialog = new FileDialog( m_aFrame, "Select sources to use for object init" ); - aFileDialog.show(); - if ( aFileDialog.getFile() != null ) - { - m_xStorage = createTempStorage(); - - String aFileName = aFileDialog.getDirectory() + aFileDialog.getFile(); - File aFile = new File( aFileName ); - if ( aFile != null ) - { - // create object from specified file - String aFileURI = aFile.toURI().toASCIIString(); - - m_xEmbedObj = createLinkObject( aFileURI ); - - if ( m_xEmbedObj != null ) - { - m_aLinkURI = aFileURI; - m_bLinkObj = true; - - try { - m_xEmbedObj.setClientSite( EmbedContApp.this ); - } - catch( Exception ex ) - { - JOptionPane.showMessageDialog( m_aFrame, - ex, - "Exception in LinkObjectMenuItem:", - JOptionPane.ERROR_MESSAGE ); - } - } - } - } - - generateNewImage(); - repaint(); - } - } - - class ConvertLinkToEmbedMenuItem extends MenuItem implements ActionListener // Menu LinkObject - { - public ConvertLinkToEmbedMenuItem() - { - super( "Convert link to embed", new MenuShortcut( KeyEvent.VK_M )); - addActionListener( this ); - } - - public void actionPerformed( ActionEvent e ) - { - if ( !m_bLinkObj ) - { - JOptionPane.showMessageDialog( m_aFrame, "The object is not a link!", "Error:", JOptionPane.ERROR_MESSAGE ); - return; - } - - if ( m_xEmbedObj != null ) - { - if ( m_xStorage != null ) - { - try { - XNameAccess xNameAccess = (XNameAccess)UnoRuntime.queryInterface( XNameAccess.class, - m_xStorage ); - if ( xNameAccess != null && xNameAccess.hasByName( "LinkName" ) ) - m_xStorage.removeElement( "LinkName" ); - - XEmbedPersist xPersist = (XEmbedPersist)UnoRuntime.queryInterface( XEmbedPersist.class, - m_xEmbedObj ); - if ( xPersist != null ) - { - PropertyValue[] pEmp = new PropertyValue[0]; - xPersist.setPersistentEntry( m_xStorage, "EmbedSub", EntryInitModes.NO_INIT, pEmp ); - m_bLinkObj = false; - m_aLinkURI = null; - } - else - JOptionPane.showMessageDialog( m_aFrame, - "No XEmbedPersist in ConvertLink... !", - "Error:", - JOptionPane.ERROR_MESSAGE ); - } - catch( Exception e1 ) - { - JOptionPane.showMessageDialog( m_aFrame, - e1, - "Exception in ConvertLinkToEmbed:try 1 :", - JOptionPane.ERROR_MESSAGE ); - } - } - } - } - } - - // Helper methods - public XEmbeddedObject createEmbedObject( String aServiceName ) - { - XEmbeddedObject xEmbObj = null; - byte[] pClassID = new byte[16]; - - if ( aServiceName.equals( "com.sun.star.comp.Writer.TextDocument" ) ) - { - int[] pTempClassID = { 0x8B, 0xC6, 0xB1, 0x65, 0xB1, 0xB2, 0x4E, 0xDD, - 0xAA, 0x47, 0xDA, 0xE2, 0xEE, 0x68, 0x9D, 0xD6 }; - for ( int ind = 0; ind < 16; ind++ ) - pClassID[ind] = (byte)pTempClassID[ind]; - } - else if ( aServiceName.equals( "com.sun.star.comp.Writer.GlobalDocument" ) ) - { - int[] pTempClassID = { 0xB2, 0x1A, 0x0A, 0x7C, 0xE4, 0x03, 0x41, 0xFE, - 0x95, 0x62, 0xBD, 0x13, 0xEA, 0x6F, 0x15, 0xA0 }; - for ( int ind = 0; ind < 16; ind++ ) - pClassID[ind] = (byte)pTempClassID[ind]; - } - else if ( aServiceName.equals( "com.sun.star.comp.Writer.WebDocument" ) ) - { - int[] pTempClassID = { 0xA8, 0xBB, 0xA6, 0x0C, 0x7C, 0x60, 0x45, 0x50, - 0x91, 0xCE, 0x39, 0xC3, 0x90, 0x3F, 0xAC, 0x5E }; - for ( int ind = 0; ind < 16; ind++ ) - pClassID[ind] = (byte)pTempClassID[ind]; - } - else if ( aServiceName.equals( "com.sun.star.comp.Calc.SpreadsheetDocument" ) ) - { - int[] pTempClassID = { 0x47, 0xBB, 0xB4, 0xCB, 0xCE, 0x4C, 0x4E, 0x80, - 0xA5, 0x91, 0x42, 0xD9, 0xAE, 0x74, 0x95, 0x0F }; - for ( int ind = 0; ind < 16; ind++ ) - pClassID[ind] = (byte)pTempClassID[ind]; - } - else if ( aServiceName.equals( "com.sun.star.comp.Draw.PresentationDocument" ) ) - { - int[] pTempClassID = { 0x91, 0x76, 0xE4, 0x8A, 0x63, 0x7A, 0x4D, 0x1F, - 0x80, 0x3B, 0x99, 0xD9, 0xBF, 0xAC, 0x10, 0x47 }; - for ( int ind = 0; ind < 16; ind++ ) - pClassID[ind] = (byte)pTempClassID[ind]; - } - else if ( aServiceName.equals( "com.sun.star.comp.Draw.DrawingDocument" ) ) - { - int[] pTempClassID = { 0x4B, 0xAB, 0x89, 0x70, 0x8A, 0x3B, 0x45, 0xB3, - 0x99, 0x1C, 0xCB, 0xEE, 0xAC, 0x6B, 0xD5, 0xE3 }; - for ( int ind = 0; ind < 16; ind++ ) - pClassID[ind] = (byte)pTempClassID[ind]; - } - else if ( aServiceName.equals( "com.sun.star.comp.Math.FormulaDocument" ) ) - { - int[] pTempClassID = { 0x07, 0x8B, 0x7A, 0xBA, 0x54, 0xFC, 0x45, 0x7F, - 0x85, 0x51, 0x61, 0x47, 0xE7, 0x76, 0xA9, 0x97 }; - for ( int ind = 0; ind < 16; ind++ ) - pClassID[ind] = (byte)pTempClassID[ind]; - } - - if ( pClassID != null ) - { - // create embedded object based on the class ID - try { - Object oEmbedFactory = m_xServiceFactory.createInstance( "com.sun.star.embed.EmbeddedObjectFactory" ); - XEmbedObjectFactory xEmbedFactory = (XEmbedObjectFactory)UnoRuntime.queryInterface( - XEmbedObjectFactory.class, - oEmbedFactory ); - if ( xEmbedFactory != null ) - { - Object oEmbObj = xEmbedFactory.createInstanceInitNew( pClassID, - "Dummy name", - m_xStorage, - "EmbedSub" ); - xEmbObj = (XEmbeddedObject)UnoRuntime.queryInterface( XEmbeddedObject.class, oEmbObj ); - } - else - JOptionPane.showMessageDialog( m_aFrame, - "Can't create EmbedFactory!", - "Error:", - JOptionPane.ERROR_MESSAGE ); - } - catch( Exception e ) - { - JOptionPane.showMessageDialog( m_aFrame, e, "Exception in createInstanceInitNew():", JOptionPane.ERROR_MESSAGE ); - } - } - else - JOptionPane.showMessageDialog( m_aFrame, "Can't retrieve class ID!", "Error:", JOptionPane.ERROR_MESSAGE ); - - return xEmbObj; - } - - public XEmbeddedObject createLinkObject( String aLinkURL ) - { - XEmbeddedObject xEmbObj = null; - - try { - Object oEmbedFactory = m_xServiceFactory.createInstance( "com.sun.star.embed.EmbeddedObjectFactory" ); - XEmbedObjectFactory xEmbedFactory = (XEmbedObjectFactory)UnoRuntime.queryInterface( - XEmbedObjectFactory.class, - oEmbedFactory ); - if ( xEmbedFactory != null ) - { - Object oEmbObj = xEmbedFactory.createInstanceLink( aLinkURL ); - xEmbObj = (XEmbeddedObject)UnoRuntime.queryInterface( XEmbeddedObject.class, oEmbObj ); - } - else - JOptionPane.showMessageDialog( m_aFrame, - "Can't create EmbedFactory!", - "Error:", - JOptionPane.ERROR_MESSAGE ); - } - catch( Exception e ) - { - JOptionPane.showMessageDialog( m_aFrame, e, "Exception in createLinkObject():", JOptionPane.ERROR_MESSAGE ); - } - - - return xEmbObj; - } - - - public XEmbeddedObject loadEmbedObject( String aFileURI ) - { - XEmbeddedObject xEmbObj = null; - try { - Object oEmbedFactory = m_xServiceFactory.createInstance( "com.sun.star.embed.EmbeddedObjectFactory" ); - XEmbedObjectFactory xEmbedFactory = (XEmbedObjectFactory)UnoRuntime.queryInterface( - XEmbedObjectFactory.class, - oEmbedFactory ); - if ( xEmbedFactory != null ) - { - PropertyValue[] aMedDescr = { new PropertyValue(), new PropertyValue() }; - aMedDescr[0].Name = "URL"; - aMedDescr[0].Value = (Object) aFileURI; - aMedDescr[1].Name = "ReadOnly"; - aMedDescr[1].Value = (Object) Boolean.FALSE; - Object oEmbObj = xEmbedFactory.createInstanceInitFromMediaDescriptor( m_xStorage, - "EmbedSub", - aMedDescr ); - xEmbObj = (XEmbeddedObject)UnoRuntime.queryInterface( XEmbeddedObject.class, oEmbObj ); - } - else - JOptionPane.showMessageDialog( m_aFrame, - "Can't create EmbedFactory!", - "Error:", - JOptionPane.ERROR_MESSAGE ); - } - catch( Exception e ) - { - JOptionPane.showMessageDialog( m_aFrame, e, "Exception in loadEmbedObject():", JOptionPane.ERROR_MESSAGE ); - } - - return xEmbObj; - } - - public void clearObjectAndStorage() - { - synchronized( this ) - { - m_aImage = null; - } - - m_bOwnFile = false; - - m_aLinkURI = null; - m_bLinkObj = false; - - if ( m_xEmbedObj != null ) - { - try { - XComponent xComponent = (XComponent)UnoRuntime.queryInterface( XComponent.class, m_xEmbedObj ); - if ( xComponent != null ) - xComponent.dispose(); - } - catch ( Exception ex ) - {} - m_xEmbedObj = null; - } - - if ( m_xStorage != null ) - { - try { - XComponent xComponent = (XComponent)UnoRuntime.queryInterface( XComponent.class, m_xStorage ); - if ( xComponent != null ) - xComponent.dispose(); - } - catch ( Exception ex ) - {} - m_xStorage = null; - } - } - - public XStorage createTempStorage() - { - XStorage xTempStorage = null; - - try { - Object oStorageFactory = m_xServiceFactory.createInstance( "com.sun.star.embed.StorageFactory" ); - XSingleServiceFactory xStorageFactory = (XSingleServiceFactory)UnoRuntime.queryInterface( - XSingleServiceFactory.class, - oStorageFactory ); - if ( xStorageFactory != null ) - { - Object oStorage = xStorageFactory.createInstance(); - xTempStorage = (XStorage)UnoRuntime.queryInterface( XStorage.class, oStorage ); - } - else - JOptionPane.showMessageDialog( m_aFrame, - "Can't create StorageFactory!", - "Error:", - JOptionPane.ERROR_MESSAGE ); - } - catch( Exception e ) - { - JOptionPane.showMessageDialog( m_aFrame, e, "Exception in createTempStorage():", JOptionPane.ERROR_MESSAGE ); - } - - return xTempStorage; - } - - public void saveStorageAsFileURI( String aFileURI ) - { - try { - Object oStorageFactory = m_xServiceFactory.createInstance( "com.sun.star.embed.StorageFactory" ); - XSingleServiceFactory xStorageFactory = (XSingleServiceFactory)UnoRuntime.queryInterface( - XSingleServiceFactory.class, - oStorageFactory ); - if ( xStorageFactory != null ) - { - Object aArgs[] = new Object[2]; - aArgs[0] = aFileURI; - aArgs[1] = Integer.valueOf( ElementModes.READWRITE ); - - Object oStorage = xStorageFactory.createInstanceWithArguments( aArgs ); - XStorage xTargetStorage = (XStorage)UnoRuntime.queryInterface( XStorage.class, oStorage ); - m_xStorage.copyToStorage( xTargetStorage ); - - XComponent xComponent = (XComponent)UnoRuntime.queryInterface( XComponent.class, m_xStorage ); - xComponent.dispose(); - - m_xStorage = xTargetStorage; - m_bOwnFile = true; - } - else - JOptionPane.showMessageDialog( m_aFrame, - "Can't create StorageFactory!", - "Error:", - JOptionPane.ERROR_MESSAGE ); - } - catch( Exception e ) - { - JOptionPane.showMessageDialog( m_aFrame, e, "Exception in saveStorageToFileURI():", JOptionPane.ERROR_MESSAGE ); - } - - } - - public void loadFileURI( String aFileURI ) - { - try - { - Object oStorageFactory = m_xServiceFactory.createInstance( "com.sun.star.embed.StorageFactory" ); - XSingleServiceFactory xStorageFactory = (XSingleServiceFactory)UnoRuntime.queryInterface( - XSingleServiceFactory.class, - oStorageFactory ); - Object aArgs[] = new Object[2]; - aArgs[0] = aFileURI; - aArgs[1] = Integer.valueOf( ElementModes.READWRITE ); - - Object oStorage = xStorageFactory.createInstanceWithArguments( aArgs ); - XStorage xTargetStorage = (XStorage)UnoRuntime.queryInterface( XStorage.class, oStorage ); - - Object oEmbedFactory = m_xServiceFactory.createInstance( "com.sun.star.embed.EmbeddedObjectFactory" ); - XEmbedObjectFactory xEmbedFactory = (XEmbedObjectFactory)UnoRuntime.queryInterface( - XEmbedObjectFactory.class, - oEmbedFactory ); - - XNameAccess xNameAccess = (XNameAccess)UnoRuntime.queryInterface( XNameAccess.class, - xTargetStorage ); - if ( xNameAccess == null ) - { - JOptionPane.showMessageDialog( m_aFrame, "No XNameAccess!", "Error:", JOptionPane.ERROR_MESSAGE ); - return; - } - - Object oEmbObj = null; - if ( xNameAccess.hasByName( "LinkName" ) && xTargetStorage.isStreamElement( "LinkName" ) ) - { - XStream xLinkStream = xTargetStorage.openStreamElement( "LinkName", ElementModes.READ ); - if ( xLinkStream != null ) - { - XInputStream xInStream = xLinkStream.getInputStream(); - if ( xInStream != null ) - { - byte[][] pBuff = new byte[1][0]; - int nRead = xInStream.readBytes( pBuff, 1000 ); - m_aLinkURI = new String( pBuff[0] ); - xInStream.closeInput(); - oEmbObj = xEmbedFactory.createInstanceLink( m_aLinkURI ); - m_bLinkObj = true; - } - } - } - else - oEmbObj = xEmbedFactory.createInstanceInitFromEntry( xTargetStorage, - "EmbedSub", - false ); - - m_xEmbedObj = (XEmbeddedObject)UnoRuntime.queryInterface( XEmbeddedObject.class, oEmbObj ); - - if ( m_xEmbedObj != null ) - { - m_xStorage = xTargetStorage; - m_bOwnFile = true; - } - else - JOptionPane.showMessageDialog( m_aFrame, - "Can't create EmbedObject from storage!", - "Error:", - JOptionPane.ERROR_MESSAGE ); - } - catch( Exception e ) - { - JOptionPane.showMessageDialog( m_aFrame, e, "Exception in loadFileURI():", JOptionPane.ERROR_MESSAGE ); - } - } - - public void storeLinkToStorage() - { - if ( m_xStorage != null && m_bLinkObj ) - { - try { - XStream xLinkStream = m_xStorage.openStreamElement( "LinkName", ElementModes.WRITE ); - - if ( xLinkStream != null ) - { - XOutputStream xLinkOutStream = xLinkStream.getOutputStream(); - XTruncate xTruncate = (XTruncate) UnoRuntime.queryInterface( XTruncate.class, - xLinkOutStream ); - if ( xLinkOutStream != null && xTruncate != null ) - { - xTruncate.truncate(); - - char[] aLinkChar = m_aLinkURI.toCharArray(); - byte[] aLinkBytes = new byte[ aLinkChar.length ]; - for ( int ind = 0; ind < aLinkChar.length; ind++ ) - aLinkBytes[ind] = (byte)aLinkChar[ind]; - - xLinkOutStream.writeBytes( aLinkBytes ); - xLinkOutStream.closeOutput(); - - XComponent xComponent = (XComponent) UnoRuntime.queryInterface( XComponent.class, - xLinkStream ); - if ( xComponent != null ) - xComponent.dispose(); - } - else - JOptionPane.showMessageDialog( m_aFrame, - "The substream can not be truncated or written!", - "Error:", - JOptionPane.ERROR_MESSAGE ); - - } - else - JOptionPane.showMessageDialog( m_aFrame, - "Can't create/open substream!", - "Error:", - JOptionPane.ERROR_MESSAGE ); - } - catch( Exception e ) - { - JOptionPane.showMessageDialog( m_aFrame, - e, - "Exception in storeLinkToStorage:", - JOptionPane.ERROR_MESSAGE ); - - } - } - } -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/odk/examples/java/EmbedDocument/Container1/EmbedContFrame.java b/odk/examples/java/EmbedDocument/Container1/EmbedContFrame.java deleted file mode 100644 index afc3496e2638..000000000000 --- a/odk/examples/java/EmbedDocument/Container1/EmbedContFrame.java +++ /dev/null @@ -1,128 +0,0 @@ -/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -import java.awt.*; -import java.awt.event.*; - -import com.sun.star.comp.servicemanager.ServiceManager; - -import com.sun.star.lang.XMultiServiceFactory; -import com.sun.star.lang.XMultiComponentFactory; -import com.sun.star.connection.XConnector; -import com.sun.star.connection.XConnection; - -import com.sun.star.bridge.XUnoUrlResolver; -import com.sun.star.uno.UnoRuntime; -import com.sun.star.uno.XInterface; -import com.sun.star.uno.XNamingService; -import com.sun.star.uno.XComponentContext; - -import com.sun.star.container.*; -import com.sun.star.beans.*; -import com.sun.star.lang.*; - - -public class EmbedContFrame extends Frame -{ - WindowListener m_aCloser = new WindowAdapter() - { - public void windowClosing( WindowEvent e ) - { - dispose(); - System.exit( 0 ); - } - }; - - public EmbedContFrame( String sName ) - { - super( sName ); - addWindowListener( m_aCloser ); - } - - public static void start() - { - EmbedContFrame aFrame = new EmbedContFrame( "Testing container." ); - - // connect to the office - XMultiServiceFactory aServiceFactory = null; - try { - aServiceFactory = connectOfficeGetServiceFactory(); - } - catch( Exception e ) - {} - - if ( aServiceFactory == null ) - { - System.out.println( "Can't get service manager! " ); - System.exit( 1 ); - } - - EmbedContApp aApp = new EmbedContApp( aFrame, aServiceFactory ); - aApp.init(); - aApp.start(); - - Dimension aSize = aApp.getSize(); - - aFrame.add( "Center", aApp ); - aFrame.pack(); - aFrame.setSize( aSize ); - - aFrame.setVisible( true ); - } - - public static void main( String args[] ) - { - EmbedContFrame.start(); - } - - public static XMultiServiceFactory connectOfficeGetServiceFactory() - throws com.sun.star.uno.Exception, - com.sun.star.uno.RuntimeException, - Exception - { - String sConnectionString = "uno:socket,host=localhost,port=8100;urp;StarOffice.NamingService"; - - // Get component context - XComponentContext xComponentContext = - com.sun.star.comp.helper.Bootstrap.createInitialComponentContext( null ); - - // initial serviceManager - XMultiComponentFactory xLocalServiceManager = xComponentContext.getServiceManager(); - - // create a connector, so that it can contact the office - Object oUrlResolver = xLocalServiceManager.createInstanceWithContext( "com.sun.star.bridge.UnoUrlResolver", - xComponentContext ); - XUnoUrlResolver xUrlResolver = (XUnoUrlResolver)UnoRuntime.queryInterface( XUnoUrlResolver.class, oUrlResolver ); - - Object oInitialObject = xUrlResolver.resolve( sConnectionString ); - XNamingService xName = (XNamingService)UnoRuntime.queryInterface( XNamingService.class, oInitialObject ); - - XMultiServiceFactory xMSF = null; - if( xName != null ) { - Object oMSF = xName.getRegisteredObject( "StarOffice.ServiceManager" ); - xMSF = (XMultiServiceFactory)UnoRuntime.queryInterface( XMultiServiceFactory.class, oMSF ); - } - else - System.out.println( "Error: Can't get XNamingService interface from url resolver!" ); - - return xMSF; - } -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/odk/examples/java/EmbedDocument/Container1/Makefile b/odk/examples/java/EmbedDocument/Container1/Makefile deleted file mode 100644 index 88279bbe54dc..000000000000 --- a/odk/examples/java/EmbedDocument/Container1/Makefile +++ /dev/null @@ -1,65 +0,0 @@ -# -# This file is part of the LibreOffice project. -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# -# This file incorporates work covered by the following license notice: -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed -# with this work for additional information regarding copyright -# ownership. The ASF licenses this file to you under the Apache -# License, Version 2.0 (the "License"); you may not use this file -# except in compliance with the License. You may obtain a copy of -# the License at http://www.apache.org/licenses/LICENSE-2.0 . -# - -# Builds the Java Storage test example of the SDK. - -PRJ=../../../.. -SETTINGS=$(PRJ)/settings - -include $(SETTINGS)/settings.mk -include $(SETTINGS)/std.mk - -# Define non-platform/compiler specific settings -COMPONENT_NAME=EmbedDocument.Container1 -OUT_COMP_CLASS = $(OUT_CLASS)/$(COMPONENT_NAME) - -JAVAFILES = \ - EmbedContApp.java\ - EmbedContFrame.java - -CLASSFILES = $(patsubst %.java,$(OUT_COMP_CLASS)/%.class,$(JAVAFILES)) - -SDK_CLASSPATH = $(subst $(EMPTYSTRING) $(PATH_SEPARATOR),$(PATH_SEPARATOR),$(CLASSPATH)\ - $(PATH_SEPARATOR)$(OUT_COMP_CLASS)) - - -# Targets -.PHONY: ALL -ALL : \ - JavaStorageTestExample - -include $(SETTINGS)/stdtarget.mk - -$(CLASSFILES) : $(JAVAFILES) - -$(MKDIR) $(subst /,$(PS),$(@D)) - $(SDK_JAVAC) $(JAVAC_FLAGS) -classpath "$(SDK_CLASSPATH)" -d $(OUT_COMP_CLASS) $(JAVAFILES) - -JavaStorageTestExample : $(CLASSFILES) - @echo -------------------------------------------------------------------------------- - @echo Please use following command to execute the example! - @echo ------ - @echo $(MAKE) EmbedContFrame.run - @echo -------------------------------------------------------------------------------- - -%.run: $(OUT_COMP_CLASS)/%.class - $(SDK_JAVA) -classpath "$(SDK_CLASSPATH)" $(basename $@) - -.PHONY: clean -clean : - -$(DELRECURSIVE) $(subst /,$(PS),$(OUT_COMP_CLASS)) -
