You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by wa...@apache.org on 2012/10/24 12:05:58 UTC
svn commit: r1401603 - in /incubator/ooo/trunk/test/testuno: data/uno/sd/
source/fvt/uno/sd/graphic/ source/testlib/uno/
Author: wanglf
Date: Wed Oct 24 10:05:57 2012
New Revision: 1401603
URL: http://svn.apache.org/viewvc?rev=1401603&view=rev
Log:
#120968 - [testuno]Check graphic position and size properties
patch by louql, reviewed by WangLiFeng
Added:
incubator/ooo/trunk/test/testuno/data/uno/sd/
incubator/ooo/trunk/test/testuno/data/uno/sd/36.gif (with props)
incubator/ooo/trunk/test/testuno/source/fvt/uno/sd/graphic/
incubator/ooo/trunk/test/testuno/source/fvt/uno/sd/graphic/GraphicPro_Position.java
incubator/ooo/trunk/test/testuno/source/fvt/uno/sd/graphic/GraphicPro_Size.java
incubator/ooo/trunk/test/testuno/source/testlib/uno/GraphicUtil.java
Modified:
incubator/ooo/trunk/test/testuno/source/testlib/uno/SDUtil.java
Added: incubator/ooo/trunk/test/testuno/data/uno/sd/36.gif
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/test/testuno/data/uno/sd/36.gif?rev=1401603&view=auto
==============================================================================
Binary file - no diff available.
Propchange: incubator/ooo/trunk/test/testuno/data/uno/sd/36.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: incubator/ooo/trunk/test/testuno/source/fvt/uno/sd/graphic/GraphicPro_Position.java
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/test/testuno/source/fvt/uno/sd/graphic/GraphicPro_Position.java?rev=1401603&view=auto
==============================================================================
--- incubator/ooo/trunk/test/testuno/source/fvt/uno/sd/graphic/GraphicPro_Position.java (added)
+++ incubator/ooo/trunk/test/testuno/source/fvt/uno/sd/graphic/GraphicPro_Position.java Wed Oct 24 10:05:57 2012
@@ -0,0 +1,148 @@
+/**************************************************************
+ *
+ * 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
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ *************************************************************/
+package fvt.uno.sd.graphic;
+import static org.junit.Assert.*;
+import static testlib.uno.GraphicUtil.getGraphicsOfPage;
+import static testlib.uno.GraphicUtil.getSizePixelOfGraphicFile;
+import static testlib.uno.GraphicUtil.insertGraphic;
+import static testlib.uno.SDUtil.saveFileAs;
+
+import java.util.Arrays;
+import java.util.Collection;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+import org.openoffice.test.uno.UnoApp;
+import org.openoffice.test.common.FileUtil;
+import org.openoffice.test.common.Testspace;
+
+import testlib.uno.SDUtil;
+
+import com.sun.star.awt.Point;
+import com.sun.star.awt.Size;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+
+@RunWith(Parameterized.class)
+public class GraphicPro_Position {
+
+ private static final UnoApp app = new UnoApp();
+
+ private XComponent m_xSDComponent = null;
+ private XDrawPage m_xCurrentPage=null;
+ private Point m_position=null;
+ private Point m_expectedPosition=null;
+ private String m_fileType = null;
+
+ public GraphicPro_Position(Point position, String fileType, Point expectedPosition){
+ m_position = position;
+ m_fileType = fileType;
+ m_expectedPosition = expectedPosition;
+ }
+ @Parameters
+ public static Collection<Object[]> data() {
+ Point pNegative2 = new Point(-28000,-28000); //minimum
+ Point pNegative3 = new Point(-1000,-1000);
+ Point pZero = new Point(0,0);
+ Point pPositive1 = new Point(1000,1000);
+ Point pPositive2 = new Point(34833,34833); //maximum
+ return Arrays.asList(new Object[][]{
+ {pNegative2, "odp", pNegative2},
+ {pNegative2, "ppt", pNegative2},
+ {pNegative3, "odp", pNegative3},
+ {pNegative3, "ppt", pNegative3},
+ {pZero, "odp", pZero},
+ {pZero, "ppt", pZero},
+ {pPositive1, "odp", pPositive1},
+ {pPositive1, "ppt", pPositive1},
+ {pPositive2, "odp", pPositive2},
+ {pPositive2, "ppt", pPositive2}
+ });
+ }
+
+ @Before
+ public void setUpDocument() throws Exception {
+ m_xSDComponent = (XComponent) UnoRuntime.queryInterface(
+ XComponent.class, app.newDocument("simpress"));
+ Object drawPage = SDUtil.getPageByIndex(m_xSDComponent, 0);
+ m_xCurrentPage = (XDrawPage)UnoRuntime.queryInterface(XDrawPage.class, drawPage);
+ String graphicURL = FileUtil.getUrl(Testspace.prepareData("uno/sd/36.gif"));
+
+ Size orgSize = getSizePixelOfGraphicFile(app,graphicURL);
+ Size newSize = new Size(orgSize.Width*2645/100, orgSize.Height*2645/100);
+ insertGraphic(m_xSDComponent, m_xCurrentPage, graphicURL, newSize, new Point(5000, 5000));
+ }
+
+ @After
+ public void tearDownDocument() {
+ app.closeDocument(m_xSDComponent);
+
+ }
+
+ @BeforeClass
+ public static void setUpConnection() throws Exception {
+ app.start();
+ }
+
+ @AfterClass
+ public static void tearDownConnection() throws InterruptedException,
+ Exception {
+ app.close();
+ //remove the temp file
+ FileUtil.deleteFile(Testspace.getPath("temp"));
+ }
+
+
+ private XDrawPage load(String filePath) throws Exception{
+ m_xSDComponent = (XComponent) UnoRuntime.queryInterface(XComponent.class,
+ app.loadDocument(filePath));
+ Object drawPage = SDUtil.getPageByIndex(m_xSDComponent, 0);
+ return (XDrawPage)UnoRuntime.queryInterface(XDrawPage.class, drawPage);
+ }
+
+ @Test
+ public void testPosition() throws Exception {
+ String fileName = "GraphicPro_Position";
+ String filePath = Testspace.getPath("temp/"+fileName+"."+m_fileType);
+ Object[] graphics = getGraphicsOfPage(m_xCurrentPage);
+ Object oGraphic = graphics[0];
+ XShape xGraphicShape = (XShape)UnoRuntime.queryInterface(XShape.class, oGraphic);
+
+ xGraphicShape.setPosition(m_position);
+
+ saveFileAs(m_xSDComponent, fileName, m_fileType);
+ app.closeDocument(m_xSDComponent);
+
+ XDrawPage CurrentPage = load(filePath);
+ Object oGraphic2 = getGraphicsOfPage(CurrentPage)[0];
+ XShape xGraphicShape2 = (XShape)UnoRuntime.queryInterface(XShape.class, oGraphic2);
+
+ assertEquals("Position X of graphic error", m_expectedPosition.X, xGraphicShape2.getPosition().X, 2);
+ assertEquals("Position Y of graphic error", m_expectedPosition.Y, xGraphicShape2.getPosition().Y, 2);
+ }
+}
Added: incubator/ooo/trunk/test/testuno/source/fvt/uno/sd/graphic/GraphicPro_Size.java
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/test/testuno/source/fvt/uno/sd/graphic/GraphicPro_Size.java?rev=1401603&view=auto
==============================================================================
--- incubator/ooo/trunk/test/testuno/source/fvt/uno/sd/graphic/GraphicPro_Size.java (added)
+++ incubator/ooo/trunk/test/testuno/source/fvt/uno/sd/graphic/GraphicPro_Size.java Wed Oct 24 10:05:57 2012
@@ -0,0 +1,143 @@
+/**************************************************************
+ *
+ * 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
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ *************************************************************/
+package fvt.uno.sd.graphic;
+import static org.junit.Assert.*;
+import static testlib.uno.GraphicUtil.getGraphicsOfPage;
+import static testlib.uno.GraphicUtil.getSizePixelOfGraphicFile;
+import static testlib.uno.GraphicUtil.insertGraphic;
+import static testlib.uno.SDUtil.saveFileAs;
+
+import java.util.Arrays;
+import java.util.Collection;
+
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+import org.openoffice.test.uno.UnoApp;
+import org.openoffice.test.common.FileUtil;
+import org.openoffice.test.common.Testspace;
+
+import testlib.uno.SDUtil;
+
+import com.sun.star.awt.Point;
+import com.sun.star.awt.Size;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+
+@RunWith(Parameterized.class)
+public class GraphicPro_Size {
+
+ private static final UnoApp app = new UnoApp();
+
+ private XComponent m_xSDComponent = null;
+ private XDrawPage m_xCurrentPage=null;
+ private Size m_Size=null;
+ private Size m_ExpectedSize=null;
+ private String m_fileType = null;
+
+ public GraphicPro_Size(Size size, String fileType, Size expectedSize){
+ m_Size = size;
+ m_fileType = fileType;
+ m_ExpectedSize = expectedSize;
+ }
+ @Parameters
+ public static Collection<Object[]> data() {
+ Size sMinimum = new Size(1,1); //minimum in UI
+ Size sNormal = new Size(2000,2000);
+ Size sMaximum = new Size(52448,28852); //maximum in UI
+
+ return Arrays.asList(new Object[][]{
+ {sMinimum, "odp", sMinimum},
+ {sMinimum, "ppt", sMinimum},
+ {sNormal, "odp", sNormal},
+ {sNormal, "ppt", sNormal},
+ {sMaximum, "odp", sMaximum},
+ {sMaximum, "ppt", sMaximum}
+ });
+ }
+
+ @Before
+ public void setUpDocument() throws Exception {
+ m_xSDComponent = (XComponent) UnoRuntime.queryInterface(
+ XComponent.class, app.newDocument("simpress"));
+ Object drawPage = SDUtil.getPageByIndex(m_xSDComponent, 0);
+ m_xCurrentPage = (XDrawPage)UnoRuntime.queryInterface(XDrawPage.class, drawPage);
+
+ String graphicURL = FileUtil.getUrl(Testspace.prepareData("uno/sd/36.gif"));
+ Size orgSize = getSizePixelOfGraphicFile(app,graphicURL);
+ Size newSize = new Size(orgSize.Width*2645/100, orgSize.Height*2645/100);
+ insertGraphic(m_xSDComponent, m_xCurrentPage, graphicURL, newSize, new Point(5000, 5000));
+ }
+
+ @After
+ public void tearDownDocument() {
+ app.closeDocument(m_xSDComponent);
+
+ }
+
+ @BeforeClass
+ public static void setUpConnection() throws Exception {
+ app.start();
+ }
+
+ @AfterClass
+ public static void tearDownConnection() throws InterruptedException,
+ Exception {
+ app.close();
+ //remove the temp file
+ FileUtil.deleteFile(Testspace.getPath("temp"));
+ }
+
+ private XDrawPage load(String filePath) throws Exception{
+ m_xSDComponent = (XComponent) UnoRuntime.queryInterface(XComponent.class,
+ app.loadDocument(filePath));
+ Object drawPage = SDUtil.getPageByIndex(m_xSDComponent, 0);
+ return (XDrawPage)UnoRuntime.queryInterface(XDrawPage.class, drawPage);
+ }
+
+ @Test
+ public void testGraphicSize() throws Exception{
+ String fileName = "GraphicPro_Size";
+ String filePath = Testspace.getPath("temp/"+fileName+"."+m_fileType);
+ Object[] graphics = getGraphicsOfPage(m_xCurrentPage);
+ Object oGraphic = graphics[0];
+ XShape xGraphicShape = (XShape)UnoRuntime.queryInterface(XShape.class, oGraphic);
+
+ xGraphicShape.setSize(m_Size);
+
+ saveFileAs(m_xSDComponent, fileName, m_fileType);
+ app.closeDocument(m_xSDComponent);
+
+ XDrawPage CurrentPage = load(filePath);
+ Object oGraphic2 = getGraphicsOfPage(CurrentPage)[0];
+ XShape xGraphicShape2 = (XShape)UnoRuntime.queryInterface(XShape.class, oGraphic2);
+
+ assertEquals("Height of graphic error", m_ExpectedSize.Height, xGraphicShape2.getSize().Height, 3);
+ assertEquals("Width of graphic error", m_ExpectedSize.Width, xGraphicShape2.getSize().Width, 3);
+ }
+}
Added: incubator/ooo/trunk/test/testuno/source/testlib/uno/GraphicUtil.java
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/test/testuno/source/testlib/uno/GraphicUtil.java?rev=1401603&view=auto
==============================================================================
--- incubator/ooo/trunk/test/testuno/source/testlib/uno/GraphicUtil.java (added)
+++ incubator/ooo/trunk/test/testuno/source/testlib/uno/GraphicUtil.java Wed Oct 24 10:05:57 2012
@@ -0,0 +1,159 @@
+/**************************************************************
+ *
+ * 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
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ *************************************************************/
+package testlib.uno;
+import static org.junit.Assert.*;
+import static testlib.uno.GraphicUtil.getSizePixelOfGraphicFile;
+
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openoffice.test.uno.UnoApp;
+import org.openoffice.test.common.FileUtil;
+import org.openoffice.test.common.Testspace;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.UnknownPropertyException;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.beans.XPropertySetInfo;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.graphic.XGraphic;
+import com.sun.star.graphic.XGraphicObject;
+import com.sun.star.graphic.XGraphicProvider;
+import com.sun.star.lang.WrappedTargetException;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XServiceName;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.awt.Point;
+import com.sun.star.awt.Size;
+//import com.sun.star.uno.AnyConverter;
+
+public class GraphicUtil {
+
+ public static String getUniqueIDbyXGraphic(UnoApp unoApp, XGraphic xgraphic) throws Exception{
+ Object graphicObj = unoApp.getServiceFactory().createInstance("com.sun.star.graphic.GraphicObject");
+ XGraphicObject xgraphicObj = (XGraphicObject)UnoRuntime.queryInterface(XGraphicObject.class, graphicObj);
+ xgraphicObj.setGraphic(xgraphic);
+
+ return xgraphicObj.getUniqueID();
+ }
+
+// String sUrl = "file:///F:/work/36.gif";
+ public static String getUniqueIDOfGraphicFile(UnoApp unoApp, String sUrl) throws Exception{
+ XGraphic xgraphic = getXGraphicOfGraphicFile(unoApp,sUrl);
+ String uniqueID = getUniqueIDbyXGraphic(unoApp, xgraphic);
+
+ return uniqueID;
+ }
+
+ public static XGraphic getXGraphicOfGraphicFile(UnoApp unoApp, String sUrl) throws Exception
+ {
+ Object graphicObj = unoApp.getServiceFactory().createInstance("com.sun.star.graphic.GraphicProvider");
+ XGraphicProvider xgraphicProvider = (XGraphicProvider)UnoRuntime.queryInterface(XGraphicProvider.class, graphicObj);
+ PropertyValue[] sourceProps = new PropertyValue[1];
+ sourceProps[0] = new PropertyValue();
+ sourceProps[0].Name = "URL";
+ sourceProps[0].Value = sUrl;
+ return xgraphicProvider.queryGraphic(sourceProps);
+ }
+
+ public static Size getSize100thMMOfGraphicFile(UnoApp unoApp, String sUrl) throws Exception
+ {
+ Object graphicObj = unoApp.getServiceFactory().createInstance("com.sun.star.graphic.GraphicProvider");
+ XGraphicProvider xgraphicProvider = (XGraphicProvider)UnoRuntime.queryInterface(XGraphicProvider.class, graphicObj);
+ PropertyValue[] sourceProps = new PropertyValue[1];
+ sourceProps[0] = new PropertyValue();
+ sourceProps[0].Name = "URL";
+ sourceProps[0].Value = sUrl;
+ XPropertySet xGraphicPro = xgraphicProvider.queryGraphicDescriptor(sourceProps);
+ Size size = (Size)xGraphicPro.getPropertyValue("Size100thMM");
+ return size;
+ }
+
+ public static Size getSizePixelOfGraphicFile(UnoApp unoApp, String sUrl) throws Exception
+ {
+ Object graphicObj = unoApp.getServiceFactory().createInstance("com.sun.star.graphic.GraphicProvider");
+ XGraphicProvider xgraphicProvider = (XGraphicProvider)UnoRuntime.queryInterface(XGraphicProvider.class, graphicObj);
+ PropertyValue[] sourceProps = new PropertyValue[1];
+ sourceProps[0] = new PropertyValue();
+ sourceProps[0].Name = "URL";
+ sourceProps[0].Value = sUrl;
+ XPropertySet xGraphicPro = xgraphicProvider.queryGraphicDescriptor(sourceProps);
+ Size size = (Size)xGraphicPro.getPropertyValue("SizePixel");
+ return size;
+ }
+
+
+ //GraphicObjectShape
+ public static Object[] getGraphicsOfPage(XDrawPage xDrawPage) throws Exception {
+ XShapes m_xdrawShapes = (XShapes) UnoRuntime.queryInterface(XShapes.class, xDrawPage);
+ int count = m_xdrawShapes.getCount();
+ Object[] temp = new Object[count];
+ int graphicNum=0;
+ for(int i=0;i<count; i++)
+ {
+ Object shape = m_xdrawShapes.getByIndex(i);
+ XShape xshape = (XShape)UnoRuntime.queryInterface(XShape.class, shape);
+ String type = xshape.getShapeType();
+ if(type.equals("com.sun.star.drawing.GraphicObjectShape"))
+ {
+ temp[graphicNum] = shape;
+ graphicNum++;
+ }
+ }
+
+ Object[] graphics = new Object[graphicNum];
+ System.arraycopy(temp, 0, graphics, 0, graphicNum);
+ return graphics;
+ }
+
+ /*Insert a graphic into a Impress
+ * component: the Impress document
+ * toPage: the page that the graphic will be inserted to
+ * graphicURL: the file path of the graphic, e.g. file:///c:/test.png
+ * size: size of the graphic to be inserted
+ * position: position of the graphic to be inserted
+ * */
+ public static void insertGraphic(XComponent component, XDrawPage toPage, String graphicURL, Size size, Point position) throws Exception
+ {
+ XMultiServiceFactory xDrawFactory =
+ (XMultiServiceFactory)UnoRuntime.queryInterface(
+ XMultiServiceFactory.class, component);
+
+ Object oGraphic = xDrawFactory.createInstance("com.sun.star.drawing.GraphicObjectShape");
+ XPropertySet xGraphicPro = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class, oGraphic);
+ xGraphicPro.setPropertyValue("GraphicURL", graphicURL);
+
+ XShape xDrawShape = (XShape)UnoRuntime.queryInterface(XShape.class, oGraphic);
+
+ xDrawShape.setSize(size);
+ xDrawShape.setPosition(position);
+
+ toPage.add(xDrawShape);
+ }
+
+}
Modified: incubator/ooo/trunk/test/testuno/source/testlib/uno/SDUtil.java
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/test/testuno/source/testlib/uno/SDUtil.java?rev=1401603&r1=1401602&r2=1401603&view=diff
==============================================================================
--- incubator/ooo/trunk/test/testuno/source/testlib/uno/SDUtil.java (original)
+++ incubator/ooo/trunk/test/testuno/source/testlib/uno/SDUtil.java Wed Oct 24 10:05:57 2012
@@ -20,10 +20,16 @@
*************************************************************/
package testlib.uno;
+import java.util.HashMap;
+
+import org.openoffice.test.common.Testspace;
+
+import com.sun.star.beans.PropertyValue;
import com.sun.star.container.XIndexAccess;
import com.sun.star.drawing.XDrawPage;
import com.sun.star.drawing.XDrawPagesSupplier;
import com.sun.star.drawing.XShapes;
+import com.sun.star.frame.XStorable;
import com.sun.star.lang.XComponent;
import com.sun.star.uno.UnoRuntime;
@@ -33,6 +39,8 @@ import com.sun.star.uno.UnoRuntime;
*/
public class SDUtil {
+ private static HashMap filterName = new HashMap();
+
private SDUtil() {
}
@@ -49,5 +57,33 @@ public class SDUtil {
XShapes m_xdrawShapes = (XShapes) UnoRuntime.queryInterface(XShapes.class, xDrawPage);
return m_xdrawShapes.getByIndex(index);
}
+
+ public static void saveFileAs(XComponent sdComponent, String fileName, String extName) throws Exception {
+
+ initFilterName();
+
+ String storeUrl = Testspace.getUrl("temp/" + fileName + "." + extName);
+
+ PropertyValue[] storeProps = new PropertyValue[2];
+ storeProps[0] = new PropertyValue();
+ storeProps[0].Name = "FilterName";
+ storeProps[0].Value = filterName.get(extName);
+ storeProps[1] = new PropertyValue();
+ storeProps[1].Name = "Overwrite";
+ storeProps[1].Value = new Boolean(true);
+
+ XStorable sdStorable =
+ (XStorable) UnoRuntime.queryInterface(XStorable.class, sdComponent);
+ sdStorable.storeAsURL(storeUrl, storeProps);
+ }
+
+ private static void initFilterName() throws Exception {
+ if (filterName.size() > 0) {
+ return;
+ }
+
+ filterName.put("odp", "impress8");
+ filterName.put("ppt", "MS PowerPoint 97");
+ }
}