/** * Constructor creates and initializes the meta data object create DS object per table * * @param tableNames - String array of database table names ,It can be zero element array * @param singleService - select the service generation mode true one service for whole database * when it false services per table wise * @param dataSourceId - carbon datasource id it can be null * <p>When create the connection there are 3 away to do it , First way is provide the relevant * information(url, driver, username, password) which need to create connection that time * other fields(connection, datasourceId) should be null * <p>Second way directly you can provide connection instance * <p>final way is you can provide carbon datasource id(name) * <p>if you wish to use all the tables of database you can provide zero element array */ public DSGenerator( String dataSourceId, String dbName, String[] schemas, String[] tableNames, boolean singleService, String nameSpace, String serviceName) { this.DSErrorList = new ArrayList<String>(); try { Connection connection; String[] tableNameList = tableNames; if (dataSourceId != null) { connection = createConnection(dataSourceId); DatabaseMetaData metaObject = connection.getMetaData(); if (tableNameList.length == 0) { tableNameList = DSGenerator.getTableList(connection, dbName, schemas); } if (singleService) { this.generatedService = generateService( dataSourceId, dbName, schemas, tableNameList, metaObject, nameSpace, serviceName); } else { this.generatedServiceList = generateServices(dataSourceId, dbName, schemas, tableNameList, metaObject, nameSpace); } connection.close(); } } catch (Exception e) { log.error("Meta Object initialization failed due to ", e); } }
public static String[] getSchemas(String datasourceId) throws Exception { if (datasourceId != null) { Connection connection = createConnection(datasourceId); String schemas[] = DSGenerator.getSchemas(connection); connection.close(); return schemas; } else { return null; } }
public static String[] getTableList( String url, String driver, String userName, String password, String dbName, String[] schemas) throws ClassNotFoundException, SQLException { if ((url != null) && (driver != null) && (userName != null) && (password != null)) { Class.forName(driver); Connection connection = DriverManager.getConnection(url, userName, password); return DSGenerator.getTableList(connection, dbName, schemas); } else { return null; } }
public static String[] getTableList(String datasourceId, String dbName, String[] schemas) throws SQLException, DataServiceFault { if (datasourceId != null) { Connection connection = createConnection(datasourceId); String tableList[] = DSGenerator.getTableList(connection, dbName, schemas); connection.close(); return tableList; } else { return null; } }