You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by da...@apache.org on 2006/10/10 22:30:43 UTC

svn commit: r462546 - in /geronimo/xbean/sandbox/xbean-factory: ./ src/test/java/org/apache/xbean/factory/ src/test/java/org/apache/xbean/factory/model/

Author: dain
Date: Tue Oct 10 13:30:42 2006
New Revision: 462546

URL: http://svn.apache.org/viewvc?view=rev&rev=462546
Log:
Added simple datamodle for testing

Added:
    geronimo/xbean/sandbox/xbean-factory/src/test/java/org/apache/xbean/factory/StaticTest.java
    geronimo/xbean/sandbox/xbean-factory/src/test/java/org/apache/xbean/factory/model/
    geronimo/xbean/sandbox/xbean-factory/src/test/java/org/apache/xbean/factory/model/Column.java
    geronimo/xbean/sandbox/xbean-factory/src/test/java/org/apache/xbean/factory/model/Database.java
    geronimo/xbean/sandbox/xbean-factory/src/test/java/org/apache/xbean/factory/model/Schema.java
    geronimo/xbean/sandbox/xbean-factory/src/test/java/org/apache/xbean/factory/model/Table.java
    geronimo/xbean/sandbox/xbean-factory/src/test/java/org/apache/xbean/factory/model/Vendor.java
Modified:
    geronimo/xbean/sandbox/xbean-factory/pom.xml

Modified: geronimo/xbean/sandbox/xbean-factory/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/xbean/sandbox/xbean-factory/pom.xml?view=diff&rev=462546&r1=462545&r2=462546
==============================================================================
--- geronimo/xbean/sandbox/xbean-factory/pom.xml (original)
+++ geronimo/xbean/sandbox/xbean-factory/pom.xml Tue Oct 10 13:30:42 2006
@@ -15,4 +15,21 @@
       <scope>test</scope>
     </dependency>
   </dependencies>
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <source>1.5</source>
+          <target>1.5</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <excludes/>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
 </project>

