1 package testcase.uno.sw.table; 2 3 import static org.junit.Assert.*; 4 5 import org.junit.After; 6 import org.junit.Before; 7 import org.junit.Ignore; 8 import org.junit.Test; 9 import org.openoffice.test.common.FileUtil; 10 import org.openoffice.test.common.Testspace; 11 import org.openoffice.test.uno.UnoApp; 12 import com.sun.star.text.*; 13 import com.sun.star.beans.*; 14 import com.sun.star.container.XIndexAccess; 15 import com.sun.star.frame.XStorable; 16 import com.sun.star.lang.XMultiServiceFactory; 17 import com.sun.star.uno.UnoRuntime; 18 19 public class TableInsertBreak { 20 private static final UnoApp app = new UnoApp(); 21 private XTextDocument xTextDocument=null; 22 private XMultiServiceFactory xWriterFactory=null; 23 private XText xText=null; 24 25 @Before 26 public void setUp() throws Exception { 27 app.start(); 28 29 } 30 31 @After 32 public void tearDown() throws Exception { 33 app.close(); 34 } 35 @Test@Ignore("Bug #120719 - [testUNO patch]the page_after break change to page_before break when save to doc.") 36 public void InsertPage_BeforeBreak_Split_KeepTogether() throws Exception { 37 38 xTextDocument =(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter")); 39 xText=xTextDocument.getText(); 40 XTextCursor xTextCursor = xText.createTextCursor(); 41 // get internal service factory of the document 42 xWriterFactory =(XMultiServiceFactory)UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument); 43 // Create a new table from the document's factory 44 XTextTable xTable = (XTextTable)UnoRuntime.queryInterface(XTextTable.class, xWriterFactory.createInstance("com.sun.star.text.TextTable")); 45 xText.insertTextContent(xTextCursor,xTable,false); 46 //insert page break for table 47 XPropertySet xCursorProps = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class,xTable); 48 assertEquals("assert default split",true,xCursorProps.getPropertyValue("Split")); 49 assertEquals("assert default keep_together",false,xCursorProps.getPropertyValue("KeepTogether")); 50 xCursorProps.setPropertyValue("BreakType",com.sun.star.style.BreakType.PAGE_BEFORE); 51 xCursorProps.setPropertyValue("Split",false); 52 xCursorProps.setPropertyValue("KeepTogether",true); 53 //save to odt 54 XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument); 55 PropertyValue[] aStoreProperties_odt = new PropertyValue[2]; 56 aStoreProperties_odt[0] = new PropertyValue(); 57 aStoreProperties_odt[1] = new PropertyValue(); 58 aStoreProperties_odt[0].Name = "Override"; 59 aStoreProperties_odt[0].Value = true; 60 aStoreProperties_odt[1].Name = "FilterName"; 61 aStoreProperties_odt[1].Value = "StarOffice XML (Writer)"; 62 xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt); 63 //save to doc 64 XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument); 65 PropertyValue[] aStoreProperties_doc = new PropertyValue[2]; 66 aStoreProperties_doc[0] = new PropertyValue(); 67 aStoreProperties_doc[1] = new PropertyValue(); 68 aStoreProperties_doc[0].Name = "Override"; 69 aStoreProperties_doc[0].Value = true; 70 aStoreProperties_doc[1].Name = "FilterName"; 71 aStoreProperties_doc[1].Value = "MS Word 97"; 72 xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc); 73 app.closeDocument(xTextDocument); 74 75 //reopen the document 76 XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt"))); 77 XTextTablesSupplier xTablesSupplier_odt = (XTextTablesSupplier) UnoRuntime.queryInterface(XTextTablesSupplier.class, assertDocument_odt ); 78 XIndexAccess xIndexedTables_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xTablesSupplier_odt.getTextTables()); 79 Object xTable_obj_odt=xIndexedTables_odt.getByIndex(0); 80 XTextTable xTable_Assert_odt=(XTextTable) UnoRuntime.queryInterface(XTextTable.class, xTable_obj_odt); 81 XPropertySet xCursorProps_Assert_odt = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class,xTable_Assert_odt); 82 //verify paragraph break 83 assertEquals("assert table break",com.sun.star.style.BreakType.PAGE_BEFORE,xCursorProps_Assert_odt.getPropertyValue("BreakType")); 84 assertEquals("assert table split",false,xCursorProps_Assert_odt.getPropertyValue("Split")); 85 assertEquals("assert table keep_tpgether",true,xCursorProps_Assert_odt.getPropertyValue("KeepTogether")); 86 87 //reopen the doc document and assert table break 88 XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc"))); 89 XTextTablesSupplier xTablesSupplier_doc = (XTextTablesSupplier) UnoRuntime.queryInterface(XTextTablesSupplier.class, assertDocument_doc ); 90 XIndexAccess xIndexedTables_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xTablesSupplier_doc.getTextTables()); 91 Object xTable_obj_doc=xIndexedTables_doc.getByIndex(0); 92 XTextTable xTable_Assert_doc=(XTextTable) UnoRuntime.queryInterface(XTextTable.class, xTable_obj_doc); 93 XPropertySet xCursorProps_Assert_doc = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class,xTable_Assert_doc); 94 //verify paragraph background color 95 assertEquals("assert table break",com.sun.star.style.BreakType.PAGE_BEFORE,xCursorProps_Assert_doc.getPropertyValue("BreakType")); 96 assertEquals("assert table split",false,xCursorProps_Assert_doc.getPropertyValue("Split")); 97 assertEquals("assert table keep_together",true,xCursorProps_Assert_doc.getPropertyValue("KeepTogether")); 98 } 99 @Test@Ignore("Bug #120719 - [testUNO patch]the page_after break change to page_before break when save to doc.") 100 public void InsertPage_AfterBreak() throws Exception { 101 102 xTextDocument =(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter")); 103 xText=xTextDocument.getText(); 104 XTextCursor xTextCursor = xText.createTextCursor(); 105 // get internal service factory of the document 106 xWriterFactory =(XMultiServiceFactory)UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument); 107 // Create a new table from the document's factory 108 XTextTable xTable = (XTextTable)UnoRuntime.queryInterface(XTextTable.class, xWriterFactory.createInstance("com.sun.star.text.TextTable")); 109 xText.insertTextContent(xTextCursor,xTable,false); 110 XPropertySet xCursorProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class,xTable); 111 //set table break type 112 xCursorProps.setPropertyValue("BreakType",com.sun.star.style.BreakType.PAGE_AFTER); 113 //save to odt 114 XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument); 115 PropertyValue[] aStoreProperties_odt = new PropertyValue[2]; 116 aStoreProperties_odt[0] = new PropertyValue(); 117 aStoreProperties_odt[1] = new PropertyValue(); 118 aStoreProperties_odt[0].Name = "Override"; 119 aStoreProperties_odt[0].Value = true; 120 aStoreProperties_odt[1].Name = "FilterName"; 121 aStoreProperties_odt[1].Value = "StarOffice XML (Writer)"; 122 xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt); 123 //save to doc 124 XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument); 125 PropertyValue[] aStoreProperties_doc = new PropertyValue[2]; 126 aStoreProperties_doc[0] = new PropertyValue(); 127 aStoreProperties_doc[1] = new PropertyValue(); 128 aStoreProperties_doc[0].Name = "Override"; 129 aStoreProperties_doc[0].Value = true; 130 aStoreProperties_doc[1].Name = "FilterName"; 131 aStoreProperties_doc[1].Value = "MS Word 97"; 132 xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc); 133 app.closeDocument(xTextDocument); 134 135 //reopen the document 136 XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt"))); 137 XTextTablesSupplier xTablesSupplier_odt = (XTextTablesSupplier) UnoRuntime.queryInterface(XTextTablesSupplier.class, assertDocument_odt ); 138 XIndexAccess xIndexedTables_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xTablesSupplier_odt.getTextTables()); 139 Object xTable_obj_odt=xIndexedTables_odt.getByIndex(0); 140 XTextTable xTable_Assert_odt=(XTextTable) UnoRuntime.queryInterface(XTextTable.class, xTable_obj_odt); 141 XPropertySet xCursorProps_Assert_odt = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class,xTable_Assert_odt); 142 //verify paragraph break 143 assertEquals("assert paragraph break",com.sun.star.style.BreakType.PAGE_AFTER,xCursorProps_Assert_odt.getPropertyValue("BreakType")); 144 145 //reopen the doc document and assert table break 146 XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc"))); 147 XTextTablesSupplier xTablesSupplier_doc = (XTextTablesSupplier) UnoRuntime.queryInterface(XTextTablesSupplier.class, assertDocument_doc ); 148 XIndexAccess xIndexedTables_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xTablesSupplier_doc.getTextTables()); 149 Object xTable_obj_doc=xIndexedTables_doc.getByIndex(0); 150 XTextTable xTable_Assert_doc=(XTextTable) UnoRuntime.queryInterface(XTextTable.class, xTable_obj_doc); 151 XPropertySet xCursorProps_Assert_doc = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class,xTable_Assert_doc); 152 //verify paragraph break 153 assertEquals("assert paragraph break",com.sun.star.style.BreakType.PAGE_AFTER,xCursorProps_Assert_doc.getPropertyValue("BreakType")); 154 } 155 @Test@Ignore("Bug #120719 - [testUNO patch]the page_after break change to page_before break when save to doc.") 156 public void InsertColumn_BeforeBreak() throws Exception { 157 158 xTextDocument =(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter")); 159 xText=xTextDocument.getText(); 160 XTextCursor xTextCursor = xText.createTextCursor(); 161 // get internal service factory of the document 162 xWriterFactory =(XMultiServiceFactory)UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument); 163 // Create a new table from the document's factory 164 XTextTable xTable = (XTextTable)UnoRuntime.queryInterface(XTextTable.class, xWriterFactory.createInstance("com.sun.star.text.TextTable")); 165 xText.insertTextContent(xTextCursor,xTable,false); 166 XPropertySet xCursorProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class,xTable); 167 xCursorProps.setPropertyValue("BreakType",com.sun.star.style.BreakType.COLUMN_BEFORE); 168 //save to odt 169 XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument); 170 PropertyValue[] aStoreProperties_odt = new PropertyValue[2]; 171 aStoreProperties_odt[0] = new PropertyValue(); 172 aStoreProperties_odt[1] = new PropertyValue(); 173 aStoreProperties_odt[0].Name = "Override"; 174 aStoreProperties_odt[0].Value = true; 175 aStoreProperties_odt[1].Name = "FilterName"; 176 aStoreProperties_odt[1].Value = "StarOffice XML (Writer)"; 177 xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt); 178 //save to doc 179 XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument); 180 PropertyValue[] aStoreProperties_doc = new PropertyValue[2]; 181 aStoreProperties_doc[0] = new PropertyValue(); 182 aStoreProperties_doc[1] = new PropertyValue(); 183 aStoreProperties_doc[0].Name = "Override"; 184 aStoreProperties_doc[0].Value = true; 185 aStoreProperties_doc[1].Name = "FilterName"; 186 aStoreProperties_doc[1].Value = "MS Word 97"; 187 xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc); 188 app.closeDocument(xTextDocument); 189 190 //reopen the document 191 XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt"))); 192 XTextTablesSupplier xTablesSupplier_odt = (XTextTablesSupplier) UnoRuntime.queryInterface(XTextTablesSupplier.class, assertDocument_odt ); 193 XIndexAccess xIndexedTables_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xTablesSupplier_odt.getTextTables()); 194 Object xTable_obj_odt=xIndexedTables_odt.getByIndex(0); 195 XTextTable xTable_Assert_odt=(XTextTable) UnoRuntime.queryInterface(XTextTable.class, xTable_obj_odt); 196 XPropertySet xCursorProps_Assert_odt = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class,xTable_Assert_odt); 197 //verify paragraph break 198 assertEquals("assert paragraph break",com.sun.star.style.BreakType.COLUMN_BEFORE,xCursorProps_Assert_odt.getPropertyValue("BreakType")); 199 200 //reopen the doc document and assert table break 201 XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc"))); 202 XTextTablesSupplier xTablesSupplier_doc = (XTextTablesSupplier) UnoRuntime.queryInterface(XTextTablesSupplier.class, assertDocument_doc ); 203 XIndexAccess xIndexedTables_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xTablesSupplier_doc.getTextTables()); 204 Object xTable_obj_doc=xIndexedTables_doc.getByIndex(0); 205 XTextTable xTable_Assert_doc=(XTextTable) UnoRuntime.queryInterface(XTextTable.class, xTable_obj_doc); 206 XPropertySet xCursorProps_Assert_doc = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class,xTable_Assert_doc); 207 //verify paragraph break 208 assertEquals("assert paragraph break",com.sun.star.style.BreakType.COLUMN_BEFORE,xCursorProps_Assert_doc.getPropertyValue("BreakType")); 209 } 210 @Test@Ignore("Bug #120719 - [testUNO patch]the page_after break change to page_before break when save to doc.") 211 public void InsertColumn_AfterBreak() throws Exception { 212 213 xTextDocument =(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter")); 214 xText=xTextDocument.getText(); 215 XTextCursor xTextCursor = xText.createTextCursor(); 216 // get internal service factory of the document 217 xWriterFactory =(XMultiServiceFactory)UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument); 218 // Create a new table from the document's factory 219 XTextTable xTable = (XTextTable)UnoRuntime.queryInterface(XTextTable.class, xWriterFactory.createInstance("com.sun.star.text.TextTable")); 220 xText.insertTextContent(xTextCursor,xTable,false); 221 XPropertySet xCursorProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class,xTable); 222 xCursorProps.setPropertyValue("BreakType",com.sun.star.style.BreakType.COLUMN_AFTER); 223 //save to odt 224 XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument); 225 PropertyValue[] aStoreProperties_odt = new PropertyValue[2]; 226 aStoreProperties_odt[0] = new PropertyValue(); 227 aStoreProperties_odt[1] = new PropertyValue(); 228 aStoreProperties_odt[0].Name = "Override"; 229 aStoreProperties_odt[0].Value = true; 230 aStoreProperties_odt[1].Name = "FilterName"; 231 aStoreProperties_odt[1].Value = "StarOffice XML (Writer)"; 232 xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt); 233 //save to doc 234 XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument); 235 PropertyValue[] aStoreProperties_doc = new PropertyValue[2]; 236 aStoreProperties_doc[0] = new PropertyValue(); 237 aStoreProperties_doc[1] = new PropertyValue(); 238 aStoreProperties_doc[0].Name = "Override"; 239 aStoreProperties_doc[0].Value = true; 240 aStoreProperties_doc[1].Name = "FilterName"; 241 aStoreProperties_doc[1].Value = "MS Word 97"; 242 xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc); 243 app.closeDocument(xTextDocument); 244 245 //reopen the document 246 XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt"))); 247 XTextTablesSupplier xTablesSupplier_odt = (XTextTablesSupplier) UnoRuntime.queryInterface(XTextTablesSupplier.class, assertDocument_odt ); 248 XIndexAccess xIndexedTables_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xTablesSupplier_odt.getTextTables()); 249 Object xTable_obj_odt=xIndexedTables_odt.getByIndex(0); 250 XTextTable xTable_Assert_odt=(XTextTable) UnoRuntime.queryInterface(XTextTable.class, xTable_obj_odt); 251 XPropertySet xCursorProps_Assert_odt = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class,xTable_Assert_odt); 252 //verify paragraph break 253 assertEquals("assert paragraph break",com.sun.star.style.BreakType.COLUMN_AFTER,xCursorProps_Assert_odt.getPropertyValue("BreakType")); 254 255 //reopen the doc document and assert table break 256 XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc"))); 257 XTextTablesSupplier xTablesSupplier_doc = (XTextTablesSupplier) UnoRuntime.queryInterface(XTextTablesSupplier.class, assertDocument_doc ); 258 XIndexAccess xIndexedTables_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xTablesSupplier_doc.getTextTables()); 259 Object xTable_obj_doc=xIndexedTables_doc.getByIndex(0); 260 XTextTable xTable_Assert_doc=(XTextTable) UnoRuntime.queryInterface(XTextTable.class, xTable_obj_doc); 261 XPropertySet xCursorProps_Assert_doc = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class,xTable_Assert_doc); 262 //verify table break 263 assertEquals("assert table break",com.sun.star.style.BreakType.COLUMN_AFTER,xCursorProps_Assert_doc.getPropertyValue("BreakType")); 264 } 265 @Test@Ignore("Bug #120719 - [testUNO patch]the page_after break change to page_before break when save to doc.") 266 public void InsertPage_Endnote_BeforeBreak() throws Exception { 267 268 xTextDocument =(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter")); 269 xText=xTextDocument.getText(); 270 XTextCursor xTextCursor = xText.createTextCursor(); 271 // get internal service factory of the document 272 xWriterFactory =(XMultiServiceFactory)UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument); 273 // Create a new table from the document's factory 274 XTextTable xTable = (XTextTable)UnoRuntime.queryInterface(XTextTable.class, xWriterFactory.createInstance("com.sun.star.text.TextTable")); 275 xText.insertTextContent(xTextCursor,xTable,false); 276 XPropertySet xCursorProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class,xTable); 277 xCursorProps.setPropertyValue("BreakType",com.sun.star.style.BreakType.PAGE_BEFORE); 278 xCursorProps.setPropertyValue("PageDescName","Endnote"); 279 xCursorProps.setPropertyValue("PageNumberOffset",(short)3); 280 //save to odt 281 XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument); 282 PropertyValue[] aStoreProperties_odt = new PropertyValue[2]; 283 aStoreProperties_odt[0] = new PropertyValue(); 284 aStoreProperties_odt[1] = new PropertyValue(); 285 aStoreProperties_odt[0].Name = "Override"; 286 aStoreProperties_odt[0].Value = true; 287 aStoreProperties_odt[1].Name = "FilterName"; 288 aStoreProperties_odt[1].Value = "StarOffice XML (Writer)"; 289 xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt); 290 //save to doc 291 XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument); 292 PropertyValue[] aStoreProperties_doc = new PropertyValue[2]; 293 aStoreProperties_doc[0] = new PropertyValue(); 294 aStoreProperties_doc[1] = new PropertyValue(); 295 aStoreProperties_doc[0].Name = "Override"; 296 aStoreProperties_doc[0].Value = true; 297 aStoreProperties_doc[1].Name = "FilterName"; 298 aStoreProperties_doc[1].Value = "MS Word 97"; 299 xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc); 300 app.closeDocument(xTextDocument); 301 302 //reopen the document 303 XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt"))); 304 XTextTablesSupplier xTablesSupplier_odt = (XTextTablesSupplier) UnoRuntime.queryInterface(XTextTablesSupplier.class, assertDocument_odt ); 305 XIndexAccess xIndexedTables_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xTablesSupplier_odt.getTextTables()); 306 Object xTable_obj_odt=xIndexedTables_odt.getByIndex(0); 307 XTextTable xTable_Assert_odt=(XTextTable) UnoRuntime.queryInterface(XTextTable.class, xTable_obj_odt); 308 XPropertySet xCursorProps_Assert_odt = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class,xTable_Assert_odt); 309 //verify paragraph break 310 assertEquals("assert paragraph break",com.sun.star.style.BreakType.PAGE_BEFORE,xCursorProps_Assert_odt.getPropertyValue("BreakType")); 311 assertEquals("assert paragraph break","Endnote",xCursorProps_Assert_odt.getPropertyValue("PageDescName")); 312 assertEquals("assert paragraph break",(short)3,xCursorProps_Assert_odt.getPropertyValue("PageNumberOffset")); 313 //reopen the doc document and assert table break 314 XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc"))); 315 XTextTablesSupplier xTablesSupplier_doc = (XTextTablesSupplier) UnoRuntime.queryInterface(XTextTablesSupplier.class, assertDocument_doc ); 316 XIndexAccess xIndexedTables_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xTablesSupplier_doc.getTextTables()); 317 Object xTable_obj_doc=xIndexedTables_doc.getByIndex(0); 318 XTextTable xTable_Assert_doc=(XTextTable) UnoRuntime.queryInterface(XTextTable.class, xTable_obj_doc); 319 XPropertySet xCursorProps_Assert_doc = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class,xTable_Assert_doc); 320 //verify paragraph background color 321 assertEquals("assert paragraph break",com.sun.star.style.BreakType.PAGE_BEFORE,xCursorProps_Assert_doc.getPropertyValue("BreakType")); 322 assertEquals("assert paragraph break","Endnote",xCursorProps_Assert_doc.getPropertyValue("PageDescName")); 323 assertEquals("assert paragraph break",(short)3,xCursorProps_Assert_doc.getPropertyValue("PageNumberOffset")); 324 } 325 326 @Test@Ignore("Bug #120721 - [testUNO patch]the page_endnote_break type change to page_default_break when save to doc.") 327 public void InsertPage_Envelop_BeforeBreak() throws Exception { 328 329 xTextDocument =(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter")); 330 xText=xTextDocument.getText(); 331 XTextCursor xTextCursor = xText.createTextCursor(); 332 // get internal service factory of the document 333 xWriterFactory =(XMultiServiceFactory)UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument); 334 // Create a new table from the document's factory 335 XTextTable xTable = (XTextTable)UnoRuntime.queryInterface(XTextTable.class, xWriterFactory.createInstance("com.sun.star.text.TextTable")); 336 xText.insertTextContent(xTextCursor,xTable,false); 337 XPropertySet xCursorProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class,xTable); 338 xCursorProps.setPropertyValue("BreakType",com.sun.star.style.BreakType.PAGE_BEFORE); 339 xCursorProps.setPropertyValue("PageDescName","Envelope"); 340 xCursorProps.setPropertyValue("PageNumberOffset",(short)3); 341 //save to odt 342 XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument); 343 PropertyValue[] aStoreProperties_odt = new PropertyValue[2]; 344 aStoreProperties_odt[0] = new PropertyValue(); 345 aStoreProperties_odt[1] = new PropertyValue(); 346 aStoreProperties_odt[0].Name = "Override"; 347 aStoreProperties_odt[0].Value = true; 348 aStoreProperties_odt[1].Name = "FilterName"; 349 aStoreProperties_odt[1].Value = "StarOffice XML (Writer)"; 350 xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt); 351 //save to doc 352 XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument); 353 PropertyValue[] aStoreProperties_doc = new PropertyValue[2]; 354 aStoreProperties_doc[0] = new PropertyValue(); 355 aStoreProperties_doc[1] = new PropertyValue(); 356 aStoreProperties_doc[0].Name = "Override"; 357 aStoreProperties_doc[0].Value = true; 358 aStoreProperties_doc[1].Name = "FilterName"; 359 aStoreProperties_doc[1].Value = "MS Word 97"; 360 xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc); 361 app.closeDocument(xTextDocument); 362 363 //reopen the document 364 XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt"))); 365 XTextTablesSupplier xTablesSupplier_odt = (XTextTablesSupplier) UnoRuntime.queryInterface(XTextTablesSupplier.class, assertDocument_odt ); 366 XIndexAccess xIndexedTables_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xTablesSupplier_odt.getTextTables()); 367 Object xTable_obj_odt=xIndexedTables_odt.getByIndex(0); 368 XTextTable xTable_Assert_odt=(XTextTable) UnoRuntime.queryInterface(XTextTable.class, xTable_obj_odt); 369 XPropertySet xCursorProps_Assert_odt = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class,xTable_Assert_odt); 370 //verify paragraph break 371 assertEquals("assert paragraph break",com.sun.star.style.BreakType.PAGE_BEFORE,xCursorProps_Assert_odt.getPropertyValue("BreakType")); 372 assertEquals("assert paragraph break","Envelope",xCursorProps_Assert_odt.getPropertyValue("PageDescName")); 373 assertEquals("assert paragraph break",(short)3,xCursorProps_Assert_odt.getPropertyValue("PageNumberOffset")); 374 //reopen the doc document and assert table break 375 XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc"))); 376 XTextTablesSupplier xTablesSupplier_doc = (XTextTablesSupplier) UnoRuntime.queryInterface(XTextTablesSupplier.class, assertDocument_doc ); 377 XIndexAccess xIndexedTables_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xTablesSupplier_doc.getTextTables()); 378 Object xTable_obj_doc=xIndexedTables_doc.getByIndex(0); 379 XTextTable xTable_Assert_doc=(XTextTable) UnoRuntime.queryInterface(XTextTable.class, xTable_obj_doc); 380 XPropertySet xCursorProps_Assert_doc = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class,xTable_Assert_doc); 381 //verify paragraph background color 382 assertEquals("assert paragraph break",com.sun.star.style.BreakType.PAGE_BEFORE,xCursorProps_Assert_doc.getPropertyValue("BreakType")); 383 assertEquals("assert paragraph break","Envelope",xCursorProps_Assert_doc.getPropertyValue("PageDescName")); 384 assertEquals("assert paragraph break",(short)3,xCursorProps_Assert_doc.getPropertyValue("PageNumberOffset")); 385 } 386 387 @Test 388 public void InsertPage_Firstpage_BeforeBreak() throws Exception { 389 390 xTextDocument =(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter")); 391 xText=xTextDocument.getText(); 392 XTextCursor xTextCursor = xText.createTextCursor(); 393 // get internal service factory of the document 394 xWriterFactory =(XMultiServiceFactory)UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument); 395 // Create a new table from the document's factory 396 XTextTable xTable = (XTextTable)UnoRuntime.queryInterface(XTextTable.class, xWriterFactory.createInstance("com.sun.star.text.TextTable")); 397 xText.insertTextContent(xTextCursor,xTable,false); 398 XPropertySet xCursorProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class,xTable); 399 xCursorProps.setPropertyValue("BreakType",com.sun.star.style.BreakType.PAGE_BEFORE); 400 xCursorProps.setPropertyValue("PageDescName","First Page"); 401 xCursorProps.setPropertyValue("PageNumberOffset",(short)3); 402 //save to odt 403 XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument); 404 PropertyValue[] aStoreProperties_odt = new PropertyValue[2]; 405 aStoreProperties_odt[0] = new PropertyValue(); 406 aStoreProperties_odt[1] = new PropertyValue(); 407 aStoreProperties_odt[0].Name = "Override"; 408 aStoreProperties_odt[0].Value = true; 409 aStoreProperties_odt[1].Name = "FilterName"; 410 aStoreProperties_odt[1].Value = "StarOffice XML (Writer)"; 411 xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt); 412 //save to doc 413 XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument); 414 PropertyValue[] aStoreProperties_doc = new PropertyValue[2]; 415 aStoreProperties_doc[0] = new PropertyValue(); 416 aStoreProperties_doc[1] = new PropertyValue(); 417 aStoreProperties_doc[0].Name = "Override"; 418 aStoreProperties_doc[0].Value = true; 419 aStoreProperties_doc[1].Name = "FilterName"; 420 aStoreProperties_doc[1].Value = "MS Word 97"; 421 xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc); 422 app.closeDocument(xTextDocument); 423 424 //reopen the document 425 XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt"))); 426 XTextTablesSupplier xTablesSupplier_odt = (XTextTablesSupplier) UnoRuntime.queryInterface(XTextTablesSupplier.class, assertDocument_odt ); 427 XIndexAccess xIndexedTables_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xTablesSupplier_odt.getTextTables()); 428 Object xTable_obj_odt=xIndexedTables_odt.getByIndex(0); 429 XTextTable xTable_Assert_odt=(XTextTable) UnoRuntime.queryInterface(XTextTable.class, xTable_obj_odt); 430 XPropertySet xCursorProps_Assert_odt = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class,xTable_Assert_odt); 431 //verify paragraph break 432 assertEquals("assert paragraph break",com.sun.star.style.BreakType.PAGE_BEFORE,xCursorProps_Assert_odt.getPropertyValue("BreakType")); 433 assertEquals("assert paragraph break","First Page",xCursorProps_Assert_odt.getPropertyValue("PageDescName")); 434 assertEquals("assert paragraph break",(short)3,xCursorProps_Assert_odt.getPropertyValue("PageNumberOffset")); 435 //reopen the doc document and assert table break 436 XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc"))); 437 XTextTablesSupplier xTablesSupplier_doc = (XTextTablesSupplier) UnoRuntime.queryInterface(XTextTablesSupplier.class, assertDocument_doc ); 438 XIndexAccess xIndexedTables_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xTablesSupplier_doc.getTextTables()); 439 Object xTable_obj_doc=xIndexedTables_doc.getByIndex(0); 440 XTextTable xTable_Assert_doc=(XTextTable) UnoRuntime.queryInterface(XTextTable.class, xTable_obj_doc); 441 XPropertySet xCursorProps_Assert_doc = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class,xTable_Assert_doc); 442 //verify paragraph background color 443 assertEquals("assert paragraph break",com.sun.star.style.BreakType.PAGE_BEFORE,xCursorProps_Assert_doc.getPropertyValue("BreakType")); 444 assertEquals("assert paragraph break","First Page",xCursorProps_Assert_doc.getPropertyValue("PageDescName")); 445 assertEquals("assert paragraph break",(short)3,xCursorProps_Assert_doc.getPropertyValue("PageNumberOffset")); 446 } 447 @Test@Ignore("Bug #120721 - [testUNO patch]the page_endnote_break type change to page_default_break when save to doc.") 448 public void InsertPage_Footnote_BeforeBreak() throws Exception { 449 450 xTextDocument =(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter")); 451 xText=xTextDocument.getText(); 452 XTextCursor xTextCursor = xText.createTextCursor(); 453 // get internal service factory of the document 454 xWriterFactory =(XMultiServiceFactory)UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument); 455 // Create a new table from the document's factory 456 XTextTable xTable = (XTextTable)UnoRuntime.queryInterface(XTextTable.class, xWriterFactory.createInstance("com.sun.star.text.TextTable")); 457 xText.insertTextContent(xTextCursor,xTable,false); 458 XPropertySet xCursorProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class,xTable); 459 xCursorProps.setPropertyValue("BreakType",com.sun.star.style.BreakType.PAGE_BEFORE); 460 xCursorProps.setPropertyValue("PageDescName","Footnote"); 461 xCursorProps.setPropertyValue("PageNumberOffset",(short)3); 462 //save to odt 463 XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument); 464 PropertyValue[] aStoreProperties_odt = new PropertyValue[2]; 465 aStoreProperties_odt[0] = new PropertyValue(); 466 aStoreProperties_odt[1] = new PropertyValue(); 467 aStoreProperties_odt[0].Name = "Override"; 468 aStoreProperties_odt[0].Value = true; 469 aStoreProperties_odt[1].Name = "FilterName"; 470 aStoreProperties_odt[1].Value = "StarOffice XML (Writer)"; 471 xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt); 472 //save to doc 473 XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument); 474 PropertyValue[] aStoreProperties_doc = new PropertyValue[2]; 475 aStoreProperties_doc[0] = new PropertyValue(); 476 aStoreProperties_doc[1] = new PropertyValue(); 477 aStoreProperties_doc[0].Name = "Override"; 478 aStoreProperties_doc[0].Value = true; 479 aStoreProperties_doc[1].Name = "FilterName"; 480 aStoreProperties_doc[1].Value = "MS Word 97"; 481 xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc); 482 app.closeDocument(xTextDocument); 483 484 //reopen the document 485 XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt"))); 486 XTextTablesSupplier xTablesSupplier_odt = (XTextTablesSupplier) UnoRuntime.queryInterface(XTextTablesSupplier.class, assertDocument_odt ); 487 XIndexAccess xIndexedTables_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xTablesSupplier_odt.getTextTables()); 488 Object xTable_obj_odt=xIndexedTables_odt.getByIndex(0); 489 XTextTable xTable_Assert_odt=(XTextTable) UnoRuntime.queryInterface(XTextTable.class, xTable_obj_odt); 490 XPropertySet xCursorProps_Assert_odt = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class,xTable_Assert_odt); 491 //verify paragraph break 492 assertEquals("assert paragraph break",com.sun.star.style.BreakType.PAGE_BEFORE,xCursorProps_Assert_odt.getPropertyValue("BreakType")); 493 assertEquals("assert paragraph break","Footnote",xCursorProps_Assert_odt.getPropertyValue("PageDescName")); 494 assertEquals("assert paragraph break",(short)3,xCursorProps_Assert_odt.getPropertyValue("PageNumberOffset")); 495 //reopen the doc document and assert table break 496 XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc"))); 497 XTextTablesSupplier xTablesSupplier_doc = (XTextTablesSupplier) UnoRuntime.queryInterface(XTextTablesSupplier.class, assertDocument_doc ); 498 XIndexAccess xIndexedTables_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xTablesSupplier_doc.getTextTables()); 499 Object xTable_obj_doc=xIndexedTables_doc.getByIndex(0); 500 XTextTable xTable_Assert_doc=(XTextTable) UnoRuntime.queryInterface(XTextTable.class, xTable_obj_doc); 501 XPropertySet xCursorProps_Assert_doc = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class,xTable_Assert_doc); 502 //verify paragraph background color 503 assertEquals("assert paragraph break",com.sun.star.style.BreakType.PAGE_BEFORE,xCursorProps_Assert_doc.getPropertyValue("BreakType")); 504 assertEquals("assert paragraph break","Footnote",xCursorProps_Assert_doc.getPropertyValue("PageDescName")); 505 assertEquals("assert paragraph break",(short)3,xCursorProps_Assert_doc.getPropertyValue("PageNumberOffset")); 506 } 507 @Test@Ignore("Bug #120721 - [testUNO patch]the page_endnote_break type change to page_default_break when save to doc.") 508 public void InsertPage_HTML_BeforeBreak() throws Exception { 509 510 xTextDocument =(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter")); 511 xText=xTextDocument.getText(); 512 XTextCursor xTextCursor = xText.createTextCursor(); 513 // get internal service factory of the document 514 xWriterFactory =(XMultiServiceFactory)UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument); 515 // Create a new table from the document's factory 516 XTextTable xTable = (XTextTable)UnoRuntime.queryInterface(XTextTable.class, xWriterFactory.createInstance("com.sun.star.text.TextTable")); 517 xText.insertTextContent(xTextCursor,xTable,false); 518 XPropertySet xCursorProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class,xTable); 519 xCursorProps.setPropertyValue("BreakType",com.sun.star.style.BreakType.PAGE_BEFORE); 520 xCursorProps.setPropertyValue("PageDescName","HTML"); 521 xCursorProps.setPropertyValue("PageNumberOffset",(short)3); 522 //save to odt 523 XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument); 524 PropertyValue[] aStoreProperties_odt = new PropertyValue[2]; 525 aStoreProperties_odt[0] = new PropertyValue(); 526 aStoreProperties_odt[1] = new PropertyValue(); 527 aStoreProperties_odt[0].Name = "Override"; 528 aStoreProperties_odt[0].Value = true; 529 aStoreProperties_odt[1].Name = "FilterName"; 530 aStoreProperties_odt[1].Value = "StarOffice XML (Writer)"; 531 xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt); 532 //save to doc 533 XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument); 534 PropertyValue[] aStoreProperties_doc = new PropertyValue[2]; 535 aStoreProperties_doc[0] = new PropertyValue(); 536 aStoreProperties_doc[1] = new PropertyValue(); 537 aStoreProperties_doc[0].Name = "Override"; 538 aStoreProperties_doc[0].Value = true; 539 aStoreProperties_doc[1].Name = "FilterName"; 540 aStoreProperties_doc[1].Value = "MS Word 97"; 541 xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc); 542 app.closeDocument(xTextDocument); 543 544 //reopen the document 545 XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt"))); 546 XTextTablesSupplier xTablesSupplier_odt = (XTextTablesSupplier) UnoRuntime.queryInterface(XTextTablesSupplier.class, assertDocument_odt ); 547 XIndexAccess xIndexedTables_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xTablesSupplier_odt.getTextTables()); 548 Object xTable_obj_odt=xIndexedTables_odt.getByIndex(0); 549 XTextTable xTable_Assert_odt=(XTextTable) UnoRuntime.queryInterface(XTextTable.class, xTable_obj_odt); 550 XPropertySet xCursorProps_Assert_odt = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class,xTable_Assert_odt); 551 //verify paragraph break 552 assertEquals("assert paragraph break",com.sun.star.style.BreakType.PAGE_BEFORE,xCursorProps_Assert_odt.getPropertyValue("BreakType")); 553 assertEquals("assert paragraph break","HTML",xCursorProps_Assert_odt.getPropertyValue("PageDescName")); 554 assertEquals("assert paragraph break",(short)3,xCursorProps_Assert_odt.getPropertyValue("PageNumberOffset")); 555 //reopen the doc document and assert table break 556 XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc"))); 557 XTextTablesSupplier xTablesSupplier_doc = (XTextTablesSupplier) UnoRuntime.queryInterface(XTextTablesSupplier.class, assertDocument_doc ); 558 XIndexAccess xIndexedTables_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xTablesSupplier_doc.getTextTables()); 559 Object xTable_obj_doc=xIndexedTables_doc.getByIndex(0); 560 XTextTable xTable_Assert_doc=(XTextTable) UnoRuntime.queryInterface(XTextTable.class, xTable_obj_doc); 561 XPropertySet xCursorProps_Assert_doc = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class,xTable_Assert_doc); 562 //verify paragraph background color 563 assertEquals("assert paragraph break",com.sun.star.style.BreakType.PAGE_BEFORE,xCursorProps_Assert_doc.getPropertyValue("BreakType")); 564 assertEquals("assert paragraph break","HTML",xCursorProps_Assert_doc.getPropertyValue("PageDescName")); 565 assertEquals("assert paragraph break",(short)3,xCursorProps_Assert_doc.getPropertyValue("PageNumberOffset")); 566 } 567 @Test@Ignore("Bug #120721 - [testUNO patch]the page_endnote_break type change to page_default_break when save to doc.") 568 public void InsertPage_Index_BeforeBreak() throws Exception { 569 570 xTextDocument =(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter")); 571 xText=xTextDocument.getText(); 572 XTextCursor xTextCursor = xText.createTextCursor(); 573 // get internal service factory of the document 574 xWriterFactory =(XMultiServiceFactory)UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument); 575 // Create a new table from the document's factory 576 XTextTable xTable = (XTextTable)UnoRuntime.queryInterface(XTextTable.class, xWriterFactory.createInstance("com.sun.star.text.TextTable")); 577 xText.insertTextContent(xTextCursor,xTable,false); 578 XPropertySet xCursorProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class,xTable); 579 xCursorProps.setPropertyValue("BreakType",com.sun.star.style.BreakType.PAGE_BEFORE); 580 xCursorProps.setPropertyValue("PageDescName","Index"); 581 xCursorProps.setPropertyValue("PageNumberOffset",(short)3); 582 //save to odt 583 XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument); 584 PropertyValue[] aStoreProperties_odt = new PropertyValue[2]; 585 aStoreProperties_odt[0] = new PropertyValue(); 586 aStoreProperties_odt[1] = new PropertyValue(); 587 aStoreProperties_odt[0].Name = "Override"; 588 aStoreProperties_odt[0].Value = true; 589 aStoreProperties_odt[1].Name = "FilterName"; 590 aStoreProperties_odt[1].Value = "StarOffice XML (Writer)"; 591 xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt); 592 //save to doc 593 XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument); 594 PropertyValue[] aStoreProperties_doc = new PropertyValue[2]; 595 aStoreProperties_doc[0] = new PropertyValue(); 596 aStoreProperties_doc[1] = new PropertyValue(); 597 aStoreProperties_doc[0].Name = "Override"; 598 aStoreProperties_doc[0].Value = true; 599 aStoreProperties_doc[1].Name = "FilterName"; 600 aStoreProperties_doc[1].Value = "MS Word 97"; 601 xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc); 602 app.closeDocument(xTextDocument); 603 604 //reopen the document 605 XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt"))); 606 XTextTablesSupplier xTablesSupplier_odt = (XTextTablesSupplier) UnoRuntime.queryInterface(XTextTablesSupplier.class, assertDocument_odt ); 607 XIndexAccess xIndexedTables_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xTablesSupplier_odt.getTextTables()); 608 Object xTable_obj_odt=xIndexedTables_odt.getByIndex(0); 609 XTextTable xTable_Assert_odt=(XTextTable) UnoRuntime.queryInterface(XTextTable.class, xTable_obj_odt); 610 XPropertySet xCursorProps_Assert_odt = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class,xTable_Assert_odt); 611 //verify paragraph break 612 assertEquals("assert paragraph break",com.sun.star.style.BreakType.PAGE_BEFORE,xCursorProps_Assert_odt.getPropertyValue("BreakType")); 613 assertEquals("assert paragraph break","Index",xCursorProps_Assert_odt.getPropertyValue("PageDescName")); 614 assertEquals("assert paragraph break",(short)3,xCursorProps_Assert_odt.getPropertyValue("PageNumberOffset")); 615 //reopen the doc document and assert table break 616 XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc"))); 617 XTextTablesSupplier xTablesSupplier_doc = (XTextTablesSupplier) UnoRuntime.queryInterface(XTextTablesSupplier.class, assertDocument_doc ); 618 XIndexAccess xIndexedTables_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xTablesSupplier_doc.getTextTables()); 619 Object xTable_obj_doc=xIndexedTables_doc.getByIndex(0); 620 XTextTable xTable_Assert_doc=(XTextTable) UnoRuntime.queryInterface(XTextTable.class, xTable_obj_doc); 621 XPropertySet xCursorProps_Assert_doc = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class,xTable_Assert_doc); 622 //verify paragraph background color 623 assertEquals("assert paragraph break",com.sun.star.style.BreakType.PAGE_BEFORE,xCursorProps_Assert_doc.getPropertyValue("BreakType")); 624 assertEquals("assert paragraph break","Index",xCursorProps_Assert_doc.getPropertyValue("PageDescName")); 625 assertEquals("assert paragraph break",(short)3,xCursorProps_Assert_doc.getPropertyValue("PageNumberOffset")); 626 } 627 @Test@Ignore("Bug #120721 - [testUNO patch]the page_endnote_break type change to page_default_break when save to doc.") 628 public void InsertPage_Landscape_BeforeBreak() throws Exception { 629 630 xTextDocument =(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter")); 631 xText=xTextDocument.getText(); 632 XTextCursor xTextCursor = xText.createTextCursor(); 633 // get internal service factory of the document 634 xWriterFactory =(XMultiServiceFactory)UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument); 635 // Create a new table from the document's factory 636 XTextTable xTable = (XTextTable)UnoRuntime.queryInterface(XTextTable.class, xWriterFactory.createInstance("com.sun.star.text.TextTable")); 637 xText.insertTextContent(xTextCursor,xTable,false); 638 XPropertySet xCursorProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class,xTable); 639 xCursorProps.setPropertyValue("BreakType",com.sun.star.style.BreakType.PAGE_BEFORE); 640 xCursorProps.setPropertyValue("PageDescName","Landscape"); 641 xCursorProps.setPropertyValue("PageNumberOffset",(short)3); 642 //save to odt 643 XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument); 644 PropertyValue[] aStoreProperties_odt = new PropertyValue[2]; 645 aStoreProperties_odt[0] = new PropertyValue(); 646 aStoreProperties_odt[1] = new PropertyValue(); 647 aStoreProperties_odt[0].Name = "Override"; 648 aStoreProperties_odt[0].Value = true; 649 aStoreProperties_odt[1].Name = "FilterName"; 650 aStoreProperties_odt[1].Value = "StarOffice XML (Writer)"; 651 xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt); 652 //save to doc 653 XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument); 654 PropertyValue[] aStoreProperties_doc = new PropertyValue[2]; 655 aStoreProperties_doc[0] = new PropertyValue(); 656 aStoreProperties_doc[1] = new PropertyValue(); 657 aStoreProperties_doc[0].Name = "Override"; 658 aStoreProperties_doc[0].Value = true; 659 aStoreProperties_doc[1].Name = "FilterName"; 660 aStoreProperties_doc[1].Value = "MS Word 97"; 661 xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc); 662 app.closeDocument(xTextDocument); 663 664 //reopen the document 665 XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt"))); 666 XTextTablesSupplier xTablesSupplier_odt = (XTextTablesSupplier) UnoRuntime.queryInterface(XTextTablesSupplier.class, assertDocument_odt ); 667 XIndexAccess xIndexedTables_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xTablesSupplier_odt.getTextTables()); 668 Object xTable_obj_odt=xIndexedTables_odt.getByIndex(0); 669 XTextTable xTable_Assert_odt=(XTextTable) UnoRuntime.queryInterface(XTextTable.class, xTable_obj_odt); 670 XPropertySet xCursorProps_Assert_odt = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class,xTable_Assert_odt); 671 //verify paragraph break 672 assertEquals("assert paragraph break",com.sun.star.style.BreakType.PAGE_BEFORE,xCursorProps_Assert_odt.getPropertyValue("BreakType")); 673 assertEquals("assert paragraph break","Landscape",xCursorProps_Assert_odt.getPropertyValue("PageDescName")); 674 assertEquals("assert paragraph break",(short)3,xCursorProps_Assert_odt.getPropertyValue("PageNumberOffset")); 675 //reopen the doc document and assert table break 676 XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc"))); 677 XTextTablesSupplier xTablesSupplier_doc = (XTextTablesSupplier) UnoRuntime.queryInterface(XTextTablesSupplier.class, assertDocument_doc ); 678 XIndexAccess xIndexedTables_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xTablesSupplier_doc.getTextTables()); 679 Object xTable_obj_doc=xIndexedTables_doc.getByIndex(0); 680 XTextTable xTable_Assert_doc=(XTextTable) UnoRuntime.queryInterface(XTextTable.class, xTable_obj_doc); 681 XPropertySet xCursorProps_Assert_doc = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class,xTable_Assert_doc); 682 //verify paragraph background color 683 assertEquals("assert paragraph break",com.sun.star.style.BreakType.PAGE_BEFORE,xCursorProps_Assert_doc.getPropertyValue("BreakType")); 684 assertEquals("assert paragraph break","Landscape",xCursorProps_Assert_doc.getPropertyValue("PageDescName")); 685 assertEquals("assert paragraph break",(short)3,xCursorProps_Assert_doc.getPropertyValue("PageNumberOffset")); 686 } 687 @Test@Ignore("Bug #120721 - [testUNO patch]the page_endnote_break type change to page_default_break when save to doc.") 688 public void InsertPage_LeftPage_BeforeBreak() throws Exception { 689 690 xTextDocument =(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter")); 691 xText=xTextDocument.getText(); 692 XTextCursor xTextCursor = xText.createTextCursor(); 693 // get internal service factory of the document 694 xWriterFactory =(XMultiServiceFactory)UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument); 695 // Create a new table from the document's factory 696 XTextTable xTable = (XTextTable)UnoRuntime.queryInterface(XTextTable.class, xWriterFactory.createInstance("com.sun.star.text.TextTable")); 697 xText.insertTextContent(xTextCursor,xTable,false); 698 XPropertySet xCursorProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class,xTable); 699 xCursorProps.setPropertyValue("BreakType",com.sun.star.style.BreakType.PAGE_BEFORE); 700 xCursorProps.setPropertyValue("PageDescName","Left Page"); 701 xCursorProps.setPropertyValue("PageNumberOffset",(short)3); 702 //save to odt 703 XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument); 704 PropertyValue[] aStoreProperties_odt = new PropertyValue[2]; 705 aStoreProperties_odt[0] = new PropertyValue(); 706 aStoreProperties_odt[1] = new PropertyValue(); 707 aStoreProperties_odt[0].Name = "Override"; 708 aStoreProperties_odt[0].Value = true; 709 aStoreProperties_odt[1].Name = "FilterName"; 710 aStoreProperties_odt[1].Value = "StarOffice XML (Writer)"; 711 xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt); 712 //save to doc 713 XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument); 714 PropertyValue[] aStoreProperties_doc = new PropertyValue[2]; 715 aStoreProperties_doc[0] = new PropertyValue(); 716 aStoreProperties_doc[1] = new PropertyValue(); 717 aStoreProperties_doc[0].Name = "Override"; 718 aStoreProperties_doc[0].Value = true; 719 aStoreProperties_doc[1].Name = "FilterName"; 720 aStoreProperties_doc[1].Value = "MS Word 97"; 721 xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc); 722 app.closeDocument(xTextDocument); 723 724 //reopen the document 725 XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt"))); 726 XTextTablesSupplier xTablesSupplier_odt = (XTextTablesSupplier) UnoRuntime.queryInterface(XTextTablesSupplier.class, assertDocument_odt ); 727 XIndexAccess xIndexedTables_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xTablesSupplier_odt.getTextTables()); 728 Object xTable_obj_odt=xIndexedTables_odt.getByIndex(0); 729 XTextTable xTable_Assert_odt=(XTextTable) UnoRuntime.queryInterface(XTextTable.class, xTable_obj_odt); 730 XPropertySet xCursorProps_Assert_odt = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class,xTable_Assert_odt); 731 //verify paragraph break 732 assertEquals("assert paragraph break",com.sun.star.style.BreakType.PAGE_BEFORE,xCursorProps_Assert_odt.getPropertyValue("BreakType")); 733 assertEquals("assert paragraph break","Left Page",xCursorProps_Assert_odt.getPropertyValue("PageDescName")); 734 assertEquals("assert paragraph break",(short)3,xCursorProps_Assert_odt.getPropertyValue("PageNumberOffset")); 735 //reopen the doc document and assert table break 736 XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc"))); 737 XTextTablesSupplier xTablesSupplier_doc = (XTextTablesSupplier) UnoRuntime.queryInterface(XTextTablesSupplier.class, assertDocument_doc ); 738 XIndexAccess xIndexedTables_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xTablesSupplier_doc.getTextTables()); 739 Object xTable_obj_doc=xIndexedTables_doc.getByIndex(0); 740 XTextTable xTable_Assert_doc=(XTextTable) UnoRuntime.queryInterface(XTextTable.class, xTable_obj_doc); 741 XPropertySet xCursorProps_Assert_doc = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class,xTable_Assert_doc); 742 //verify paragraph background color 743 assertEquals("assert paragraph break",com.sun.star.style.BreakType.PAGE_BEFORE,xCursorProps_Assert_doc.getPropertyValue("BreakType")); 744 assertEquals("assert paragraph break","Left Page",xCursorProps_Assert_doc.getPropertyValue("PageDescName")); 745 assertEquals("assert paragraph break",(short)3,xCursorProps_Assert_doc.getPropertyValue("PageNumberOffset")); 746 } 747 @Test@Ignore("Bug #120721 - [testUNO patch]the page_endnote_break type change to page_default_break when save to doc.") 748 public void InsertPage_RightPage_BeforeBreak() throws Exception { 749 750 xTextDocument =(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter")); 751 xText=xTextDocument.getText(); 752 XTextCursor xTextCursor = xText.createTextCursor(); 753 // get internal service factory of the document 754 xWriterFactory =(XMultiServiceFactory)UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument); 755 // Create a new table from the document's factory 756 XTextTable xTable = (XTextTable)UnoRuntime.queryInterface(XTextTable.class, xWriterFactory.createInstance("com.sun.star.text.TextTable")); 757 xText.insertTextContent(xTextCursor,xTable,false); 758 XPropertySet xCursorProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class,xTable); 759 xCursorProps.setPropertyValue("BreakType",com.sun.star.style.BreakType.PAGE_BEFORE); 760 xCursorProps.setPropertyValue("PageDescName","Right Page"); 761 xCursorProps.setPropertyValue("PageNumberOffset",(short)3); 762 //save to odt 763 XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument); 764 PropertyValue[] aStoreProperties_odt = new PropertyValue[2]; 765 aStoreProperties_odt[0] = new PropertyValue(); 766 aStoreProperties_odt[1] = new PropertyValue(); 767 aStoreProperties_odt[0].Name = "Override"; 768 aStoreProperties_odt[0].Value = true; 769 aStoreProperties_odt[1].Name = "FilterName"; 770 aStoreProperties_odt[1].Value = "StarOffice XML (Writer)"; 771 xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt); 772 //save to doc 773 XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument); 774 PropertyValue[] aStoreProperties_doc = new PropertyValue[2]; 775 aStoreProperties_doc[0] = new PropertyValue(); 776 aStoreProperties_doc[1] = new PropertyValue(); 777 aStoreProperties_doc[0].Name = "Override"; 778 aStoreProperties_doc[0].Value = true; 779 aStoreProperties_doc[1].Name = "FilterName"; 780 aStoreProperties_doc[1].Value = "MS Word 97"; 781 xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc); 782 app.closeDocument(xTextDocument); 783 784 //reopen the document 785 XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt"))); 786 XTextTablesSupplier xTablesSupplier_odt = (XTextTablesSupplier) UnoRuntime.queryInterface(XTextTablesSupplier.class, assertDocument_odt ); 787 XIndexAccess xIndexedTables_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xTablesSupplier_odt.getTextTables()); 788 Object xTable_obj_odt=xIndexedTables_odt.getByIndex(0); 789 XTextTable xTable_Assert_odt=(XTextTable) UnoRuntime.queryInterface(XTextTable.class, xTable_obj_odt); 790 XPropertySet xCursorProps_Assert_odt = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class,xTable_Assert_odt); 791 //verify paragraph break 792 assertEquals("assert paragraph break",com.sun.star.style.BreakType.PAGE_BEFORE,xCursorProps_Assert_odt.getPropertyValue("BreakType")); 793 assertEquals("assert paragraph break","Right Page",xCursorProps_Assert_odt.getPropertyValue("PageDescName")); 794 assertEquals("assert paragraph break",(short)3,xCursorProps_Assert_odt.getPropertyValue("PageNumberOffset")); 795 //reopen the doc document and assert table break 796 XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc"))); 797 XTextTablesSupplier xTablesSupplier_doc = (XTextTablesSupplier) UnoRuntime.queryInterface(XTextTablesSupplier.class, assertDocument_doc ); 798 XIndexAccess xIndexedTables_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xTablesSupplier_doc.getTextTables()); 799 Object xTable_obj_doc=xIndexedTables_doc.getByIndex(0); 800 XTextTable xTable_Assert_doc=(XTextTable) UnoRuntime.queryInterface(XTextTable.class, xTable_obj_doc); 801 XPropertySet xCursorProps_Assert_doc = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class,xTable_Assert_doc); 802 //verify paragraph background color 803 assertEquals("assert paragraph break",com.sun.star.style.BreakType.PAGE_BEFORE,xCursorProps_Assert_doc.getPropertyValue("BreakType")); 804 assertEquals("assert paragraph break","Right Page",xCursorProps_Assert_doc.getPropertyValue("PageDescName")); 805 assertEquals("assert paragraph break",(short)3,xCursorProps_Assert_doc.getPropertyValue("PageNumberOffset")); 806 } 807 } 808