1 package fvt.uno.sw.paragraph;
2 
3 import static org.junit.Assert.*;
4 
5 import org.junit.After;
6 import org.junit.Before;
7 import org.junit.Test;
8 import org.openoffice.test.common.FileUtil;
9 import org.openoffice.test.common.Testspace;
10 import org.openoffice.test.uno.UnoApp;
11 
12 import com.sun.star.style.NumberingType;
13 import com.sun.star.text.*;
14 import com.sun.star.beans.*;
15 import com.sun.star.container.XIndexAccess;
16 import com.sun.star.container.XIndexReplace;
17 import com.sun.star.frame.XStorable;
18 import com.sun.star.lang.XMultiServiceFactory;
19 import com.sun.star.uno.UnoRuntime;
20 
21 public class ParagraphNumberingAndBulletCharacterStyle {
22 	private static final UnoApp app = new UnoApp();
23 	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 	/*
36 	 * test paragraph background color
37 	 * 1.new a text document
38 	 * 2.insert some text
39 	 * 3.set paragraph numbering bullet character style
40 	 * 4.save and close the document
41 	 * 5.reload the saved document and check the paragraph numbering bullet character style
42 	 */
43 	@Test
44 	public void testNumberingBulletCharacterStyle_Rubies() throws Exception {
45 
46 		XTextDocument xTextDocument = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter"));// new a text document
47 		xText = xTextDocument.getText();
48 		xText.setString("we are Chinese,they are American.we are all living in one earth!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!" +
49 				"Hello,world!Hello,world!");
50 		//create cursor to select paragraph and formating paragraph
51 		XTextCursor xTextCursor = xText.createTextCursor();
52 		//create paragraph property set
53 		XPropertySet xTextProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTextCursor);
54 		//create document service factory
55 		XMultiServiceFactory  xWriterFactory= (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument);
56 		//set numbering character
57 		XIndexAccess xNumRule = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class,xWriterFactory.createInstance("com.sun.star.text.NumberingRules"));
58 		PropertyValue[] propsRule = {new PropertyValue(),new PropertyValue()};
59 		propsRule[0].Name = "NumberingType";
60 		propsRule[0].Value = NumberingType.ARABIC;
61 		propsRule[1].Name = "CharStyleName";
62 		propsRule[1].Value = "Rubies";
63 		XIndexReplace xReplaceRule = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule);
64 		xReplaceRule.replaceByIndex(0, propsRule);
65 		//set paragraph numbering and bullet character
66 		xTextProps.setPropertyValue("NumberingRules", xNumRule);
67 		//save to odt
68 		XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
69 		PropertyValue[] aStoreProperties_odt = new PropertyValue[2];
70 		aStoreProperties_odt[0] = new PropertyValue();
71 		aStoreProperties_odt[1] = new PropertyValue();
72 		aStoreProperties_odt[0].Name = "Override";
73 		aStoreProperties_odt[0].Value = true;
74 		aStoreProperties_odt[1].Name = "FilterName";
75 		aStoreProperties_odt[1].Value = "writer8";
76 		xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt);
77 		//save to doc
78 		XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
79 		PropertyValue[] aStoreProperties_doc = new PropertyValue[2];
80 		aStoreProperties_doc[0] = new PropertyValue();
81 		aStoreProperties_doc[1] = new PropertyValue();
82 		aStoreProperties_doc[0].Name = "Override";
83 		aStoreProperties_doc[0].Value = true;
84 		aStoreProperties_doc[1].Name = "FilterName";
85 		aStoreProperties_doc[1].Value = "MS Word 97";
86 		xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc);
87 		app.closeDocument(xTextDocument);
88 
89 		//reopen the document
90 		XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt")));
91 		XPropertySet xCursorProps_Assert_odt = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_odt.getText().createTextCursor());
92 		XIndexAccess xNumRule_assert_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_odt.getPropertyValue("NumberingRules"));
93 		XIndexReplace xReplaceRule_assert_odt = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule_assert_odt);
94 		PropertyValue[] propsRule_assert_odt=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xReplaceRule_assert_odt.getByIndex(0));
95 		//verify paragraph numbering and bullet alignment
96 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_odt[4].Name);
97 		assertEquals("assert numbering and bullet","Rubies",propsRule_assert_odt[4].Value);
98 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_odt[11].Name);
99 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_odt[11].Value);
100 
101 		//reopen the document
102 		XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc")));
103 		XPropertySet xCursorProps_Assert_doc = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_doc.getText().createTextCursor());
104 		XIndexAccess xNumRule_assert_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_doc.getPropertyValue("NumberingRules"));
105 		PropertyValue[] propsRule_assert_doc=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xNumRule_assert_doc.getByIndex(0));
106 		//verify paragraph numbering and bullet alignment
107 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_doc[4].Name);
108 		assertEquals("assert numbering and bullet","WW8Num1z0",propsRule_assert_doc[4].Value);
109 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_doc[11].Name);
110 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_doc[11].Value);
111 	}
112 	@Test
113 	public void testNumberingBulletCharacterStyle_Emphasis() throws Exception {
114 
115 		XTextDocument xTextDocument = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter"));// new a text document
116 		xText = xTextDocument.getText();
117 		xText.setString("we are Chinese,they are American.we are all living in one earth!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!" +
118 				"Hello,world!Hello,world!");
119 		//create cursor to select paragraph and formating paragraph
120 		XTextCursor xTextCursor = xText.createTextCursor();
121 		//create paragraph property set
122 		XPropertySet xTextProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTextCursor);
123 		//create document service factory
124 		XMultiServiceFactory  xWriterFactory= (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument);
125 		//set numbering character
126 		XIndexAccess xNumRule = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class,xWriterFactory.createInstance("com.sun.star.text.NumberingRules"));
127 		PropertyValue[] propsRule = {new PropertyValue(),new PropertyValue()};
128 		propsRule[0].Name = "NumberingType";
129 		propsRule[0].Value = NumberingType.ARABIC;
130 		propsRule[1].Name = "CharStyleName";
131 		propsRule[1].Value = "Emphasis";
132 		XIndexReplace xReplaceRule = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule);
133 		xReplaceRule.replaceByIndex(0, propsRule);
134 		//set paragraph numbering and bullet character
135 		xTextProps.setPropertyValue("NumberingRules", xNumRule);
136 		//save to odt
137 		XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
138 		PropertyValue[] aStoreProperties_odt = new PropertyValue[2];
139 		aStoreProperties_odt[0] = new PropertyValue();
140 		aStoreProperties_odt[1] = new PropertyValue();
141 		aStoreProperties_odt[0].Name = "Override";
142 		aStoreProperties_odt[0].Value = true;
143 		aStoreProperties_odt[1].Name = "FilterName";
144 		aStoreProperties_odt[1].Value = "writer8";
145 		xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt);
146 		//save to doc
147 		XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
148 		PropertyValue[] aStoreProperties_doc = new PropertyValue[2];
149 		aStoreProperties_doc[0] = new PropertyValue();
150 		aStoreProperties_doc[1] = new PropertyValue();
151 		aStoreProperties_doc[0].Name = "Override";
152 		aStoreProperties_doc[0].Value = true;
153 		aStoreProperties_doc[1].Name = "FilterName";
154 		aStoreProperties_doc[1].Value = "MS Word 97";
155 		xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc);
156 		app.closeDocument(xTextDocument);
157 
158 		//reopen the document
159 		XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt")));
160 		XPropertySet xCursorProps_Assert_odt = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_odt.getText().createTextCursor());
161 		XIndexAccess xNumRule_assert_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_odt.getPropertyValue("NumberingRules"));
162 		XIndexReplace xReplaceRule_assert_odt = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule_assert_odt);
163 		PropertyValue[] propsRule_assert_odt=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xReplaceRule_assert_odt.getByIndex(0));
164 		//verify paragraph numbering and bullet alignment
165 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_odt[4].Name);
166 		assertEquals("assert numbering and bullet","Emphasis",propsRule_assert_odt[4].Value);
167 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_odt[11].Name);
168 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_odt[11].Value);
169 
170 		//reopen the document
171 		XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc")));
172 		XPropertySet xCursorProps_Assert_doc = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_doc.getText().createTextCursor());
173 		XIndexAccess xNumRule_assert_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_doc.getPropertyValue("NumberingRules"));
174 		PropertyValue[] propsRule_assert_doc=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xNumRule_assert_doc.getByIndex(0));
175 		//verify paragraph numbering and bullet alignment
176 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_doc[4].Name);
177 		assertEquals("assert numbering and bullet","WW8Num1z0",propsRule_assert_doc[4].Value);
178 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_doc[11].Name);
179 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_doc[11].Value);
180 	}
181 	@Test
182 	public void testNumberingBulletCharacterStyle_FootnoteCharacters() throws Exception {
183 
184 		XTextDocument xTextDocument = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter"));// new a text document
185 		xText = xTextDocument.getText();
186 		xText.setString("we are Chinese,they are American.we are all living in one earth!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!" +
187 				"Hello,world!Hello,world!");
188 		//create cursor to select paragraph and formating paragraph
189 		XTextCursor xTextCursor = xText.createTextCursor();
190 		//create paragraph property set
191 		XPropertySet xTextProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTextCursor);
192 		//create document service factory
193 		XMultiServiceFactory  xWriterFactory= (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument);
194 		//set numbering character
195 		XIndexAccess xNumRule = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class,xWriterFactory.createInstance("com.sun.star.text.NumberingRules"));
196 		PropertyValue[] propsRule = {new PropertyValue(),new PropertyValue()};
197 		propsRule[0].Name = "NumberingType";
198 		propsRule[0].Value = NumberingType.ARABIC;
199 		propsRule[1].Name = "CharStyleName";
200 		propsRule[1].Value = "Footnote Characters";
201 		XIndexReplace xReplaceRule = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule);
202 		xReplaceRule.replaceByIndex(0, propsRule);
203 		//set paragraph numbering and bullet character
204 		xTextProps.setPropertyValue("NumberingRules", xNumRule);
205 		//save to odt
206 		XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
207 		PropertyValue[] aStoreProperties_odt = new PropertyValue[2];
208 		aStoreProperties_odt[0] = new PropertyValue();
209 		aStoreProperties_odt[1] = new PropertyValue();
210 		aStoreProperties_odt[0].Name = "Override";
211 		aStoreProperties_odt[0].Value = true;
212 		aStoreProperties_odt[1].Name = "FilterName";
213 		aStoreProperties_odt[1].Value = "writer8";
214 		xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt);
215 		//save to doc
216 		XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
217 		PropertyValue[] aStoreProperties_doc = new PropertyValue[2];
218 		aStoreProperties_doc[0] = new PropertyValue();
219 		aStoreProperties_doc[1] = new PropertyValue();
220 		aStoreProperties_doc[0].Name = "Override";
221 		aStoreProperties_doc[0].Value = true;
222 		aStoreProperties_doc[1].Name = "FilterName";
223 		aStoreProperties_doc[1].Value = "MS Word 97";
224 		xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc);
225 		app.closeDocument(xTextDocument);
226 
227 		//reopen the document
228 		XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt")));
229 		XPropertySet xCursorProps_Assert_odt = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_odt.getText().createTextCursor());
230 		XIndexAccess xNumRule_assert_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_odt.getPropertyValue("NumberingRules"));
231 		XIndexReplace xReplaceRule_assert_odt = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule_assert_odt);
232 		PropertyValue[] propsRule_assert_odt=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xReplaceRule_assert_odt.getByIndex(0));
233 		//verify paragraph numbering and bullet alignment
234 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_odt[4].Name);
235 		assertEquals("assert numbering and bullet","Footnote Symbol",propsRule_assert_odt[4].Value);
236 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_odt[11].Name);
237 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_odt[11].Value);
238 
239 		//reopen the document
240 		XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc")));
241 		XPropertySet xCursorProps_Assert_doc = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_doc.getText().createTextCursor());
242 		XIndexAccess xNumRule_assert_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_doc.getPropertyValue("NumberingRules"));
243 		PropertyValue[] propsRule_assert_doc=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xNumRule_assert_doc.getByIndex(0));
244 		//verify paragraph numbering and bullet alignment
245 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_doc[4].Name);
246 		assertEquals("assert numbering and bullet","WW8Num1z0",propsRule_assert_doc[4].Value);
247 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_doc[11].Name);
248 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_doc[11].Value);
249 	}
250 	@Test
251 	public void testNumberingBulletCharacterStyle_PageNumber() throws Exception {
252 
253 		XTextDocument xTextDocument = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter"));// new a text document
254 		xText = xTextDocument.getText();
255 		xText.setString("we are Chinese,they are American.we are all living in one earth!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!" +
256 				"Hello,world!Hello,world!");
257 		//create cursor to select paragraph and formating paragraph
258 		XTextCursor xTextCursor = xText.createTextCursor();
259 		//create paragraph property set
260 		XPropertySet xTextProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTextCursor);
261 		//create document service factory
262 		XMultiServiceFactory  xWriterFactory= (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument);
263 		//set numbering character
264 		XIndexAccess xNumRule = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class,xWriterFactory.createInstance("com.sun.star.text.NumberingRules"));
265 		PropertyValue[] propsRule = {new PropertyValue(),new PropertyValue()};
266 		propsRule[0].Name = "NumberingType";
267 		propsRule[0].Value = NumberingType.ARABIC;
268 		propsRule[1].Name = "CharStyleName";
269 		propsRule[1].Value = "Page Number";
270 		XIndexReplace xReplaceRule = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule);
271 		xReplaceRule.replaceByIndex(0, propsRule);
272 		//set paragraph numbering and bullet character
273 		xTextProps.setPropertyValue("NumberingRules", xNumRule);
274 		//save to odt
275 		XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
276 		PropertyValue[] aStoreProperties_odt = new PropertyValue[2];
277 		aStoreProperties_odt[0] = new PropertyValue();
278 		aStoreProperties_odt[1] = new PropertyValue();
279 		aStoreProperties_odt[0].Name = "Override";
280 		aStoreProperties_odt[0].Value = true;
281 		aStoreProperties_odt[1].Name = "FilterName";
282 		aStoreProperties_odt[1].Value = "writer8";
283 		xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt);
284 		//save to doc
285 		XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
286 		PropertyValue[] aStoreProperties_doc = new PropertyValue[2];
287 		aStoreProperties_doc[0] = new PropertyValue();
288 		aStoreProperties_doc[1] = new PropertyValue();
289 		aStoreProperties_doc[0].Name = "Override";
290 		aStoreProperties_doc[0].Value = true;
291 		aStoreProperties_doc[1].Name = "FilterName";
292 		aStoreProperties_doc[1].Value = "MS Word 97";
293 		xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc);
294 		app.closeDocument(xTextDocument);
295 
296 		//reopen the document
297 		XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt")));
298 		XPropertySet xCursorProps_Assert_odt = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_odt.getText().createTextCursor());
299 		XIndexAccess xNumRule_assert_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_odt.getPropertyValue("NumberingRules"));
300 		XIndexReplace xReplaceRule_assert_odt = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule_assert_odt);
301 		PropertyValue[] propsRule_assert_odt=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xReplaceRule_assert_odt.getByIndex(0));
302 		//verify paragraph numbering and bullet alignment
303 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_odt[4].Name);
304 		assertEquals("assert numbering and bullet","Page Number",propsRule_assert_odt[4].Value);
305 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_odt[11].Name);
306 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_odt[11].Value);
307 
308 		//reopen the document
309 		XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc")));
310 		XPropertySet xCursorProps_Assert_doc = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_doc.getText().createTextCursor());
311 		XIndexAccess xNumRule_assert_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_doc.getPropertyValue("NumberingRules"));
312 		PropertyValue[] propsRule_assert_doc=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xNumRule_assert_doc.getByIndex(0));
313 		//verify paragraph numbering and bullet alignment
314 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_doc[4].Name);
315 		assertEquals("assert numbering and bullet","WW8Num1z0",propsRule_assert_doc[4].Value);
316 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_doc[11].Name);
317 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_doc[11].Value);
318 	}
319 	@Test
320 	public void testNumberingBulletCharacterStyle_CaptionCharacters() throws Exception {
321 
322 		XTextDocument xTextDocument = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter"));// new a text document
323 		xText = xTextDocument.getText();
324 		xText.setString("we are Chinese,they are American.we are all living in one earth!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!" +
325 				"Hello,world!Hello,world!");
326 		//create cursor to select paragraph and formating paragraph
327 		XTextCursor xTextCursor = xText.createTextCursor();
328 		//create paragraph property set
329 		XPropertySet xTextProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTextCursor);
330 		//create document service factory
331 		XMultiServiceFactory  xWriterFactory= (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument);
332 		//set numbering character
333 		XIndexAccess xNumRule = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class,xWriterFactory.createInstance("com.sun.star.text.NumberingRules"));
334 		PropertyValue[] propsRule = {new PropertyValue(),new PropertyValue()};
335 		propsRule[0].Name = "NumberingType";
336 		propsRule[0].Value = NumberingType.ARABIC;
337 		propsRule[1].Name = "CharStyleName";
338 		propsRule[1].Value = "Caption Characters";
339 		XIndexReplace xReplaceRule = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule);
340 		xReplaceRule.replaceByIndex(0, propsRule);
341 		//set paragraph numbering and bullet character
342 		xTextProps.setPropertyValue("NumberingRules", xNumRule);
343 		//save to odt
344 		XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
345 		PropertyValue[] aStoreProperties_odt = new PropertyValue[2];
346 		aStoreProperties_odt[0] = new PropertyValue();
347 		aStoreProperties_odt[1] = new PropertyValue();
348 		aStoreProperties_odt[0].Name = "Override";
349 		aStoreProperties_odt[0].Value = true;
350 		aStoreProperties_odt[1].Name = "FilterName";
351 		aStoreProperties_odt[1].Value = "writer8";
352 		xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt);
353 		//save to doc
354 		XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
355 		PropertyValue[] aStoreProperties_doc = new PropertyValue[2];
356 		aStoreProperties_doc[0] = new PropertyValue();
357 		aStoreProperties_doc[1] = new PropertyValue();
358 		aStoreProperties_doc[0].Name = "Override";
359 		aStoreProperties_doc[0].Value = true;
360 		aStoreProperties_doc[1].Name = "FilterName";
361 		aStoreProperties_doc[1].Value = "MS Word 97";
362 		xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc);
363 		app.closeDocument(xTextDocument);
364 
365 		//reopen the document
366 		XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt")));
367 		XPropertySet xCursorProps_Assert_odt = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_odt.getText().createTextCursor());
368 		XIndexAccess xNumRule_assert_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_odt.getPropertyValue("NumberingRules"));
369 		XIndexReplace xReplaceRule_assert_odt = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule_assert_odt);
370 		PropertyValue[] propsRule_assert_odt=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xReplaceRule_assert_odt.getByIndex(0));
371 		//verify paragraph numbering and bullet alignment
372 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_odt[4].Name);
373 		assertEquals("assert numbering and bullet","Caption characters",propsRule_assert_odt[4].Value);
374 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_odt[11].Name);
375 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_odt[11].Value);
376 
377 		//reopen the document
378 		XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc")));
379 		XPropertySet xCursorProps_Assert_doc = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_doc.getText().createTextCursor());
380 		XIndexAccess xNumRule_assert_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_doc.getPropertyValue("NumberingRules"));
381 		PropertyValue[] propsRule_assert_doc=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xNumRule_assert_doc.getByIndex(0));
382 		//verify paragraph numbering and bullet alignment
383 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_doc[4].Name);
384 		assertEquals("assert numbering and bullet","WW8Num1z0",propsRule_assert_doc[4].Value);
385 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_doc[11].Name);
386 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_doc[11].Value);
387 	}
388 	@Test
389 	public void testNumberingBulletCharacterStyle_DropCaps() throws Exception {
390 
391 		XTextDocument xTextDocument = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter"));// new a text document
392 		xText = xTextDocument.getText();
393 		xText.setString("we are Chinese,they are American.we are all living in one earth!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!" +
394 				"Hello,world!Hello,world!");
395 		//create cursor to select paragraph and formating paragraph
396 		XTextCursor xTextCursor = xText.createTextCursor();
397 		//create paragraph property set
398 		XPropertySet xTextProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTextCursor);
399 		//create document service factory
400 		XMultiServiceFactory  xWriterFactory= (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument);
401 		//set numbering character
402 		XIndexAccess xNumRule = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class,xWriterFactory.createInstance("com.sun.star.text.NumberingRules"));
403 		PropertyValue[] propsRule = {new PropertyValue(),new PropertyValue()};
404 		propsRule[0].Name = "NumberingType";
405 		propsRule[0].Value = NumberingType.ARABIC;
406 		propsRule[1].Name = "CharStyleName";
407 		propsRule[1].Value = "Drop Caps";
408 		XIndexReplace xReplaceRule = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule);
409 		xReplaceRule.replaceByIndex(0, propsRule);
410 		//set paragraph numbering and bullet character
411 		xTextProps.setPropertyValue("NumberingRules", xNumRule);
412 		//save to odt
413 		XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
414 		PropertyValue[] aStoreProperties_odt = new PropertyValue[2];
415 		aStoreProperties_odt[0] = new PropertyValue();
416 		aStoreProperties_odt[1] = new PropertyValue();
417 		aStoreProperties_odt[0].Name = "Override";
418 		aStoreProperties_odt[0].Value = true;
419 		aStoreProperties_odt[1].Name = "FilterName";
420 		aStoreProperties_odt[1].Value = "writer8";
421 		xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt);
422 		//save to doc
423 		XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
424 		PropertyValue[] aStoreProperties_doc = new PropertyValue[2];
425 		aStoreProperties_doc[0] = new PropertyValue();
426 		aStoreProperties_doc[1] = new PropertyValue();
427 		aStoreProperties_doc[0].Name = "Override";
428 		aStoreProperties_doc[0].Value = true;
429 		aStoreProperties_doc[1].Name = "FilterName";
430 		aStoreProperties_doc[1].Value = "MS Word 97";
431 		xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc);
432 		app.closeDocument(xTextDocument);
433 
434 		//reopen the document
435 		XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt")));
436 		XPropertySet xCursorProps_Assert_odt = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_odt.getText().createTextCursor());
437 		XIndexAccess xNumRule_assert_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_odt.getPropertyValue("NumberingRules"));
438 		XIndexReplace xReplaceRule_assert_odt = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule_assert_odt);
439 		PropertyValue[] propsRule_assert_odt=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xReplaceRule_assert_odt.getByIndex(0));
440 		//verify paragraph numbering and bullet alignment
441 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_odt[4].Name);
442 		assertEquals("assert numbering and bullet","Drop Caps",propsRule_assert_odt[4].Value);
443 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_odt[11].Name);
444 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_odt[11].Value);
445 
446 		//reopen the document
447 		XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc")));
448 		XPropertySet xCursorProps_Assert_doc = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_doc.getText().createTextCursor());
449 		XIndexAccess xNumRule_assert_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_doc.getPropertyValue("NumberingRules"));
450 		PropertyValue[] propsRule_assert_doc=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xNumRule_assert_doc.getByIndex(0));
451 		//verify paragraph numbering and bullet alignment
452 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_doc[4].Name);
453 		assertEquals("assert numbering and bullet","WW8Num1z0",propsRule_assert_doc[4].Value);
454 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_doc[11].Name);
455 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_doc[11].Value);
456 	}
457 	@Test
458 	public void testNumberingBulletCharacterStyle_NumberingSymbols() throws Exception {
459 
460 		XTextDocument xTextDocument = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter"));// new a text document
461 		xText = xTextDocument.getText();
462 		xText.setString("we are Chinese,they are American.we are all living in one earth!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!" +
463 				"Hello,world!Hello,world!");
464 		//create cursor to select paragraph and formating paragraph
465 		XTextCursor xTextCursor = xText.createTextCursor();
466 		//create paragraph property set
467 		XPropertySet xTextProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTextCursor);
468 		//create document service factory
469 		XMultiServiceFactory  xWriterFactory= (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument);
470 		//set numbering character
471 		XIndexAccess xNumRule = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class,xWriterFactory.createInstance("com.sun.star.text.NumberingRules"));
472 		PropertyValue[] propsRule = {new PropertyValue(),new PropertyValue()};
473 		propsRule[0].Name = "NumberingType";
474 		propsRule[0].Value = NumberingType.ARABIC;
475 		propsRule[1].Name = "CharStyleName";
476 		propsRule[1].Value = "Numbering Symbols";
477 		XIndexReplace xReplaceRule = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule);
478 		xReplaceRule.replaceByIndex(0, propsRule);
479 		//set paragraph numbering and bullet character
480 		xTextProps.setPropertyValue("NumberingRules", xNumRule);
481 		//save to odt
482 		XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
483 		PropertyValue[] aStoreProperties_odt = new PropertyValue[2];
484 		aStoreProperties_odt[0] = new PropertyValue();
485 		aStoreProperties_odt[1] = new PropertyValue();
486 		aStoreProperties_odt[0].Name = "Override";
487 		aStoreProperties_odt[0].Value = true;
488 		aStoreProperties_odt[1].Name = "FilterName";
489 		aStoreProperties_odt[1].Value = "writer8";
490 		xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt);
491 		//save to doc
492 		XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
493 		PropertyValue[] aStoreProperties_doc = new PropertyValue[2];
494 		aStoreProperties_doc[0] = new PropertyValue();
495 		aStoreProperties_doc[1] = new PropertyValue();
496 		aStoreProperties_doc[0].Name = "Override";
497 		aStoreProperties_doc[0].Value = true;
498 		aStoreProperties_doc[1].Name = "FilterName";
499 		aStoreProperties_doc[1].Value = "MS Word 97";
500 		xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc);
501 		app.closeDocument(xTextDocument);
502 
503 		//reopen the document
504 		XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt")));
505 		XPropertySet xCursorProps_Assert_odt = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_odt.getText().createTextCursor());
506 		XIndexAccess xNumRule_assert_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_odt.getPropertyValue("NumberingRules"));
507 		XIndexReplace xReplaceRule_assert_odt = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule_assert_odt);
508 		PropertyValue[] propsRule_assert_odt=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xReplaceRule_assert_odt.getByIndex(0));
509 		//verify paragraph numbering and bullet alignment
510 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_odt[4].Name);
511 		assertEquals("assert numbering and bullet","Numbering Symbols",propsRule_assert_odt[4].Value);
512 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_odt[11].Name);
513 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_odt[11].Value);
514 
515 		//reopen the document
516 		XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc")));
517 		XPropertySet xCursorProps_Assert_doc = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_doc.getText().createTextCursor());
518 		XIndexAccess xNumRule_assert_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_doc.getPropertyValue("NumberingRules"));
519 		PropertyValue[] propsRule_assert_doc=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xNumRule_assert_doc.getByIndex(0));
520 		//verify paragraph numbering and bullet alignment
521 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_doc[4].Name);
522 		assertEquals("assert numbering and bullet","WW8Num1z0",propsRule_assert_doc[4].Value);
523 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_doc[11].Name);
524 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_doc[11].Value);
525 	}
526 	@Test
527 	public void testNumberingBulletCharacterStyle_Bullets() throws Exception {
528 
529 		XTextDocument xTextDocument = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter"));// new a text document
530 		xText = xTextDocument.getText();
531 		xText.setString("we are Chinese,they are American.we are all living in one earth!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!" +
532 				"Hello,world!Hello,world!");
533 		//create cursor to select paragraph and formating paragraph
534 		XTextCursor xTextCursor = xText.createTextCursor();
535 		//create paragraph property set
536 		XPropertySet xTextProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTextCursor);
537 		//create document service factory
538 		XMultiServiceFactory  xWriterFactory= (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument);
539 		//set numbering character
540 		XIndexAccess xNumRule = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class,xWriterFactory.createInstance("com.sun.star.text.NumberingRules"));
541 		PropertyValue[] propsRule = {new PropertyValue(),new PropertyValue()};
542 		propsRule[0].Name = "NumberingType";
543 		propsRule[0].Value = NumberingType.ARABIC;
544 		propsRule[1].Name = "CharStyleName";
545 		propsRule[1].Value = "Bullets";
546 		XIndexReplace xReplaceRule = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule);
547 		xReplaceRule.replaceByIndex(0, propsRule);
548 		//set paragraph numbering and bullet character
549 		xTextProps.setPropertyValue("NumberingRules", xNumRule);
550 		//save to odt
551 		XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
552 		PropertyValue[] aStoreProperties_odt = new PropertyValue[2];
553 		aStoreProperties_odt[0] = new PropertyValue();
554 		aStoreProperties_odt[1] = new PropertyValue();
555 		aStoreProperties_odt[0].Name = "Override";
556 		aStoreProperties_odt[0].Value = true;
557 		aStoreProperties_odt[1].Name = "FilterName";
558 		aStoreProperties_odt[1].Value = "writer8";
559 		xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt);
560 		//save to doc
561 		XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
562 		PropertyValue[] aStoreProperties_doc = new PropertyValue[2];
563 		aStoreProperties_doc[0] = new PropertyValue();
564 		aStoreProperties_doc[1] = new PropertyValue();
565 		aStoreProperties_doc[0].Name = "Override";
566 		aStoreProperties_doc[0].Value = true;
567 		aStoreProperties_doc[1].Name = "FilterName";
568 		aStoreProperties_doc[1].Value = "MS Word 97";
569 		xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc);
570 		app.closeDocument(xTextDocument);
571 
572 		//reopen the document
573 		XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt")));
574 		XPropertySet xCursorProps_Assert_odt = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_odt.getText().createTextCursor());
575 		XIndexAccess xNumRule_assert_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_odt.getPropertyValue("NumberingRules"));
576 		XIndexReplace xReplaceRule_assert_odt = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule_assert_odt);
577 		PropertyValue[] propsRule_assert_odt=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xReplaceRule_assert_odt.getByIndex(0));
578 		//verify paragraph numbering and bullet alignment
579 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_odt[4].Name);
580 		assertEquals("assert numbering and bullet","Bullet Symbols",propsRule_assert_odt[4].Value);
581 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_odt[11].Name);
582 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_odt[11].Value);
583 
584 		//reopen the document
585 		XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc")));
586 		XPropertySet xCursorProps_Assert_doc = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_doc.getText().createTextCursor());
587 		XIndexAccess xNumRule_assert_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_doc.getPropertyValue("NumberingRules"));
588 		PropertyValue[] propsRule_assert_doc=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xNumRule_assert_doc.getByIndex(0));
589 		//verify paragraph numbering and bullet alignment
590 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_doc[4].Name);
591 		assertEquals("assert numbering and bullet","WW8Num1z0",propsRule_assert_doc[4].Value);
592 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_doc[11].Name);
593 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_doc[11].Value);
594 	}
595 	@Test
596 	public void testNumberingBulletCharacterStyle_InternetLink() throws Exception {
597 
598 		XTextDocument xTextDocument = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter"));// new a text document
599 		xText = xTextDocument.getText();
600 		xText.setString("we are Chinese,they are American.we are all living in one earth!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!" +
601 				"Hello,world!Hello,world!");
602 		//create cursor to select paragraph and formating paragraph
603 		XTextCursor xTextCursor = xText.createTextCursor();
604 		//create paragraph property set
605 		XPropertySet xTextProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTextCursor);
606 		//create document service factory
607 		XMultiServiceFactory  xWriterFactory= (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument);
608 		//set numbering character
609 		XIndexAccess xNumRule = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class,xWriterFactory.createInstance("com.sun.star.text.NumberingRules"));
610 		PropertyValue[] propsRule = {new PropertyValue(),new PropertyValue()};
611 		propsRule[0].Name = "NumberingType";
612 		propsRule[0].Value = NumberingType.ARABIC;
613 		propsRule[1].Name = "CharStyleName";
614 		propsRule[1].Value = "Internet Link";
615 		XIndexReplace xReplaceRule = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule);
616 		xReplaceRule.replaceByIndex(0, propsRule);
617 		//set paragraph numbering and bullet character
618 		xTextProps.setPropertyValue("NumberingRules", xNumRule);
619 		//save to odt
620 		XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
621 		PropertyValue[] aStoreProperties_odt = new PropertyValue[2];
622 		aStoreProperties_odt[0] = new PropertyValue();
623 		aStoreProperties_odt[1] = new PropertyValue();
624 		aStoreProperties_odt[0].Name = "Override";
625 		aStoreProperties_odt[0].Value = true;
626 		aStoreProperties_odt[1].Name = "FilterName";
627 		aStoreProperties_odt[1].Value = "writer8";
628 		xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt);
629 		//save to doc
630 		XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
631 		PropertyValue[] aStoreProperties_doc = new PropertyValue[2];
632 		aStoreProperties_doc[0] = new PropertyValue();
633 		aStoreProperties_doc[1] = new PropertyValue();
634 		aStoreProperties_doc[0].Name = "Override";
635 		aStoreProperties_doc[0].Value = true;
636 		aStoreProperties_doc[1].Name = "FilterName";
637 		aStoreProperties_doc[1].Value = "MS Word 97";
638 		xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc);
639 		app.closeDocument(xTextDocument);
640 
641 		//reopen the document
642 		XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt")));
643 		XPropertySet xCursorProps_Assert_odt = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_odt.getText().createTextCursor());
644 		XIndexAccess xNumRule_assert_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_odt.getPropertyValue("NumberingRules"));
645 		XIndexReplace xReplaceRule_assert_odt = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule_assert_odt);
646 		PropertyValue[] propsRule_assert_odt=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xReplaceRule_assert_odt.getByIndex(0));
647 		//verify paragraph numbering and bullet alignment
648 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_odt[4].Name);
649 		assertEquals("assert numbering and bullet","Internet link",propsRule_assert_odt[4].Value);
650 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_odt[11].Name);
651 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_odt[11].Value);
652 
653 		//reopen the document
654 		XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc")));
655 		XPropertySet xCursorProps_Assert_doc = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_doc.getText().createTextCursor());
656 		XIndexAccess xNumRule_assert_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_doc.getPropertyValue("NumberingRules"));
657 		PropertyValue[] propsRule_assert_doc=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xNumRule_assert_doc.getByIndex(0));
658 		//verify paragraph numbering and bullet alignment
659 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_doc[4].Name);
660 		assertEquals("assert numbering and bullet","WW8Num1z0",propsRule_assert_doc[4].Value);
661 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_doc[11].Name);
662 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_doc[11].Value);
663 	}
664 	@Test
665 	public void testNumberingBulletCharacterStyle_VisitedInternetLink() throws Exception {
666 
667 		XTextDocument xTextDocument = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter"));// new a text document
668 		xText = xTextDocument.getText();
669 		xText.setString("we are Chinese,they are American.we are all living in one earth!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!" +
670 				"Hello,world!Hello,world!");
671 		//create cursor to select paragraph and formating paragraph
672 		XTextCursor xTextCursor = xText.createTextCursor();
673 		//create paragraph property set
674 		XPropertySet xTextProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTextCursor);
675 		//create document service factory
676 		XMultiServiceFactory  xWriterFactory= (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument);
677 		//set numbering character
678 		XIndexAccess xNumRule = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class,xWriterFactory.createInstance("com.sun.star.text.NumberingRules"));
679 		PropertyValue[] propsRule = {new PropertyValue(),new PropertyValue()};
680 		propsRule[0].Name = "NumberingType";
681 		propsRule[0].Value = NumberingType.ARABIC;
682 		propsRule[1].Name = "CharStyleName";
683 		propsRule[1].Value = "Visited Internet Link";
684 		XIndexReplace xReplaceRule = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule);
685 		xReplaceRule.replaceByIndex(0, propsRule);
686 		//set paragraph numbering and bullet character
687 		xTextProps.setPropertyValue("NumberingRules", xNumRule);
688 		//save to odt
689 		XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
690 		PropertyValue[] aStoreProperties_odt = new PropertyValue[2];
691 		aStoreProperties_odt[0] = new PropertyValue();
692 		aStoreProperties_odt[1] = new PropertyValue();
693 		aStoreProperties_odt[0].Name = "Override";
694 		aStoreProperties_odt[0].Value = true;
695 		aStoreProperties_odt[1].Name = "FilterName";
696 		aStoreProperties_odt[1].Value = "writer8";
697 		xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt);
698 		//save to doc
699 		XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
700 		PropertyValue[] aStoreProperties_doc = new PropertyValue[2];
701 		aStoreProperties_doc[0] = new PropertyValue();
702 		aStoreProperties_doc[1] = new PropertyValue();
703 		aStoreProperties_doc[0].Name = "Override";
704 		aStoreProperties_doc[0].Value = true;
705 		aStoreProperties_doc[1].Name = "FilterName";
706 		aStoreProperties_doc[1].Value = "MS Word 97";
707 		xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc);
708 		app.closeDocument(xTextDocument);
709 
710 		//reopen the document
711 		XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt")));
712 		XPropertySet xCursorProps_Assert_odt = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_odt.getText().createTextCursor());
713 		XIndexAccess xNumRule_assert_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_odt.getPropertyValue("NumberingRules"));
714 		XIndexReplace xReplaceRule_assert_odt = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule_assert_odt);
715 		PropertyValue[] propsRule_assert_odt=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xReplaceRule_assert_odt.getByIndex(0));
716 		//verify paragraph numbering and bullet alignment
717 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_odt[4].Name);
718 		assertEquals("assert numbering and bullet","Visited Internet Link",propsRule_assert_odt[4].Value);
719 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_odt[11].Name);
720 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_odt[11].Value);
721 
722 		//reopen the document
723 		XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc")));
724 		XPropertySet xCursorProps_Assert_doc = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_doc.getText().createTextCursor());
725 		XIndexAccess xNumRule_assert_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_doc.getPropertyValue("NumberingRules"));
726 		PropertyValue[] propsRule_assert_doc=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xNumRule_assert_doc.getByIndex(0));
727 		//verify paragraph numbering and bullet alignment
728 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_doc[4].Name);
729 		assertEquals("assert numbering and bullet","WW8Num1z0",propsRule_assert_doc[4].Value);
730 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_doc[11].Name);
731 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_doc[11].Value);
732 	}
733 	@Test
734 	public void testNumberingBulletCharacterStyle_Placeholder() throws Exception {
735 
736 		XTextDocument xTextDocument = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter"));// new a text document
737 		xText = xTextDocument.getText();
738 		xText.setString("we are Chinese,they are American.we are all living in one earth!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!" +
739 				"Hello,world!Hello,world!");
740 		//create cursor to select paragraph and formating paragraph
741 		XTextCursor xTextCursor = xText.createTextCursor();
742 		//create paragraph property set
743 		XPropertySet xTextProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTextCursor);
744 		//create document service factory
745 		XMultiServiceFactory  xWriterFactory= (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument);
746 		//set numbering character
747 		XIndexAccess xNumRule = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class,xWriterFactory.createInstance("com.sun.star.text.NumberingRules"));
748 		PropertyValue[] propsRule = {new PropertyValue(),new PropertyValue()};
749 		propsRule[0].Name = "NumberingType";
750 		propsRule[0].Value = NumberingType.ARABIC;
751 		propsRule[1].Name = "CharStyleName";
752 		propsRule[1].Value = "Placeholder";
753 		XIndexReplace xReplaceRule = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule);
754 		xReplaceRule.replaceByIndex(0, propsRule);
755 		//set paragraph numbering and bullet character
756 		xTextProps.setPropertyValue("NumberingRules", xNumRule);
757 		//save to odt
758 		XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
759 		PropertyValue[] aStoreProperties_odt = new PropertyValue[2];
760 		aStoreProperties_odt[0] = new PropertyValue();
761 		aStoreProperties_odt[1] = new PropertyValue();
762 		aStoreProperties_odt[0].Name = "Override";
763 		aStoreProperties_odt[0].Value = true;
764 		aStoreProperties_odt[1].Name = "FilterName";
765 		aStoreProperties_odt[1].Value = "writer8";
766 		xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt);
767 		//save to doc
768 		XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
769 		PropertyValue[] aStoreProperties_doc = new PropertyValue[2];
770 		aStoreProperties_doc[0] = new PropertyValue();
771 		aStoreProperties_doc[1] = new PropertyValue();
772 		aStoreProperties_doc[0].Name = "Override";
773 		aStoreProperties_doc[0].Value = true;
774 		aStoreProperties_doc[1].Name = "FilterName";
775 		aStoreProperties_doc[1].Value = "MS Word 97";
776 		xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc);
777 		app.closeDocument(xTextDocument);
778 
779 		//reopen the document
780 		XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt")));
781 		XPropertySet xCursorProps_Assert_odt = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_odt.getText().createTextCursor());
782 		XIndexAccess xNumRule_assert_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_odt.getPropertyValue("NumberingRules"));
783 		XIndexReplace xReplaceRule_assert_odt = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule_assert_odt);
784 		PropertyValue[] propsRule_assert_odt=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xReplaceRule_assert_odt.getByIndex(0));
785 		//verify paragraph numbering and bullet alignment
786 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_odt[4].Name);
787 		assertEquals("assert numbering and bullet","Placeholder",propsRule_assert_odt[4].Value);
788 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_odt[11].Name);
789 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_odt[11].Value);
790 
791 		//reopen the document
792 		XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc")));
793 		XPropertySet xCursorProps_Assert_doc = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_doc.getText().createTextCursor());
794 		XIndexAccess xNumRule_assert_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_doc.getPropertyValue("NumberingRules"));
795 		PropertyValue[] propsRule_assert_doc=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xNumRule_assert_doc.getByIndex(0));
796 		//verify paragraph numbering and bullet alignment
797 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_doc[4].Name);
798 		assertEquals("assert numbering and bullet","WW8Num1z0",propsRule_assert_doc[4].Value);
799 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_doc[11].Name);
800 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_doc[11].Value);
801 	}
802 	@Test
803 	public void testNumberingBulletCharacterStyle_Indexlink() throws Exception {
804 
805 		XTextDocument xTextDocument = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter"));// new a text document
806 		xText = xTextDocument.getText();
807 		xText.setString("we are Chinese,they are American.we are all living in one earth!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!" +
808 				"Hello,world!Hello,world!");
809 		//create cursor to select paragraph and formating paragraph
810 		XTextCursor xTextCursor = xText.createTextCursor();
811 		//create paragraph property set
812 		XPropertySet xTextProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTextCursor);
813 		//create document service factory
814 		XMultiServiceFactory  xWriterFactory= (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument);
815 		//set numbering character
816 		XIndexAccess xNumRule = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class,xWriterFactory.createInstance("com.sun.star.text.NumberingRules"));
817 		PropertyValue[] propsRule = {new PropertyValue(),new PropertyValue()};
818 		propsRule[0].Name = "NumberingType";
819 		propsRule[0].Value = NumberingType.ARABIC;
820 		propsRule[1].Name = "CharStyleName";
821 		propsRule[1].Value = "Index Link";
822 		XIndexReplace xReplaceRule = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule);
823 		xReplaceRule.replaceByIndex(0, propsRule);
824 		//set paragraph numbering and bullet character
825 		xTextProps.setPropertyValue("NumberingRules", xNumRule);
826 		//save to odt
827 		XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
828 		PropertyValue[] aStoreProperties_odt = new PropertyValue[2];
829 		aStoreProperties_odt[0] = new PropertyValue();
830 		aStoreProperties_odt[1] = new PropertyValue();
831 		aStoreProperties_odt[0].Name = "Override";
832 		aStoreProperties_odt[0].Value = true;
833 		aStoreProperties_odt[1].Name = "FilterName";
834 		aStoreProperties_odt[1].Value = "writer8";
835 		xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt);
836 		//save to doc
837 		XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
838 		PropertyValue[] aStoreProperties_doc = new PropertyValue[2];
839 		aStoreProperties_doc[0] = new PropertyValue();
840 		aStoreProperties_doc[1] = new PropertyValue();
841 		aStoreProperties_doc[0].Name = "Override";
842 		aStoreProperties_doc[0].Value = true;
843 		aStoreProperties_doc[1].Name = "FilterName";
844 		aStoreProperties_doc[1].Value = "MS Word 97";
845 		xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc);
846 		app.closeDocument(xTextDocument);
847 
848 		//reopen the document
849 		XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt")));
850 		XPropertySet xCursorProps_Assert_odt = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_odt.getText().createTextCursor());
851 		XIndexAccess xNumRule_assert_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_odt.getPropertyValue("NumberingRules"));
852 		XIndexReplace xReplaceRule_assert_odt = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule_assert_odt);
853 		PropertyValue[] propsRule_assert_odt=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xReplaceRule_assert_odt.getByIndex(0));
854 		//verify paragraph numbering and bullet alignment
855 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_odt[4].Name);
856 		assertEquals("assert numbering and bullet","Index Link",propsRule_assert_odt[4].Value);
857 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_odt[11].Name);
858 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_odt[11].Value);
859 
860 		//reopen the document
861 		XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc")));
862 		XPropertySet xCursorProps_Assert_doc = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_doc.getText().createTextCursor());
863 		XIndexAccess xNumRule_assert_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_doc.getPropertyValue("NumberingRules"));
864 		PropertyValue[] propsRule_assert_doc=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xNumRule_assert_doc.getByIndex(0));
865 		//verify paragraph numbering and bullet alignment
866 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_doc[4].Name);
867 		assertEquals("assert numbering and bullet","WW8Num1z0",propsRule_assert_doc[4].Value);
868 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_doc[11].Name);
869 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_doc[11].Value);
870 	}
871 	@Test
872 	public void testNumberingBulletCharacterStyle_EndnoteCharacters() throws Exception {
873 
874 		XTextDocument xTextDocument = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter"));// new a text document
875 		xText = xTextDocument.getText();
876 		xText.setString("we are Chinese,they are American.we are all living in one earth!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!" +
877 				"Hello,world!Hello,world!");
878 		//create cursor to select paragraph and formating paragraph
879 		XTextCursor xTextCursor = xText.createTextCursor();
880 		//create paragraph property set
881 		XPropertySet xTextProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTextCursor);
882 		//create document service factory
883 		XMultiServiceFactory  xWriterFactory= (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument);
884 		//set numbering character
885 		XIndexAccess xNumRule = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class,xWriterFactory.createInstance("com.sun.star.text.NumberingRules"));
886 		PropertyValue[] propsRule = {new PropertyValue(),new PropertyValue()};
887 		propsRule[0].Name = "NumberingType";
888 		propsRule[0].Value = NumberingType.ARABIC;
889 		propsRule[1].Name = "CharStyleName";
890 		propsRule[1].Value = "Endnote Characters";
891 		XIndexReplace xReplaceRule = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule);
892 		xReplaceRule.replaceByIndex(0, propsRule);
893 		//set paragraph numbering and bullet character
894 		xTextProps.setPropertyValue("NumberingRules", xNumRule);
895 		//save to odt
896 		XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
897 		PropertyValue[] aStoreProperties_odt = new PropertyValue[2];
898 		aStoreProperties_odt[0] = new PropertyValue();
899 		aStoreProperties_odt[1] = new PropertyValue();
900 		aStoreProperties_odt[0].Name = "Override";
901 		aStoreProperties_odt[0].Value = true;
902 		aStoreProperties_odt[1].Name = "FilterName";
903 		aStoreProperties_odt[1].Value = "writer8";
904 		xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt);
905 		//save to doc
906 		XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
907 		PropertyValue[] aStoreProperties_doc = new PropertyValue[2];
908 		aStoreProperties_doc[0] = new PropertyValue();
909 		aStoreProperties_doc[1] = new PropertyValue();
910 		aStoreProperties_doc[0].Name = "Override";
911 		aStoreProperties_doc[0].Value = true;
912 		aStoreProperties_doc[1].Name = "FilterName";
913 		aStoreProperties_doc[1].Value = "MS Word 97";
914 		xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc);
915 		app.closeDocument(xTextDocument);
916 
917 		//reopen the document
918 		XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt")));
919 		XPropertySet xCursorProps_Assert_odt = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_odt.getText().createTextCursor());
920 		XIndexAccess xNumRule_assert_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_odt.getPropertyValue("NumberingRules"));
921 		XIndexReplace xReplaceRule_assert_odt = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule_assert_odt);
922 		PropertyValue[] propsRule_assert_odt=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xReplaceRule_assert_odt.getByIndex(0));
923 		//verify paragraph numbering and bullet alignment
924 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_odt[4].Name);
925 		assertEquals("assert numbering and bullet","Endnote Symbol",propsRule_assert_odt[4].Value);
926 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_odt[11].Name);
927 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_odt[11].Value);
928 
929 		//reopen the document
930 		XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc")));
931 		XPropertySet xCursorProps_Assert_doc = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_doc.getText().createTextCursor());
932 		XIndexAccess xNumRule_assert_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_doc.getPropertyValue("NumberingRules"));
933 		PropertyValue[] propsRule_assert_doc=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xNumRule_assert_doc.getByIndex(0));
934 		//verify paragraph numbering and bullet alignment
935 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_doc[4].Name);
936 		assertEquals("assert numbering and bullet","WW8Num1z0",propsRule_assert_doc[4].Value);
937 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_doc[11].Name);
938 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_doc[11].Value);
939 	}
940 	@Test
941 	public void testNumberingBulletCharacterStyle_LineNumbering() throws Exception {
942 
943 		XTextDocument xTextDocument = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter"));// new a text document
944 		xText = xTextDocument.getText();
945 		xText.setString("we are Chinese,they are American.we are all living in one earth!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!" +
946 				"Hello,world!Hello,world!");
947 		//create cursor to select paragraph and formating paragraph
948 		XTextCursor xTextCursor = xText.createTextCursor();
949 		//create paragraph property set
950 		XPropertySet xTextProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTextCursor);
951 		//create document service factory
952 		XMultiServiceFactory  xWriterFactory= (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument);
953 		//set numbering character
954 		XIndexAccess xNumRule = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class,xWriterFactory.createInstance("com.sun.star.text.NumberingRules"));
955 		PropertyValue[] propsRule = {new PropertyValue(),new PropertyValue()};
956 		propsRule[0].Name = "NumberingType";
957 		propsRule[0].Value = NumberingType.ARABIC;
958 		propsRule[1].Name = "CharStyleName";
959 		propsRule[1].Value = "Line numbering";
960 		XIndexReplace xReplaceRule = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule);
961 		xReplaceRule.replaceByIndex(0, propsRule);
962 		//set paragraph numbering and bullet character
963 		xTextProps.setPropertyValue("NumberingRules", xNumRule);
964 		//save to odt
965 		XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
966 		PropertyValue[] aStoreProperties_odt = new PropertyValue[2];
967 		aStoreProperties_odt[0] = new PropertyValue();
968 		aStoreProperties_odt[1] = new PropertyValue();
969 		aStoreProperties_odt[0].Name = "Override";
970 		aStoreProperties_odt[0].Value = true;
971 		aStoreProperties_odt[1].Name = "FilterName";
972 		aStoreProperties_odt[1].Value = "writer8";
973 		xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt);
974 		//save to doc
975 		XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
976 		PropertyValue[] aStoreProperties_doc = new PropertyValue[2];
977 		aStoreProperties_doc[0] = new PropertyValue();
978 		aStoreProperties_doc[1] = new PropertyValue();
979 		aStoreProperties_doc[0].Name = "Override";
980 		aStoreProperties_doc[0].Value = true;
981 		aStoreProperties_doc[1].Name = "FilterName";
982 		aStoreProperties_doc[1].Value = "MS Word 97";
983 		xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc);
984 		app.closeDocument(xTextDocument);
985 
986 		//reopen the document
987 		XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt")));
988 		XPropertySet xCursorProps_Assert_odt = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_odt.getText().createTextCursor());
989 		XIndexAccess xNumRule_assert_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_odt.getPropertyValue("NumberingRules"));
990 		XIndexReplace xReplaceRule_assert_odt = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule_assert_odt);
991 		PropertyValue[] propsRule_assert_odt=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xReplaceRule_assert_odt.getByIndex(0));
992 		//verify paragraph numbering and bullet alignment
993 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_odt[4].Name);
994 		assertEquals("assert numbering and bullet","Line numbering",propsRule_assert_odt[4].Value);
995 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_odt[11].Name);
996 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_odt[11].Value);
997 
998 		//reopen the document
999 		XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc")));
1000 		XPropertySet xCursorProps_Assert_doc = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_doc.getText().createTextCursor());
1001 		XIndexAccess xNumRule_assert_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_doc.getPropertyValue("NumberingRules"));
1002 		PropertyValue[] propsRule_assert_doc=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xNumRule_assert_doc.getByIndex(0));
1003 		//verify paragraph numbering and bullet alignment
1004 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_doc[4].Name);
1005 		assertEquals("assert numbering and bullet","WW8Num1z0",propsRule_assert_doc[4].Value);
1006 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_doc[11].Name);
1007 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_doc[11].Value);
1008 	}
1009 	@Test
1010 	public void testNumberingBulletCharacterStyle_MainIndexEntery() throws Exception {
1011 
1012 		XTextDocument xTextDocument = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter"));// new a text document
1013 		xText = xTextDocument.getText();
1014 		xText.setString("we are Chinese,they are American.we are all living in one earth!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!" +
1015 				"Hello,world!Hello,world!");
1016 		//create cursor to select paragraph and formating paragraph
1017 		XTextCursor xTextCursor = xText.createTextCursor();
1018 		//create paragraph property set
1019 		XPropertySet xTextProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTextCursor);
1020 		//create document service factory
1021 		XMultiServiceFactory  xWriterFactory= (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument);
1022 		//set numbering character
1023 		XIndexAccess xNumRule = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class,xWriterFactory.createInstance("com.sun.star.text.NumberingRules"));
1024 		PropertyValue[] propsRule = {new PropertyValue(),new PropertyValue()};
1025 		propsRule[0].Name = "NumberingType";
1026 		propsRule[0].Value = NumberingType.ARABIC;
1027 		propsRule[1].Name = "CharStyleName";
1028 		propsRule[1].Value = "Main index entery";
1029 		XIndexReplace xReplaceRule = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule);
1030 		xReplaceRule.replaceByIndex(0, propsRule);
1031 		//set paragraph numbering and bullet character
1032 		xTextProps.setPropertyValue("NumberingRules", xNumRule);
1033 		//save to odt
1034 		XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
1035 		PropertyValue[] aStoreProperties_odt = new PropertyValue[2];
1036 		aStoreProperties_odt[0] = new PropertyValue();
1037 		aStoreProperties_odt[1] = new PropertyValue();
1038 		aStoreProperties_odt[0].Name = "Override";
1039 		aStoreProperties_odt[0].Value = true;
1040 		aStoreProperties_odt[1].Name = "FilterName";
1041 		aStoreProperties_odt[1].Value = "writer8";
1042 		xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt);
1043 		//save to doc
1044 		XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
1045 		PropertyValue[] aStoreProperties_doc = new PropertyValue[2];
1046 		aStoreProperties_doc[0] = new PropertyValue();
1047 		aStoreProperties_doc[1] = new PropertyValue();
1048 		aStoreProperties_doc[0].Name = "Override";
1049 		aStoreProperties_doc[0].Value = true;
1050 		aStoreProperties_doc[1].Name = "FilterName";
1051 		aStoreProperties_doc[1].Value = "MS Word 97";
1052 		xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc);
1053 		app.closeDocument(xTextDocument);
1054 
1055 		//reopen the document
1056 		XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt")));
1057 		XPropertySet xCursorProps_Assert_odt = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_odt.getText().createTextCursor());
1058 		XIndexAccess xNumRule_assert_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_odt.getPropertyValue("NumberingRules"));
1059 		XIndexReplace xReplaceRule_assert_odt = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule_assert_odt);
1060 		PropertyValue[] propsRule_assert_odt=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xReplaceRule_assert_odt.getByIndex(0));
1061 		//verify paragraph numbering and bullet alignment
1062 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_odt[4].Name);
1063 		assertEquals("assert numbering and bullet","Main index entery",propsRule_assert_odt[4].Value);
1064 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_odt[11].Name);
1065 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_odt[11].Value);
1066 
1067 		//reopen the document
1068 		XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc")));
1069 		XPropertySet xCursorProps_Assert_doc = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_doc.getText().createTextCursor());
1070 		XIndexAccess xNumRule_assert_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_doc.getPropertyValue("NumberingRules"));
1071 		PropertyValue[] propsRule_assert_doc=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xNumRule_assert_doc.getByIndex(0));
1072 		//verify paragraph numbering and bullet alignment
1073 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_doc[4].Name);
1074 		assertEquals("assert numbering and bullet","WW8Num1z0",propsRule_assert_doc[4].Value);
1075 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_doc[11].Name);
1076 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_doc[11].Value);
1077 	}
1078 	@Test
1079 	public void testNumberingBulletCharacterStyle_FootnoteAnchor() throws Exception {
1080 
1081 		XTextDocument xTextDocument = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter"));// new a text document
1082 		xText = xTextDocument.getText();
1083 		xText.setString("we are Chinese,they are American.we are all living in one earth!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!" +
1084 				"Hello,world!Hello,world!");
1085 		//create cursor to select paragraph and formating paragraph
1086 		XTextCursor xTextCursor = xText.createTextCursor();
1087 		//create paragraph property set
1088 		XPropertySet xTextProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTextCursor);
1089 		//create document service factory
1090 		XMultiServiceFactory  xWriterFactory= (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument);
1091 		//set numbering character
1092 		XIndexAccess xNumRule = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class,xWriterFactory.createInstance("com.sun.star.text.NumberingRules"));
1093 		PropertyValue[] propsRule = {new PropertyValue(),new PropertyValue()};
1094 		propsRule[0].Name = "NumberingType";
1095 		propsRule[0].Value = NumberingType.ARABIC;
1096 		propsRule[1].Name = "CharStyleName";
1097 		propsRule[1].Value = "Footnote anchor";
1098 		XIndexReplace xReplaceRule = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule);
1099 		xReplaceRule.replaceByIndex(0, propsRule);
1100 		//set paragraph numbering and bullet character
1101 		xTextProps.setPropertyValue("NumberingRules", xNumRule);
1102 		//save to odt
1103 		XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
1104 		PropertyValue[] aStoreProperties_odt = new PropertyValue[2];
1105 		aStoreProperties_odt[0] = new PropertyValue();
1106 		aStoreProperties_odt[1] = new PropertyValue();
1107 		aStoreProperties_odt[0].Name = "Override";
1108 		aStoreProperties_odt[0].Value = true;
1109 		aStoreProperties_odt[1].Name = "FilterName";
1110 		aStoreProperties_odt[1].Value = "writer8";
1111 		xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt);
1112 		//save to doc
1113 		XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
1114 		PropertyValue[] aStoreProperties_doc = new PropertyValue[2];
1115 		aStoreProperties_doc[0] = new PropertyValue();
1116 		aStoreProperties_doc[1] = new PropertyValue();
1117 		aStoreProperties_doc[0].Name = "Override";
1118 		aStoreProperties_doc[0].Value = true;
1119 		aStoreProperties_doc[1].Name = "FilterName";
1120 		aStoreProperties_doc[1].Value = "MS Word 97";
1121 		xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc);
1122 		app.closeDocument(xTextDocument);
1123 
1124 		//reopen the document
1125 		XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt")));
1126 		XPropertySet xCursorProps_Assert_odt = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_odt.getText().createTextCursor());
1127 		XIndexAccess xNumRule_assert_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_odt.getPropertyValue("NumberingRules"));
1128 		XIndexReplace xReplaceRule_assert_odt = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule_assert_odt);
1129 		PropertyValue[] propsRule_assert_odt=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xReplaceRule_assert_odt.getByIndex(0));
1130 		//verify paragraph numbering and bullet alignment
1131 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_odt[4].Name);
1132 		assertEquals("assert numbering and bullet","Footnote anchor",propsRule_assert_odt[4].Value);
1133 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_odt[11].Name);
1134 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_odt[11].Value);
1135 
1136 		//reopen the document
1137 		XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc")));
1138 		XPropertySet xCursorProps_Assert_doc = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_doc.getText().createTextCursor());
1139 		XIndexAccess xNumRule_assert_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_doc.getPropertyValue("NumberingRules"));
1140 		PropertyValue[] propsRule_assert_doc=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xNumRule_assert_doc.getByIndex(0));
1141 		//verify paragraph numbering and bullet alignment
1142 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_doc[4].Name);
1143 		assertEquals("assert numbering and bullet","WW8Num1z0",propsRule_assert_doc[4].Value);
1144 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_doc[11].Name);
1145 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_doc[11].Value);
1146 	}
1147 	@Test
1148 	public void testNumberingBulletCharacterStyle_EndnoteAnchor() throws Exception {
1149 
1150 		XTextDocument xTextDocument = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter"));// new a text document
1151 		xText = xTextDocument.getText();
1152 		xText.setString("we are Chinese,they are American.we are all living in one earth!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!" +
1153 				"Hello,world!Hello,world!");
1154 		//create cursor to select paragraph and formating paragraph
1155 		XTextCursor xTextCursor = xText.createTextCursor();
1156 		//create paragraph property set
1157 		XPropertySet xTextProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTextCursor);
1158 		//create document service factory
1159 		XMultiServiceFactory  xWriterFactory= (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument);
1160 		//set numbering character
1161 		XIndexAccess xNumRule = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class,xWriterFactory.createInstance("com.sun.star.text.NumberingRules"));
1162 		PropertyValue[] propsRule = {new PropertyValue(),new PropertyValue()};
1163 		propsRule[0].Name = "NumberingType";
1164 		propsRule[0].Value = NumberingType.ARABIC;
1165 		propsRule[1].Name = "CharStyleName";
1166 		propsRule[1].Value = "Endnote anchor";
1167 		XIndexReplace xReplaceRule = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule);
1168 		xReplaceRule.replaceByIndex(0, propsRule);
1169 		//set paragraph numbering and bullet character
1170 		xTextProps.setPropertyValue("NumberingRules", xNumRule);
1171 		//save to odt
1172 		XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
1173 		PropertyValue[] aStoreProperties_odt = new PropertyValue[2];
1174 		aStoreProperties_odt[0] = new PropertyValue();
1175 		aStoreProperties_odt[1] = new PropertyValue();
1176 		aStoreProperties_odt[0].Name = "Override";
1177 		aStoreProperties_odt[0].Value = true;
1178 		aStoreProperties_odt[1].Name = "FilterName";
1179 		aStoreProperties_odt[1].Value = "writer8";
1180 		xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt);
1181 		//save to doc
1182 		XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
1183 		PropertyValue[] aStoreProperties_doc = new PropertyValue[2];
1184 		aStoreProperties_doc[0] = new PropertyValue();
1185 		aStoreProperties_doc[1] = new PropertyValue();
1186 		aStoreProperties_doc[0].Name = "Override";
1187 		aStoreProperties_doc[0].Value = true;
1188 		aStoreProperties_doc[1].Name = "FilterName";
1189 		aStoreProperties_doc[1].Value = "MS Word 97";
1190 		xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc);
1191 		app.closeDocument(xTextDocument);
1192 
1193 		//reopen the document
1194 		XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt")));
1195 		XPropertySet xCursorProps_Assert_odt = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_odt.getText().createTextCursor());
1196 		XIndexAccess xNumRule_assert_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_odt.getPropertyValue("NumberingRules"));
1197 		XIndexReplace xReplaceRule_assert_odt = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule_assert_odt);
1198 		PropertyValue[] propsRule_assert_odt=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xReplaceRule_assert_odt.getByIndex(0));
1199 		//verify paragraph numbering and bullet alignment
1200 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_odt[4].Name);
1201 		assertEquals("assert numbering and bullet","Endnote anchor",propsRule_assert_odt[4].Value);
1202 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_odt[11].Name);
1203 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_odt[11].Value);
1204 
1205 		//reopen the document
1206 		XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc")));
1207 		XPropertySet xCursorProps_Assert_doc = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_doc.getText().createTextCursor());
1208 		XIndexAccess xNumRule_assert_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_doc.getPropertyValue("NumberingRules"));
1209 		PropertyValue[] propsRule_assert_doc=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xNumRule_assert_doc.getByIndex(0));
1210 		//verify paragraph numbering and bullet alignment
1211 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_doc[4].Name);
1212 		assertEquals("assert numbering and bullet","WW8Num1z0",propsRule_assert_doc[4].Value);
1213 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_doc[11].Name);
1214 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_doc[11].Value);
1215 	}
1216 	@Test
1217 	public void testNumberingBulletCharacterStyle_VerticalNumberingSymbols() throws Exception {
1218 
1219 		XTextDocument xTextDocument = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter"));// new a text document
1220 		xText = xTextDocument.getText();
1221 		xText.setString("we are Chinese,they are American.we are all living in one earth!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!" +
1222 				"Hello,world!Hello,world!");
1223 		//create cursor to select paragraph and formating paragraph
1224 		XTextCursor xTextCursor = xText.createTextCursor();
1225 		//create paragraph property set
1226 		XPropertySet xTextProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTextCursor);
1227 		//create document service factory
1228 		XMultiServiceFactory  xWriterFactory= (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument);
1229 		//set numbering character
1230 		XIndexAccess xNumRule = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class,xWriterFactory.createInstance("com.sun.star.text.NumberingRules"));
1231 		PropertyValue[] propsRule = {new PropertyValue(),new PropertyValue()};
1232 		propsRule[0].Name = "NumberingType";
1233 		propsRule[0].Value = NumberingType.ARABIC;
1234 		propsRule[1].Name = "CharStyleName";
1235 		propsRule[1].Value = "Vertical Numbering Symbols";
1236 		XIndexReplace xReplaceRule = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule);
1237 		xReplaceRule.replaceByIndex(0, propsRule);
1238 		//set paragraph numbering and bullet character
1239 		xTextProps.setPropertyValue("NumberingRules", xNumRule);
1240 		//save to odt
1241 		XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
1242 		PropertyValue[] aStoreProperties_odt = new PropertyValue[2];
1243 		aStoreProperties_odt[0] = new PropertyValue();
1244 		aStoreProperties_odt[1] = new PropertyValue();
1245 		aStoreProperties_odt[0].Name = "Override";
1246 		aStoreProperties_odt[0].Value = true;
1247 		aStoreProperties_odt[1].Name = "FilterName";
1248 		aStoreProperties_odt[1].Value = "writer8";
1249 		xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt);
1250 		//save to doc
1251 		XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
1252 		PropertyValue[] aStoreProperties_doc = new PropertyValue[2];
1253 		aStoreProperties_doc[0] = new PropertyValue();
1254 		aStoreProperties_doc[1] = new PropertyValue();
1255 		aStoreProperties_doc[0].Name = "Override";
1256 		aStoreProperties_doc[0].Value = true;
1257 		aStoreProperties_doc[1].Name = "FilterName";
1258 		aStoreProperties_doc[1].Value = "MS Word 97";
1259 		xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc);
1260 		app.closeDocument(xTextDocument);
1261 
1262 		//reopen the document
1263 		XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt")));
1264 		XPropertySet xCursorProps_Assert_odt = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_odt.getText().createTextCursor());
1265 		XIndexAccess xNumRule_assert_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_odt.getPropertyValue("NumberingRules"));
1266 		XIndexReplace xReplaceRule_assert_odt = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule_assert_odt);
1267 		PropertyValue[] propsRule_assert_odt=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xReplaceRule_assert_odt.getByIndex(0));
1268 		//verify paragraph numbering and bullet alignment
1269 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_odt[4].Name);
1270 		assertEquals("assert numbering and bullet","Vertical Numbering Symbols",propsRule_assert_odt[4].Value);
1271 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_odt[11].Name);
1272 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_odt[11].Value);
1273 
1274 		//reopen the document
1275 		XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc")));
1276 		XPropertySet xCursorProps_Assert_doc = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_doc.getText().createTextCursor());
1277 		XIndexAccess xNumRule_assert_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_doc.getPropertyValue("NumberingRules"));
1278 		PropertyValue[] propsRule_assert_doc=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xNumRule_assert_doc.getByIndex(0));
1279 		//verify paragraph numbering and bullet alignment
1280 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_doc[4].Name);
1281 		assertEquals("assert numbering and bullet","WW8Num1z0",propsRule_assert_doc[4].Value);
1282 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_doc[11].Name);
1283 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_doc[11].Value);
1284 	}
1285 	@Test
1286 	public void testNumberingBulletCharacterStyle_Quotation() throws Exception {
1287 
1288 		XTextDocument xTextDocument = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter"));// new a text document
1289 		xText = xTextDocument.getText();
1290 		xText.setString("we are Chinese,they are American.we are all living in one earth!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!" +
1291 				"Hello,world!Hello,world!");
1292 		//create cursor to select paragraph and formating paragraph
1293 		XTextCursor xTextCursor = xText.createTextCursor();
1294 		//create paragraph property set
1295 		XPropertySet xTextProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTextCursor);
1296 		//create document service factory
1297 		XMultiServiceFactory  xWriterFactory= (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument);
1298 		//set numbering character
1299 		XIndexAccess xNumRule = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class,xWriterFactory.createInstance("com.sun.star.text.NumberingRules"));
1300 		PropertyValue[] propsRule = {new PropertyValue(),new PropertyValue()};
1301 		propsRule[0].Name = "NumberingType";
1302 		propsRule[0].Value = NumberingType.ARABIC;
1303 		propsRule[1].Name = "CharStyleName";
1304 		propsRule[1].Value = "Quotation";
1305 		XIndexReplace xReplaceRule = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule);
1306 		xReplaceRule.replaceByIndex(0, propsRule);
1307 		//set paragraph numbering and bullet character
1308 		xTextProps.setPropertyValue("NumberingRules", xNumRule);
1309 		//save to odt
1310 		XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
1311 		PropertyValue[] aStoreProperties_odt = new PropertyValue[2];
1312 		aStoreProperties_odt[0] = new PropertyValue();
1313 		aStoreProperties_odt[1] = new PropertyValue();
1314 		aStoreProperties_odt[0].Name = "Override";
1315 		aStoreProperties_odt[0].Value = true;
1316 		aStoreProperties_odt[1].Name = "FilterName";
1317 		aStoreProperties_odt[1].Value = "writer8";
1318 		xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt);
1319 		//save to doc
1320 		XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
1321 		PropertyValue[] aStoreProperties_doc = new PropertyValue[2];
1322 		aStoreProperties_doc[0] = new PropertyValue();
1323 		aStoreProperties_doc[1] = new PropertyValue();
1324 		aStoreProperties_doc[0].Name = "Override";
1325 		aStoreProperties_doc[0].Value = true;
1326 		aStoreProperties_doc[1].Name = "FilterName";
1327 		aStoreProperties_doc[1].Value = "MS Word 97";
1328 		xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc);
1329 		app.closeDocument(xTextDocument);
1330 
1331 		//reopen the document
1332 		XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt")));
1333 		XPropertySet xCursorProps_Assert_odt = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_odt.getText().createTextCursor());
1334 		XIndexAccess xNumRule_assert_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_odt.getPropertyValue("NumberingRules"));
1335 		XIndexReplace xReplaceRule_assert_odt = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule_assert_odt);
1336 		PropertyValue[] propsRule_assert_odt=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xReplaceRule_assert_odt.getByIndex(0));
1337 		//verify paragraph numbering and bullet alignment
1338 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_odt[4].Name);
1339 		assertEquals("assert numbering and bullet","Citation",propsRule_assert_odt[4].Value);
1340 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_odt[11].Name);
1341 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_odt[11].Value);
1342 
1343 		//reopen the document
1344 		XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc")));
1345 		XPropertySet xCursorProps_Assert_doc = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_doc.getText().createTextCursor());
1346 		XIndexAccess xNumRule_assert_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_doc.getPropertyValue("NumberingRules"));
1347 		PropertyValue[] propsRule_assert_doc=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xNumRule_assert_doc.getByIndex(0));
1348 		//verify paragraph numbering and bullet alignment
1349 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_doc[4].Name);
1350 		assertEquals("assert numbering and bullet","WW8Num1z0",propsRule_assert_doc[4].Value);
1351 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_doc[11].Name);
1352 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_doc[11].Value);
1353 	}
1354 	@Test
1355 	public void testNumberingBulletCharacterStyle_StrongEmphasis() throws Exception {
1356 
1357 		XTextDocument xTextDocument = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter"));// new a text document
1358 		xText = xTextDocument.getText();
1359 		xText.setString("we are Chinese,they are American.we are all living in one earth!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!" +
1360 				"Hello,world!Hello,world!");
1361 		//create cursor to select paragraph and formating paragraph
1362 		XTextCursor xTextCursor = xText.createTextCursor();
1363 		//create paragraph property set
1364 		XPropertySet xTextProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTextCursor);
1365 		//create document service factory
1366 		XMultiServiceFactory  xWriterFactory= (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument);
1367 		//set numbering character
1368 		XIndexAccess xNumRule = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class,xWriterFactory.createInstance("com.sun.star.text.NumberingRules"));
1369 		PropertyValue[] propsRule = {new PropertyValue(),new PropertyValue()};
1370 		propsRule[0].Name = "NumberingType";
1371 		propsRule[0].Value = NumberingType.ARABIC;
1372 		propsRule[1].Name = "CharStyleName";
1373 		propsRule[1].Value = "Strong Emphasis";
1374 		XIndexReplace xReplaceRule = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule);
1375 		xReplaceRule.replaceByIndex(0, propsRule);
1376 		//set paragraph numbering and bullet character
1377 		xTextProps.setPropertyValue("NumberingRules", xNumRule);
1378 		//save to odt
1379 		XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
1380 		PropertyValue[] aStoreProperties_odt = new PropertyValue[2];
1381 		aStoreProperties_odt[0] = new PropertyValue();
1382 		aStoreProperties_odt[1] = new PropertyValue();
1383 		aStoreProperties_odt[0].Name = "Override";
1384 		aStoreProperties_odt[0].Value = true;
1385 		aStoreProperties_odt[1].Name = "FilterName";
1386 		aStoreProperties_odt[1].Value = "writer8";
1387 		xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt);
1388 		//save to doc
1389 		XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
1390 		PropertyValue[] aStoreProperties_doc = new PropertyValue[2];
1391 		aStoreProperties_doc[0] = new PropertyValue();
1392 		aStoreProperties_doc[1] = new PropertyValue();
1393 		aStoreProperties_doc[0].Name = "Override";
1394 		aStoreProperties_doc[0].Value = true;
1395 		aStoreProperties_doc[1].Name = "FilterName";
1396 		aStoreProperties_doc[1].Value = "MS Word 97";
1397 		xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc);
1398 		app.closeDocument(xTextDocument);
1399 
1400 		//reopen the document
1401 		XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt")));
1402 		XPropertySet xCursorProps_Assert_odt = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_odt.getText().createTextCursor());
1403 		XIndexAccess xNumRule_assert_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_odt.getPropertyValue("NumberingRules"));
1404 		XIndexReplace xReplaceRule_assert_odt = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule_assert_odt);
1405 		PropertyValue[] propsRule_assert_odt=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xReplaceRule_assert_odt.getByIndex(0));
1406 		//verify paragraph numbering and bullet alignment
1407 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_odt[4].Name);
1408 		assertEquals("assert numbering and bullet","Strong Emphasis",propsRule_assert_odt[4].Value);
1409 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_odt[11].Name);
1410 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_odt[11].Value);
1411 
1412 		//reopen the document
1413 		XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc")));
1414 		XPropertySet xCursorProps_Assert_doc = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_doc.getText().createTextCursor());
1415 		XIndexAccess xNumRule_assert_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_doc.getPropertyValue("NumberingRules"));
1416 		PropertyValue[] propsRule_assert_doc=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xNumRule_assert_doc.getByIndex(0));
1417 		//verify paragraph numbering and bullet alignment
1418 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_doc[4].Name);
1419 		assertEquals("assert numbering and bullet","WW8Num1z0",propsRule_assert_doc[4].Value);
1420 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_doc[11].Name);
1421 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_doc[11].Value);
1422 	}
1423 	@Test
1424 	public void testNumberingBulletCharacterStyle_Variable() throws Exception {
1425 
1426 		XTextDocument xTextDocument = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter"));// new a text document
1427 		xText = xTextDocument.getText();
1428 		xText.setString("we are Chinese,they are American.we are all living in one earth!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!" +
1429 				"Hello,world!Hello,world!");
1430 		//create cursor to select paragraph and formating paragraph
1431 		XTextCursor xTextCursor = xText.createTextCursor();
1432 		//create paragraph property set
1433 		XPropertySet xTextProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTextCursor);
1434 		//create document service factory
1435 		XMultiServiceFactory  xWriterFactory= (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument);
1436 		//set numbering character
1437 		XIndexAccess xNumRule = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class,xWriterFactory.createInstance("com.sun.star.text.NumberingRules"));
1438 		PropertyValue[] propsRule = {new PropertyValue(),new PropertyValue()};
1439 		propsRule[0].Name = "NumberingType";
1440 		propsRule[0].Value = NumberingType.ARABIC;
1441 		propsRule[1].Name = "CharStyleName";
1442 		propsRule[1].Value = "Variable";
1443 		XIndexReplace xReplaceRule = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule);
1444 		xReplaceRule.replaceByIndex(0, propsRule);
1445 		//set paragraph numbering and bullet character
1446 		xTextProps.setPropertyValue("NumberingRules", xNumRule);
1447 		//save to odt
1448 		XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
1449 		PropertyValue[] aStoreProperties_odt = new PropertyValue[2];
1450 		aStoreProperties_odt[0] = new PropertyValue();
1451 		aStoreProperties_odt[1] = new PropertyValue();
1452 		aStoreProperties_odt[0].Name = "Override";
1453 		aStoreProperties_odt[0].Value = true;
1454 		aStoreProperties_odt[1].Name = "FilterName";
1455 		aStoreProperties_odt[1].Value = "writer8";
1456 		xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt);
1457 		//save to doc
1458 		XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
1459 		PropertyValue[] aStoreProperties_doc = new PropertyValue[2];
1460 		aStoreProperties_doc[0] = new PropertyValue();
1461 		aStoreProperties_doc[1] = new PropertyValue();
1462 		aStoreProperties_doc[0].Name = "Override";
1463 		aStoreProperties_doc[0].Value = true;
1464 		aStoreProperties_doc[1].Name = "FilterName";
1465 		aStoreProperties_doc[1].Value = "MS Word 97";
1466 		xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc);
1467 		app.closeDocument(xTextDocument);
1468 
1469 		//reopen the document
1470 		XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt")));
1471 		XPropertySet xCursorProps_Assert_odt = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_odt.getText().createTextCursor());
1472 		XIndexAccess xNumRule_assert_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_odt.getPropertyValue("NumberingRules"));
1473 		XIndexReplace xReplaceRule_assert_odt = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule_assert_odt);
1474 		PropertyValue[] propsRule_assert_odt=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xReplaceRule_assert_odt.getByIndex(0));
1475 		//verify paragraph numbering and bullet alignment
1476 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_odt[4].Name);
1477 		assertEquals("assert numbering and bullet","Variable",propsRule_assert_odt[4].Value);
1478 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_odt[11].Name);
1479 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_odt[11].Value);
1480 
1481 		//reopen the document
1482 		XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc")));
1483 		XPropertySet xCursorProps_Assert_doc = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_doc.getText().createTextCursor());
1484 		XIndexAccess xNumRule_assert_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_doc.getPropertyValue("NumberingRules"));
1485 		PropertyValue[] propsRule_assert_doc=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xNumRule_assert_doc.getByIndex(0));
1486 		//verify paragraph numbering and bullet alignment
1487 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_doc[4].Name);
1488 		assertEquals("assert numbering and bullet","WW8Num1z0",propsRule_assert_doc[4].Value);
1489 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_doc[11].Name);
1490 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_doc[11].Value);
1491 	}
1492 	@Test
1493 	public void testNumberingBulletCharacterStyle_Example() throws Exception {
1494 
1495 		XTextDocument xTextDocument = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter"));// new a text document
1496 		xText = xTextDocument.getText();
1497 		xText.setString("we are Chinese,they are American.we are all living in one earth!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!" +
1498 				"Hello,world!Hello,world!");
1499 		//create cursor to select paragraph and formating paragraph
1500 		XTextCursor xTextCursor = xText.createTextCursor();
1501 		//create paragraph property set
1502 		XPropertySet xTextProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTextCursor);
1503 		//create document service factory
1504 		XMultiServiceFactory  xWriterFactory= (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument);
1505 		//set numbering character
1506 		XIndexAccess xNumRule = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class,xWriterFactory.createInstance("com.sun.star.text.NumberingRules"));
1507 		PropertyValue[] propsRule = {new PropertyValue(),new PropertyValue()};
1508 		propsRule[0].Name = "NumberingType";
1509 		propsRule[0].Value = NumberingType.ARABIC;
1510 		propsRule[1].Name = "CharStyleName";
1511 		propsRule[1].Value = "Example";
1512 		XIndexReplace xReplaceRule = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule);
1513 		xReplaceRule.replaceByIndex(0, propsRule);
1514 		//set paragraph numbering and bullet character
1515 		xTextProps.setPropertyValue("NumberingRules", xNumRule);
1516 		//save to odt
1517 		XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
1518 		PropertyValue[] aStoreProperties_odt = new PropertyValue[2];
1519 		aStoreProperties_odt[0] = new PropertyValue();
1520 		aStoreProperties_odt[1] = new PropertyValue();
1521 		aStoreProperties_odt[0].Name = "Override";
1522 		aStoreProperties_odt[0].Value = true;
1523 		aStoreProperties_odt[1].Name = "FilterName";
1524 		aStoreProperties_odt[1].Value = "writer8";
1525 		xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt);
1526 		//save to doc
1527 		XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
1528 		PropertyValue[] aStoreProperties_doc = new PropertyValue[2];
1529 		aStoreProperties_doc[0] = new PropertyValue();
1530 		aStoreProperties_doc[1] = new PropertyValue();
1531 		aStoreProperties_doc[0].Name = "Override";
1532 		aStoreProperties_doc[0].Value = true;
1533 		aStoreProperties_doc[1].Name = "FilterName";
1534 		aStoreProperties_doc[1].Value = "MS Word 97";
1535 		xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc);
1536 		app.closeDocument(xTextDocument);
1537 
1538 		//reopen the document
1539 		XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt")));
1540 		XPropertySet xCursorProps_Assert_odt = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_odt.getText().createTextCursor());
1541 		XIndexAccess xNumRule_assert_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_odt.getPropertyValue("NumberingRules"));
1542 		XIndexReplace xReplaceRule_assert_odt = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule_assert_odt);
1543 		PropertyValue[] propsRule_assert_odt=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xReplaceRule_assert_odt.getByIndex(0));
1544 		//verify paragraph numbering and bullet alignment
1545 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_odt[4].Name);
1546 		assertEquals("assert numbering and bullet","Example",propsRule_assert_odt[4].Value);
1547 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_odt[11].Name);
1548 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_odt[11].Value);
1549 
1550 		//reopen the document
1551 		XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc")));
1552 		XPropertySet xCursorProps_Assert_doc = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_doc.getText().createTextCursor());
1553 		XIndexAccess xNumRule_assert_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_doc.getPropertyValue("NumberingRules"));
1554 		PropertyValue[] propsRule_assert_doc=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xNumRule_assert_doc.getByIndex(0));
1555 		//verify paragraph numbering and bullet alignment
1556 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_doc[4].Name);
1557 		assertEquals("assert numbering and bullet","WW8Num1z0",propsRule_assert_doc[4].Value);
1558 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_doc[11].Name);
1559 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_doc[11].Value);
1560 	}	@Test
1561 	public void testNumberingBulletCharacterStyle_UserEntery() throws Exception {
1562 
1563 		XTextDocument xTextDocument = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter"));// new a text document
1564 		xText = xTextDocument.getText();
1565 		xText.setString("we are Chinese,they are American.we are all living in one earth!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!" +
1566 				"Hello,world!Hello,world!");
1567 		//create cursor to select paragraph and formating paragraph
1568 		XTextCursor xTextCursor = xText.createTextCursor();
1569 		//create paragraph property set
1570 		XPropertySet xTextProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTextCursor);
1571 		//create document service factory
1572 		XMultiServiceFactory  xWriterFactory= (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument);
1573 		//set numbering character
1574 		XIndexAccess xNumRule = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class,xWriterFactory.createInstance("com.sun.star.text.NumberingRules"));
1575 		PropertyValue[] propsRule = {new PropertyValue(),new PropertyValue()};
1576 		propsRule[0].Name = "NumberingType";
1577 		propsRule[0].Value = NumberingType.ARABIC;
1578 		propsRule[1].Name = "CharStyleName";
1579 		propsRule[1].Value = "User Entery";
1580 		XIndexReplace xReplaceRule = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule);
1581 		xReplaceRule.replaceByIndex(0, propsRule);
1582 		//set paragraph numbering and bullet character
1583 		xTextProps.setPropertyValue("NumberingRules", xNumRule);
1584 		//save to odt
1585 		XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
1586 		PropertyValue[] aStoreProperties_odt = new PropertyValue[2];
1587 		aStoreProperties_odt[0] = new PropertyValue();
1588 		aStoreProperties_odt[1] = new PropertyValue();
1589 		aStoreProperties_odt[0].Name = "Override";
1590 		aStoreProperties_odt[0].Value = true;
1591 		aStoreProperties_odt[1].Name = "FilterName";
1592 		aStoreProperties_odt[1].Value = "writer8";
1593 		xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt);
1594 		//save to doc
1595 		XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
1596 		PropertyValue[] aStoreProperties_doc = new PropertyValue[2];
1597 		aStoreProperties_doc[0] = new PropertyValue();
1598 		aStoreProperties_doc[1] = new PropertyValue();
1599 		aStoreProperties_doc[0].Name = "Override";
1600 		aStoreProperties_doc[0].Value = true;
1601 		aStoreProperties_doc[1].Name = "FilterName";
1602 		aStoreProperties_doc[1].Value = "MS Word 97";
1603 		xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc);
1604 		app.closeDocument(xTextDocument);
1605 
1606 		//reopen the document
1607 		XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt")));
1608 		XPropertySet xCursorProps_Assert_odt = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_odt.getText().createTextCursor());
1609 		XIndexAccess xNumRule_assert_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_odt.getPropertyValue("NumberingRules"));
1610 		XIndexReplace xReplaceRule_assert_odt = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule_assert_odt);
1611 		PropertyValue[] propsRule_assert_odt=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xReplaceRule_assert_odt.getByIndex(0));
1612 		//verify paragraph numbering and bullet alignment
1613 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_odt[4].Name);
1614 		assertEquals("assert numbering and bullet","User Entery",propsRule_assert_odt[4].Value);
1615 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_odt[11].Name);
1616 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_odt[11].Value);
1617 
1618 		//reopen the document
1619 		XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc")));
1620 		XPropertySet xCursorProps_Assert_doc = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_doc.getText().createTextCursor());
1621 		XIndexAccess xNumRule_assert_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_doc.getPropertyValue("NumberingRules"));
1622 		PropertyValue[] propsRule_assert_doc=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xNumRule_assert_doc.getByIndex(0));
1623 		//verify paragraph numbering and bullet alignment
1624 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_doc[4].Name);
1625 		assertEquals("assert numbering and bullet","WW8Num1z0",propsRule_assert_doc[4].Value);
1626 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_doc[11].Name);
1627 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_doc[11].Value);
1628 	}
1629 	@Test
1630 	public void testNumberingBulletCharacterStyle_Sourcetext() throws Exception {
1631 
1632 		XTextDocument xTextDocument = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter"));// new a text document
1633 		xText = xTextDocument.getText();
1634 		xText.setString("we are Chinese,they are American.we are all living in one earth!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!" +
1635 				"Hello,world!Hello,world!");
1636 		//create cursor to select paragraph and formating paragraph
1637 		XTextCursor xTextCursor = xText.createTextCursor();
1638 		//create paragraph property set
1639 		XPropertySet xTextProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTextCursor);
1640 		//create document service factory
1641 		XMultiServiceFactory  xWriterFactory= (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument);
1642 		//set numbering character
1643 		XIndexAccess xNumRule = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class,xWriterFactory.createInstance("com.sun.star.text.NumberingRules"));
1644 		PropertyValue[] propsRule = {new PropertyValue(),new PropertyValue()};
1645 		propsRule[0].Name = "NumberingType";
1646 		propsRule[0].Value = NumberingType.ARABIC;
1647 		propsRule[1].Name = "CharStyleName";
1648 		propsRule[1].Value = "Source Text";
1649 		XIndexReplace xReplaceRule = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule);
1650 		xReplaceRule.replaceByIndex(0, propsRule);
1651 		//set paragraph numbering and bullet character
1652 		xTextProps.setPropertyValue("NumberingRules", xNumRule);
1653 		//save to odt
1654 		XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
1655 		PropertyValue[] aStoreProperties_odt = new PropertyValue[2];
1656 		aStoreProperties_odt[0] = new PropertyValue();
1657 		aStoreProperties_odt[1] = new PropertyValue();
1658 		aStoreProperties_odt[0].Name = "Override";
1659 		aStoreProperties_odt[0].Value = true;
1660 		aStoreProperties_odt[1].Name = "FilterName";
1661 		aStoreProperties_odt[1].Value = "writer8";
1662 		xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt);
1663 		//save to doc
1664 		XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
1665 		PropertyValue[] aStoreProperties_doc = new PropertyValue[2];
1666 		aStoreProperties_doc[0] = new PropertyValue();
1667 		aStoreProperties_doc[1] = new PropertyValue();
1668 		aStoreProperties_doc[0].Name = "Override";
1669 		aStoreProperties_doc[0].Value = true;
1670 		aStoreProperties_doc[1].Name = "FilterName";
1671 		aStoreProperties_doc[1].Value = "MS Word 97";
1672 		xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc);
1673 		app.closeDocument(xTextDocument);
1674 
1675 		//reopen the document
1676 		XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt")));
1677 		XPropertySet xCursorProps_Assert_odt = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_odt.getText().createTextCursor());
1678 		XIndexAccess xNumRule_assert_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_odt.getPropertyValue("NumberingRules"));
1679 		XIndexReplace xReplaceRule_assert_odt = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule_assert_odt);
1680 		PropertyValue[] propsRule_assert_odt=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xReplaceRule_assert_odt.getByIndex(0));
1681 		//verify paragraph numbering and bullet alignment
1682 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_odt[4].Name);
1683 		assertEquals("assert numbering and bullet","Source Text",propsRule_assert_odt[4].Value);
1684 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_odt[11].Name);
1685 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_odt[11].Value);
1686 
1687 		//reopen the document
1688 		XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc")));
1689 		XPropertySet xCursorProps_Assert_doc = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_doc.getText().createTextCursor());
1690 		XIndexAccess xNumRule_assert_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_doc.getPropertyValue("NumberingRules"));
1691 		PropertyValue[] propsRule_assert_doc=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xNumRule_assert_doc.getByIndex(0));
1692 		//verify paragraph numbering and bullet alignment
1693 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_doc[4].Name);
1694 		assertEquals("assert numbering and bullet","WW8Num1z0",propsRule_assert_doc[4].Value);
1695 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_doc[11].Name);
1696 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_doc[11].Value);
1697 	}
1698 	@Test
1699 	public void testNumberingBulletCharacterStyle_Definition() throws Exception {
1700 
1701 		XTextDocument xTextDocument = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter"));// new a text document
1702 		xText = xTextDocument.getText();
1703 		xText.setString("we are Chinese,they are American.we are all living in one earth!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!" +
1704 				"Hello,world!Hello,world!");
1705 		//create cursor to select paragraph and formating paragraph
1706 		XTextCursor xTextCursor = xText.createTextCursor();
1707 		//create paragraph property set
1708 		XPropertySet xTextProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTextCursor);
1709 		//create document service factory
1710 		XMultiServiceFactory  xWriterFactory= (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument);
1711 		//set numbering character
1712 		XIndexAccess xNumRule = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class,xWriterFactory.createInstance("com.sun.star.text.NumberingRules"));
1713 		PropertyValue[] propsRule = {new PropertyValue(),new PropertyValue()};
1714 		propsRule[0].Name = "NumberingType";
1715 		propsRule[0].Value = NumberingType.ARABIC;
1716 		propsRule[1].Name = "CharStyleName";
1717 		propsRule[1].Value = "Definition";
1718 		XIndexReplace xReplaceRule = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule);
1719 		xReplaceRule.replaceByIndex(0, propsRule);
1720 		//set paragraph numbering and bullet character
1721 		xTextProps.setPropertyValue("NumberingRules", xNumRule);
1722 		//save to odt
1723 		XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
1724 		PropertyValue[] aStoreProperties_odt = new PropertyValue[2];
1725 		aStoreProperties_odt[0] = new PropertyValue();
1726 		aStoreProperties_odt[1] = new PropertyValue();
1727 		aStoreProperties_odt[0].Name = "Override";
1728 		aStoreProperties_odt[0].Value = true;
1729 		aStoreProperties_odt[1].Name = "FilterName";
1730 		aStoreProperties_odt[1].Value = "writer8";
1731 		xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt);
1732 		//save to doc
1733 		XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
1734 		PropertyValue[] aStoreProperties_doc = new PropertyValue[2];
1735 		aStoreProperties_doc[0] = new PropertyValue();
1736 		aStoreProperties_doc[1] = new PropertyValue();
1737 		aStoreProperties_doc[0].Name = "Override";
1738 		aStoreProperties_doc[0].Value = true;
1739 		aStoreProperties_doc[1].Name = "FilterName";
1740 		aStoreProperties_doc[1].Value = "MS Word 97";
1741 		xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc);
1742 		app.closeDocument(xTextDocument);
1743 
1744 		//reopen the document
1745 		XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt")));
1746 		XPropertySet xCursorProps_Assert_odt = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_odt.getText().createTextCursor());
1747 		XIndexAccess xNumRule_assert_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_odt.getPropertyValue("NumberingRules"));
1748 		XIndexReplace xReplaceRule_assert_odt = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule_assert_odt);
1749 		PropertyValue[] propsRule_assert_odt=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xReplaceRule_assert_odt.getByIndex(0));
1750 		//verify paragraph numbering and bullet alignment
1751 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_odt[4].Name);
1752 		assertEquals("assert numbering and bullet","Definition",propsRule_assert_odt[4].Value);
1753 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_odt[11].Name);
1754 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_odt[11].Value);
1755 
1756 		//reopen the document
1757 		XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc")));
1758 		XPropertySet xCursorProps_Assert_doc = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_doc.getText().createTextCursor());
1759 		XIndexAccess xNumRule_assert_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_doc.getPropertyValue("NumberingRules"));
1760 		PropertyValue[] propsRule_assert_doc=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xNumRule_assert_doc.getByIndex(0));
1761 		//verify paragraph numbering and bullet alignment
1762 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_doc[4].Name);
1763 		assertEquals("assert numbering and bullet","WW8Num1z0",propsRule_assert_doc[4].Value);
1764 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_doc[11].Name);
1765 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_doc[11].Value);
1766 	}
1767 	@Test
1768 	public void testNumberingBulletCharacterStyle_Teletype() throws Exception {
1769 
1770 		XTextDocument xTextDocument = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter"));// new a text document
1771 		xText = xTextDocument.getText();
1772 		xText.setString("we are Chinese,they are American.we are all living in one earth!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!" +
1773 				"Hello,world!Hello,world!");
1774 		//create cursor to select paragraph and formating paragraph
1775 		XTextCursor xTextCursor = xText.createTextCursor();
1776 		//create paragraph property set
1777 		XPropertySet xTextProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTextCursor);
1778 		//create document service factory
1779 		XMultiServiceFactory  xWriterFactory= (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument);
1780 		//set numbering character
1781 		XIndexAccess xNumRule = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class,xWriterFactory.createInstance("com.sun.star.text.NumberingRules"));
1782 		PropertyValue[] propsRule = {new PropertyValue(),new PropertyValue()};
1783 		propsRule[0].Name = "NumberingType";
1784 		propsRule[0].Value = NumberingType.ARABIC;
1785 		propsRule[1].Name = "CharStyleName";
1786 		propsRule[1].Value = "Teletype";
1787 		XIndexReplace xReplaceRule = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule);
1788 		xReplaceRule.replaceByIndex(0, propsRule);
1789 		//set paragraph numbering and bullet character
1790 		xTextProps.setPropertyValue("NumberingRules", xNumRule);
1791 		//save to odt
1792 		XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
1793 		PropertyValue[] aStoreProperties_odt = new PropertyValue[2];
1794 		aStoreProperties_odt[0] = new PropertyValue();
1795 		aStoreProperties_odt[1] = new PropertyValue();
1796 		aStoreProperties_odt[0].Name = "Override";
1797 		aStoreProperties_odt[0].Value = true;
1798 		aStoreProperties_odt[1].Name = "FilterName";
1799 		aStoreProperties_odt[1].Value = "writer8";
1800 		xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt);
1801 		//save to doc
1802 		XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
1803 		PropertyValue[] aStoreProperties_doc = new PropertyValue[2];
1804 		aStoreProperties_doc[0] = new PropertyValue();
1805 		aStoreProperties_doc[1] = new PropertyValue();
1806 		aStoreProperties_doc[0].Name = "Override";
1807 		aStoreProperties_doc[0].Value = true;
1808 		aStoreProperties_doc[1].Name = "FilterName";
1809 		aStoreProperties_doc[1].Value = "MS Word 97";
1810 		xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc);
1811 		app.closeDocument(xTextDocument);
1812 
1813 		//reopen the document
1814 		XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt")));
1815 		XPropertySet xCursorProps_Assert_odt = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_odt.getText().createTextCursor());
1816 		XIndexAccess xNumRule_assert_odt = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_odt.getPropertyValue("NumberingRules"));
1817 		XIndexReplace xReplaceRule_assert_odt = (XIndexReplace) UnoRuntime.queryInterface(XIndexReplace.class, xNumRule_assert_odt);
1818 		PropertyValue[] propsRule_assert_odt=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xReplaceRule_assert_odt.getByIndex(0));
1819 		//verify paragraph numbering and bullet alignment
1820 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_odt[4].Name);
1821 		assertEquals("assert numbering and bullet","Teletype",propsRule_assert_odt[4].Value);
1822 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_odt[11].Name);
1823 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_odt[11].Value);
1824 
1825 		//reopen the document
1826 		XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc")));
1827 		XPropertySet xCursorProps_Assert_doc = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_doc.getText().createTextCursor());
1828 		XIndexAccess xNumRule_assert_doc = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class, xCursorProps_Assert_doc.getPropertyValue("NumberingRules"));
1829 		PropertyValue[] propsRule_assert_doc=(PropertyValue[]) UnoRuntime.queryInterface(PropertyValue[].class,xNumRule_assert_doc.getByIndex(0));
1830 		//verify paragraph numbering and bullet alignment
1831 		assertEquals("assert numbering and bullet","CharStyleName",propsRule_assert_doc[4].Name);
1832 		assertEquals("assert numbering and bullet","WW8Num1z0",propsRule_assert_doc[4].Value);
1833 		assertEquals("assert numbering and bullet","NumberingType",propsRule_assert_doc[11].Name);
1834 		assertEquals("assert numbering and bullet",NumberingType.ARABIC,propsRule_assert_doc[11].Value);
1835 	}
1836 }
1837