1 21 package org.jboss.portal.setup; 22 23 import java.util.HashMap ; 24 import java.util.List ; 25 import java.util.ArrayList ; 26 27 34 public class DatabaseVendorType implements PortalSetupConstants 35 { 36 public static final List VENDOR_TYPES = new ArrayList (); 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(HSQL)); 48 VENDOR_TYPES.add(DEFAULT_VENDOR); 49 VENDOR_TYPES.add(new DatabaseVendorType(POSTGRESS)); 50 VENDOR_TYPES.add(new DatabaseVendorType(DB2)); 53 VENDOR_TYPES.add(new DatabaseVendorType(MS_SQL)); 54 VENDOR_TYPES.add(new DatabaseVendorType(MY_SQL)); 55 } 57 58 private final String m_myName; 60 private DatabaseVendorType(String name) 61 { 62 m_myName = name; 63 } 64 65 public String toString() 66 { 67 return m_myName; 68 } 69 70 76 public static DatabaseVendorType parseVendorName(String vendor, boolean create) throws PortalSetupException 77 { 78 if (vendor == null) 79 { 80 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 |