001: package org.airtodo;
002:
003: import java.awt.Dimension;
004: import java.sql.SQLException;
005: import java.util.ArrayList;
006: import java.util.Collection;
007: import java.util.HashMap;
008: import java.util.List;
009: import java.util.Map;
010:
011: import org.air.framework.gui.dialogs.grid.AbstractGridDialog;
012: import org.air.framework.i18n.NlsHelp_en;
013: import org.air.product.IProduct;
014: import org.airtodo.db.DbUtils;
015: import org.airtodo.gui.dialog_table.CustomerGridNonSelectableDialog;
016: import org.airtodo.gui.dialog_table.EmployeeGridNonSelectableDialog;
017: import org.airtodo.gui.dialog_table.ProjectGridNonSelectableDialog;
018: import org.airtodo.gui.dialog_table.TaskGridNonSelectableDialog;
019: import org.airtodo.gui.dialog_table.TaskTypeGridNonSelectableDialog;
020: import org.airtodo.i18n.NlsColumnsAirTodo_en;
021: import org.airtodo.i18n.NlsMessagesAirTodo_en;
022: import org.airtodo.i18n.NlsRecords_en;
023: import org.airtodo.records.Customers;
024: import org.airtodo.records.Employees;
025: import org.airtodo.records.Initiators;
026: import org.airtodo.records.Projects;
027: import org.airtodo.records.TaskTypes;
028:
029: public class AirTodoProduct implements IProduct {
030: private static final String LANGUAGE_EN = "en";
031:
032: //
033: public String getProductShortName() {
034: return "airTODO";
035: }
036:
037: public String getProductVersion() {
038: return "1.26";
039: }
040:
041: public String getProductHomePage() {
042: return "http://airtodo.sourceforge.net";
043: }
044:
045: private List<AbstractGridDialog> tables;
046:
047: public List<AbstractGridDialog> getTables() {
048: if (tables == null) {
049: tables = new ArrayList<AbstractGridDialog>();
050: tables.add(new CustomerGridNonSelectableDialog());
051: tables.add(new EmployeeGridNonSelectableDialog());
052: tables.add(new TaskTypeGridNonSelectableDialog());
053: tables.add(new ProjectGridNonSelectableDialog());
054: tables.add(new TaskGridNonSelectableDialog());
055: }
056: return tables;
057: }
058:
059: public Map<Class, Dimension> getDialogSizes() {
060: return new HashMap<Class, Dimension>();
061: }
062:
063: public Map<String, Map<Class, String[]>> getNlsRecords() {
064: Map map = new HashMap();
065: map.put(LANGUAGE_EN, new NlsRecords_en());
066: return map;
067: }
068:
069: public Map<String, Map<Enum, String>> getNlsColums() {
070: Map map = new HashMap();
071: map.put(LANGUAGE_EN, new NlsColumnsAirTodo_en());
072: return map;
073: }
074:
075: public Map<String, Map<Enum, String>> getNlsMessages() {
076: Map map = new HashMap();
077: map.put(LANGUAGE_EN, new NlsMessagesAirTodo_en());
078: return map;
079: }
080:
081: public Map<String, Map<Class, String>> getNlsHelp() {
082: Map map = new HashMap();
083: map.put(LANGUAGE_EN, new NlsHelp_en());
084: return map;
085: }
086:
087: public String getSqlResourceBundleBaseName() {
088: return "org.airtodo.sql";
089: }
090:
091: public void prepareDatabase() throws SQLException {
092: DbUtils.prepareDatabase();
093: }
094:
095: public Collection<Class> getRecordsThatSupportDefault() {
096: Collection<Class> collection = new ArrayList<Class>();
097: collection.add(Employees.class);
098: collection.add(Initiators.class);
099: collection.add(Customers.class);
100: collection.add(Projects.class);
101: collection.add(TaskTypes.class);
102: return collection;
103: }
104: }
|