KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > x > class


1 /*
2 * JBoss, Home of Professional Open Source
3 * Copyright 2005, JBoss Inc., and individual contributors as indicated
4 * by the @authors tag. See the copyright.txt in the distribution for a
5 * full listing of individual contributors.
6 *
7 * This is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU Lesser General Public License as
9 * published by the Free Software Foundation; either version 2.1 of
10 * the License, or (at your option) any later version.
11 *
12 * This software is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this software; if not, write to the Free
19 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20 * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
21 */

22 package x;
23
24 // EXPLICIT IMPORTS
25
import a.b.C1; // GOOD
26
import a.b.C2;
27 import a.b.C3;
28
29 // DO NOT WRITE
30
import a.b.*; // BAD
31

32 // DO NOT USE "TAB" TO INDENT CODE USE *3* SPACES FOR PORTABILITY AMONG EDITORS
33

34 /**
35  * <description>
36  *
37  * @see <related>
38  * @author <a HREF="mailto:{email}">{full name}</a>.
39  * @author <a HREF="mailto:marc@jboss.org">Marc Fleury</a>
40  * @version $Revision: 37459 $
41  *
42  * <p><b>Revisions:</b>
43  *
44  * <p><b>yyyymmdd author:</b>
45  * <ul>
46  * <li> explicit fix description (no line numbers but methods) go
47  * beyond the cvs commit message
48  * </ul>
49  * eg:
50  * <p><b>20010516 marc fleury:</b>
51  * <ul>
52  * <li> Ask all developers to clearly document the Revision,
53  * changed the header.
54  * </ul>
55  */

56 public class X
57    extends Y
58    implements Z
59 {
60    // Constants -----------------------------------------------------
61

62    // Attributes ----------------------------------------------------
63

64    // Static --------------------------------------------------------
65

66    // Constructors --------------------------------------------------
67

68    // Public --------------------------------------------------------
69

70    public void startService() throws Exception JavaDoc
71    { // Use the newline for the opening bracket so we can match top and bottom bracket visually
72

73       Class JavaDoc cls = Class.forName(dataSourceClass);
74       vendorSource = (XADataSource)cls.newInstance();
75       
76       // JUMP A LINE BETWEEN LOGICALLY DISCTINT **STEPS** AND ADD A LINE OF COMMENT TO IT
77
cls = vendorSource.getClass();
78       
79       if(properties != null && properties.length() > 0)
80       {
81       
82          try
83          {
84          }
85          catch (IOException ioe)
86          {
87          }
88          for (Iterator i = props.entrySet().iterator(); i.hasNext();)
89          {
90             
91             // Get the name and value for the attributes
92
Map.Entry entry = (Map.Entry) i.next();
93             String JavaDoc attributeName = (String JavaDoc) entry.getKey();
94             String JavaDoc attributeValue = (String JavaDoc) entry.getValue();
95             
96             // Print the debug message
97
log.debug("Setting attribute '" + attributeName + "' to '" +
98                attributeValue + "'");
99             
100             // get the attribute
101
Method setAttribute =
102             cls.getMethod("set" + attributeName,
103                new Class JavaDoc[] { String JavaDoc.class });
104             
105             // And set the value
106
setAttribute.invoke(vendorSource,
107                new Object JavaDoc[] { attributeValue });
108          }
109       }
110       
111       // Test database
112
vendorSource.getXAConnection().close();
113       
114       // Bind in JNDI
115
bind(new InitialContext(), "java:/"+getPoolName(),
116          new Reference(vendorSource.getClass().getName(),
117             getClass().getName(), null));
118    }
119    
120    // Z implementation ----------------------------------------------
121

122    // Y overrides ---------------------------------------------------
123

124    // Package protected ---------------------------------------------
125

126    // Protected -----------------------------------------------------
127

128    // Private -------------------------------------------------------
129

130    // Inner classes -------------------------------------------------
131
}
132
Popular Tags