package org.insightech.er.db.impl.oracle; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; import org.insightech.er.db.DBManagerBase; import org.insightech.er.db.impl.oracle.tablespace.OracleTablespaceProperties; import org.insightech.er.db.sqltype.SqlTypeManager; import org.insightech.er.editor.model.ERDiagram; import org.insightech.er.editor.model.dbexport.db.PreTableExportManager; import org.insightech.er.editor.model.dbexport.ddl.DDLCreator; import org.insightech.er.editor.model.dbimport.ImportFromDBManager; import org.insightech.er.editor.model.dbimport.PreImportFromDBManager; import org.insightech.er.editor.model.diagram_contents.element.node.table.ERTable; import org.insightech.er.editor.model.diagram_contents.element.node.table.properties.TableProperties; import org.insightech.er.editor.model.diagram_contents.not_element.tablespace.TablespaceProperties; public class OracleDBManager extends DBManagerBase { public static final String ID = "Oracle"; public String getId() { return ID; } /** * {@inheritDoc} */ @Override public String getDriverClassName() { return "oracle.jdbc.driver.OracleDriver"; } /** * {@inheritDoc} */ @Override protected String getURL() { return "jdbc:oracle:thin:@<SERVER NAME>:<PORT>:<DB NAME>"; } public int getDefaultPort() { return 1521; } public SqlTypeManager getSqlTypeManager() { return new OracleSqlTypeManager(); } public TableProperties createTableProperties(TableProperties tableProperties) { if (tableProperties != null && tableProperties instanceof OracleTableProperties) { return tableProperties; } return new OracleTableProperties(); } public DDLCreator getDDLCreator(ERDiagram diagram, boolean semicolon) { return new OracleDDLCreator(diagram, semicolon); } public List<String> getIndexTypeList(ERTable table) { List<String> list = new ArrayList<String>(); list.add("BTREE"); return list; } @Override protected int[] getSupportItems() { return new int[] { SUPPORT_AUTO_INCREMENT, SUPPORT_SCHEMA, SUPPORT_SEQUENCE }; } public ImportFromDBManager getTableImportManager() { return new OracleTableImportManager(); } public PreImportFromDBManager getPreTableImportManager() { return new OraclePreTableImportManager(); } public PreTableExportManager getPreTableExportManager() { return new OraclePreTableExportManager(); } public TablespaceProperties createTablespaceProperties() { return new OracleTablespaceProperties(); } public TablespaceProperties checkTablespaceProperties( TablespaceProperties tablespaceProperties) { if (!(tablespaceProperties instanceof OracleTablespaceProperties)) { return new OracleTablespaceProperties(); } return tablespaceProperties; } public String[] getCurrentTimeValue() { return new String[] { "SYSDATE" }; } @Override public List<String> getSystemSchemaList() { List<String> list = new ArrayList<String>(); list.add("anonymous"); list.add("ctxsys"); list.add("dbsnmp"); list.add("dip"); list.add("flows_020100"); list.add("flows_files"); list.add("hr"); list.add("mdsys"); list.add("outln"); list.add("sys"); list.add("system"); list.add("tsmsys"); list.add("xdb"); return list; } public BigDecimal getSequenceMaxValue() { return new BigDecimal("9999999999999999999999999999"); } }