summaryrefslogtreecommitdiffstats
path: root/sca-java-1.x/tags/java-M1-final/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/TableWrapper.java
diff options
context:
space:
mode:
Diffstat (limited to 'sca-java-1.x/tags/java-M1-final/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/TableWrapper.java')
-rw-r--r--sca-java-1.x/tags/java-M1-final/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/TableWrapper.java124
1 files changed, 124 insertions, 0 deletions
diff --git a/sca-java-1.x/tags/java-M1-final/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/TableWrapper.java b/sca-java-1.x/tags/java-M1-final/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/TableWrapper.java
new file mode 100644
index 0000000000..2c2d1dc677
--- /dev/null
+++ b/sca-java-1.x/tags/java-M1-final/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/TableWrapper.java
@@ -0,0 +1,124 @@
+/**
+*
+* Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
+*
+* Licensed 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 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 getPropertyName() {
+ return table.getPropertyName() == null ? table.getName() : table
+ .getPropertyName();
+ }
+
+ public Collection getPrimaryKeyNames() {
+ ArrayList pkNames = new ArrayList();
+ Iterator i = table.getColumn().iterator();
+ while (i.hasNext()) {
+ Column c = (Column) i.next();
+ if (c.isPrimaryKey())
+ pkNames.add(c.getName());
+ }
+ return pkNames;
+ }
+
+ public Collection getPrimaryKeyProperties() {
+
+ ArrayList 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();
+ else
+ return c.getName();
+ }
+
+ public boolean isGeneratedColumnProperty(String name) {
+ Column c = getColumnByPropertyName(name);
+ return c == null ? false : c.isGenerated();
+ }
+
+ // public Object getColumnNameByProperty(String propertyName) {
+ // Iterator i = table.getColumn().iterator();
+ // while (i.hasNext()) {
+ // Column c = (Column) i.next();
+ // if (propertyName.equals(c.getPropertyName()))
+ // return c.getName();
+ // }
+ // return propertyName;
+ // }
+
+ 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.getName();
+ 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();
+ else
+ return c.getName();
+ }
+}