1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 package mod._forms;
28 
29 import com.sun.star.beans.NamedValue;
30 import java.io.PrintWriter;
31 
32 import lib.TestEnvironment;
33 import lib.TestParameters;
34 import util.DBTools;
35 
36 
37 
38 /**
39 * Test for object which is represented by service
40 * <code>com.sun.star.form.component.DateField</code>. <p>
41 * Object implements the following interfaces :
42 * <ul>
43 *  <li> <code>com::sun::star::io::XPersistObject</code></li>
44 *  <li> <code>com::sun::star::awt::UnoControlDateFieldModel</code></li>
45 *  <li> <code>com::sun::star::form::XReset</code></li>
46 *  <li> <code>com::sun::star::form::XBoundComponent</code></li>
47 *  <li> <code>com::sun::star::form::FormComponent</code></li>
48 *  <li> <code>com::sun::star::form::component::DateField</code></li>
49 *  <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
50 *  <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
51 *  <li> <code>com::sun::star::form::XUpdateBroadcaster</code></li>
52 *  <li> <code>com::sun::star::form::DataAwareControlModel</code></li>
53 *  <li> <code>com::sun::star::beans::XPropertyState</code></li>
54 *  <li> <code>com::sun::star::form::FormControlModel</code></li>
55 *  <li> <code>com::sun::star::container::XNamed</code></li>
56 *  <li> <code>com::sun::star::lang::XComponent</code></li>
57 *  <li> <code>com::sun::star::lang::XEventListener</code></li>
58 *  <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
59 *  <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
60 *  <li> <code>com::sun::star::beans::XPropertySet</code></li>
61 *  <li> <code>com::sun::star::form::XLoadListener</code></li>
62 *  <li> <code>com::sun::star::container::XChild</code></li>
63 * </ul>
64 * The following files used by this test :
65 * <ul>
66 *  <li><b> TestDB </b> (directory) : directory with test database </li>
67 *  <li><b> TestDB/TestDB.dbf </b> : table file. See
68 *    {@link util.DBTools DBTools} class for more information.</li>
69 * </ul> <p>
70 * This object test <b> is NOT </b> designed to be run in several
71 * threads concurently.
72 * @see com.sun.star.io.XPersistObject
73 * @see com.sun.star.awt.UnoControlDateFieldModel
74 * @see com.sun.star.form.XReset
75 * @see com.sun.star.form.XBoundComponent
76 * @see com.sun.star.form.FormComponent
77 * @see com.sun.star.form.component.DateField
78 * @see com.sun.star.beans.XFastPropertySet
79 * @see com.sun.star.beans.XMultiPropertySet
80 * @see com.sun.star.form.XUpdateBroadcaster
81 * @see com.sun.star.form.DataAwareControlModel
82 * @see com.sun.star.beans.XPropertyState
83 * @see com.sun.star.form.FormControlModel
84 * @see com.sun.star.container.XNamed
85 * @see com.sun.star.lang.XComponent
86 * @see com.sun.star.lang.XEventListener
87 * @see com.sun.star.beans.XPropertyAccess
88 * @see com.sun.star.beans.XPropertyContainer
89 * @see com.sun.star.beans.XPropertySet
90 * @see com.sun.star.form.XLoadListener
91 * @see com.sun.star.container.XChild
92 * @see ifc.io._XPersistObject
93 * @see ifc.awt._UnoControlDateFieldModel
94 * @see ifc.form._XReset
95 * @see ifc.form._XBoundComponent
96 * @see ifc.form._FormComponent
97 * @see ifc.form.component._DateField
98 * @see ifc.beans._XFastPropertySet
99 * @see ifc.beans._XMultiPropertySet
100 * @see ifc.form._XUpdateBroadcaster
101 * @see ifc.form._DataAwareControlModel
102 * @see ifc.beans._XPropertyState
103 * @see ifc.form._FormControlModel
104 * @see ifc.container._XNamed
105 * @see ifc.lang._XComponent
106 * @see ifc.lang._XEventListener
107 * @see ifc.beans._XPropertySet
108 * @see ifc.form._XLoadListener
109 * @see ifc.container._XChild
110 */
111 public class ODateModel extends GenericModelTest {
112 
113     /**
114      * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
115      * <pre>
116      *    super.m_ChangePropertyName = "Date";
117      *    super.m_kindOfControl="DateField";
118      *    super.m_ObjectName = "stardiv.one.form.component.DateField";
119      *
120      *    NamedValue DataField = new NamedValue();
121      *    DataField.Name = "DataField";
122      *    DataField.Value = DBTools.TST_DATE_F;
123      *    super.m_propertiesToSet.add(DataField);
124      *
125      *    NamedValue Date = new NamedValue();
126      *    Date.Name = "Date";
127      *    Date.Value = new Integer(DBTools.TST_DATE);
128      *    super.m_propertiesToSet.add(Date);
129      *    super.m_LCShape_Type = "FixedText";
130      * </pre>
131      * Then <CODE>super.initialize()</CODE> was called.
132      * @param tParam the test parameter
133      * @param log the log writer
134      */
135     protected void initialize(TestParameters tParam, PrintWriter log) {
136 
137         super.initialize(tParam, log);
138 
139         super.m_ChangePropertyName = "Date";
140 
141         super.m_kindOfControl="DateField";
142 
143         super.m_ObjectName = "stardiv.one.form.component.DateField";
144 
145         NamedValue DataField = new NamedValue();
146         DataField.Name = "DataField";
147         DataField.Value = DBTools.TST_DATE_F;
148         super.m_propertiesToSet.add(DataField);
149 
150         NamedValue Date = new NamedValue();
151         Date.Name = "Date";
152         Date.Value = new Integer(DBTools.TST_DATE);
153         super.m_propertiesToSet.add(Date);
154 
155         super.m_LCShape_Type = "FixedText";
156 
157     }
158     /**
159      * calls <CODE>cleanup()</CODE> from it's super class
160      * @param tParam the test parameter
161      * @param log the log writer
162      */
163     protected void cleanup(TestParameters tParam, PrintWriter log) {
164         super.cleanup(tParam, log);
165     }
166 
167 
168     /**
169      * calls <CODE>createTestEnvironment()</CODE> from it's super class
170      * @param Param the test parameter
171      * @param log the log writer
172      * @return lib.TestEnvironment
173      */
174     protected synchronized TestEnvironment createTestEnvironment(TestParameters Param,
175                                                                  PrintWriter log) {
176         return super.createTestEnvironment(Param, log);
177     }
178 } // finish class ODateModel
179