Skip to content

Commit

Permalink
Move config to separate module
Browse files Browse the repository at this point in the history
  • Loading branch information
Emil Forslund committed Sep 29, 2016
1 parent 899de9c commit 39a9e1d
Show file tree
Hide file tree
Showing 351 changed files with 2,061 additions and 1,474 deletions.
71 changes: 71 additions & 0 deletions common/dbmodel/pom.xml
@@ -0,0 +1,71 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<parent>
<groupId>com.speedment.common</groupId>
<artifactId>common</artifactId>
<version>1.0.1-SNAPSHOT</version>
</parent>

<artifactId>dbmodel</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>bundle</packaging>

<name>Speedment - Common - Database Model</name>
<description>
An object-oriented model of a relational database that can be used to
store metadata about the structure.
</description>
<url>https://www.github.com/speedment/speedment/wiki/DBModel/</url>

<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<configuration>
<instructions>
<Export-Package>
com.speedment.common.dbmodel.*
</Export-Package>
</instructions>
</configuration>
</plugin>
</plugins>
</build>

<dependencies>
<dependency>
<groupId>com.speedment.common</groupId>
<artifactId>mapstream</artifactId>
<version>${mapstream.version}</version>
</dependency>

<dependency>
<groupId>com.speedment.common</groupId>
<artifactId>lazy</artifactId>
<version>${lazy.version}</version>
</dependency>

<dependency>
<groupId>com.speedment.common</groupId>
<artifactId>function</artifactId>
<version>${function.version}</version>
</dependency>

<dependency>
<groupId>com.speedment.common</groupId>
<artifactId>invariant</artifactId>
<version>${invariant.version}</version>
</dependency>

<!-- Test Dependencies -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
</dependencies>
</project>
Expand Up @@ -14,24 +14,24 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package com.speedment.runtime.config; package com.speedment.common.dbmodel;




import com.speedment.runtime.config.mutator.ColumnMutator; import com.speedment.common.dbmodel.exception.DatabaseModelException;
import com.speedment.runtime.config.mutator.DocumentMutator; import com.speedment.common.dbmodel.mutator.ColumnMutator;
import com.speedment.runtime.config.trait.HasAlias; import com.speedment.common.dbmodel.mutator.DocumentMutator;
import com.speedment.runtime.config.trait.HasEnabled; import com.speedment.common.dbmodel.trait.HasAlias;
import com.speedment.runtime.config.trait.HasMainInterface; import com.speedment.common.dbmodel.trait.HasEnabled;
import com.speedment.runtime.config.trait.HasMutator; import com.speedment.common.dbmodel.trait.HasMainInterface;
import com.speedment.runtime.config.trait.HasName; import com.speedment.common.dbmodel.trait.HasMutator;
import com.speedment.runtime.config.trait.HasNullable; import com.speedment.common.dbmodel.trait.HasName;
import com.speedment.runtime.config.trait.HasOrdinalPosition; import com.speedment.common.dbmodel.trait.HasNullable;
import com.speedment.runtime.config.trait.HasParent; import com.speedment.common.dbmodel.trait.HasOrdinalPosition;
import com.speedment.runtime.exception.SpeedmentException; import com.speedment.common.dbmodel.trait.HasParent;


import java.util.Optional; import java.util.Optional;


import static com.speedment.runtime.internal.util.document.DocumentUtil.newNoSuchElementExceptionFor; import static com.speedment.common.dbmodel.util.DocumentUtil.newNoSuchElementExceptionFor;


