summaryrefslogtreecommitdiffstats
path: root/tags/java/das/1.0-incubating-beta1/rdb/src/main/java/org/apache/tuscany/das/rdb/config
diff options
context:
space:
mode:
Diffstat (limited to 'tags/java/das/1.0-incubating-beta1/rdb/src/main/java/org/apache/tuscany/das/rdb/config')
-rw-r--r--tags/java/das/1.0-incubating-beta1/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/MappingWrapper.java737
-rw-r--r--tags/java/das/1.0-incubating-beta1/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/QualifiedColumn.java94
-rw-r--r--tags/java/das/1.0-incubating-beta1/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/RelationshipWrapper.java47
-rw-r--r--tags/java/das/1.0-incubating-beta1/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/TableWrapper.java149
4 files changed, 0 insertions, 1027 deletions
diff --git a/tags/java/das/1.0-incubating-beta1/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/MappingWrapper.java b/tags/java/das/1.0-incubating-beta1/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/MappingWrapper.java
deleted file mode 100644
index b44f7c560f..0000000000
--- a/tags/java/das/1.0-incubating-beta1/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/MappingWrapper.java
+++ /dev/null
@@ -1,737 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.das.rdb.config.wrapper;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Vector;
-
-import org.apache.log4j.Logger;
-import org.apache.tuscany.das.rdb.config.Column;
-import org.apache.tuscany.das.rdb.config.Command;
-import org.apache.tuscany.das.rdb.config.Config;
-import org.apache.tuscany.das.rdb.config.ConfigFactory;
-import org.apache.tuscany.das.rdb.config.ConnectionInfo;
-import org.apache.tuscany.das.rdb.config.ConnectionProperties;
-import org.apache.tuscany.das.rdb.config.Create;
-import org.apache.tuscany.das.rdb.config.Delete;
-import org.apache.tuscany.das.rdb.config.KeyPair;
-import org.apache.tuscany.das.rdb.config.Relationship;
-import org.apache.tuscany.das.rdb.config.Table;
-import org.apache.tuscany.das.rdb.config.Update;
-
-import commonj.sdo.Property;
-
-public class MappingWrapper {
-
- private static final ConfigFactory FACTORY = ConfigFactory.INSTANCE;
-
- private final Logger logger = Logger.getLogger(MappingWrapper.class);
-
- private Config config;
-
- public MappingWrapper() {
- config = FACTORY.createConfig();
- //JIRA-952
- this.checkSchemaNameSupport();
- }
-
- //JIRA-952 - check if there is any entry with no schemaName when support is ON
- public void checkSchemaNameSupport(){
- if(config.isDatabaseSchemaNameSupported()){
- List tableList = config.getTable();
- for(int i=0; i<tableList.size(); i++){
- Table t = (Table)tableList.get(i);
- if(t.getSchemaName() == null || t.getSchemaName().equals("")){
- throw new RuntimeException("No schemaName provided for tableName "+t.getTableName()+" when schemaNameSupport is ON");
- }
-
- if(t.getTypeName()==null){
- t.setTypeName(t.getSchemaName()+"."+t.getTableName());
- }
- }
- }
- }
- public MappingWrapper(Config mapping) {
- if (mapping == null) {
- this.config = FACTORY.createConfig();
- } else {
- this.config = mapping;
- }
- //JIRA-952
- checkSchemaNameSupport();
- }
-
- public Config getConfig() {
- return this.config;
- }
-
- public Table getTable(String tableName) {
-
- if (this.logger.isDebugEnabled()) {
- this.logger.debug("Looking for table " + tableName);
- }
-
- Iterator i = config.getTable().iterator();
- while (i.hasNext()) {
- Table t = (Table) i.next();
- //JIRA-952
- if(this.config.isDatabaseSchemaNameSupported()){
- if (tableName.equalsIgnoreCase(t.getSchemaName()+"."+t.getTableName())) {
- return t;
- }
- }else{
- if (tableName.equalsIgnoreCase(t.getTableName())) {
- return t;
- }
- }
- }
-
- return null;
- }
-
- public Table getTableByTypeName(String typeName) {
-
- if (this.logger.isDebugEnabled()) {
- this.logger.debug("Looking for table by property: " + typeName);
- }
-
- Iterator i = config.getTable().iterator();
- while (i.hasNext()) {
- Table t = (Table) i.next();
- TableWrapper wrapper = new TableWrapper(t);
- if (typeName.equals(wrapper.getTypeName())) {
- return t;
- }
- }
- return null;
-
- }
-
- public void addImpliedRelationship(String parentTableName, String childTableName, String fkColumnName) {
-
- // Don't create a relationship for something like Book.Book_ID
- if (parentTableName.equalsIgnoreCase(childTableName)) {
- return;
- }
-
- // Don't create a relationship if one already exists in the config
- Iterator i = config.getRelationship().iterator();
- while (i.hasNext()) {
- Relationship r = (Relationship) i.next();
- if (r.getPrimaryKeyTable().equals(parentTableName) && r.getForeignKeyTable().equals(childTableName)) {
- return;
- }
- }
-
- Relationship r = FACTORY.createRelationship();
- r.setName(childTableName);
- r.setPrimaryKeyTable(parentTableName);
- r.setForeignKeyTable(childTableName);
-
- KeyPair pair = FACTORY.createKeyPair();
- pair.setPrimaryKeyColumn("ID");
- pair.setForeignKeyColumn(fkColumnName);
-
- r.getKeyPair().add(pair);
- r.setMany(true);
-
- config.getRelationship().add(r);
- }
-
- public Relationship addRelationship(String parentName, String childName) {
-
- //JIRA-952
- QualifiedColumn parent = null;
- QualifiedColumn child = null;
-
- if(this.config.isDatabaseSchemaNameSupported()){
- parent = new QualifiedColumn(parentName, true);
- child = new QualifiedColumn(childName, true);
- }
- else{
- parent = new QualifiedColumn(parentName);
- child = new QualifiedColumn(childName);
- }
-
- Relationship r = FACTORY.createRelationship();
- //JIRA-952
- if(this.config.isDatabaseSchemaNameSupported()){
- r.setName(child.getSchemaName()+"."+child.getTableName());
- r.setPrimaryKeyTable(parent.getSchemaName()+"."+parent.getTableName());
- r.setForeignKeyTable(child.getSchemaName()+"."+child.getTableName());
- }
- else{
- r.setName(child.getTableName());
- r.setPrimaryKeyTable(parent.getTableName());
- r.setForeignKeyTable(child.getTableName());
- }
-
- if (this.logger.isDebugEnabled()) {
- this.logger.debug("Created relationship from " + r.getPrimaryKeyTable()
- + " to " + r.getForeignKeyTable() + " named " + r.getName());
- }
-
- KeyPair pair = FACTORY.createKeyPair();
- pair.setPrimaryKeyColumn(parent.getColumnName());
- pair.setForeignKeyColumn(child.getColumnName());
-
- r.getKeyPair().add(pair);
- r.setMany(true);
-
- config.getRelationship().add(r);
-
- return r;
-
- }
-
- public Relationship addRelationship(Vector parentNames, Vector childNames) {
- //create vector for each
- if(parentNames.size() != childNames.size()){
- throw new RuntimeException("Can not for relationship for multiple keys, different sizes");
- }
-
- Vector parentColumns = new Vector();
- Vector childColumns = new Vector();
-
- for(int i=0; i<parentNames.size(); i++){
- QualifiedColumn parent = null;
- QualifiedColumn child = null;
-
- if(this.config.isDatabaseSchemaNameSupported()){
- parent = new QualifiedColumn((String)parentNames.get(i), true);
- child = new QualifiedColumn((String)childNames.get(i), true);
- }
- else{
- parent = new QualifiedColumn((String)parentNames.get(i));
- child = new QualifiedColumn((String)childNames.get(i));
- }
-
- parentColumns.add(parent);
- childColumns.add(child);
- }
-
- //all parent columns should be from same table and schema
- //all child columns should be from same table and schema
- checkTableNames(parentColumns);
- checkSchemaNames(parentColumns);
-
- checkTableNames(childColumns);
- checkSchemaNames(childColumns);
-
- Relationship r = FACTORY.createRelationship();
- //JIRA-952
- if(this.config.isDatabaseSchemaNameSupported()){
- r.setName(((QualifiedColumn)childColumns.get(0)).getSchemaName()+"."
- +((QualifiedColumn)childColumns.get(0)).getTableName());
- r.setPrimaryKeyTable(((QualifiedColumn)parentColumns.get(0)).getSchemaName()+"."
- +((QualifiedColumn)parentColumns.get(0)).getTableName());
- r.setForeignKeyTable(((QualifiedColumn)childColumns.get(0)).getSchemaName()+"."
- +((QualifiedColumn)childColumns.get(0)).getTableName());
- }
- else{
- r.setName(((QualifiedColumn)childColumns.get(0)).getTableName());
- r.setPrimaryKeyTable(((QualifiedColumn)parentColumns.get(0)).getTableName());
- r.setForeignKeyTable(((QualifiedColumn)childColumns.get(0)).getTableName());
- }
-
- if (this.logger.isDebugEnabled()) {
- this.logger.debug("Created relationship from " + r.getPrimaryKeyTable()
- + " to " + r.getForeignKeyTable() + " named " + r.getName());
- }
-
- KeyPair pair = null;
-
- for(int i=0; i<parentColumns.size(); i++){
- pair = FACTORY.createKeyPair();
- pair.setPrimaryKeyColumn(((QualifiedColumn)parentColumns.get(i)).getColumnName());
- pair.setForeignKeyColumn(((QualifiedColumn)childColumns.get(i)).getColumnName());
- r.getKeyPair().add(pair);
- }
-
- r.setMany(true);
- config.getRelationship().add(r);
-
- return r;
- }
-
- public void checkTableNames(Vector columns){
- String expectedTableName = ((QualifiedColumn)columns.get(0)).getTableName();
-
- for(int i=0; i<columns.size(); i++){
- QualifiedColumn currColumn = (QualifiedColumn)columns.get(i);
- String currTableName = currColumn.getTableName();
-
- if(!currTableName.equals(expectedTableName)){
- throw new RuntimeException("Columns in one side of relationship can not be from different tables");
- }
- }
- }
-
- public void checkSchemaNames(Vector columns){
- if(!this.config.isDatabaseSchemaNameSupported()){
- return;
- }
-
- String expectedSchemaName = ((QualifiedColumn)columns.get(0)).getSchemaName();
-
- for(int i=0; i<columns.size(); i++){
- QualifiedColumn currColumns = (QualifiedColumn)columns.get(i);
- String currSchemaName = ((QualifiedColumn)columns.get(i)).getSchemaName();
-
- if(!currSchemaName.equals(expectedSchemaName)){
- throw new RuntimeException("Columns in one side of relationship can not be from different schema");
- }
- }
- }
- public void addPrimaryKey(String columnName) {
- addPrimaryKey(Collections.singletonList(columnName));
- }
-
- public void addPrimaryKey(List columnNames) {
-
- Iterator i = columnNames.iterator();
- while (i.hasNext()) {
- String columnName = (String) i.next();
-
- QualifiedColumn pkColumn = null;
- pkColumn = new QualifiedColumn(columnName, this.config.isDatabaseSchemaNameSupported());
- //Table t = findOrCreateTable(pkColumn.getTableName());
- Table t = findOrCreateTable(pkColumn);
- Column c = findOrCreateColumn(t, pkColumn.getColumnName());
- c.setPrimaryKey(true);
- }
- }
-
- public String getTableTypeName(String tableName) {
- Table t = getTable(tableName);
- if (t == null) {
- return tableName;
- }
- String propertyName = t.getTypeName();
-
- if (propertyName == null) {
- return tableName;
- }
-
- return propertyName;
- }
-
- public Column getColumn(Table t, String columnName) {
- if (t == null) {
- return null;
- }
- Iterator i = t.getColumn().iterator();
- while (i.hasNext()) {
- Column c = (Column) i.next();
- if (c.getColumnName().equals(columnName)) {
- return c;
- }
- }
-
- if (this.logger.isDebugEnabled()) {
- this.logger.debug("WARNING: Could not find column " + columnName + " in table " + t.getTableName());
- }
-
- return null;
- }
-
- public Column getColumnByPropertyName(Table t, String propertyName) {
- if (t == null) {
- return null;
- }
-
- Iterator i = t.getColumn().iterator();
- while (i.hasNext()) {
- Column c = (Column) i.next();
-
- if (c.getColumnName().equals(propertyName)) {
- return c;
- }
-
- if (c.getPropertyName() != null && c.getPropertyName().equals(propertyName)) {
- return c;
- }
- }
-
- if (this.logger.isDebugEnabled()) {
- this.logger.debug("WARNING: Could not find column " + propertyName + " in table " + t.getTableName());
- }
-
- return null;
- }
-
- public String getColumnPropertyName(String tableName, String columnName) {
- Table t = getTable(tableName);
- Column c = getColumn(t, columnName);
- if (c == null) {
- return columnName;
- }
-
- String propertyName = c.getPropertyName();
- if (propertyName == null) {
- return c.getColumnName();
- }
-
- return propertyName;
- }
-
- public Table addTable(String tableName, String typeName) {
- Table table = getTable(tableName);
- if (table != null) {
- throw new RuntimeException("Table " + tableName + "already exists");
- }
-
- table = ConfigFactory.INSTANCE.createTable();
- table.setTableName(tableName);
- table.setTypeName(typeName);
- config.getTable().add(table);
-
- return table;
- }
-
- //JIRA-952
- public Table addTable(String tableName, String schemaName, String typeName) {
- Table table = null;
-
- if(this.config.isDatabaseSchemaNameSupported()){
- table = getTable(schemaName+"."+tableName);
- }
- else{
- table = getTable(tableName);
- }
-
- if (table != null) {
- if(this.config.isDatabaseSchemaNameSupported()){
- throw new RuntimeException("Table " + schemaName+"."+tableName + "already exists");
- }
- else{
- throw new RuntimeException("Table " + tableName + "already exists");
- }
- }
-
- table = ConfigFactory.INSTANCE.createTable();
- table.setTableName(tableName);
-
- if(this.config.isDatabaseSchemaNameSupported()){
- table.setSchemaName(schemaName);
- }
- else{
- table.setSchemaName("");
- }
-
- table.setTypeName(typeName);
- config.getTable().add(table);
-
- return table;
- }
- public Column addColumn(Table table, String name, String propertyName) {
- Column column = ConfigFactory.INSTANCE.createColumn();
- column.setColumnName(name);
- column.setPropertyName(propertyName);
-
- table.getColumn().add(column);
- return column;
- }
-
- //JIRA-952
- private Table findOrCreateTable(String schemaName, String tableName) {
- Table table = null;
-
- if(this.config.isDatabaseSchemaNameSupported()){
- table = getTable(schemaName+"."+tableName);
- }
- else{
- table = getTable(tableName);
- }
- if (table == null) {
- table = ConfigFactory.INSTANCE.createTable();
- table.setTableName(tableName);
- table.setSchemaName(schemaName);
-
- if(this.config.isDatabaseSchemaNameSupported()){
- table.setTypeName(schemaName+"."+tableName);
- }
- else{
- table.setTypeName(tableName);
- }
- config.getTable().add(table);
- }
- return table;
-
- }
-
- //JIRA-952
- private Table findOrCreateTable(QualifiedColumn column) {
- Table table = null;
- if(this.config.isDatabaseSchemaNameSupported()){
- table = getTable(column.getSchemaName()+"."+column.getTableName());
- }
- else{
- table = getTable(column.getTableName());
- }
-
- if (table == null) {
- table = ConfigFactory.INSTANCE.createTable();
- table.setTableName(column.getTableName());
- table.setSchemaName(column.getSchemaName());
- config.getTable().add(table);
- }
- return table;
-
- }
- private Column findOrCreateColumn(Table t, String name) {
- Iterator i = t.getColumn().iterator();
- while (i.hasNext()) {
- Column c = (Column) i.next();
- if (name.equals(c.getColumnName())) {
- return c;
- }
- }
-
- Column c = ConfigFactory.INSTANCE.createColumn();
- c.setColumnName(name);
- t.getColumn().add(c);
- return c;
- }
-
- public boolean hasRecursiveRelationships() {
- if (config != null) {
- Iterator i = getConfig().getRelationship().iterator();
- while (i.hasNext()) {
- Relationship r = (Relationship) i.next();
- if (r.getPrimaryKeyTable().equals(r.getForeignKeyTable())) {
- return true;
- }
- }
- }
- return false;
- }
-
- public Collection getRelationshipsByChildTable(String name) {
- List results = new ArrayList();
- if (config != null) {
- Iterator i = getConfig().getRelationship().iterator();
- while (i.hasNext()) {
- Relationship r = (Relationship) i.next();
- if (name.equals(r.getForeignKeyTable())) {
- results.add(r);
- }
- }
- }
- return results;
- }
-
- // TODO optimize
- public List getInsertOrder() {
- if (this.logger.isDebugEnabled()) {
- this.logger.debug("Getting insert order");
- }
-
- List inserts = new ArrayList();
- Map parentToChild = new HashMap();
-
- List parents = new ArrayList();
- List children = new ArrayList();
- if (config != null) {
- Iterator i = getConfig().getRelationship().iterator();
- while (i.hasNext()) {
- Relationship r = (Relationship) i.next();
- parents.add(r.getPrimaryKeyTable());
- children.add(r.getForeignKeyTable());
- parentToChild.put(r.getPrimaryKeyTable(), r.getForeignKeyTable());
- }
- while (parents.size() > 0) {
- String parent = (String) parents.get(0);
- if (!children.contains(parent)) {
- if (!inserts.contains(parent)) {
- inserts.add(parent);
- }
- String child = (String) parentToChild.get(parent);
- if (!inserts.contains(child)) {
- inserts.add(child);
- }
- parents.remove(parent);
- children.remove(child);
- } else {
- parents.add(parents.remove(0));
- }
- }
- inserts.addAll(children);
- }
-
- if (this.logger.isDebugEnabled()) {
- this.logger.debug(inserts);
- }
-
- return inserts;
- }
-
- public List getDeleteOrder() {
- List deleteOrder = new ArrayList();
- deleteOrder.addAll(getInsertOrder());
- Collections.reverse(deleteOrder);
- return deleteOrder;
- }
-
- //JIRA-952
- public void addConverter(String name, String converter) {
- QualifiedColumn column = new QualifiedColumn(name, this.config.isDatabaseSchemaNameSupported());
- Table t = null;
- t = findOrCreateTable(column);
- Column c = findOrCreateColumn(t, column.getColumnName());
- c.setConverterClassName(converter);
- }
-
- public String getConverter(String tableName, String columnName) {
- Table t = getTable(tableName);
- Column c = getColumn(t, columnName);
- if (c != null) {
- return c.getConverterClassName();
- }
- return null;
- }
-
- public Map getConverters(Table table) {
- Map converters = new HashMap();
-
- Iterator columns = table.getColumn().iterator();
- while (columns.hasNext()) {
- Column c = (Column) columns.next();
- if (c.getConverterClassName() != null) {
- String property = c.getPropertyName();
- if (property == null) {
- property = c.getColumnName();
- }
- converters.put(property, c.getConverterClassName());
- }
- }
- return converters;
- }
-
- public Relationship getRelationshipByReference(Property ref) {
- Iterator i = config.getRelationship().iterator();
- while (i.hasNext()) {
- Relationship r = (Relationship) i.next();
- if (ref.getName().equals(r.getName()) || ref.getOpposite().getName().equals(r.getName())) {
- return r;
- }
- }
- throw new RuntimeException("Could not find relationship " + ref.getName() + " in the configuration");
- }
-
- public Relationship getRelationshipByName(String name) {
- Iterator i = config.getRelationship().iterator();
- while (i.hasNext()) {
- Relationship r = (Relationship) i.next();
- if (name.equals(r.getName())) {
- return r;
- }
- }
- throw new RuntimeException("Could not find relationship " + name + " in the configuration");
- }
-
- public void addUpdateStatement(Table table, String statement, String parameters) {
-
- Update update = ConfigFactory.INSTANCE.createUpdate();
- update.setSql(statement);
- update.setParameters(parameters);
- table.setUpdate(update);
-
- }
-
- public void addDeleteStatement(Table table, String statement, String parameters) {
-
- Delete delete = ConfigFactory.INSTANCE.createDelete();
- delete.setSql(statement);
- delete.setParameters(parameters);
- table.setDelete(delete);
-
- }
-
- public void addCreateStatement(Table table, String statement, String parameters) {
-
- Create create = ConfigFactory.INSTANCE.createCreate();
- create.setSql(statement);
- create.setParameters(parameters);
- table.setCreate(create);
-
- }
-
- //JIRA-948 support for driver manager connection
- public void addConnectionInfo(String dataSourceName, boolean managedtx){
- ConnectionInfo info = ConfigFactory.INSTANCE.createConnectionInfo();
- info.setDataSource(dataSourceName);
- info.setManagedtx(managedtx);
-
- config.setConnectionInfo(info);
- }
-
- public void addConnectionInfo(String driverClass, String connectionURL, String user, String password, int loginTimeout) {
- ConnectionInfo info = ConfigFactory.INSTANCE.createConnectionInfo();
-
- ConnectionProperties connectionProperties = ConfigFactory.INSTANCE.createConnectionProperties();
- connectionProperties.setDriverClass(driverClass);
- connectionProperties.setDatabaseURL(connectionURL);
- connectionProperties.setUserName(user);
- connectionProperties.setPassword(password);
- connectionProperties.setLoginTimeout(loginTimeout);
-
- info.setConnectionProperties(connectionProperties);
- config.setConnectionInfo(info);
- }
- //JIRA-948 end
-
- public Command addCommand(String name, String sql, String kind) {
- Command cmd = ConfigFactory.INSTANCE.createCommand();
- cmd.setName(name);
- cmd.setKind(kind);
- cmd.setSQL(sql);
-
- config.getCommand().add(cmd);
-
- return cmd;
- }
-
- //JIRA-952
- public void addImpliedPrimaryKey(String schemaName, String tableName, String columnName) {
- Table t = findOrCreateTable(schemaName, tableName);//JIRA-952
-
- Iterator i = t.getColumn().iterator();
- boolean hasPK = false;
- while (i.hasNext()) {
- Column c = (Column) i.next();
- if (c.isPrimaryKey()) {
- hasPK = true;
- }
- }
-
- if (!hasPK) {
- Column c = findOrCreateColumn(t, columnName);
- c.setPrimaryKey(true);
- }
-
- }
-
-}
diff --git a/tags/java/das/1.0-incubating-beta1/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/QualifiedColumn.java b/tags/java/das/1.0-incubating-beta1/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/QualifiedColumn.java
deleted file mode 100644
index 95e5e78c54..0000000000
--- a/tags/java/das/1.0-incubating-beta1/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/QualifiedColumn.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.das.rdb.config.wrapper;
-
-import org.apache.log4j.Logger;
-
-public class QualifiedColumn {
-
- private final String tableName;
-
- private final String columnName;
- private final String schemaName;//JIRA-952
-
- private final Logger logger = Logger.getLogger(QualifiedColumn.class);
-
- public QualifiedColumn(String name) {
- this.schemaName = "";
- int index = name.indexOf('.');
- if ( index == -1 ) {
- throw new RuntimeException("Column " + name + " must be qualified with a table name");
- }
- tableName = name.substring(0, index);
- columnName = name.substring(index + 1);
-
- if (this.logger.isDebugEnabled()) {
- this.logger.debug("Table name: " + tableName);
- this.logger.debug("Column name: " + columnName);
- }
- }
-
- //JIRA-952
- public QualifiedColumn(String name, boolean isDatabaseSchemaNameSupported) {
- int index = name.indexOf('.');
- if ( index == -1 ) {
- throw new RuntimeException("Column " + name + " must be qualified with a table name and optional schema name");
- }
-
- int lastIndex = name.lastIndexOf('.');
-
- if(index == lastIndex && isDatabaseSchemaNameSupported){
- throw new RuntimeException("Column " + name + " must be qualified with a table name and schema name");
- }
-
- if(isDatabaseSchemaNameSupported){
- schemaName = name.substring(0, index);
- tableName = name.substring(index+1, lastIndex);
- columnName = name.substring(lastIndex + 1);
- }
- else{
- schemaName = "";
- tableName = name.substring(0, index);
- columnName = name.substring(index + 1);
- }
-
- if (this.logger.isDebugEnabled()) {
- this.logger.debug("Table name: " + tableName);
- this.logger.debug("Column name: " + columnName);
- }
- }
- public String getTableName() {
- return this.tableName;
- }
-
- //JIRA-952
- public String getSchemaName() {
- return this.schemaName;
- }
- public String getColumnName() {
- return this.columnName;
- }
- //JIRA-952
- public String toString(){
- if(this.schemaName == null || this.schemaName.equals(""))
- return this.tableName+"."+this.columnName;
- else
- return this.schemaName+"."+this.tableName+"."+this.columnName;
- }
-}
diff --git a/tags/java/das/1.0-incubating-beta1/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/RelationshipWrapper.java b/tags/java/das/1.0-incubating-beta1/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/RelationshipWrapper.java
deleted file mode 100644
index 0e4447bf8b..0000000000
--- a/tags/java/das/1.0-incubating-beta1/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/RelationshipWrapper.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.das.rdb.config.wrapper;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
-import org.apache.tuscany.das.rdb.config.KeyPair;
-import org.apache.tuscany.das.rdb.config.Relationship;
-
-public class RelationshipWrapper {
-
- private Relationship relationship;
-
- public RelationshipWrapper(Relationship r) {
- this.relationship = r;
- }
-
- public Collection getForeignKeys() {
- List keys = new ArrayList();
- Iterator i = this.relationship.getKeyPair().iterator();
- while (i.hasNext()) {
- KeyPair pair = (KeyPair) i.next();
- keys.add(pair.getForeignKeyColumn());
- }
- return keys;
- }
-
-}
diff --git a/tags/java/das/1.0-incubating-beta1/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/TableWrapper.java b/tags/java/das/1.0-incubating-beta1/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/TableWrapper.java
deleted file mode 100644
index ef420eedf2..0000000000
--- a/tags/java/das/1.0-incubating-beta1/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/TableWrapper.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.das.rdb.config.wrapper;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
-import org.apache.tuscany.das.rdb.config.Column;
-import org.apache.tuscany.das.rdb.config.Table;
-
-public class TableWrapper {
-
- private Table table;
-
- public TableWrapper(Table table) {
- this.table = table;
- }
-
- public String getTypeName() {
- return table.getTypeName() == null ? table.getTableName() : table.getTypeName();
- }
-
- public String getTableName() {
- return table.getTableName();
- }
-
- public Collection getPrimaryKeyNames() {
- List pkNames = new ArrayList();
- Iterator i = table.getColumn().iterator();
- while (i.hasNext()) {
- Column c = (Column) i.next();
- if (c.isPrimaryKey()) {
- pkNames.add(c.getColumnName());
- }
- }
- return pkNames;
- }
-
- public Collection getPrimaryKeyProperties() {
-
- List keyProperties = new ArrayList();
- Iterator columns = table.getColumn().iterator();
- while (columns.hasNext()) {
- Column c = (Column) columns.next();
- if (c.isPrimaryKey()) {
- keyProperties.add(getColumnPropertyName(c));
- }
- }
-
- return keyProperties;
- }
-
- private String getColumnPropertyName(Column c) {
- if (c.getPropertyName() != null) {
- return c.getPropertyName();
- }
-
- return c.getColumnName();
- }
-
- public boolean isGeneratedColumnProperty(String name) {
- Column c = getColumnByPropertyName(name);
- return c == null ? false : c.isGenerated();
- }
-
- public String getConverter(String propertyName) {
- Column c = getColumnByPropertyName(propertyName);
- return (c == null) ? null : c.getConverterClassName();
- }
-
- public Column getColumnByPropertyName(String propertyName) {
- Iterator columns = table.getColumn().iterator();
- while (columns.hasNext()) {
- Column c = (Column) columns.next();
- String property = c.getPropertyName();
- if (property == null) {
- property = c.getColumnName();
- }
- if (propertyName.equals(property)) {
- return c;
- }
- }
-
- return null;
- }
-
- public Column getCollisionColumn() {
- Iterator columns = table.getColumn().iterator();
- while (columns.hasNext()) {
- Column c = (Column) columns.next();
- if (c.isCollision()) {
- return c;
- }
- }
-
- return null;
-
- }
-
- public String getCollisionColumnPropertyName() {
- Column c = getCollisionColumn();
- if (c.getPropertyName() != null) {
- return c.getPropertyName();
- }
- return c.getColumnName();
-
- }
-
- public String getManagedColumnPropertyName() {
- Iterator i = table.getColumn().iterator();
- while (i.hasNext()) {
- Column c = (Column) i.next();
- if (c.isCollision() && c.isManaged()) {
- return c.getPropertyName() == null ? c.getColumnName() : c.getPropertyName();
- }
- }
- return null;
-
- }
-
- public Column getManagedColumn() {
- Iterator i = table.getColumn().iterator();
- while (i.hasNext()) {
- Column c = (Column) i.next();
- if (c.isCollision() && c.isManaged()) {
- return c;
- }
- }
- return null;
- }
-}