Added: geronimo/xbean/sandbox/xbean-factory/src/test/java/org/apache/xbean/factory/StaticTest.java
URL: http://svn.apache.org/viewvc/geronimo/xbean/sandbox/xbean-factory/src/test/java/org/apache/xbean/factory/StaticTest.java?view=auto&rev=462546
==============================================================================
--- geronimo/xbean/sandbox/xbean-factory/src/test/java/org/apache/xbean/factory/StaticTest.java (added)
+++ geronimo/xbean/sandbox/xbean-factory/src/test/java/org/apache/xbean/factory/StaticTest.java Tue Oct 10 13:30:42 2006
@@ -0,0 +1,69 @@
+/**
+ *
+ * Copyright 2006 The Apache Software Foundation
+ *
+ *  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.xbean.factory;
+
+import junit.framework.TestCase;
+import org.apache.xbean.factory.model.Database;
+import org.apache.xbean.factory.model.Vendor;
+import org.apache.xbean.factory.model.Schema;
+import org.apache.xbean.factory.model.Table;
+import org.apache.xbean.factory.model.Column;
+
+import java.net.URI;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class StaticTest extends TestCase {
+    private Database database;
+
+    public void test() {
+        assertNotNull(database);
+        assertTrue(database.equals(database));
+
+        Schema people = database.getSchema("people");
+        assertNotNull(people);
+        assertTrue(people.equals(people));
+
+        Table person = people.getTable("person");
+        assertNotNull(person);
+        assertTrue(person.equals(person));
+
+        Column name = person.getColumn("name");
+        assertNotNull(name);
+        assertTrue(name.equals(name));
+    }
+
+    protected void setUp() throws Exception {
+        super.setUp();
+        database = new Database("Centeral", Vendor.PostgreSQL, new URI("foo:bar/baz"));
+        Schema schema = database.addSchema("people");
+        Table person = schema.addTable("person");
+        person.addColumn("name", "string");
+        person.addColumn("age", "int");
+        Table address = schema.addTable("address");
+        address.addColumn("line1", "string");
+        address.addColumn("line2", "string");
+        address.addColumn("city", "string");
+        address.addColumn("state", "char[2]");
+        address.addColumn("zip", "long");
+    }
+
+    protected void tearDown() throws Exception {
+        super.tearDown();
+    }
+}

Added: geronimo/xbean/sandbox/xbean-factory/src/test/java/org/apache/xbean/factory/model/Column.java
URL: http://svn.apache.org/viewvc/geronimo/xbean/sandbox/xbean-factory/src/test/java/org/apache/xbean/factory/model/Column.java?view=auto&rev=462546
==============================================================================
--- geronimo/xbean/sandbox/xbean-factory/src/test/java/org/apache/xbean/factory/model/Column.java (added)
+++ geronimo/xbean/sandbox/xbean-factory/src/test/java/org/apache/xbean/factory/model/Column.java Tue Oct 10 13:30:42 2006
@@ -0,0 +1,68 @@
+/**
+ *
+ * Copyright 2006 The Apache Software Foundation
+ *
+ *  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.xbean.factory.model;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class Column {
+    private String name;
+    private String dataType;
+
+    public Column() {
+    }
+
+    public Column(String name, String dataType) {
+        this.name = name;
+        this.dataType = dataType;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getDataType() {
+        return dataType;
+    }
+
+    public void setDataType(String dataType) {
+        this.dataType = dataType;
+    }
+
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+
+        final Column column = (Column) o;
+
+        if (dataType != null ? !dataType.equals(column.dataType) : column.dataType != null) return false;
+        if (name != null ? !name.equals(column.name) : column.name != null) return false;
+
+        return true;
+    }
+
+    public int hashCode() {
+        int result;
+        result = (name != null ? name.hashCode() : 0);
+        result = 29 * result + (dataType != null ? dataType.hashCode() : 0);
+        return result;
+    }
+}

Added: geronimo/xbean/sandbox/xbean-factory/src/test/java/org/apache/xbean/factory/model/Database.java
URL: http://svn.apache.org/viewvc/geronimo/xbean/sandbox/xbean-factory/src/test/java/org/apache/xbean/factory/model/Database.java?view=auto&rev=462546
==============================================================================
--- geronimo/xbean/sandbox/xbean-factory/src/test/java/org/apache/xbean/factory/model/Database.java (added)
+++ geronimo/xbean/sandbox/xbean-factory/src/test/java/org/apache/xbean/factory/model/Database.java Tue Oct 10 13:30:42 2006
@@ -0,0 +1,112 @@
+/**
+ *
+ * Copyright 2006 The Apache Software Foundation
+ *
+ *  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.xbean.factory.model;
+
+import java.net.URI;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class Database {
+    private String name;
+    private Vendor vendor;
+    private URI location;
+    private final Map<String, Schema> schemas = new HashMap<String, Schema>();
+
+    public Database() {
+    }
+
+    public Database(String name) {
+        this.name = name;
+    }
+
+    public Database(String name, Vendor vendor, URI location) {
+        this.name = name;
+        this.vendor = vendor;
+        this.location = location;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Vendor getVendor() {
+        return vendor;
+    }
+
+    public void setVendor(Vendor vendor) {
+        this.vendor = vendor;
+    }
+
+    public URI getLocation() {
+        return location;
+    }
+
+    public void setLocation(URI location) {
+        this.location = location;
+    }
+
+    public Set<Schema> getSchemas() {
+        return new HashSet<Schema>(schemas.values());
+    }
+
+    public Schema getSchema(String name) {
+        return schemas.get(name);
+    }
+
+    public void setSchemas(Set<Schema> schemas) {
+        this.schemas.clear();
+        for (Schema schema : schemas) {
+            this.schemas.put(schema.getName(), schema);
+        }
+    }
+
+    public Schema addSchema(String name) {
+        Schema schema = new Schema(name);
+        schemas.put(name, schema);
+        return schema;
+    }
+
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+
+        final Database database = (Database) o;
+
+        if (location != null ? !location.equals(database.location) : database.location != null) return false;
+        if (name != null ? !name.equals(database.name) : database.name != null) return false;
+        if (schemas != null ? !schemas.equals(database.schemas) : database.schemas != null) return false;
+        return vendor == database.vendor;
+    }
+
+    public int hashCode() {
+        int result;
+        result = (name != null ? name.hashCode() : 0);
+        result = 29 * result + (vendor != null ? vendor.hashCode() : 0);
+        result = 29 * result + (location != null ? location.hashCode() : 0);
+        result = 29 * result + (schemas != null ? schemas.hashCode() : 0);
+        return result;
+    }
+}

Added: geronimo/xbean/sandbox/xbean-factory/src/test/java/org/apache/xbean/factory/model/Schema.java
URL: http://svn.apache.org/viewvc/geronimo/xbean/sandbox/xbean-factory/src/test/java/org/apache/xbean/factory/model/Schema.java?view=auto&rev=462546
==============================================================================
--- geronimo/xbean/sandbox/xbean-factory/src/test/java/org/apache/xbean/factory/model/Schema.java (added)
+++ geronimo/xbean/sandbox/xbean-factory/src/test/java/org/apache/xbean/factory/model/Schema.java Tue Oct 10 13:30:42 2006
@@ -0,0 +1,85 @@
+/**
+ *
+ * Copyright 2006 The Apache Software Foundation
+ *
+ *  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.xbean.factory.model;
+
+import java.util.HashSet;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class Schema {
+    private String name;
+    private final Map<String, Table> tables = new LinkedHashMap<String, Table>();
+
+    public Schema() {
+    }
+
+    public Schema(String name) {
+        this.name = name;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Table getTable(String name) {
+        return tables.get(name);
+    }
+
+    public Set<Table> getTables() {
+        return new HashSet<Table>(tables.values());
+    }
+
+    public void setTables(Set<Table> tables) {
+        this.tables.clear();
+        for (Table table : tables) {
+            this.tables.put(table.getName(), table);
+        }
+    }
+
+    public Table addTable(String name) {
+        Table table = new Table(name);
+        tables.put(name, table);
+        return table;
+    }
+
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+
+        final Schema schema = (Schema) o;
+
+        if (name != null ? !name.equals(schema.name) : schema.name != null) return false;
+        if (tables != null ? !tables.equals(schema.tables) : schema.tables != null) return false;
+
+        return true;
+    }
+
+    public int hashCode() {
+        int result;
+        result = (name != null ? name.hashCode() : 0);
+        result = 29 * result + (tables != null ? tables.hashCode() : 0);
+        return result;
+    }
+}

Added: geronimo/xbean/sandbox/xbean-factory/src/test/java/org/apache/xbean/factory/model/Table.java
URL: http://svn.apache.org/viewvc/geronimo/xbean/sandbox/xbean-factory/src/test/java/org/apache/xbean/factory/model/Table.java?view=auto&rev=462546
==============================================================================
--- geronimo/xbean/sandbox/xbean-factory/src/test/java/org/apache/xbean/factory/model/Table.java (added)
+++ geronimo/xbean/sandbox/xbean-factory/src/test/java/org/apache/xbean/factory/model/Table.java Tue Oct 10 13:30:42 2006
@@ -0,0 +1,84 @@
+/**
+ *
+ * Copyright 2006 The Apache Software Foundation
+ *
+ *  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.xbean.factory.model;
+
+import java.util.List;
+import java.util.Map;
+import java.util.LinkedHashMap;
+import java.util.ArrayList;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class Table {
+    private String name;
+    private final Map<String, Column> columns = new LinkedHashMap<String, Column>();
+
+    public Table() {
+    }
+
+    public Table(String name) {
+        this.name = name;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Column getColumn(String name) {
+        return columns.get(name);
+    }
+
+    public List<Column> getColumns() {
+        return new ArrayList<Column>(columns.values());
+    }
+
+    public void setColumns(List<Column> columns) {
+        this.columns.clear();
+        for (Column column : columns) {
+            this.columns.put(column.getName(), column);
+        }
+    }
+
+    public Column addColumn(String name, String dataType) {
+        Column column = new Column(name, dataType);
+        columns.put(name, column);
+        return column;
+    }
+
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+
+        final Table table = (Table) o;
+
+        if (columns != null ? !columns.equals(table.columns) : table.columns != null) return false;
+        return !(name != null ? !name.equals(table.name) : table.name != null);
+
+    }
+
+    public int hashCode() {
+        int result;
+        result = (name != null ? name.hashCode() : 0);
+        result = 29 * result + (columns != null ? columns.hashCode() : 0);
+        return result;
+    }
+}

Added: geronimo/xbean/sandbox/xbean-factory/src/test/java/org/apache/xbean/factory/model/Vendor.java
URL: http://svn.apache.org/viewvc/geronimo/xbean/sandbox/xbean-factory/src/test/java/org/apache/xbean/factory/model/Vendor.java?view=auto&rev=462546
==============================================================================
--- geronimo/xbean/sandbox/xbean-factory/src/test/java/org/apache/xbean/factory/model/Vendor.java (added)
+++ geronimo/xbean/sandbox/xbean-factory/src/test/java/org/apache/xbean/factory/model/Vendor.java Tue Oct 10 13:30:42 2006
@@ -0,0 +1,13 @@
+package org.apache.xbean.factory.model;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public enum Vendor {
+    mySql,
+    PostgreSQL,
+    FireBird,
+    Oracle,
+    DB2,
+    SQLServer
+}