/** /**
* A typed {@link Document} that represents a column in the database. A * A typed {@link Document} that represents a column in the database. A
Expand Down Expand Up @@ -110,7 +110,7 @@ default Class<?> findDatabaseType() {
try { try {
return Class.forName(name); return Class.forName(name);
} catch (final ClassNotFoundException ex) { } catch (final ClassNotFoundException ex) {
throw new SpeedmentException("Could not find database type: '" + name + "'.", ex); throw new DatabaseModelException("Could not find database type: '" + name + "'.", ex);
} }
} }


Expand Down
Expand Up @@ -14,20 +14,19 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package com.speedment.runtime.config; package com.speedment.common.dbmodel;




import com.speedment.runtime.config.mutator.DbmsMutator; import com.speedment.common.dbmodel.exception.DatabaseModelException;
import com.speedment.runtime.config.mutator.DocumentMutator; import com.speedment.common.dbmodel.mutator.DbmsMutator;
import com.speedment.runtime.config.parameter.DbmsType; import com.speedment.common.dbmodel.mutator.DocumentMutator;
import com.speedment.runtime.config.trait.HasAlias; import com.speedment.common.dbmodel.trait.HasAlias;
import com.speedment.runtime.config.trait.HasChildren; import com.speedment.common.dbmodel.trait.HasChildren;
import com.speedment.runtime.config.trait.HasEnabled; import com.speedment.common.dbmodel.trait.HasEnabled;
import com.speedment.runtime.config.trait.HasMainInterface; import com.speedment.common.dbmodel.trait.HasMainInterface;
import com.speedment.runtime.config.trait.HasMutator; import com.speedment.common.dbmodel.trait.HasMutator;
import com.speedment.runtime.config.trait.HasName; import com.speedment.common.dbmodel.trait.HasName;
import com.speedment.runtime.config.trait.HasParent; import com.speedment.common.dbmodel.trait.HasParent;
import com.speedment.runtime.exception.SpeedmentException;


import java.util.Optional; import java.util.Optional;
import java.util.OptionalInt; import java.util.OptionalInt;
Expand Down Expand Up @@ -61,14 +60,14 @@ public interface Dbms extends
SCHEMAS = "schemas"; SCHEMAS = "schemas";


/** /**
* Returns the type name of the {@link DbmsType} of this {@code Dbms}. This * Returns the type name of the {@code DbmsType} of this {@code Dbms}. This
* will be the fully qualified class name of the {@link DbmsType} * will be the fully qualified class name of the {@code DbmsType}
* implementing class. * implementing class.
* *
* @return the type name * @return the type name
*/ */
default String getTypeName() { default String getTypeName() {
return getAsString(TYPE_NAME).orElseThrow(() -> new SpeedmentException( return getAsString(TYPE_NAME).orElseThrow(() -> new DatabaseModelException(
"Every " + Dbms.class.getSimpleName() + "Every " + Dbms.class.getSimpleName() +
" document is required to have the '" + " document is required to have the '" +
TYPE_NAME + "' attribute." TYPE_NAME + "' attribute."
Expand Down Expand Up @@ -99,7 +98,7 @@ default OptionalInt getPort() {
/** /**
* Returns the explicit connection URL to use for this {@code Dbms} if the * Returns the explicit connection URL to use for this {@code Dbms} if the
* user has specified one, or an empty {@code Optional} if one should be * user has specified one, or an empty {@code Optional} if one should be
* generated automatically by the {@link DbmsType}. * generated automatically by the {@code DbmsType}.
* *
* @return the explicit connection URL to use for this {@code Dbms} * @return the explicit connection URL to use for this {@code Dbms}
*/ */
Expand Down
Expand Up @@ -14,11 +14,11 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package com.speedment.runtime.config; package com.speedment.common.dbmodel;


import com.speedment.common.mapstream.MapStream; import com.speedment.common.mapstream.MapStream;
import com.speedment.runtime.internal.util.document.DocumentUtil; import com.speedment.common.dbmodel.util.DocumentUtil;
import com.speedment.runtime.util.OptionalBoolean; import com.speedment.common.function.OptionalBoolean;


import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
Expand Down
Expand Up @@ -14,17 +14,17 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package com.speedment.runtime.config; package com.speedment.common.dbmodel;




import com.speedment.runtime.config.mutator.DocumentMutator; import com.speedment.common.dbmodel.mutator.DocumentMutator;
import com.speedment.runtime.config.mutator.ForeignKeyMutator; import com.speedment.common.dbmodel.mutator.ForeignKeyMutator;
import com.speedment.runtime.config.trait.HasChildren; import com.speedment.common.dbmodel.trait.HasChildren;
import com.speedment.runtime.config.trait.HasEnabled; import com.speedment.common.dbmodel.trait.HasEnabled;
import com.speedment.runtime.config.trait.HasMainInterface; import com.speedment.common.dbmodel.trait.HasMainInterface;
import com.speedment.runtime.config.trait.HasMutator; import com.speedment.common.dbmodel.trait.HasMutator;
import com.speedment.runtime.config.trait.HasName; import com.speedment.common.dbmodel.trait.HasName;
import com.speedment.runtime.config.trait.HasParent; import com.speedment.common.dbmodel.trait.HasParent;


import java.util.stream.Stream; import java.util.stream.Stream;


Expand Down
Expand Up @@ -14,22 +14,20 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package com.speedment.runtime.config; package com.speedment.common.dbmodel;



import com.speedment.common.dbmodel.mutator.DocumentMutator;
import com.speedment.runtime.config.mutator.DocumentMutator; import com.speedment.common.dbmodel.mutator.ForeignKeyColumnMutator;
import com.speedment.runtime.config.mutator.ForeignKeyColumnMutator; import com.speedment.common.dbmodel.trait.HasColumn;
import com.speedment.runtime.config.trait.HasColumn; import com.speedment.common.dbmodel.trait.HasMainInterface;
import com.speedment.runtime.config.trait.HasMainInterface; import com.speedment.common.dbmodel.trait.HasMutator;
import com.speedment.runtime.config.trait.HasMutator; import com.speedment.common.dbmodel.trait.HasName;
import com.speedment.runtime.config.trait.HasName; import com.speedment.common.dbmodel.trait.HasOrdinalPosition;
import com.speedment.runtime.config.trait.HasOrdinalPosition; import com.speedment.common.dbmodel.trait.HasParent;
import com.speedment.runtime.config.trait.HasParent;
import com.speedment.runtime.exception.SpeedmentException;


import java.util.Optional; import java.util.Optional;


import static com.speedment.runtime.internal.util.document.DocumentUtil.newNoSuchElementExceptionFor; import static com.speedment.common.dbmodel.util.DocumentUtil.newNoSuchElementExceptionFor;


/** /**
* A typed {@link Document} that represents the column referenced by a foreign * A typed {@link Document} that represents the column referenced by a foreign
Expand All @@ -39,7 +37,6 @@
* @author Emil Forslund * @author Emil Forslund
* @since 2.0.0 * @since 2.0.0
*/ */

public interface ForeignKeyColumn extends public interface ForeignKeyColumn extends
Document, Document,
HasParent<ForeignKey>, HasParent<ForeignKey>,
Expand Down Expand Up @@ -97,8 +94,6 @@ default String getForeignColumnName() {
/** /**
* A helper method for accessing the foreign {@link Table} referenced by * A helper method for accessing the foreign {@link Table} referenced by
* this key. * this key.
* <p>
* If the table was not found, a {@link SpeedmentException} is thrown.
* *
* @return the foreign {@link Table} referenced by this * @return the foreign {@link Table} referenced by this
*/ */
Expand All @@ -117,8 +112,6 @@ default Optional<? extends Table> findForeignTable() {
/** /**
* A helper method for accessing the foreign {@link Column} referenced by * A helper method for accessing the foreign {@link Column} referenced by
* this key. * this key.
* <p>
* If the column was not found, a {@link SpeedmentException} is thrown.
* *
* @return the foreign {@link Column} referenced by this * @return the foreign {@link Column} referenced by this
*/ */
Expand Down
Expand Up @@ -14,17 +14,17 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package com.speedment.runtime.config; package com.speedment.common.dbmodel;




import com.speedment.runtime.config.mutator.DocumentMutator; import com.speedment.common.dbmodel.mutator.DocumentMutator;
import com.speedment.runtime.config.mutator.IndexMutator; import com.speedment.common.dbmodel.mutator.IndexMutator;
import com.speedment.runtime.config.trait.HasChildren; import com.speedment.common.dbmodel.trait.HasChildren;
import com.speedment.runtime.config.trait.HasEnabled; import com.speedment.common.dbmodel.trait.HasEnabled;
import com.speedment.runtime.config.trait.HasMainInterface; import com.speedment.common.dbmodel.trait.HasMainInterface;
import com.speedment.runtime.config.trait.HasMutator; import com.speedment.common.dbmodel.trait.HasMutator;
import com.speedment.runtime.config.trait.HasName; import com.speedment.common.dbmodel.trait.HasName;
import com.speedment.runtime.config.trait.HasParent; import com.speedment.common.dbmodel.trait.HasParent;


import java.util.stream.Stream; import java.util.stream.Stream;


Expand Down
Expand Up @@ -14,18 +14,18 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package com.speedment.runtime.config; package com.speedment.common.dbmodel;




import com.speedment.runtime.config.mutator.DocumentMutator; import com.speedment.common.dbmodel.mutator.DocumentMutator;
import com.speedment.runtime.config.mutator.IndexColumnMutator; import com.speedment.common.dbmodel.mutator.IndexColumnMutator;
import com.speedment.runtime.config.trait.HasColumn; import com.speedment.common.dbmodel.trait.HasColumn;
import com.speedment.runtime.config.trait.HasMainInterface; import com.speedment.common.dbmodel.trait.HasMainInterface;
import com.speedment.runtime.config.trait.HasMutator; import com.speedment.common.dbmodel.trait.HasMutator;
import com.speedment.runtime.config.trait.HasName; import com.speedment.common.dbmodel.trait.HasName;
import com.speedment.runtime.config.trait.HasOrderType; import com.speedment.common.dbmodel.trait.HasOrderType;
import com.speedment.runtime.config.trait.HasOrdinalPosition; import com.speedment.common.dbmodel.trait.HasOrdinalPosition;
import com.speedment.runtime.config.trait.HasParent; import com.speedment.common.dbmodel.trait.HasParent;


/** /**
* A typed {@link Document} that represents the column referenced by an index * A typed {@link Document} that represents the column referenced by an index
Expand Down
Expand Up @@ -14,17 +14,17 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package com.speedment.runtime.config; package com.speedment.common.dbmodel;




import com.speedment.runtime.config.mutator.DocumentMutator; import com.speedment.common.dbmodel.mutator.DocumentMutator;
import com.speedment.runtime.config.mutator.PrimaryKeyColumnMutator; import com.speedment.common.dbmodel.mutator.PrimaryKeyColumnMutator;
import com.speedment.runtime.config.trait.HasColumn; import com.speedment.common.dbmodel.trait.HasColumn;
import com.speedment.runtime.config.trait.HasMainInterface; import com.speedment.common.dbmodel.trait.HasMainInterface;
import com.speedment.runtime.config.trait.HasMutator; import com.speedment.common.dbmodel.trait.HasMutator;
import com.speedment.runtime.config.trait.HasName; import com.speedment.common.dbmodel.trait.HasName;
import com.speedment.runtime.config.trait.HasOrdinalPosition; import com.speedment.common.dbmodel.trait.HasOrdinalPosition;
import com.speedment.runtime.config.trait.HasParent; import com.speedment.common.dbmodel.trait.HasParent;


/** /**
* A typed {@link Document} that represents the primary key column instance in * A typed {@link Document} that represents the primary key column instance in
Expand Down
Expand Up @@ -14,17 +14,17 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package com.speedment.runtime.config; package com.speedment.common.dbmodel;




import com.speedment.runtime.config.mutator.DocumentMutator; import com.speedment.common.dbmodel.mutator.DocumentMutator;
import com.speedment.runtime.config.mutator.ProjectMutator; import com.speedment.common.dbmodel.mutator.ProjectMutator;
import com.speedment.runtime.config.trait.HasChildren; import com.speedment.common.dbmodel.trait.HasChildren;
import com.speedment.runtime.config.trait.HasEnabled; import com.speedment.common.dbmodel.trait.HasEnabled;
import com.speedment.runtime.config.trait.HasMainInterface; import com.speedment.common.dbmodel.trait.HasMainInterface;
import com.speedment.runtime.config.trait.HasMutator; import com.speedment.common.dbmodel.trait.HasMutator;
import com.speedment.runtime.config.trait.HasName; import com.speedment.common.dbmodel.trait.HasName;
import com.speedment.runtime.config.trait.HasPackageName; import com.speedment.common.dbmodel.trait.HasPackageName;


import java.nio.file.Path; import java.nio.file.Path;
import java.nio.file.Paths; import java.nio.file.Paths;
Expand Down

0 comments on commit 39a9e1d

Please sign in to comment.