KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > portal > setup > DatabaseVendorType


1 /*
2  * ========================================================================
3  *
4  * Copyright (c) Unpublished Work of Novell, Inc. All Rights Reserved.
5  *
6  * THIS WORK IS AN UNPUBLISHED WORK AND CONTAINS CONFIDENTIAL,
7  * PROPRIETARY AND TRADE SECRET INFORMATION OF NOVELL, INC. ACCESS TO
8  * THIS WORK IS RESTRICTED TO (I) NOVELL, INC. EMPLOYEES WHO HAVE A NEED
9  * TO KNOW HOW TO PERFORM TASKS WITHIN THE SCOPE OF THEIR ASSIGNMENTS AND
10  * (II) ENTITIES OTHER THAN NOVELL, INC. WHO HAVE ENTERED INTO
11  * APPROPRIATE LICENSE AGREEMENTS. NO PART OF THIS WORK MAY BE USED,
12  * PRACTICED, PERFORMED, COPIED, DISTRIBUTED, REVISED, MODIFIED,
13  * TRANSLATED, ABRIDGED, CONDENSED, EXPANDED, COLLECTED, COMPILED,
14  * LINKED, RECAST, TRANSFORMED OR ADAPTED WITHOUT THE PRIOR WRITTEN
15  * CONSENT OF NOVELL, INC. ANY USE OR EXPLOITATION OF THIS WORK WITHOUT
16  * AUTHORIZATION COULD SUBJECT THE PERPETRATOR TO CRIMINAL AND CIVIL
17  * LIABILITY.
18  *
19  * ========================================================================
20  */

21 package org.jboss.portal.setup;
22
23 import java.util.HashMap JavaDoc;
24 import java.util.List JavaDoc;
25 import java.util.ArrayList JavaDoc;
26
27 /**
28  * @author <a HREF="mailto:palber@novell.com">Polina Alber</a>
29  * Date: Apr 7, 2005; Time: 8:05:26 PM
30  * @since JBoss portal 2.0
31  * Class org.jboss.portal.setup.DatabaseVendorType
32  * is enumeration of supported database vendors.
33  */

34 public class DatabaseVendorType implements PortalSetupConstants
35 {
36    public static final List JavaDoc VENDOR_TYPES = new ArrayList JavaDoc();
37    public static final DatabaseVendorType DEFAULT_VENDOR = new DatabaseVendorType(HSQL);
38
39    static
40    {
41       VENDOR_TYPES.add(new DatabaseVendorType(ORACLE_9));
42       //VENDOR_TYPES.add(new DatabaseVendorType("oracle9i"));
43
//VENDOR_TYPES.add(new DatabaseVendorType("oracle8"));
44
//VENDOR_TYPES.add(new DatabaseVendorType("oracle7"));
45
//VENDOR_TYPES.add(new DatabaseVendorType("sybase"));
46
//VENDOR_TYPES.add(new DatabaseVendorType("hypersonic sql"));
47
VENDOR_TYPES.add(new DatabaseVendorType(HSQL));
48       VENDOR_TYPES.add(DEFAULT_VENDOR);
49       VENDOR_TYPES.add(new DatabaseVendorType(POSTGRESS));
50       //VENDOR_TYPES.add(new DatabaseVendorType("postgresql 8.0"));
51
//VENDOR_TYPES.add(new DatabaseVendorType("postgresql 7.2"));
52
VENDOR_TYPES.add(new DatabaseVendorType(DB2));
53       VENDOR_TYPES.add(new DatabaseVendorType(MS_SQL));
54       VENDOR_TYPES.add(new DatabaseVendorType(MY_SQL));
55       //VENDOR_TYPES.add(new DatabaseVendorType("ms sqlserver"));
56
}
57
58    private final String JavaDoc m_myName; // for debug only
59

60    private DatabaseVendorType(String JavaDoc name)
61    {
62       m_myName = name;
63    }
64
65    public String JavaDoc toString()
66    {
67       return m_myName;
68    }
69
70    /**
71     * @param vendor name
72     * @return a database vendor type
73     * @throws PortalSetupException in case
74     * the name specified cannot be matched to supported vendors;
75     */

76    public static DatabaseVendorType parseVendorName(String JavaDoc vendor, boolean create) throws PortalSetupException
77    {
78       if (vendor == null)
79       {
80          //setting default vendor
81
return DEFAULT_VENDOR;
82       }
83       else
84       {
85          DatabaseVendorType type = null;
86          vendor = vendor.toLowerCase();
87          for (int i = 0; i < VENDOR_TYPES.size(); i++)
88          {
89             type = (DatabaseVendorType)VENDOR_TYPES.get(i);
90             if (null != type && type.toString().equals(vendor))
91             {
92                return type;
93             }
94          }
95          if (create)
96          {
97             type = new DatabaseVendorType(vendor);
98             VENDOR_TYPES.add(type);
99          }
100          else
101          {
102             throw new PortalSetupException("Specified database vendor '" + vendor + "' is not supported.");
103          }
104
105          return type;
106       }
107    }
108 }
109
110
Popular Tags