You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ma...@apache.org on 2019/12/20 23:09:08 UTC
[archiva-redback-components-modello-plugins] branch master updated:
Removing source from deprecated module
This is an automated email from the ASF dual-hosted git repository.
martin_s pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/archiva-redback-components-modello-plugins.git
The following commit(s) were added to refs/heads/master by this push:
new b496df8 Removing source from deprecated module
b496df8 is described below
commit b496df8feb95caa9c9f73cbc0eefec6333fb23aa
Author: Martin Stockhammer <ma...@apache.org>
AuthorDate: Sat Dec 21 00:09:02 2019 +0100
Removing source from deprecated module
---
jpox-modello-maven-plugin/pom.xml | 144 ---
.../src/it/redback-model/pom.xml | 76 --
.../src/it/redback-model/src/main/mdo/rbac-jdo.mdo | 324 -----
.../src/it/redback-model/verify.groovy | 25 -
jpox-modello-maven-plugin/src/it/settings.xml | 55 -
.../plugin/jpox/ModelloJPoxJdoMappingMojo.java | 93 --
.../plugin/jpox/ModelloJPoxMetadataClassMojo.java | 57 -
.../modello/plugin/jpox/ModelloJPoxStoreMojo.java | 58 -
modello-db-keywords/pom.xml | 72 --
.../components/modello/db/SQLReservedWords.java | 250 ----
.../main/resources/META-INF/plexus/components.xml | 30 -
.../archiva/redback/components/modello/db/db2.txt | 208 ---
.../redback/components/modello/db/derby.txt | 214 ----
.../redback/components/modello/db/hsqldb.txt | 316 -----
.../archiva/redback/components/modello/db/jdbc.txt | 50 -
.../components/modello/db/keywords.properties | 29 -
.../redback/components/modello/db/msaccess.txt | 253 ----
.../redback/components/modello/db/mysql.txt | 254 ----
.../archiva/redback/components/modello/db/odbc.txt | 235 ----
.../redback/components/modello/db/oracle.txt | 283 -----
.../redback/components/modello/db/plsql.txt | 186 ---
.../redback/components/modello/db/postgres.txt | 334 -----
.../redback/components/modello/db/sql2003.txt | 247 ----
.../redback/components/modello/db/sql92.txt | 255 ----
.../redback/components/modello/db/sql99.txt | 308 -----
.../redback/components/modello/db/sqlserver.txt | 368 ------
modello-db-keywords/src/site/site.xml | 32 -
.../codehaus/modello/db/SQLReservedWordsTest.java | 110 --
modello-plugin-jpox/pom.xml | 171 ---
.../jpox/JPoxJdoMappingModelloGenerator.java | 1336 --------------------
.../jpox/JPoxMetadataClassModelloGenerator.java | 58 -
.../modello/jpox/JPoxStoreModelloGenerator.java | 60 -
.../jpox/metadata/JPoxAssociationMetadata.java | 56 -
.../modello/jpox/metadata/JPoxClassMetadata.java | 130 --
.../modello/jpox/metadata/JPoxFieldMetadata.java | 221 ----
.../modello/jpox/metadata/JPoxMetadataPlugin.java | 391 ------
.../modello/jpox/metadata/JPoxModelMetadata.java | 83 --
.../main/resources/META-INF/plexus/components.xml | 63 -
.../modello/jpox/templates/JPoxStore.java.vm | 488 -------
.../modello/jpox/templates/ModelloMetadata.java.vm | 44 -
modello-plugin-jpox/src/site/apt/index.apt | 45 -
modello-plugin-jpox/src/site/site.xml | 38 -
.../src/site/xdoc/jpox-model-syntax.xml | 352 ------
.../jpox/AbstractJpoxGeneratorTestCase.java | 373 ------
...JPoxJdoMappingModelloGeneratorPrefixedTest.java | 107 --
.../jpox/JPoxJdoMappingModelloGeneratorTest.java | 149 ---
.../JPoxMetadataClassModelloGeneratorTest.java | 70 -
.../jpox/JPoxStoreModelloGeneratorTest.java | 70 -
.../components/modello/jpox/JdoEntityResolver.java | 64 -
.../modello/jpox/JpoxDeleteModelTest.java | 65 -
.../components/modello/jpox/JpoxVersionTest.java | 67 -
modello-plugin-jpox/src/test/resources/jdo_1_0.dtd | 86 --
modello-plugin-jpox/src/test/resources/jdo_2_0.dtd | 227 ----
.../src/test/resources/mergere-tissue.mdo | 257 ----
.../src/test/resources/test-with-prefixes.mdo | 289 -----
modello-plugin-jpox/src/test/resources/test.mdo | 291 -----
.../jpox-delete-model/JpoxVerifierDeleteModel.java | 183 ---
.../jpox-version/JpoxVerifierVersion.java | 70 -
modello-plugin-redback-registry/pom.xml | 189 ---
.../modello/AbstractRegistryGenerator.java | 60 -
.../registry/modello/RegistryReaderGenerator.java | 39 -
.../registry/modello/RegistryWriterGenerator.java | 39 -
.../main/resources/META-INF/plexus/components.xml | 45 -
.../registry/modello/RegistryReader.java.vm | 141 ---
.../registry/modello/RegistryWriter.java.vm | 161 ---
.../modello/AbstractRegistryGeneratorTestCase.java | 157 ---
.../modello/RegistryReaderGeneratorTest.java | 41 -
.../modello/RegistryWriterGeneratorTest.java | 41 -
.../src/test/resources/model.mdo | 155 ---
.../registry-reader/RegistryReaderVerifier.java | 97 --
.../test/verifiers/registry-reader/test.properties | 26 -
.../src/test/verifiers/registry-reader/test.xml | 51 -
.../registry-writer/RegistryWriterVerifier.java | 150 ---
modello-plugin-store/pom.xml | 60 -
.../store/AbstractVelocityModelloGenerator.java | 189 ---
.../plugin/store/StoreModelloGenerator.java | 119 --
.../store/metadata/StoreAssociationMetadata.java | 68 -
.../plugin/store/metadata/StoreClassMetadata.java | 44 -
.../plugin/store/metadata/StoreFieldMetadata.java | 56 -
.../plugin/store/metadata/StoreMetadataPlugin.java | 169 ---
.../plugin/store/metadata/StoreModelMetadata.java | 31 -
.../modello/plugin/store/tool/JavaTool.java | 79 --
.../main/resources/META-INF/plexus/components.xml | 41 -
.../modello/plugin/store/templates/Store.vm | 43 -
.../plugin/store/templates/StoreException.vm | 36 -
.../plugin/store/StoreModelloGeneratorTest.java | 59 -
.../src/test/resources/mergere-tissue.mdo | 134 --
pom.xml | 111 --
src/site/site.xml | 34 -
89 files changed, 13435 deletions(-)
diff --git a/jpox-modello-maven-plugin/pom.xml b/jpox-modello-maven-plugin/pom.xml
deleted file mode 100644
index 6a6f20a..0000000
--- a/jpox-modello-maven-plugin/pom.xml
+++ /dev/null
@@ -1,144 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ~ 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.
- -->
-<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>org.apache.archiva.redback.components.modello</groupId>
- <artifactId>modello-plugins</artifactId>
- <version>1.1-SNAPSHOT</version>
- </parent>
-
- <artifactId>jpox-modello-maven-plugin</artifactId>
- <packaging>maven-plugin</packaging>
-
- <properties>
- <site.staging.base>${project.parent.basedir}/../site</site.staging.base>
- </properties>
-
- <name>Jpox Modello Maven Plugin</name>
-
- <url>${webUrl}/modello-plugins/${project.artifactId}</url>
-
- <scm>
- <url>${scmBrowseUrl};f=${project.artifactId}</url>
- </scm>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-plugin-api</artifactId>
- <version>2.0</version>
- </dependency>
- <dependency>
- <groupId>org.apache.maven.plugin-tools</groupId>
- <artifactId>maven-plugin-annotations</artifactId>
- <version>3.2</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.codehaus.modello</groupId>
- <artifactId>modello-maven-plugin</artifactId>
- <version>${modelloVersion}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.archiva.redback.components.modello</groupId>
- <artifactId>modello-plugin-jpox</artifactId>
- <scope>runtime</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-plugin-plugin</artifactId>
- <version>3.2</version>
- <configuration>
- <skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
- </configuration>
- <executions>
- <execution>
- <id>mojo-descriptor</id>
- <goals>
- <goal>descriptor</goal>
- </goals>
- </execution>
- <execution>
- <id>help-goal</id>
- <goals>
- <goal>helpmojo</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
- <reporting>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-plugin-plugin</artifactId>
- <version>3.2</version>
- </plugin>
- </plugins>
- </reporting>
-
- <profiles>
- <profile>
- <id>run-its</id>
- <build>
-
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-invoker-plugin</artifactId>
- <version>3.1.0</version>
- <configuration>
- <debug>true</debug>
- <cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
- <pomIncludes>
- <pomInclude>*/pom.xml</pomInclude>
- </pomIncludes>
- <postBuildHookScript>verify</postBuildHookScript>
- <localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath>
- <settingsFile>src/it/settings.xml</settingsFile>
- <goals>
- <goal>clean</goal>
- <goal>test-compile</goal>
- </goals>
- </configuration>
- <executions>
- <execution>
- <id>integration-test</id>
- <goals>
- <goal>install</goal>
- <goal>integration-test</goal>
- <goal>verify</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
-
- </build>
- </profile>
- </profiles>
-</project>
diff --git a/jpox-modello-maven-plugin/src/it/redback-model/pom.xml b/jpox-modello-maven-plugin/src/it/redback-model/pom.xml
deleted file mode 100644
index 98c4082..0000000
--- a/jpox-modello-maven-plugin/src/it/redback-model/pom.xml
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ~ 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.
- -->
-<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/maven-v4_0_0.xsd">
-
- <modelVersion>4.0.0</modelVersion>
-
- <groupId>org.apache.archiva.redback.components.modello.jpox.plugin</groupId>
-
- <artifactId>redback-rbac-jdo-test</artifactId>
- <version>1.0-SNAPSHOT</version>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.modello</groupId>
- <artifactId>modello-maven-plugin</artifactId>
- <version>1.6</version>
- <configuration>
- <version>1.0.1</version>
- <packageWithVersion>false</packageWithVersion>
- <models>
- <model>src/main/mdo/rbac-jdo.mdo</model>
- </models>
- </configuration>
- <executions>
- <execution>
- <id>modello-java</id>
- <goals>
- <goal>java</goal>
- <goal>stax-reader</goal>
- <goal>stax-writer</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.archiva.redback.components.modello</groupId>
- <artifactId>jpox-modello-maven-plugin</artifactId>
- <version>@pom.version@</version>
- <configuration>
- <version>1.0.1</version>
- <packageWithVersion>false</packageWithVersion>
- <models>
- <model>src/main/mdo/rbac-jdo.mdo</model>
- </models>
- </configuration>
- <executions>
- <execution>
- <id>modello-jpox</id>
- <goals>
- <goal>jpox-metadata-class</goal>
- <goal>jpox-jdo-mapping</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-</project>
\ No newline at end of file
diff --git a/jpox-modello-maven-plugin/src/it/redback-model/src/main/mdo/rbac-jdo.mdo b/jpox-modello-maven-plugin/src/it/redback-model/src/main/mdo/rbac-jdo.mdo
deleted file mode 100644
index 06cf57e..0000000
--- a/jpox-modello-maven-plugin/src/it/redback-model/src/main/mdo/rbac-jdo.mdo
+++ /dev/null
@@ -1,324 +0,0 @@
-<?xml version="1.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.
- -->
-<model jpox.mapping-in-package="true"
- jpox.table-prefix="SECURITY_">
- <!-- TODO: there is no reason this model is JDO specific. Shouldn't it be the basis for the various providers? It would dramatically reduce the code in -memory, for example -->
- <id>rbac-jdo</id>
- <name>RbacJdoModel</name>
- <version>1.0.1</version>
- <defaults>
- <default>
- <key>package</key>
- <value>org.apache.archiva.redback.components.modello.jpox.plugin</value>
- </default>
- </defaults>
- <classes>
- <class rootElement="true"
- jpox.stashable="false">
- <name>RbacDatabase</name>
- <version>1.0.1+</version>
- <fields>
- <field jpox.column="RBAC_ROLES">
- <name>roles</name>
- <version>1.0.1+</version>
- <association>
- <type>JdoRole</type>
- <multiplicity>*</multiplicity>
- </association>
- </field>
- <field>
- <name>permissions</name>
- <version>1.0.1+</version>
- <association>
- <type>JdoPermission</type>
- <multiplicity>*</multiplicity>
- </association>
- </field>
- <field>
- <name>operations</name>
- <version>1.0.1+</version>
- <association>
- <type>JdoOperation</type>
- <multiplicity>*</multiplicity>
- </association>
- </field>
- <field>
- <name>resources</name>
- <version>1.0.1+</version>
- <association>
- <type>JdoResource</type>
- <multiplicity>*</multiplicity>
- </association>
- </field>
- <field>
- <name>userAssignments</name>
- <version>1.0.1+</version>
- <association>
- <type>JdoUserAssignment</type>
- <multiplicity>*</multiplicity>
- </association>
- </field>
- </fields>
- </class>
-
- <class jpox.stashable="true"
- jpox.table="ROLES"
- jpox.not-persisted-fields="modelEncoding">
- <name>JdoRole</name>
- <version>1.0.0+</version>
- <fields>
- <field jpox.primary-key="true" jpox.value-strategy="off">
- <name>name</name>
- <version>1.0.0+</version>
- <type>String</type>
- <identifier>true</identifier>
- </field>
- <field>
- <name>description</name>
- <version>1.0.0+</version>
- <type>String</type>
- </field>
- <field>
- <name>assignable</name>
- <version>1.0.0+</version>
- <type>boolean</type>
- <description>
- true if this role is available to be assigned to a user
- </description>
- </field>
- <field>
- <name>permanent</name>
- <version>1.0.0+</version>
- <type>boolean</type>
- <description>
- true if this object is permanent.
- </description>
- </field>
- <field jpox.persistence-modifier="persistent"
- jpox.fetch-groups="role-child-detail"
- jpox.join-table="ROLE_CHILDROLE_MAP">
- <name>childRoleNames</name>
- <version>1.0.0+</version>
- <association stash.part="true"
- jpox.join="true"
- java.init="field"
- jpox.dependent="false"
- java.generate-break="false"
- java.generate-create="false">
- <type>String</type>
- <multiplicity>*</multiplicity>
- </association>
- <description>
- roles that will inherit the permissions of this role
- </description>
- </field>
- <field jpox.fetch-groups="role-child-detail"
- jpox.join-table="ROLE_PERMISSION_MAP">
- <name>permissions</name>
- <version>1.0.0+</version>
- <association stash.part="true"
- xml.reference="true"
- jpox.join="true"
- jpox.dependent="false"
- java.init="field"
- java.generate-break="false"
- java.generate-create="false">
- <type>JdoPermission</type>
- <multiplicity>*</multiplicity>
- </association>
- </field>
- </fields>
- </class>
-
- <class jpox.stashable="true"
- jpox.table="PERMISSIONS"
- jpox.not-persisted-fields="modelEncoding">
- <name>JdoPermission</name>
- <version>1.0.0+</version>
-
- <fields>
- <field jpox.primary-key="true" jpox.value-strategy="off">
- <name>name</name>
- <version>1.0.0+</version>
- <type>String</type>
- <identifier>true</identifier>
- </field>
- <field>
- <name>description</name>
- <version>1.0.0+</version>
- <type>String</type>
- </field>
- <field>
- <name>permanent</name>
- <version>1.0.0+</version>
- <type>boolean</type>
- <description>
- true if this object is permanent.
- </description>
- </field>
- <field jpox.indexed="true"
- jpox.persistence-modifier="persistent"
- jpox.column="RBAC_OPERATION">
- <name>operation</name>
- <version>1.0.0+</version>
- <association stash.part="true"
- xml.reference="true"
- jpox.dependent="false">
- <type>JdoOperation</type>
- <multiplicity>1</multiplicity>
- </association>
- </field>
- <field jpox.indexed="true"
- jpox.persistence-modifier="persistent"
- jpox.column="RBAC_RESOURCE">
- <name>resource</name>
- <version>1.0.0+</version>
- <association stash.part="true"
- xml.reference="true"
- jpox.dependent="false">
- <type>JdoResource</type>
- <multiplicity>1</multiplicity>
- </association>
- </field>
- </fields>
- </class>
-
- <class jpox.stashable="true"
- jpox.table="OPERATIONS"
- jpox.not-persisted-fields="modelEncoding">
- <name>JdoOperation</name>
- <version>1.0.0+</version>
-
- <fields>
- <field jpox.primary-key="true" jpox.value-strategy="off">
- <name>name</name>
- <version>1.0.0+</version>
- <type>String</type>
- <identifier>true</identifier>
- </field>
- <field>
- <name>description</name>
- <version>1.0.0+</version>
- <type>String</type>
- </field>
- <field>
- <name>permanent</name>
- <version>1.0.0+</version>
- <type>boolean</type>
- <description>
- true if this object is permanent.
- </description>
- </field>
- <field>
- <name>resourceRequired</name>
- <version>1.0.0+</version>
- <type>boolean</type>
- <description>
- true if the resource is required for authorization to be granted
- </description>
- </field>
- </fields>
- </class>
-
- <class jpox.stashable="true"
- jpox.table="RESOURCES"
- jpox.not-persisted-fields="modelEncoding">
- <name>JdoResource</name>
- <version>1.0.0+</version>
- <description>
- In RBAC terms, this is the entity which an operation is associated with that which permissions are based on.
- </description>
-
- <fields>
- <field jpox.primary-key="true" jpox.value-strategy="off">
- <name>identifier</name>
- <version>1.0.0+</version>
- <type>String</type>
- <description>
- The string identifier for a resource.
- </description>
- <identifier>true</identifier>
- </field>
- <field>
- <name>pattern</name>
- <version>1.0.0+</version>
- <type>boolean</type>
- <description>
- true if the identifer is a pattern that is to be evaluated, for example x.* could match x.a or x.b and x.**
- could match x.foo
- </description>
- </field>
- <field>
- <name>permanent</name>
- <version>1.0.0+</version>
- <type>boolean</type>
- <description>
- true if this object is permanent.
- </description>
- </field>
- </fields>
- </class>
-
- <class jpox.stashable="true"
- jpox.table="USER_ASSIGNMENTS"
- jpox.not-persisted-fields="modelEncoding">
- <name>JdoUserAssignment</name>
- <description>binding of a principal to a role</description>
-
- <fields>
- <field jpox.primary-key="true" jpox.value-strategy="off">
- <name>principal</name>
- <version>1.0.0+</version>
- <type>String</type>
- <identifier>true</identifier>
- </field>
- <field jpox.column="LAST_UPDATED">
- <name>timestamp</name>
- <version>1.0.0+</version>
- <type>Date</type>
- </field>
- <field>
- <name>permanent</name>
- <version>1.0.0+</version>
- <type>boolean</type>
- <description>
- true if this object is permanent.
- </description>
- </field>
- <field java.adder="false"
- jpox.persistence-modifier="persistent"
- jpox.indexed="false"
- jpox.join-table="USERASSIGNMENT_ROLENAMES">
- <name>roleNames</name>
- <version>1.0.0+</version>
- <association stash.part="true"
- jpox.join="true"
- java.init="field"
- java.generate-break="false"
- java.generate-create="false">
- <type>String</type>
- <multiplicity>*</multiplicity>
- </association>
- </field>
- </fields>
- </class>
- </classes>
-</model>
diff --git a/jpox-modello-maven-plugin/src/it/redback-model/verify.groovy b/jpox-modello-maven-plugin/src/it/redback-model/verify.groovy
deleted file mode 100644
index 1ae3afa..0000000
--- a/jpox-modello-maven-plugin/src/it/redback-model/verify.groovy
+++ /dev/null
@@ -1,25 +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.
- */
-File packageFile = new File( basedir, "target/generated-resources/modello/org/apache/archiva/redback/components/modello/jpox/plugin/package.jdo" );
-
-assert packageFile.exists()
-
-File jdoRoleSource= new File( basedir, "target/generated-sources/modello/org/apache/archiva/redback/components/modello/jpox/plugin/JdoRole.java");
-
-assert jdoRoleSource.exists()
\ No newline at end of file
diff --git a/jpox-modello-maven-plugin/src/it/settings.xml b/jpox-modello-maven-plugin/src/it/settings.xml
deleted file mode 100644
index 7ef55c6..0000000
--- a/jpox-modello-maven-plugin/src/it/settings.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ~ 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.
- -->
-
-
-<settings>
- <profiles>
- <profile>
- <id>it-repo</id>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
- <repositories>
- <repository>
- <id>local.central</id>
- <url>@localRepositoryUrl@</url>
- <releases>
- <enabled>true</enabled>
- </releases>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- </repository>
- </repositories>
- <pluginRepositories>
- <pluginRepository>
- <id>local.central</id>
- <url>@localRepositoryUrl@</url>
- <releases>
- <enabled>true</enabled>
- </releases>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- </pluginRepository>
- </pluginRepositories>
- </profile>
- </profiles>
-</settings>
diff --git a/jpox-modello-maven-plugin/src/main/java/org/apache/archiva/redback/components/modello/plugin/jpox/ModelloJPoxJdoMappingMojo.java b/jpox-modello-maven-plugin/src/main/java/org/apache/archiva/redback/components/modello/plugin/jpox/ModelloJPoxJdoMappingMojo.java
deleted file mode 100644
index 4127b32..0000000
--- a/jpox-modello-maven-plugin/src/main/java/org/apache/archiva/redback/components/modello/plugin/jpox/ModelloJPoxJdoMappingMojo.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package org.apache.archiva.redback.components.modello.plugin.jpox;
-/*
- * 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.
- */
-
-import org.apache.maven.plugins.annotations.LifecyclePhase;
-import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.plugins.annotations.Parameter;
-import org.codehaus.modello.ModelloParameterConstants;
-import org.codehaus.modello.maven.AbstractModelloGeneratorMojo;
-
-import java.io.File;
-import java.util.Properties;
-
-/**
- * Creates a JDO mapping from the Modello model.
- *
- * @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl</a>
- */
-@Mojo( name = "jpox-jdo-mapping", defaultPhase = LifecyclePhase.GENERATE_RESOURCES )
-public class ModelloJPoxJdoMappingMojo
- extends AbstractModelloGeneratorMojo
-{
- /**
- * The output directory of the generated JDO mapping file.
- * <p/>
- * Please be aware of the <model jpox.mapping-in-package="true" > attribute present in
- * the model file itself.
- */
- @Parameter( defaultValue = "${basedir}/target/generated-resources/modello", required = true )
- private File outputDirectory;
-
- /**
- * Produce a mapping file suitable for replication. It will have an alternate extension of '.jdorepl' so it is not
- * picked up by default, and all value-strategy and objectid-class entries are removed from the mapping so that
- * the original identities can be used.
- */
- @Parameter( defaultValue = "false" )
- private boolean replicationParameters;
-
- protected String getGeneratorType()
- {
- return "jpox-jdo-mapping";
- }
-
- protected boolean producesCompilableResult()
- {
- return false;
- }
-
- protected boolean producesResources()
- {
- return true;
- }
-
- public File getOutputDirectory()
- {
- return outputDirectory;
- }
-
- public void setOutputDirectory( File outputDirectory )
- {
- this.outputDirectory = outputDirectory;
- }
-
- protected void customizeParameters( Properties parameters )
- {
- super.customizeParameters( parameters );
-
- if ( replicationParameters )
- {
- parameters.setProperty( ModelloParameterConstants.FILENAME, "package.jdorepl" );
-
- parameters.setProperty( "JPOX.override.value-strategy", "off" );
- parameters.setProperty( "JPOX.override.objectid-class", "" );
- }
- }
-}
\ No newline at end of file
diff --git a/jpox-modello-maven-plugin/src/main/java/org/apache/archiva/redback/components/modello/plugin/jpox/ModelloJPoxMetadataClassMojo.java b/jpox-modello-maven-plugin/src/main/java/org/apache/archiva/redback/components/modello/plugin/jpox/ModelloJPoxMetadataClassMojo.java
deleted file mode 100644
index ed80df6..0000000
--- a/jpox-modello-maven-plugin/src/main/java/org/apache/archiva/redback/components/modello/plugin/jpox/ModelloJPoxMetadataClassMojo.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package org.apache.archiva.redback.components.modello.plugin.jpox;
-/*
- * 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.
- */
-
-import org.apache.maven.plugins.annotations.LifecyclePhase;
-import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.plugins.annotations.Parameter;
-import org.codehaus.modello.maven.AbstractModelloGeneratorMojo;
-
-import java.io.File;
-
-/**
- * Creates a JDO store from the Modello model.
- *
- * @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl</a>
- */
-@Mojo( name = "jpox-metadata-class", defaultPhase = LifecyclePhase.GENERATE_SOURCES )
-public class ModelloJPoxMetadataClassMojo
- extends AbstractModelloGeneratorMojo
-{
- /**
- * The output directory of the generated JDO store.
- */
- @Parameter( defaultValue = "${basedir}/target/generated-sources/modello", required = true )
- private File outputDirectory;
-
- protected String getGeneratorType()
- {
- return "jpox-metadata-class";
- }
-
- public File getOutputDirectory()
- {
- return outputDirectory;
- }
-
- public void setOutputDirectory( File outputDirectory )
- {
- this.outputDirectory = outputDirectory;
- }
-}
diff --git a/jpox-modello-maven-plugin/src/main/java/org/apache/archiva/redback/components/modello/plugin/jpox/ModelloJPoxStoreMojo.java b/jpox-modello-maven-plugin/src/main/java/org/apache/archiva/redback/components/modello/plugin/jpox/ModelloJPoxStoreMojo.java
deleted file mode 100644
index f2ef314..0000000
--- a/jpox-modello-maven-plugin/src/main/java/org/apache/archiva/redback/components/modello/plugin/jpox/ModelloJPoxStoreMojo.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.apache.archiva.redback.components.modello.plugin.jpox;
-/*
- * 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.
- */
-
-import org.apache.maven.plugins.annotations.LifecyclePhase;
-import org.apache.maven.plugins.annotations.Mojo;
-import org.codehaus.modello.maven.AbstractModelloGeneratorMojo;
-
-import java.io.File;
-
-/**
- * Creates a JDO store from the Modello model.
- *
- * @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl</a>
- */
-@Mojo( name = "jpox-store", defaultPhase = LifecyclePhase.GENERATE_SOURCES )
-public class ModelloJPoxStoreMojo
- extends AbstractModelloGeneratorMojo
-{
- /**
- * The output directory of the generated JDO store.
- *
- * @parameter expression="${basedir}/target/generated-sources/modello"
- * @required
- */
- private File outputDirectory;
-
- protected String getGeneratorType()
- {
- return "jpox-store";
- }
-
- public File getOutputDirectory()
- {
- return outputDirectory;
- }
-
- public void setOutputDirectory( File outputDirectory )
- {
- this.outputDirectory = outputDirectory;
- }
-}
diff --git a/modello-db-keywords/pom.xml b/modello-db-keywords/pom.xml
deleted file mode 100644
index e0b9316..0000000
--- a/modello-db-keywords/pom.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ~ 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.
- -->
-<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/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.archiva.redback.components.modello</groupId>
- <artifactId>modello-plugins</artifactId>
- <version>1.1-SNAPSHOT</version>
- </parent>
- <artifactId>modello-db-keywords</artifactId>
- <name>Modello Database Keywords Library</name>
- <packaging>jar</packaging>
-
- <properties>
- <site.staging.base>${project.parent.basedir}/../site</site.staging.base>
- </properties>
-
- <url>${webUrl}/modello-plugins/${project.artifactId}</url>
-
- <scm>
- <url>${scmBrowseUrl};f=${project.artifactId}</url>
- </scm>
-
- <dependencies>
- <dependency>
- <groupId>org.codehaus.modello</groupId>
- <artifactId>modello-core</artifactId>
- </dependency>
- <dependency>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-utils</artifactId>
- </dependency>
- <dependency>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-container-default</artifactId>
- <version>1.0-alpha-30</version>
- </dependency>
- </dependencies>
-
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.rat</groupId>
- <artifactId>apache-rat-plugin</artifactId>
- <configuration>
- <excludes combine.children="append">
- <exclude>src/main/resources/**</exclude>
- </excludes>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
-</project>
diff --git a/modello-db-keywords/src/main/java/org/apache/archiva/redback/components/modello/db/SQLReservedWords.java b/modello-db-keywords/src/main/java/org/apache/archiva/redback/components/modello/db/SQLReservedWords.java
deleted file mode 100644
index dcbbf00..0000000
--- a/modello-db-keywords/src/main/java/org/apache/archiva/redback/components/modello/db/SQLReservedWords.java
+++ /dev/null
@@ -1,250 +0,0 @@
-package org.apache.archiva.redback.components.modello.db;
-
-/*
- * 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.
- */
-
-import org.codehaus.plexus.logging.AbstractLogEnabled;
-import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
-import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
-import org.codehaus.plexus.util.StringUtils;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-/**
- * SQLReservedWords - utility object to test against SQL Keywords.
- *
- * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
- * @plexus.component role="org.apache.archiva.redback.components.modello.db.SQLReservedWords"
- */
-public class SQLReservedWords
- extends AbstractLogEnabled
- implements Initializable
-{
- private Map<String, List<KeywordSource>> keywords;
-
- /**
- * Tests the provided word to see if it is a keyword.
- *
- * @param word the word to test.
- * @return true if the provided word is a keyword.
- */
- public boolean isKeyword( String word )
- {
- if ( StringUtils.isEmpty( word ) )
- {
- // empty or null is not a keyword. ;-)
- return false;
- }
-
- String key = word.trim().toUpperCase();
- return keywords.containsKey( key );
- }
-
- /**
- * Obtain the list of {@link KeywordSource} objects that the specified (potential) keyword
- * (might) belong to.
- *
- * @param word the word to test.
- * @return the {@link List} of {@link KeywordSource} objects, or <code>null</code> if specified word is
- * not a reserved word.
- */
- public List<KeywordSource> getKeywordSourceList( String word )
- {
- if ( StringUtils.isEmpty( word ) )
- {
- // empty or null is not a keyword. ;-)
- return null;
- }
-
- String key = word.trim().toUpperCase();
- return this.keywords.get( key );
- }
-
- /**
- * Obtain the comma delimited string of keyword sources that the specified (potential) word
- * (might) belong to.
- *
- * @param word the wor to test.
- * @return the {@link String} of keyword source names seperated by commas, or <code>null</code> if word is
- * not a reserved word.
- */
- public String getKeywordSourceString( String word )
- {
- if ( StringUtils.isEmpty( word ) )
- {
- // empty or null is not a keyword. ;-)
- return null;
- }
-
- String key = word.trim().toUpperCase();
- List<KeywordSource> sources = this.keywords.get( key );
-
- if ( sources == null )
- {
- return null;
- }
-
- StringBuffer ret = new StringBuffer();
-
- for ( Iterator<KeywordSource> it = sources.iterator(); it.hasNext(); )
- {
- KeywordSource source = it.next();
- if ( ret.length() > 0 )
- {
- ret.append( ", " );
- }
- ret.append( source.getName() );
- }
-
- return ret.toString();
- }
-
- public void initialize()
- throws InitializationException
- {
- loadKeywords();
- }
-
- /**
- * Finds the list of keywords and loads them into the {@link #keywords} {@link Map}.
- */
- private void loadKeywords()
- {
- this.keywords = new HashMap<>();
-
- Properties props = new Properties();
-
- URL definitionsURL = this.getClass().getResource( "keywords.properties" );
-
- if ( definitionsURL == null )
- {
- getLogger().error( "Unable to load definition file: keywords.properties" );
- return;
- }
-
- try (InputStream is = definitionsURL.openStream())
- {
- props.load( is );
-
- String sources[] = StringUtils.split( props.getProperty( "keyword.sources" ), "," );
-
- for ( int i = 0; i < sources.length; i++ )
- {
- String source = sources[i];
- String sourceName = props.getProperty( "keyword.source." + source + ".name" );
- String sourceSeverity = props.getProperty( "keyword.source." + source + ".severity" );
-
- KeywordSource keywordSource = new KeywordSource( sourceName, sourceSeverity );
-
- loadKeywordSource( source + ".txt", keywordSource );
- }
- }
- catch ( IOException e )
- {
- getLogger().error( "Unable to load definitions file: " + "keywords.properties", e );
- return;
- }
- }
-
- private void loadKeywordSource( String resource, KeywordSource source )
- {
- URL keywordsURL = this.getClass().getResource( resource );
-
- if ( keywordsURL == null )
- {
- getLogger().error( "Unable to find keywords for \"" + resource + "\"" );
- return;
- }
-
- try (InputStream is = keywordsURL.openStream())
- {
- try (InputStreamReader isr = new InputStreamReader( is ))
- {
- try (BufferedReader reader = new BufferedReader( isr ))
- {
- String line = reader.readLine();
- while ( line != null )
- {
- line = line.trim();
- if ( line.length() > 0 )
- {
- addKeyword( line, source );
- }
- line = reader.readLine();
- }
- }
- }
- }
- catch ( IOException e )
- {
- getLogger().warn( "Unable to load keywords from " + keywordsURL.toExternalForm() + ": " + e.getMessage(),
- e );
- }
- }
-
- private void addKeyword( String keyword, KeywordSource source )
- {
- String key = keyword.trim().toUpperCase();
- List<KeywordSource> sources = this.keywords.get( key );
- if ( sources == null )
- {
- sources = new ArrayList<>();
- }
- sources.add( source );
- this.keywords.put( key, sources );
- }
-
- public class KeywordSource
- {
- private String name;
-
- private String severity;
-
- public KeywordSource( String name, String severity )
- {
- this.name = name;
- this.severity = severity;
- }
-
- public String getName()
- {
- return name;
- }
-
- public String getSeverity()
- {
- return severity;
- }
-
- public String toString()
- {
- return name;
- }
- }
-}
diff --git a/modello-db-keywords/src/main/resources/META-INF/plexus/components.xml b/modello-db-keywords/src/main/resources/META-INF/plexus/components.xml
deleted file mode 100644
index 6ca8a17..0000000
--- a/modello-db-keywords/src/main/resources/META-INF/plexus/components.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ~ 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.
- -->
-<component-set>
- <components>
-
- <component>
- <role>org.apache.archiva.redback.components.modello.db.SQLReservedWords</role>
- <role-hint>default</role-hint>
- <implementation>org.apache.archiva.redback.components.modello.db.SQLReservedWords</implementation>
- </component>
-
- </components>
-</component-set>
diff --git a/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/db2.txt b/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/db2.txt
deleted file mode 100644
index 71acbf2..0000000
--- a/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/db2.txt
+++ /dev/null
@@ -1,208 +0,0 @@
-ADD
-ALIAS
-ALL
-ALLOCATE
-ALLOW
-ALTER
-AND
-ANY
-AS
-AUTHORIZATION
-BEGIN
-BETWEEN
-BINARY
-BY
-CALL
-CALLED
-CASE
-CAST
-CCSID
-CHAR
-CHARACTER
-CHECK
-CLOSE
-COLLECTION
-COLUMN
-COMMENT
-COMMIT
-CONCAT
-CONDITION
-CONNECT
-CONNECTION
-CONSTRAINT
-CONTAINS
-CONTINUE
-COUNT
-COUNT_BIG
-CREATE
-CROSS
-CURRENT
-CURRENT_DATE
-CURRENT_PATH
-CURRENT_SERVER
-CURRENT_TIME
-CURRENT_TIMESTAMP
-CURRENT_TIMEZONE
-CURRENT_USER
-CURSOR
-DATABASE
-DAY
-DAYS
-DB2GENERAL
-DB2SQL
-DBINFO
-DECLARE
-DEFAULT
-DELETE
-DESCRIPTOR
-DETERMINISTIC
-DISALLOW
-DISCONNECT
-DISTINCT
-DO
-DOUBLE
-DROP
-DYNAMIC
-ELSE
-ELSEIF
-END
-END-EXEC
-ESCAPE
-EXCEPTION
-EXECUTE
-EXISTS
-EXIT
-EXTERNAL
-FENCED
-FETCH
-FILE
-FINAL
-FOR
-FOREIGN
-FREE
-FROM
-FUNCTION
-GENERAL
-GET
-GO
-GOTO
-GRANT
-GRAPHIC
-GROUP
-HANDLER
-HAVING
-HOUR
-HOURS
-IF
-IMMEDIATE
-IN
-INDEX
-INDICATOR
-INNER
-INOUT
-INSENSITIVE
-INSERT
-INTEGRITY
-INTO
-IS
-ISOLATION
-JAVA
-JOIN
-KEY
-LABEL
-LANGUAGE
-LEAVE
-LEFT
-LIKE
-LINKTYPE
-LOCK
-LONG
-LOOP
-MICROSECOND
-MICROSECONDS
-MINUTE
-MINUTES
-MODIFIES
-MONTH
-MONTHS
-NO
-NODENAME
-NODENUMBER
-NOT
-NULL
-OF
-ON
-OPEN
-OPTIMIZE
-OPTION
-OR
-ORDER
-OUT
-OUTER
-PACKAGE
-PARAMETER
-PARTITION
-PATH
-POSITION
-PREPARE
-PRIMARY
-PRIVILEGES
-PROCEDURE
-PROGRAM
-READ
-READS
-RECOVERY
-REFERENCES
-RELEASE
-RENAME
-REPEAT
-RESET
-RESULT
-RETURN
-RETURNS
-REVOKE
-ROLLBACK
-ROUTINE
-ROW
-ROWS
-RRN
-RUN
-SCHEMA
-SCRATCHPAD
-SECOND
-SECONDS
-SELECT
-SET
-SIMPLE
-SOME
-SOURCE
-SPECIFIC
-SQL
-STATIC
-SUBSTRING
-SYNONYM
-TABLE
-THEN
-TO
-TRANSACTION
-TRIM
-TYPE
-UNDO
-UNION
-UNIQUE
-UNTIL
-UPDATE
-USAGE
-USER
-USING
-VALUES
-VARIABLE
-VARIANT
-VIEW
-WHEN
-WHERE
-WHILE
-WITH
-WRITE
-YEAR
-YEARS
diff --git a/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/derby.txt b/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/derby.txt
deleted file mode 100644
index a47a439..0000000
--- a/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/derby.txt
+++ /dev/null
@@ -1,214 +0,0 @@
-ADD
-ALL
-ALLOCATE
-ALTER
-AND
-ANY
-ARE
-AS
-ASC
-ASSERTION
-AT
-AUTHORIZATION
-AVG
-BEGIN
-BETWEEN
-BIT
-BIT_LENGTH
-BOOLEAN
-BOTH
-BY
-CALL
-CASCADE
-CASCADED
-CASE
-CAST
-CHAR
-CHARACTER
-CHARACTER_LENGTH
-CHAR_LENGTH
-CHECK
-CLOSE
-COLLATE
-COLLATION
-COLUMN
-COMMIT
-CONNECT
-CONNECTION
-CONSTRAINT
-CONSTRAINTS
-CONTINUE
-CONVERT
-CORRESPONDING
-COUNT
-CREATE
-CROSS
-CURRENT
-CURRENT_DATE
-CURRENT_TIME
-CURRENT_TIMESTAMP
-CURRENT_USER
-CURSOR
-DEALLOCATE
-DEC
-DECIMAL
-DECLARE
-DEFERRABLE
-DEFERRED
-DELETE
-DESC
-DESCRIBE
-DIAGNOSTICS
-DISCONNECT
-DISTINCT
-DOUBLE
-DROP
-ELSE
-END
-ENDEXEC
-ESCAPE
-EXCEPT
-EXCEPTION
-EXEC
-EXECUTE
-EXISTS
-EXPLAIN
-EXTERNAL
-EXTRACT
-FALSE
-FETCH
-FIRST
-FLOAT
-FOR
-FOREIGN
-FOUND
-FROM
-FULL
-FUNCTION
-GET
-GET_CURRENT_CONNECTION
-GLOBAL
-GO
-GOTO
-GRANT
-GROUP
-HAVING
-HOUR
-IDENTITY
-IMMEDIATE
-IN
-INDICATOR
-INITIALLY
-INNER
-INOUT
-INPUT
-INSENSITIVE
-INSERT
-INT
-INTEGER
-INTERSECT
-INTO
-IS
-ISOLATION
-JOIN
-KEY
-LAST
-LEADING
-LEFT
-LIKE
-LOCAL
-LONGINT
-LOWER
-LTRIM
-MATCH
-MAX
-MIN
-MINUTE
-NATIONAL
-NATURAL
-NCHAR
-NEXT
-NO
-NOT
-NULL
-NULLIF
-NUMERIC
-NVARCHAR
-OCTET_LENGTH
-OF
-ON
-ONLY
-OPEN
-OPTION
-OR
-ORDER
-OUT
-OUTER
-OUTPUT
-OVERLAPS
-PAD
-PARTIAL
-PREPARE
-PRESERVE
-PRIMARY
-PRIOR
-PRIVILEGES
-PROCEDURE
-PUBLIC
-READ
-REAL
-REFERENCES
-RELATIVE
-RESTRICT
-REVOKE
-RIGHT
-ROLLBACK
-ROWS
-RTRIM
-RUNTIMESTATISTICS
-SCHEMA
-SCROLL
-SECOND
-SELECT
-SESSION_USER
-SET
-SMALLINT
-SOME
-SPACE
-SQL
-SQLCODE
-SQLERROR
-SQLSTATE
-SUBSTR
-SUBSTRING
-SUM
-SYSTEM_USER
-TABLE
-TEMPORARY
-TIMEZONE_HOUR
-TIMEZONE_MINUTE
-TINYINT
-TO
-TRAILING
-TRANSACTION
-TRANSLATE
-TRANSLATION
-TRIM
-TRUE
-UNION
-UNIQUE
-UNKNOWN
-UPDATE
-UPPER
-USER
-USING
-VALUES
-VARCHAR
-VARYING
-VIEW
-WHENEVER
-WHERE
-WITH
-WORK
-WRITE
-YEAR
diff --git a/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/hsqldb.txt b/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/hsqldb.txt
deleted file mode 100644
index 26133b5..0000000
--- a/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/hsqldb.txt
+++ /dev/null
@@ -1,316 +0,0 @@
-ACTION
-ADD
-ADMIN
-AFTER
-ALIAS
-ALL
-ALLOCATE
-ALTER
-ALWAYS
-AND
-ANY
-ARE
-ARRAY
-AS
-ASC
-ASENSITIVE
-ASYMMETRIC
-AT
-ATOMIC
-AUTHORIZATION
-AUTOCOMMIT
-AVG
-BEFORE
-BEGIN
-BETWEEN
-BIGINT
-BINARY
-BLOB
-BOOLEAN
-BOTH
-BY
-CACHED
-CALL
-CALLED
-CASCADE
-CASCADED
-CASE
-CASEWHEN
-CAST
-CHAR
-CHARACTER
-CHECK
-CHECKPOINT
-CLASS
-CLOB
-CLOSE
-COALESCE
-COLLATE
-COLUMN
-COMMIT
-COMPACT
-COMPRESSED
-CONCAT
-CONCAT
-CONDIITON
-CONNECT
-CONSTRAINT
-CONTINUE
-CONVERT
-CORRESPONDING
-COUNT
-CREATE
-CUBE
-CURRENT
-CURRENT_DATE
-CURRENT_DEFAULT_TRANSFORM_GROUP
-CURRENT_PATH
-CURRENT_ROLE
-CURRENT_TIME
-CURRENT_TIMESTAMP
-CURRENT_TRANSFORM_GROUP_FOR_TYPE
-CURRENT_USER
-CURSOR
-CYCLE
-DATE
-DAY
-DEALLOCATE
-DEC
-DECIMAL
-DECLARE
-DEFAULT
-DEFRAG
-DELETE
-DEREF
-DESC
-DESCRIBE
-DETERMINISTIC
-DISCONNECT
-DISTINCT
-DO
-DOUBLE
-DROP
-DYNAMIC
-EACH
-ELEMENT
-ELSE
-ELSEIF
-END
-ESCAPE
-EXCEPT
-EXEC
-EXECUTE
-EXISTS
-EXIT
-EXPLAIN
-EXTERNAL
-EXTRACT
-FALSE
-FETCH
-FILTER
-FLOAT
-FOR
-FOREIGN
-FREE
-FROM
-FULL
-FUNCTION
-GENERATED
-GET
-GLOBAL
-GRANT
-GROUP
-GROUPING
-HANDLER
-HAVING
-HOLD
-HOUR
-IDENTITY
-IF
-IFNULL
-IGNORECASE
-IMMEDIATE
-IMMEDIATELY
-IN
-INCREMENT
-INDEX
-INDICATOR
-INNER
-INOUT
-INPUT
-INSENSITIVE
-INSERT
-INT
-INTEGER
-INTERSECT
-INTERVAL
-INTO
-IS
-ITERATE
-JOIN
-KEY
-LANGUAGE
-LARGE
-LATERAL
-LEADING
-LEAVE
-LEFT
-LIKE
-LIMIT
-LOCAL
-LOCALTIME
-LOCALTIMESTAMP
-LOGSIZE
-LOOP
-MATCH
-MAX
-MAXROWS
-MEMBER
-MEMORY
-MERGE
-METHOD
-MIN
-MINUS
-MINUTE
-MODIFIES
-MODULE
-MONTH
-MULTISET
-NATIONAL
-NAUTRAL
-NCHAR
-NCLOB
-NEW
-NEXT
-NO
-NONE
-NOT
-NOW
-NOWAIT
-NULL
-NULLIF
-NUMERIC
-OF
-OLD
-ON
-ONLY
-OPEN
-OR
-ORDER
-OUT
-OUTER
-OUTPUT
-OVER
-OVERLAPS
-PARAMETER
-PARTITION
-PASSWORD
-PLAN
-POSITION
-PRECISION
-PREPARE
-PRIMARY
-PROCEDURE
-PROPERTY
-PUBLIC
-QUEUE
-RANGE
-READONLY
-READS
-REAL
-RECURSIVE
-REF
-REFERENCES
-REFERENCING
-REFERENTIAL_INTEGRITY
-RELEASE
-RENAME
-REPEAT
-RESIGNAL
-RESTART
-RESTRICT
-RESULT
-RETURN
-RETURNS
-REVOKE
-RIGHT
-ROLLBACK
-ROLLUP
-ROW
-ROWS
-SAVEPOINT
-SCOPE
-SCRIPT
-SCRIPTFORMAT
-SCROLL
-SEARCH
-SECOND
-SELECT
-SENSITIVE
-SEQUENCE
-SESSION_USER
-SET
-SHUTDOWN
-SIGNAL
-SIMILAR
-SMALLINT
-SOME
-SOURCE
-SPECIFIC
-SPECIFICTYPE
-SQL
-SQLEXCEPTION
-SQLSTATE
-SQLWARNING
-START
-STATIC
-SUBMULTISET
-SUBSTRING
-SUM
-SYMMETRIC
-SYSDATE
-SYSTEM
-SYSTEM_USER
-TABLE
-TABLESAMPLE
-TEMP
-TEXT
-THEN
-TIME
-TIMESTAMP
-TIMEZONE_HOUR
-TIMEZONE_MINUTE
-TO
-TODAY
-TOP
-TRAILING
-TRANSLATION
-TREAT
-TRIGGER
-TRIM
-TRUE
-UNDO
-UNION
-UNIQUE
-UNKNOWN
-UNNEST
-UNTIL
-UPDATE
-USER
-USING
-VALUE
-VALUES
-VARCHAR
-VARYING
-VIEW
-WHEN
-WHENEVER
-WHERE
-WHILE
-WINDOW
-WITH
-WITHIN
-WITHOUT
-WORK
-WRITE_DELAY
-YEAR
diff --git a/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/jdbc.txt b/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/jdbc.txt
deleted file mode 100644
index e241bfe..0000000
--- a/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/jdbc.txt
+++ /dev/null
@@ -1,50 +0,0 @@
-ADD
-ALTER
-AND
-ASC
-BETWEEN
-BY
-CALL
-COMMIT
-COUNT
-CREATE
-DEFAULT_NULL
-DELETE
-DESC
-DISTINCT
-DROP
-END
-EXCEPTION
-FOR_UPDATE
-FROM
-GROUP
-IN
-INDEX
-INSERT
-INTO
-IS
-LIKE
-MAX
-MIN
-NOT
-NULL
-OR
-ORDER
-PRIMARY_KEY
-ROLLBACK
-ROWNUM
-SELECT
-SET
-SUBSTR
-SUM
-SYSDATE
-TABLE
-TO_CHAR
-TO_NUMBER
-UID
-UNION
-UPDATE
-UPPER
-USING
-VALUES
-WHERE
diff --git a/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/keywords.properties b/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/keywords.properties
deleted file mode 100644
index 9cee6dc..0000000
--- a/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/keywords.properties
+++ /dev/null
@@ -1,29 +0,0 @@
-keyword.sources=sql92,sql99,sql2003,jdbc,derby,hsqldb,mysql,postgres,oracle,plsql,sqlserver,msaccess,db2,odbc
-keyword.source.sql92.name=SQL 92
-keyword.source.sql92.severity=ERROR
-keyword.source.sql99.name=SQL 99
-keyword.source.sql99.severity=ERROR
-keyword.source.sql2003.name=SQL 2003
-keyword.source.sql2003.severity=ERROR
-keyword.source.jdbc.name=JDBC
-keyword.source.jdbc.severity=ERROR
-keyword.source.derby.name=Derby Server
-keyword.source.derby.severity=WARNING
-keyword.source.hsqldb.name=HSQLDB
-keyword.source.hsqldb.severity=WARNING
-keyword.source.mysql.name=MySQL
-keyword.source.mysql.severity=WARNING
-keyword.source.postgres.name=PostgreSQL
-keyword.source.postgres.severity=WARNING
-keyword.source.oracle.name=Oracle
-keyword.source.oracle.severity=WARNING
-keyword.source.plsql.name=PL/SQL
-keyword.source.plsql.severity=WARNING
-keyword.source.sqlserver.name=Microsoft SQL Server
-keyword.source.sqlserver.severity=WARNING
-keyword.source.msaccess.name=Microsoft Access
-keyword.source.msaccess.severity=WARNING
-keyword.source.db2.name=IBM DB/2
-keyword.source.db2.severity=WARNING
-keyword.source.odbc.name=ODBC
-keyword.source.odbc.severity=WARNING
diff --git a/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/msaccess.txt b/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/msaccess.txt
deleted file mode 100644
index 2f07b7f..0000000
--- a/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/msaccess.txt
+++ /dev/null
@@ -1,253 +0,0 @@
-ABSOLUTE
-ADD
-ADMINDB
-ALL
-ALPHANUMERIC
-ALTER
-ALTER
-AND
-ANY
-ARE
-AS
-AS
-ASC
-ASSERTION
-AUTHORIZATION
-AUTOINCREMENT
-AVG
-BEGIN
-BETWEEN
-BINARY
-BIT
-BIT_LENGTH
-BOOLEAN
-BOTH
-BY
-BYTE
-CASCADE
-CATALOG
-CHAR
-CHARACTER
-CHARACTER_LENGTH
-CHAR_LENGTH
-CHECK
-CLOSE
-CLUSTERED
-COALESCE
-COLLATE
-COLLATION
-COLUMN
-COMMIT
-COMP
-COMPRESSION
-CONNECT
-CONNECTION
-CONSTRAINT
-CONSTRAINTS
-CONTAINER
-CONTAINS
-CONVERT
-COUNT
-COUNTER
-CREATE
-CURRENCY
-CURRENT_DATE
-CURRENT_TIME
-CURRENT_TIMESTAMP
-CURRENT_USER
-CURSOR
-DATABASE
-DATE
-DATETIME
-DAY
-DEC
-DECIMAL
-DECLARE
-DELETE
-DESC
-DISALLOW
-DISCONNECT
-DISTINCT
-DISTINCTROW
-DOMAIN
-DOUBLE
-DROP
-EQV
-EXCLUSIVECONNECT
-EXEC
-EXECUTE
-EXISTS
-EXTRACT
-FALSE
-FETCH
-FIRST
-FLOAT
-FLOAT4
-FLOAT8
-FOREIGN
-FROM
-GENERAL
-GRANT
-GROUP
-GUID
-HAVING
-HOUR
-IDENTITY
-IEEEDOUBLE
-IEEESINGLE
-IGNORE
-IMAGE
-IMP
-IN
-IN
-INDEX
-INDEXCREATEDB
-INNER
-INPUT
-INSENSITIVE
-INSERT
-INSERT
-INT
-INTEGER
-INTEGER1
-INTEGER2
-INTEGER4
-INTERVAL
-INTO
-INTO
-IS
-ISOLATION
-JOIN
-KEY
-LANGUAGE
-LAST
-LEFT
-LEVEL
-LIKE
-LOGICAL
-LOGICAL1
-LONG
-LONGBINARY
-LONGCHAR
-LONGTEXT
-LOWER
-MATCH
-MAX
-MEMO
-MIN
-MINUTE
-MOD
-MONEY
-MONTH
-NATIONAL
-NCHAR
-NONCLUSTERED
-NOT
-NTEXT
-NULL
-NUMBER
-NUMERIC
-NVARCHAR
-OCTET_LENGTH
-OLEOBJECT
-ON
-OPEN
-OPTION
-OR
-ORDER
-OUTER
-OUTPUT
-OWNERACCESS
-PAD
-PARAMETERS
-PARTIAL
-PASSWORD
-PERCENT
-PIVOT
-POSITION
-PRECISION
-PREPARE
-PRIMARY
-PRIVILEGES
-PROC
-PROCEDURE
-PUBLIC
-REAL
-REFERENCES
-RESTRICT
-REVOKE
-RIGHT
-ROLLBACK
-SCHEMA
-SECOND
-SELECT
-SELECTSCHEMA
-SELECTSECURITY
-SET
-SHORT
-SINGLE
-SIZE
-SMALLDATETIME
-SMALLINT
-SMALLMONEY
-SOME
-SPACE
-SQL
-SQLCODE
-SQLERROR
-SQLSTATE
-STDEV
-STDEVP
-STRING
-SUBSTRING
-SUM
-SYSNAME
-SYSTEM_USER
-TABLE
-TABLE
-TABLEID
-TEMPORARY
-TEXT
-TIME
-TIMESTAMP
-TIMEZONE_HOUR
-TIMEZONE_MINUTE
-TINYINT
-TO
-TOP
-TRAILING
-TRANSACTION
-TRANSFORM
-TRANSLATE
-TRANSLATION
-TRIM
-TRUE
-UNION
-UNIQUE
-UNIQUEIDENTIFIER
-UNKNOWN
-UPDATE
-UPDATEIDENTITY
-UPDATEOWNER
-UPDATESECURITY
-UPPER
-USAGE
-USER
-USING
-VALUE
-VALUES
-VAR
-VARBINARY
-VARCHAR
-VARP
-VARYING
-VIEW
-WHEN
-WHENEVER
-WHERE
-WITH
-WORK
-XOR
-YEAR
-YESNO
-ZONE
diff --git a/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/mysql.txt b/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/mysql.txt
deleted file mode 100644
index 84d1adb..0000000
--- a/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/mysql.txt
+++ /dev/null
@@ -1,254 +0,0 @@
-ADD
-ALL
-ALTER
-ANALYZE
-AND
-AS
-ASC
-ASENSITIVE
-ASENSITIVE
-BEFORE
-BETWEEN
-BIGINT
-BINARY
-BLOB
-BOTH
-BY
-CALL
-CALL
-CASCADE
-CASE
-CHANGE
-CHAR
-CHARACTER
-CHECK
-COLLATE
-COLUMN
-CONDITION
-CONDITION
-CONSTRAINT
-CONTINUE
-CONTINUE
-CONVERT
-CREATE
-CROSS
-CURRENT_DATE
-CURRENT_TIME
-CURRENT_TIMESTAMP
-CURRENT_USER
-CURSOR
-CURSOR
-DATABASE
-DATABASES
-DAY_HOUR
-DAY_MICROSECOND
-DAY_MINUTE
-DAY_SECOND
-DEC
-DECIMAL
-DECLARE
-DECLARE
-DEFAULT
-DELAYED
-DELETE
-DESC
-DESCRIBE
-DETERMINISTIC
-DETERMINISTIC
-DISTINCT
-DISTINCTROW
-DIV
-DOUBLE
-DROP
-DUAL
-EACH
-EACH
-ELSE
-ELSEIF
-ELSEIF
-ENCLOSED
-ESCAPED
-EXISTS
-EXIT
-EXIT
-EXPLAIN
-FALSE
-FETCH
-FETCH
-FLOAT
-FLOAT4
-FLOAT8
-FOR
-FORCE
-FOREIGN
-FROM
-FULLTEXT
-GRANT
-GROUP
-HAVING
-HIGH_PRIORITY
-HOUR_MICROSECOND
-HOUR_MINUTE
-HOUR_SECOND
-IF
-IGNORE
-IN
-INDEX
-INFILE
-INNER
-INOUT
-INOUT
-INSENSITIVE
-INSENSITIVE
-INSERT
-INT
-INT1
-INT2
-INT3
-INT4
-INT8
-INTEGER
-INTERVAL
-INTO
-IS
-ITERATE
-ITERATE
-JOIN
-KEY
-KEYS
-KILL
-LEADING
-LEAVE
-LEAVE
-LEFT
-LIKE
-LIMIT
-LINES
-LOAD
-LOCALTIME
-LOCALTIMESTAMP
-LOCK
-LONG
-LONGBLOB
-LONGTEXT
-LOOP
-LOOP
-LOW_PRIORITY
-MATCH
-MEDIUMBLOB
-MEDIUMINT
-MEDIUMTEXT
-MIDDLEINT
-MINUTE_MICROSECOND
-MINUTE_SECOND
-MOD
-MODIFIES
-MODIFIES
-NATURAL
-NOT
-NO_WRITE_TO_BINLOG
-NULL
-NUMERIC
-ON
-OPTIMIZE
-OPTION
-OPTIONALLY
-OR
-ORDER
-OUT
-OUT
-OUTER
-OUTFILE
-PRECISION
-PRIMARY
-PROCEDURE
-PURGE
-RAID0
-READ
-READS
-READS
-REAL
-REFERENCES
-REGEXP
-RELEASE
-RELEASE
-RENAME
-REPEAT
-REPEAT
-REPLACE
-REQUIRE
-RESTRICT
-RETURN
-RETURN
-REVOKE
-RIGHT
-RLIKE
-SCHEMA
-SCHEMA
-SCHEMAS
-SCHEMAS
-SECOND_MICROSECOND
-SELECT
-SENSITIVE
-SENSITIVE
-SEPARATOR
-SET
-SHOW
-SMALLINT
-SONAME
-SPATIAL
-SPECIFIC
-SPECIFIC
-SQL
-SQL
-SQL_BIG_RESULT
-SQL_CALC_FOUND_ROWS
-SQLEXCEPTION
-SQLEXCEPTION
-SQL_SMALL_RESULT
-SQLSTATE
-SQLSTATE
-SQLWARNING
-SQLWARNING
-SSL
-STARTING
-STRAIGHT_JOIN
-TABLE
-TERMINATED
-THEN
-TINYBLOB
-TINYINT
-TINYTEXT
-TO
-TRAILING
-TRIGGER
-TRIGGER
-TRUE
-UNDO
-UNDO
-UNION
-UNIQUE
-UNLOCK
-UNSIGNED
-UPDATE
-USAGE
-USE
-USING
-UTC_DATE
-UTC_TIME
-UTC_TIMESTAMP
-VALUES
-VARBINARY
-VARCHAR
-VARCHARACTER
-VARYING
-WHEN
-WHERE
-WHILE
-WHILE
-WITH
-WRITE
-X509
-XOR
-YEAR_MONTH
-ZEROFILL
diff --git a/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/odbc.txt b/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/odbc.txt
deleted file mode 100644
index 95325f2..0000000
--- a/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/odbc.txt
+++ /dev/null
@@ -1,235 +0,0 @@
-ABSOLUTE
-ACTION
-ADA
-ADD
-ALL
-ALLOCATE
-ALTER
-AND
-ANY
-ARE
-AS
-ASC
-ASSERTION
-AT
-AUTHORIZATION
-AVG
-BEGIN
-BETWEEN
-BIT
-BIT_LENGTH
-BOTH
-BY
-CASCADE
-CASCADED
-CASE
-CAST
-CATALOG
-CHAR
-CHARACTER
-CHARACTER_LENGTH
-CHAR_LENGTH
-CHECK
-CLOSE
-COALESCE
-COLLATE
-COLLATION
-COLUMN
-COMMIT
-CONNECT
-CONNECTION
-CONSTRAINT
-CONSTRAINTS
-CONTINUE
-CONVERT
-CORRESPONDING
-COUNT
-CREATE
-CROSS
-CURRENT
-CURRENT_DATE
-CURRENT_TIME
-CURRENT_TIMESTAMP
-CURRENT_USER
-CURSOR
-DATE
-DAY
-DEALLOCATE
-DEC
-DECIMAL
-DECLARE
-DEFAULT
-DEFERRABLE
-DEFERRED
-DELETE
-DESC
-DESCRIBE
-DESCRIPTOR
-DIAGNOSTICS
-DISCONNECT
-DISTINCT
-DOMAIN
-DOUBLE
-DROP
-ELSE
-END
-END-EXEC
-ESCAPE
-EXCEPT
-EXCEPTION
-EXEC
-EXECUTE
-EXISTS
-EXTERNAL
-EXTRACT
-FALSE
-FETCH
-FIRST
-FLOAT
-FOR
-FOREIGN
-FORTRAN
-FOUND
-FROM
-FULL
-GET
-GLOBAL
-GO
-GOTO
-GRANT
-GROUP
-HAVING
-HOUR
-IDENTITY
-IMMEDIATE
-IN
-INCLUDE
-INDEX
-INDICATOR
-INITIALLY
-INNER
-INPUT
-INSENSITIVE
-INSERT
-INT
-INTEGER
-INTERSECT
-INTERVAL
-INTO
-IS
-ISOLATION
-JOIN
-KEY
-LANGUAGE
-LAST
-LEADING
-LEFT
-LEVEL
-LIKE
-LOCAL
-LOWER
-MATCH
-MAX
-MIN
-MINUTE
-MODULE
-MONTH
-NAMES
-NATIONAL
-NATURAL
-NCHAR
-NEXT
-NO
-NONE
-NOT
-NULL
-NULLIF
-NUMERIC
-OCTET_LENGTH
-OF
-ON
-ONLY
-OPEN
-OPTION
-OR
-ORDER
-OUTER
-OUTPUT
-OVERLAPS
-PAD
-PARTIAL
-PASCAL
-POSITION
-PRECISION
-PREPARE
-PRESERVE
-PRIMARY
-PRIOR
-PRIVILEGES
-PROCEDURE
-PUBLIC
-READ
-REAL
-REFERENCES
-RELATIVE
-RESTRICT
-REVOKE
-RIGHT
-ROLLBACK
-ROWS
-SCHEMA
-SCROLL
-SECOND
-SECTION
-SELECT
-SESSION
-SESSION_USER
-SET
-SIZE
-SMALLINT
-SOME
-SPACE
-SQL
-SQLCA
-SQLCODE
-SQLERROR
-SQLSTATE
-SQLWARNING
-SUBSTRING
-SUM
-SYSTEM_USER
-TABLE
-TEMPORARY
-THEN
-TIME
-TIMESTAMP
-TIMEZONE_HOUR
-TIMEZONE_MINUTE
-TO
-TRAILING
-TRANSACTION
-TRANSLATE
-TRANSLATION
-TRIM
-TRUE
-UNION
-UNIQUE
-UNKNOWN
-UPDATE
-UPPER
-USAGE
-USER
-USING
-VALUE
-VALUES
-VARCHAR
-VARYING
-VIEW
-WHEN
-WHENEVER
-WHERE
-WITH
-WORK
-WRITE
-YEAR
-ZONE
diff --git a/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/oracle.txt b/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/oracle.txt
deleted file mode 100644
index 87eeeee..0000000
--- a/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/oracle.txt
+++ /dev/null
@@ -1,283 +0,0 @@
-ACCESS
-ADD
-ADMIN
-AFTER
-ALL
-ALLOCATE
-ALTER
-ANALYZE
-AND
-ANY
-ARCHIVE
-ARCHIVELOG
-ARRAYLEN
-AS
-ASC
-AUDIT
-AUTHORIZATION
-AVG
-BACKUP
-BECOME
-BEFORE
-BEGIN
-BETWEEN
-BLOCK
-BODY
-BY
-CACHE
-CANCEL
-CASCADE
-CHANGE
-CHAR
-CHARACTER
-CHECK
-CHECKPOINT
-CLOSE
-CLUSTER
-COBOL
-COLUMN
-COMMENT
-COMMIT
-COMPILE
-COMPRESS
-CONNECT
-CONSTRAINT
-CONSTRAINTS
-CONTENTS
-CONTINUE
-CONTROLFILE
-COUNT
-CREATE
-CURRENT
-CURSOR
-CYCLE
-DATABASE
-DATAFILE
-DATE
-DBA
-DEC
-DECIMAL
-DECLARE
-DEFAULT
-DELETE
-DESC
-DISABLE
-DISMOUNT
-DISTINCT
-DOUBLE
-DROP
-DUMP
-EACH
-ELSE
-ENABLE
-END
-ESCAPE
-EVENTS
-EXCEPT
-EXCEPTIONS
-EXCLUSIVE
-EXEC
-EXECUTE
-EXISTS
-EXPLAIN
-EXTENT
-EXTERNALLY
-FETCH
-FILE
-FLOAT
-FLUSH
-FOR
-FORCE
-FOREIGN
-FORTRAN
-FOUND
-FREELIST
-FREELISTS
-FROM
-FUNCTION
-GO
-GOTO
-GRANT
-GROUP
-GROUPS
-HAVING
-IDENTIFIED
-IMMEDIATE
-IN
-INCLUDING
-INCREMENT
-INDEX
-INDICATOR
-INITIAL
-INITRANS
-INSERT
-INSTANCE
-INT
-INTEGER
-INTERSECT
-INTO
-IS
-KEY
-LANGUAGE
-LAYER
-LEVEL
-LIKE
-LINK
-LISTS
-LOCK
-LOGFILE
-LONG
-MANAGE
-MANUAL
-MAX
-MAXDATAFILES
-MAXEXTENTS
-MAXINSTANCES
-MAXLOGFILES
-MAXLOGHISTORY
-MAXLOGMEMBERS
-MAXTRANS
-MAXVALUE
-MIN
-MINEXTENTS
-MINUS
-MINVALUE
-MODE
-MODIFY
-MODULE
-MOUNT
-NEW
-NEXT
-NOARCHIVELOG
-NOAUDIT
-NOCACHE
-NOCOMPRESS
-NOCYCLE
-NOMAXVALUE
-NOMINVALUE
-NONE
-NOORDER
-NORESETLOGS
-NORMAL
-NOSORT
-NOT
-NOTFOUND
-NOWAIT
-NULL
-NUMBER
-NUMERIC
-OF
-OFF
-OFFLINE
-OLD
-ON
-ONLINE
-ONLY
-OPEN
-OPTIMAL
-OPTION
-OR
-ORDER
-OWN
-PACKAGE
-PARALLEL
-PCTFREE
-PCTINCREASE
-PCTUSED
-PLAN
-PLI
-PRECISION
-PRIMARY
-PRIOR
-PRIVATE
-PRIVILEGES
-PROCEDURE
-PROFILE
-PUBLIC
-QUOTA
-RAW
-READ
-REAL
-RECOVER
-REFERENCES
-REFERENCING
-RENAME
-RESETLOGS
-RESOURCE
-RESTRICTED
-REUSE
-REVOKE
-ROLE
-ROLES
-ROLLBACK
-ROW
-ROWID
-ROWLABEL
-ROWNUM
-ROWS
-SAVEPOINT
-SCHEMA
-SCN
-SECTION
-SEGMENT
-SELECT
-SEQUENCE
-SESSION
-SET
-SHARE
-SHARED
-SIZE
-SMALLINT
-SNAPSHOT
-SOME
-SORT
-SQL
-SQLBUF
-SQLCODE
-SQLERROR
-SQLSTATE
-START
-STATEMENT_ID
-STATISTICS
-STOP
-STORAGE
-SUCCESSFUL
-SUM
-SWITCH
-SYNONYM
-SYSDATE
-SYSTEM
-TABLE
-TABLES
-TABLESPACE
-TEMPORARY
-THEN
-THREAD
-TIME
-TO
-TRACING
-TRANSACTION
-TRIGGER
-TRIGGERS
-TRUNCATE
-UID
-UNDER
-UNION
-UNIQUE
-UNLIMITED
-UNTIL
-UPDATE
-USE
-USER
-USING
-VALIDATE
-VALUES
-VARCHAR
-VARCHAR2
-VIEW
-WHEN
-WHENEVER
-WHERE
-WITH
-WORK
-WRITE
diff --git a/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/plsql.txt b/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/plsql.txt
deleted file mode 100644
index a8553db..0000000
--- a/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/plsql.txt
+++ /dev/null
@@ -1,186 +0,0 @@
-ABORT
-ACCEPT
-ACCESS
-ADD
-ALL
-ALTER
-AND
-ANY
-ARRAY
-ARRAYLEN
-AS
-ASC
-ASSERT
-ASSIGN
-AT
-AUTHORIZATION
-AVG
-BASE_TABLE
-BEGIN
-BETWEEN
-BINARY_INTEGER
-BODY
-BOOLEAN
-BY
-CASE
-CHAR
-CHAR_BASE
-CHECK
-CLOSE
-CLUSTER
-CLUSTERS
-COLAUTH
-COLUMNS
-COMMIT
-COMPRESS
-CONNECT
-CONSTANT
-COUNT
-CRASH
-CREATE
-CURRENT
-CURRVAL
-CURSOR
-DATA_BASE
-DATABASE
-DATE
-DBA
-DEBUGOFF
-DEBUGON
-DECIMAL
-DECLARE
-DEFAULT
-DEFINITION
-DELAY
-DELETE
-DELTA
-DESC
-DIGITS
-DISPOSE
-DISTINCT
-DO
-DROP
-ELSE
-ELSIF
-END
-ENTRY
-EXCEPTION
-EXCEPTION_INIT
-EXISTS
-EXIT
-FALSE
-FETCH
-FLOAT
-FOR
-FORM
-FROM
-FUNCTION
-GENERIC
-GOTO
-GRANT
-GROUP
-HAVING
-IDENTIFIED
-IF
-IN
-INDEX
-INDEXES
-INDICATOR
-INSERT
-INTEGER
-INTERSECT
-INTO
-IS
-LEVEL
-LIKE
-LIMITED
-LOOP
-MAX
-MIN
-MINUS
-MLSLABEL
-MOD
-MODE
-NATURAL
-NEW
-NEXTVAL
-NOCOMPRESS
-NOT
-NULL
-NUMBER
-NUMBER_BASE
-OF
-ON
-OPEN
-OPTION
-OR
-ORDER
-OTHERS
-OUT
-PACKAGE
-PARTITION
-PCTFREE
-POSITIVE
-PRAGMA
-PRIOR
-PRIVATE
-PROCEDURE
-PUBLIC
-RAISE
-RANGE
-REAL
-RECORD
-RELEASE
-REMR
-RENAME
-RESOURCE
-RETURN
-REVERSE
-REVOKE
-ROLLBACK
-ROWID
-ROWLABEL
-ROWNUM
-ROWTYPE
-RUN
-SAVEPOINT
-SCHEMA
-SELECT
-SEPARATE
-SET
-SIZE
-SMALLINT
-SPACE
-SQL
-SQLCODE
-SQLERRM
-START
-STATEMENT
-STDDEV
-SUBTYPE
-SUM
-TABAUTH
-TABLE
-TABLES
-TASK
-TERMINATE
-THEN
-TO
-TRUE
-TYPE
-UNION
-UNIQUE
-UPDATE
-USE
-VALUES
-VARCHAR
-VARCHAR2
-VARIANCE
-VIEW
-VIEWS
-WHEN
-WHERE
-WHILE
-WITH
-WORK
-XOR
diff --git a/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/postgres.txt b/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/postgres.txt
deleted file mode 100644
index fd571d2..0000000
--- a/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/postgres.txt
+++ /dev/null
@@ -1,334 +0,0 @@
-ABORT
-ABSOLUTE
-ACCESS
-ACTION
-ADD
-ADMIN
-AFTER
-AGGREGATE
-ALL
-ALSO
-ALTER
-ANALYSE
-ANALYZE
-AND
-ANY
-ARRAY
-AS
-ASC
-ASSERTION
-ASSIGNMENT
-ASYMMETRIC
-AT
-AUTHORIZATION
-BACKWARD
-BEFORE
-BEGIN
-BETWEEN
-BIGINT
-BINARY
-BIT
-BOOLEAN
-BOTH
-BY
-CACHE
-CALLED
-CASCADE
-CASE
-CAST
-CHAIN
-CHAR
-CHARACTER
-CHARACTERISTICS
-CHECK
-CHECKPOINT
-CLASS
-CLOSE
-CLUSTER
-COALESCE
-COLLATE
-COLUMN
-COMMENT
-COMMIT
-COMMITTED
-CONNECTION
-CONSTRAINT
-CONSTRAINTS
-CONVERSION
-CONVERT
-COPY
-CREATE
-CREATEDB
-CREATEROLE
-CREATEUSER
-CROSS
-CSV
-CURRENT_DATE
-CURRENT_ROLE
-CURRENT_TIME
-CURRENT_TIMESTAMP
-CURRENT_USER
-CURSOR
-CYCLE
-DATABASE
-DAY
-DEALLOCATE
-DEC
-DECIMAL
-DECLARE
-DEFAULT
-DEFAULTS
-DEFERRABLE
-DEFERRED
-DEFINER
-DELETE
-DELIMITER
-DELIMITERS
-DESC
-DISABLE
-DISTINCT
-DO
-DOMAIN
-DOUBLE
-DROP
-EACH
-ELSE
-ENABLE
-ENCODING
-ENCRYPTED
-END
-ESCAPE
-EXCEPT
-EXCLUDING
-EXCLUSIVE
-EXECUTE
-EXISTS
-EXPLAIN
-EXTERNAL
-EXTRACT
-FALSE
-FETCH
-FIRST
-FLOAT
-FOR
-FORCE
-FOREIGN
-FORWARD
-FREEZE
-FROM
-FULL
-FUNCTION
-GLOBAL
-GRANT
-GRANTED
-GREATEST
-GROUP
-HANDLER
-HAVING
-HEADER
-HOLD
-HOUR
-ILIKE
-IMMEDIATE
-IMMUTABLE
-IMPLICIT
-IN
-INCLUDING
-INCREMENT
-INDEX
-INHERIT
-INHERITS
-INITIALLY
-INNER
-INOUT
-INPUT
-INSENSITIVE
-INSERT
-INSTEAD
-INT
-INTEGER
-INTERSECT
-INTERVAL
-INTO
-INVOKER
-IS
-ISNULL
-ISOLATION
-JOIN
-KEY
-LANCOMPILER
-LANGUAGE
-LARGE
-LAST
-LEADING
-LEAST
-LEFT
-LEVEL
-LIKE
-LIMIT
-LISTEN
-LOAD
-LOCAL
-LOCALTIME
-LOCALTIMESTAMP
-LOCATION
-LOCK
-LOGIN
-MATCH
-MAXVALUE
-MINUTE
-MINVALUE
-MODE
-MONTH
-MOVE
-NAMES
-NATIONAL
-NATURAL
-NCHAR
-NEW
-NEXT
-NO
-NOCREATEDB
-NOCREATEROLE
-NOCREATEUSER
-NOINHERIT
-NOLOGIN
-NONE
-NOSUPERUSER
-NOT
-NOTHING
-NOTIFY
-NOTNULL
-NOWAIT
-NULL
-NULLIF
-NUMERIC
-OBJECT
-OF
-OFF
-OFFSET
-OIDS
-OLD
-ON
-ONLY
-OPERATOR
-OPTION
-OR
-ORDER
-OUT
-OUTER
-OVERLAPS
-OVERLAY
-OWNER
-PARTIAL
-PASSWORD
-PLACING
-POSITION
-PRECISION
-PREPARE
-PREPARED
-PRESERVE
-PRIMARY
-PRIOR
-PRIVILEGES
-PROCEDURAL
-PROCEDURE
-QUOTE
-READ
-REAL
-RECHECK
-REFERENCES
-REINDEX
-RELATIVE
-RELEASE
-RENAME
-REPEATABLE
-REPLACE
-RESET
-RESTART
-RESTRICT
-RETURNS
-REVOKE
-RIGHT
-ROLE
-ROLLBACK
-ROW
-ROWS
-RULE
-SAVEPOINT
-SCHEMA
-SCROLL
-SECOND
-SECURITY
-SELECT
-SEQUENCE
-SERIALIZABLE
-SESSION
-SESSION_USER
-SET
-SETOF
-SHARE
-SHOW
-SIMILAR
-SIMPLE
-SMALLINT
-SOME
-STABLE
-START
-STATEMENT
-STATISTICS
-STDIN
-STDOUT
-STORAGE
-STRICT
-SUBSTRING
-SUPERUSER
-SYMMETRIC
-SYSID
-SYSTEM
-TABLE
-TABLESPACE
-TEMP
-TEMPLATE
-TEMPORARY
-THEN
-TIME
-TIMESTAMP
-TO
-TOAST
-TRAILING
-TRANSACTION
-TREAT
-TRIGGER
-TRIM
-TRUE
-TRUNCATE
-TRUSTED
-TYPE
-UNCOMMITTED
-UNENCRYPTED
-UNION
-UNIQUE
-UNKNOWN
-UNLISTEN
-UNTIL
-UPDATE
-USER
-USING
-VACUUM
-VALID
-VALIDATOR
-VALUES
-VARCHAR
-VARYING
-VERBOSE
-VIEW
-VOLATILE
-WHEN
-WHERE
-WITH
-WITHOUT
-WORK
-WRITE
-YEAR
-ZONE
diff --git a/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/sql2003.txt b/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/sql2003.txt
deleted file mode 100644
index 99b5c86..0000000
--- a/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/sql2003.txt
+++ /dev/null
@@ -1,247 +0,0 @@
-ADD
-ALL
-ALLOCATE
-ALTER
-AND
-ANY
-ARE
-ARRAY
-AS
-ASENSITIVE
-ASYMMETRIC
-AT
-ATOMIC
-AUTHORIZATION
-BEGIN
-BETWEEN
-BIGINT
-BINARY
-BLOB
-BOOLEAN
-BOTH
-BY
-CALL
-CALLED
-CASCADED
-CASE
-CAST
-CHAR
-CHARACTER
-CHECK
-CLOB
-CLOSE
-COLLATE
-COLUMN
-COMMIT
-CONDITION
-CONNECT
-CONSTRAINT
-CONTINUE
-CORRESPONDING
-CREATE
-CROSS
-CUBE
-CURRENT
-CURRENT_DATE
-CURRENT_DEFAULT_TRANSFORM_GROUP
-CURRENT_PATH
-CURRENT_ROLE
-CURRENT_TIME
-CURRENT_TIMESTAMP
-CURRENT_TRANSFORM_GROUP_FOR_TYPE
-CURRENT_USER
-CURSOR
-CYCLE
-DATE
-DAY
-DEALLOCATE
-DEC
-DECIMAL
-DECLARE
-DEFAULT
-DELETE
-DEREF
-DESCRIBE
-DETERMINISTIC
-DISCONNECT
-DISTINCT
-DO
-DOUBLE
-DROP
-DYNAMIC
-EACH
-ELEMENT
-ELSE
-ELSEIF
-END
-ESCAPE
-EXCEPT
-EXEC
-EXECUTE
-EXISTS
-EXIT
-EXTERNAL
-FALSE
-FETCH
-FILTER
-FLOAT
-FOR
-FOREIGN
-FREE
-FROM
-FULL
-FUNCTION
-GET
-GLOBAL
-GRANT
-GROUP
-GROUPING
-HANDLER
-HAVING
-HOLD
-HOUR
-IDENTITY
-IF
-IMMEDIATE
-IN
-INDICATOR
-INNER
-INOUT
-INPUT
-INSENSITIVE
-INSERT
-INT
-INTEGER
-INTERSECT
-INTERVAL
-INTO
-IS
-ITERATE
-JOIN
-LANGUAGE
-LARGE
-LATERAL
-LEADING
-LEAVE
-LEFT
-LIKE
-LOCAL
-LOCALTIME
-LOCALTIMESTAMP
-LOOP
-MATCH
-MEMBER
-MERGE
-METHOD
-MINUTE
-MODIFIES
-MODULE
-MONTH
-MULTISET
-NATIONAL
-NATURAL
-NCHAR
-NCLOB
-NEW
-NO
-NONE
-NOT
-NULL
-NUMERIC
-OF
-OLD
-ON
-ONLY
-OPEN
-OR
-ORDER
-OUT
-OUTER
-OUTPUT
-OVER
-OVERLAPS
-PARAMETER
-PARTITION
-PRECISION
-PREPARE
-PRIMARY
-PROCEDURE
-RANGE
-READS
-REAL
-RECURSIVE
-REF
-REFERENCES
-REFERENCING
-RELEASE
-REPEAT
-RESIGNAL
-RESULT
-RETURN
-RETURNS
-REVOKE
-RIGHT
-ROLLBACK
-ROLLUP
-ROW
-ROWS
-SAVEPOINT
-SCOPE
-SCROLL
-SEARCH
-SECOND
-SELECT
-SENSITIVE
-SESSION_USER
-SET
-SIGNAL
-SIMILAR
-SMALLINT
-SOME
-SPECIFIC
-SPECIFICTYPE
-SQL
-SQLEXCEPTION
-SQLSTATE
-SQLWARNING
-START
-STATIC
-SUBMULTISET
-SYMMETRIC
-SYSTEM
-SYSTEM_USER
-TABLE
-TABLESAMPLE
-THEN
-TIME
-TIMESTAMP
-TIMEZONE_HOUR
-TIMEZONE_MINUTE
-TO
-TRAILING
-TRANSLATION
-TREAT
-TRIGGER
-TRUE
-UNDO
-UNION
-UNIQUE
-UNKNOWN
-UNNEST
-UNTIL
-UPDATE
-USER
-USING
-VALUE
-VALUES
-VARCHAR
-VARYING
-WHEN
-WHENEVER
-WHERE
-WHILE
-WINDOW
-WITH
-WITHIN
-WITHOUT
-YEAR
diff --git a/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/sql92.txt b/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/sql92.txt
deleted file mode 100644
index 8fdc14c..0000000
--- a/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/sql92.txt
+++ /dev/null
@@ -1,255 +0,0 @@
-ABSOLUTE
-ACTION
-ADD
-ALL
-ALLOCATE
-ALTER
-AND
-ANY
-ARE
-AS
-ASC
-ASSERTION
-AT
-AUTHORIZATION
-AVG
-BEGIN
-BETWEEN
-BIT
-BIT_LENGTH
-BOTH
-BY
-CALL
-CASCADE
-CASCADED
-CASE
-CAST
-CATALOG
-CHAR
-CHARACTER
-CHARACTER_LENGTH
-CHAR_LENGTH
-CHECK
-CLOSE
-COALESCE
-COLLATE
-COLLATION
-COLUMN
-COMMIT
-CONDITION
-CONNECT
-CONNECTION
-CONSTRAINT
-CONSTRAINTS
-CONTAINS
-CONTINUE
-CONVERT
-CORRESPONDING
-COUNT
-CREATE
-CROSS
-CURRENT
-CURRENT_DATE
-CURRENT_PATH
-CURRENT_TIME
-CURRENT_TIMESTAMP
-CURRENT_USER
-CURSOR
-DATE
-DAY
-DEALLOCATE
-DEC
-DECIMAL
-DECLARE
-DEFAULT
-DEFERRABLE
-DEFERRED
-DELETE
-DESC
-DESCRIBE
-DESCRIPTOR
-DETERMINISTIC
-DIAGNOSTICS
-DISCONNECT
-DISTINCT
-DO
-DOMAIN
-DOUBLE
-DROP
-ELSE
-ELSEIF
-END
-ESCAPE
-EXCEPT
-EXCEPTION
-EXEC
-EXECUTE
-EXISTS
-EXIT
-EXTERNAL
-EXTRACT
-FALSE
-FETCH
-FIRST
-FLOAT
-FOR
-FOREIGN
-FOUND
-FROM
-FULL
-FUNCTION
-GET
-GLOBAL
-GO
-GOTO
-GRANT
-GROUP
-HANDLER
-HAVING
-HOUR
-IDENTITY
-IF
-IMMEDIATE
-IN
-INDICATOR
-INITIALLY
-INNER
-INOUT
-INPUT
-INSENSITIVE
-INSERT
-INT
-INTEGER
-INTERSECT
-INTERVAL
-INTO
-IS
-ISOLATION
-JOIN
-KEY
-LANGUAGE
-LAST
-LEADING
-LEAVE
-LEFT
-LEVEL
-LIKE
-LOCAL
-LOOP
-LOWER
-MATCH
-MAX
-MIN
-MINUTE
-MODULE
-MONTH
-NAMES
-NATIONAL
-NATURAL
-NCHAR
-NEXT
-NO
-NOT
-NULL
-NULLIF
-NUMERIC
-OCTET_LENGTH
-OF
-ON
-ONLY
-OPEN
-OPTION
-OR
-ORDER
-OUT
-OUTER
-OUTPUT
-OVERLAPS
-PAD
-PARAMETER
-PARTIAL
-PATH
-POSITION
-PRECISION
-PREPARE
-PRESERVE
-PRIMARY
-PRIOR
-PRIVILEGES
-PROCEDURE
-PUBLIC
-READ
-REAL
-REFERENCES
-RELATIVE
-REPEAT
-RESIGNAL
-RESTRICT
-RETURN
-RETURNS
-REVOKE
-RIGHT
-ROLLBACK
-ROUTINE
-ROWS
-SCHEMA
-SCROLL
-SECOND
-SECTION
-SELECT
-SESSION
-SESSION_USER
-SET
-SIGNAL
-SIZE
-SMALLINT
-SOME
-SPACE
-SPECIFIC
-SQL
-SQLCODE
-SQLERROR
-SQLEXCEPTION
-SQLSTATE
-SQLWARNING
-SUBSTRING
-SUM
-SYSTEM_USER
-TABLE
-TEMPORARY
-THEN
-TIME
-TIMESTAMP
-TIMEZONE_HOUR
-TIMEZONE_MINUTE
-TO
-TRAILING
-TRANSACTION
-TRANSLATE
-TRANSLATION
-TRIM
-TRUE
-UNDO
-UNION
-UNIQUE
-UNKNOWN
-UNTIL
-UPDATE
-UPPER
-USAGE
-USER
-USING
-VALUE
-VALUES
-VARCHAR
-VARYING
-VIEW
-WHEN
-WHENEVER
-WHERE
-WHILE
-WITH
-WORK
-WRITE
-YEAR
-ZONE
diff --git a/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/sql99.txt b/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/sql99.txt
deleted file mode 100644
index 762fc99..0000000
--- a/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/sql99.txt
+++ /dev/null
@@ -1,308 +0,0 @@
-ABSOLUTE
-ACTION
-ADD
-AFTER
-ALL
-ALLOCATE
-ALTER
-AND
-ANY
-ARE
-ARRAY
-AS
-ASC
-ASENSITIVE
-ASSERTION
-ASYMMETRIC
-AT
-ATOMIC
-AUTHORIZATION
-BEFORE
-BEGIN
-BETWEEN
-BINARY
-BIT
-BLOB
-BOOLEAN
-BOTH
-BREADTH
-BY
-CALL
-CALLED
-CASCADE
-CASCADED
-CASE
-CAST
-CATALOG
-CHAR
-CHARACTER
-CHECK
-CLOB
-CLOSE
-COLLATE
-COLLATION
-COLUMN
-COMMIT
-CONDITION
-CONNECT
-CONNECTION
-CONSTRAINT
-CONSTRAINTS
-CONSTRUCTOR
-CONTINUE
-CORRESPONDING
-CREATE
-CROSS
-CUBE
-CURRENT
-CURRENT_DATE
-CURRENT_DEFAULT_TRANSFORM_GROUP
-CURRENT_PATH
-CURRENT_ROLE
-CURRENT_TIME
-CURRENT_TIMESTAMP
-CURRENT_TRANSFORM_GROUP_FOR_TYPE
-CURRENT_USER
-CURSOR
-CYCLE
-DATA
-DATE
-DAY
-DEALLOCATE
-DEC
-DECIMAL
-DECLARE
-DEFAULT
-DEFERRABLE
-DEFERRED
-DELETE
-DEPTH
-DEREF
-DESC
-DESCRIBE
-DESCRIPTOR
-DETERMINISTIC
-DIAGNOSTICS
-DISCONNECT
-DISTINCT
-DO
-DOMAIN
-DOUBLE
-DROP
-DYNAMIC
-EACH
-ELSE
-ELSEIF
-END
-EQUALS
-ESCAPE
-EXCEPT
-EXCEPTION
-EXEC
-EXECUTE
-EXISTS
-EXIT
-EXTERNAL
-FALSE
-FETCH
-FILTER
-FIRST
-FLOAT
-FOR
-FOREIGN
-FOUND
-FREE
-FROM
-FULL
-FUNCTION
-GENERAL
-GET
-GLOBAL
-GO
-GOTO
-GRANT
-GROUP
-GROUPING
-HANDLER
-HAVING
-HOLD
-HOUR
-IDENTITY
-IF
-IMMEDIATE
-IN
-INDICATOR
-INITIALLY
-INNER
-INOUT
-INPUT
-INSENSITIVE
-INSERT
-INT
-INTEGER
-INTERSECT
-INTERVAL
-INTO
-IS
-ISOLATION
-ITERATE
-JOIN
-KEY
-LANGUAGE
-LARGE
-LAST
-LATERAL
-LEADING
-LEAVE
-LEFT
-LEVEL
-LIKE
-LOCAL
-LOCALTIME
-LOCALTIMESTAMP
-LOCATOR
-LOOP
-MAP
-MATCH
-METHOD
-MINUTE
-MODIFIES
-MODULE
-MONTH
-NAMES
-NATIONAL
-NATURAL
-NCHAR
-NCLOB
-NEW
-NEXT
-NO
-NONE
-NOT
-NULL
-NUMERIC
-OBJECT
-OF
-OLD
-ON
-ONLY
-OPEN
-OPTION
-OR
-ORDER
-ORDINALITY
-OUT
-OUTER
-OUTPUT
-OVER
-OVERLAPS
-PAD
-PARAMETER
-PARTIAL
-PARTITION
-PATH
-PRECISION
-PREPARE
-PRESERVE
-PRIMARY
-PRIOR
-PRIVILEGES
-PROCEDURE
-PUBLIC
-RANGE
-READ
-READS
-REAL
-RECURSIVE
-REF
-REFERENCES
-REFERENCING
-RELATIVE
-RELEASE
-REPEAT
-RESIGNAL
-RESTRICT
-RESULT
-RETURN
-RETURNS
-REVOKE
-RIGHT
-ROLE
-ROLLBACK
-ROLLUP
-ROUTINE
-ROW
-ROWS
-SAVEPOINT
-SCHEMA
-SCOPE
-SCROLL
-SEARCH
-SECOND
-SECTION
-SELECT
-SENSITIVE
-SESSION
-SESSION_USER
-SET
-SETS
-SIGNAL
-SIMILAR
-SIZE
-SMALLINT
-SOME
-SPACE
-SPECIFIC
-SPECIFICTYPE
-SQL
-SQLEXCEPTION
-SQLSTATE
-SQLWARNING
-START
-STATE
-STATIC
-SYMMETRIC
-SYSTEM
-SYSTEM_USER
-TABLE
-TEMPORARY
-THEN
-TIME
-TIMESTAMP
-TIMEZONE_HOUR
-TIMEZONE_MINUTE
-TO
-TRAILING
-TRANSACTION
-TRANSLATION
-TREAT
-TRIGGER
-TRUE
-UNDER
-UNDO
-UNION
-UNIQUE
-UNKNOWN
-UNNEST
-UNTIL
-UPDATE
-USAGE
-USER
-USING
-VALUE
-VALUES
-VARCHAR
-VARYING
-VIEW
-WHEN
-WHENEVER
-WHERE
-WHILE
-WINDOW
-WITH
-WITHIN
-WITHOUT
-WORK
-WRITE
-YEAR
-ZONE
diff --git a/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/sqlserver.txt b/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/sqlserver.txt
deleted file mode 100644
index c725fa1..0000000
--- a/modello-db-keywords/src/main/resources/org/apache/archiva/redback/components/modello/db/sqlserver.txt
+++ /dev/null
@@ -1,368 +0,0 @@
-ABSOLUTE
-ACTION
-ADD
-ADMIN
-AFTER
-AGGREGATE
-ALIAS
-ALL
-ALLOCATE
-ALTER
-AND
-ANY
-ARE
-ARRAY
-AS
-ASC
-ASSERTION
-AT
-AUTHORIZATION
-BACKUP
-BEFORE
-BEGIN
-BETWEEN
-BINARY
-BIT
-BLOB
-BOOLEAN
-BOTH
-BREADTH
-BREAK
-BROWSE
-BULK
-BY
-CALL
-CASCADE
-CASCADED
-CASE
-CAST
-CATALOG
-CHAR
-CHARACTER
-CHECK
-CHECKPOINT
-CLASS
-CLOB
-CLOSE
-CLUSTERED
-COALESCE
-COLLATE
-COLLATION
-COLUMN
-COMMIT
-COMPLETION
-COMPUTE
-CONNECT
-CONNECTION
-CONSTRAINT
-CONSTRAINTS
-CONSTRUCTOR
-CONTAINS
-CONTAINSTABLE
-CONTINUE
-CONVERT
-CORRESPONDING
-CREATE
-CROSS
-CUBE
-CURRENT
-CURRENT_DATE
-CURRENT_PATH
-CURRENT_ROLE
-CURRENT_TIME
-CURRENT_TIMESTAMP
-CURRENT_USER
-CURSOR
-CYCLE
-DATA
-DATABASE
-DATE
-DAY
-DBCC
-DEALLOCATE
-DEC
-DECIMAL
-DECLARE
-DEFAULT
-DEFERRABLE
-DEFERRED
-DELETE
-DENY
-DEPTH
-DEREF
-DESC
-DESCRIBE
-DESCRIPTOR
-DESTROY
-DESTRUCTOR
-DETERMINISTIC
-DIAGNOSTICS
-DICTIONARY
-DISCONNECT
-DISK
-DISTINCT
-DISTRIBUTED
-DOMAIN
-DOUBLE
-DROP
-DUMMY
-DUMP
-DYNAMIC
-EACH
-ELSE
-END
-END-EXEC
-EQUALS
-ERRLVL
-ESCAPE
-EVERY
-EXCEPT
-EXCEPTION
-EXEC
-EXECUTE
-EXISTS
-EXIT
-EXTERNAL
-FALSE
-FETCH
-FILE
-FILLFACTOR
-FIRST
-FLOAT
-FOR
-FOREIGN
-FOUND
-FREE
-FREETEXT
-FREETEXTTABLE
-FROM
-FULL
-FUNCTION
-GENERAL
-GET
-GLOBAL
-GO
-GOTO
-GRANT
-GROUP
-GROUPING
-HAVING
-HOLDLOCK
-HOST
-HOUR
-IDENTITY
-IDENTITYCOL
-IDENTITY_INSERT
-IF
-IGNORE
-IMMEDIATE
-IN
-INDEX
-INDICATOR
-INITIALIZE
-INITIALLY
-INNER
-INOUT
-INPUT
-INSERT
-INT
-INTEGER
-INTERSECT
-INTERVAL
-INTO
-IS
-ISOLATION
-ITERATE
-JOIN
-KEY
-KILL
-LANGUAGE
-LARGE
-LAST
-LATERAL
-LEADING
-LEFT
-LESS
-LEVEL
-LIKE
-LIMIT
-LINENO
-LOAD
-LOCAL
-LOCALTIME
-LOCALTIMESTAMP
-LOCATOR
-MAP
-MATCH
-MINUTE
-MODIFIES
-MODIFY
-MODULE
-MONTH
-NAMES
-NATIONAL
-NATURAL
-NCHAR
-NCLOB
-NEW
-NEXT
-NO
-NOCHECK
-NONCLUSTERED
-NONE
-NOT
-NULL
-NULLIF
-NUMERIC
-OBJECT
-OF
-OFF
-OFFSETS
-OLD
-ON
-ONLY
-OPEN
-OPENDATASOURCE
-OPENQUERY
-OPENROWSET
-OPENXML
-OPERATION
-OPTION
-OR
-ORDER
-ORDINALITY
-OUT
-OUTER
-OUTPUT
-OVER
-PAD
-PARAMETER
-PARAMETERS
-PARTIAL
-PATH
-PERCENT
-PLAN
-POSTFIX
-PRECISION
-PREFIX
-PREORDER
-PREPARE
-PRESERVE
-PRIMARY
-PRINT
-PRIOR
-PRIVILEGES
-PROC
-PROCEDURE
-PUBLIC
-RAISERROR
-READ
-READS
-READTEXT
-REAL
-RECONFIGURE
-RECURSIVE
-REF
-REFERENCES
-REFERENCING
-RELATIVE
-REPLICATION
-RESTORE
-RESTRICT
-RESULT
-RETURN
-RETURNS
-REVOKE
-RIGHT
-ROLE
-ROLLBACK
-ROLLUP
-ROUTINE
-ROW
-ROWCOUNT
-ROWGUIDCOL
-ROWS
-RULE
-SAVE
-SAVEPOINT
-SCHEMA
-SCOPE
-SCROLL
-SEARCH
-SECOND
-SECTION
-SELECT
-SEQUENCE
-SESSION
-SESSION_USER
-SET
-SETS
-SETUSER
-SHUTDOWN
-SIZE
-SMALLINT
-SOME
-SPACE
-SPECIFIC
-SPECIFICTYPE
-SQL
-SQLEXCEPTION
-SQLSTATE
-SQLWARNING
-START
-STATE
-STATEMENT
-STATIC
-STATISTICS
-STRUCTURE
-SYSTEM_USER
-TABLE
-TEMPORARY
-TERMINATE
-TEXTSIZE
-THAN
-THEN
-TIME
-TIMESTAMP
-TIMEZONE_HOUR
-TIMEZONE_MINUTE
-TO
-TOP
-TRAILING
-TRAN
-TRANSACTION
-TRANSLATION
-TREAT
-TRIGGER
-TRUE
-TRUNCATE
-TSEQUAL
-UNDER
-UNION
-UNIQUE
-UNKNOWN
-UNNEST
-UPDATE
-UPDATETEXT
-USAGE
-USE
-USER
-USING
-VALUE
-VALUES
-VARCHAR
-VARIABLE
-VARYING
-VIEW
-WAITFOR
-WHEN
-WHENEVER
-WHERE
-WHILE
-WITH
-WITHOUT
-WORK
-WRITE
-WRITETEXT
-YEAR
-ZONE
diff --git a/modello-db-keywords/src/site/site.xml b/modello-db-keywords/src/site/site.xml
deleted file mode 100644
index d945a8f..0000000
--- a/modello-db-keywords/src/site/site.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ~ 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.
- -->
-
-<project>
- <bannerLeft>
- <name>Modello</name>
- </bannerLeft>
-
- <body>
-
- <menu ref="parent" />
-
- </body>
-
-</project>
diff --git a/modello-db-keywords/src/test/java/org/codehaus/modello/db/SQLReservedWordsTest.java b/modello-db-keywords/src/test/java/org/codehaus/modello/db/SQLReservedWordsTest.java
deleted file mode 100644
index 1e25421..0000000
--- a/modello-db-keywords/src/test/java/org/codehaus/modello/db/SQLReservedWordsTest.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package org.codehaus.modello.db;
-
-/*
- * 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.
- */
-
-import org.apache.archiva.redback.components.modello.db.SQLReservedWords;
-import org.codehaus.plexus.PlexusTestCase;
-
-import java.util.List;
-
-/**
- * SQLReservedWordsTest
- *
- * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
- * @version $Id: SQLReservedWordsTest.java 818 2007-03-12 17:14:57Z joakime $
- */
-public class SQLReservedWordsTest extends PlexusTestCase
-{
- private SQLReservedWords keywords;
-
- protected void setUp() throws Exception
- {
- super.setUp();
-
- keywords = (SQLReservedWords) lookup( SQLReservedWords.class.getName(), "default" );
- }
-
- protected void tearDown() throws Exception
- {
- // No real point in doing this, as the object is essentially read-only.
- release( keywords );
- super.tearDown();
- }
-
- public void testTrueKeywords()
- {
- assertNotNull( keywords );
-
- // Normal Usage
- assertTrue( keywords.isKeyword( "SELECT" ) );
- assertTrue( keywords.isKeyword( "INSERT" ) );
- assertTrue( keywords.isKeyword( "TIMEZONE_HOUR" ) );
- assertTrue( keywords.isKeyword( "IF" ) );
- assertTrue( keywords.isKeyword( "IN" ) );
-
- // Bad formatted, but otherwise good keywords.
- assertTrue( keywords.isKeyword( "SQLEXCEPTION " ) );
- assertTrue( keywords.isKeyword( "LOOP\t" ) );
- assertTrue( keywords.isKeyword( "\n\nEXISTS" ) );
- assertTrue( keywords.isKeyword( " into " ) );
- assertTrue( keywords.isKeyword( "Match " ) );
- }
-
- public void testNotKeywords()
- {
- assertNotNull( keywords );
-
- assertFalse( keywords.isKeyword( "MAVEN" ) );
- assertFalse( keywords.isKeyword( "REPOSITORY" ) );
- assertFalse( keywords.isKeyword( "Artifact" ) );
- assertFalse( keywords.isKeyword( null ) );
- assertFalse( keywords.isKeyword( "" ) );
- assertFalse( keywords.isKeyword( " " ) );
- assertFalse( keywords.isKeyword( "filename" ) );
- assertFalse( keywords.isKeyword( "pathTo" ) );
- assertFalse( keywords.isKeyword( "modello" ) );
- assertFalse( keywords.isKeyword( "versions" ) );
- }
-
- public void testKeywordSourceList()
- {
- List sources;
-
- sources = keywords.getKeywordSourceList( "MAVEN" );
- assertNull( "Should be null.", sources );
-
- sources = keywords.getKeywordSourceList( "IF" );
- assertNotNull( "Should not be null.", sources );
- assertTrue( sources.size() > 5 );
- }
-
- public void testKeywordSourceString()
- {
- String actual = keywords.getKeywordSourceString( "MAVEN" );
- assertNull( "Should be null.", actual );
-
- actual = keywords.getKeywordSourceString( "ADD" );
- assertEquals( "SQL 92, SQL 99, SQL 2003, JDBC, Derby Server, HSQLDB, MySQL, PostgreSQL, Oracle, PL/SQL, " +
- "Microsoft SQL Server, Microsoft Access, IBM DB/2, ODBC", actual );
-
- actual = keywords.getKeywordSourceString( "MULTISET" );
- assertEquals( "SQL 2003, HSQLDB", actual );
- }
-}
diff --git a/modello-plugin-jpox/pom.xml b/modello-plugin-jpox/pom.xml
deleted file mode 100644
index eb5ca24..0000000
--- a/modello-plugin-jpox/pom.xml
+++ /dev/null
@@ -1,171 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ~ 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.
- -->
-<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/maven-v4_0_0.xsd">
- <parent>
- <groupId>org.apache.archiva.redback.components.modello</groupId>
- <artifactId>modello-plugins</artifactId>
- <version>1.1-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>modello-plugin-jpox</artifactId>
- <name>Modello JPox Plugin</name>
- <packaging>jar</packaging>
-
- <properties>
- <site.staging.base>${project.parent.basedir}/../site</site.staging.base>
- </properties>
-
- <url>${webUrl}/modello-plugins/${project.artifactId}</url>
-
- <scm>
- <url>${scmBrowseUrl};f=${project.artifactId}</url>
- </scm>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.archiva.redback.components.modello</groupId>
- <artifactId>modello-plugin-store</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.archiva.redback.components.modello</groupId>
- <artifactId>modello-db-keywords</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.codehaus.modello</groupId>
- <artifactId>modello-core</artifactId>
- </dependency>
- <dependency>
- <groupId>org.codehaus.modello</groupId>
- <artifactId>modello-test</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.codehaus.modello</groupId>
- <artifactId>modello-plugin-java</artifactId>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>dom4j</groupId>
- <artifactId>dom4j</artifactId>
- <version>1.6.1</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.derby</groupId>
- <artifactId>derby</artifactId>
- <version>10.10.1.1</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>jpox</groupId>
- <artifactId>jpox-enhancer</artifactId>
- <version>1.1.1</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>jpox</groupId>
- <artifactId>jpox</artifactId>
- <version>1.1.1</version>
- <scope>test</scope>
- <exclusions>
- <!-- mkleint: seems not to be required and is hard to come by the binary -->
- <exclusion>
- <artifactId>jdbc-stdext</artifactId>
- <groupId>javax.sql</groupId>
- </exclusion>
- <exclusion>
- <groupId>javax.resource</groupId>
- <artifactId>connector</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>jaxen</groupId>
- <artifactId>jaxen</artifactId>
- <version>1.0-FCS</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>saxpath</groupId>
- <artifactId>saxpath</artifactId>
- <version>1.0-FCS</version>
- </dependency>
- <dependency>
- <groupId>javax.jdo</groupId>
- <artifactId>jdo2-api</artifactId>
- <version>2.3-20090302111651</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- <version>1.2.17</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-utils</artifactId>
- </dependency>
-
- </dependencies>
-
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.rat</groupId>
- <artifactId>apache-rat-plugin</artifactId>
- <configuration>
- <excludes combine.children="append">
- <exclude>src/test/resources/*.dtd</exclude>
- </excludes>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <version>2.6</version>
- <executions>
- <execution>
- <id>copy-test-libs</id>
- <phase>process-test-resources</phase>
- <goals>
- <goal>copy-dependencies</goal>
- </goals>
- <configuration>
- <outputDirectory>${project.build.directory}/test-libs</outputDirectory>
- <excludeTransitive>true</excludeTransitive>
- <stripVersion>true</stripVersion>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
-
- </build>
-
-</project>
diff --git a/modello-plugin-jpox/src/main/java/org/apache/archiva/redback/components/modello/jpox/JPoxJdoMappingModelloGenerator.java b/modello-plugin-jpox/src/main/java/org/apache/archiva/redback/components/modello/jpox/JPoxJdoMappingModelloGenerator.java
deleted file mode 100644
index 1a68e2d..0000000
--- a/modello-plugin-jpox/src/main/java/org/apache/archiva/redback/components/modello/jpox/JPoxJdoMappingModelloGenerator.java
+++ /dev/null
@@ -1,1336 +0,0 @@
-package org.apache.archiva.redback.components.modello.jpox;
-
-/*
- * 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.
- */
-
-import org.apache.archiva.redback.components.modello.db.SQLReservedWords;
-import org.apache.archiva.redback.components.modello.db.SQLReservedWords.KeywordSource;
-import org.apache.archiva.redback.components.modello.jpox.metadata.JPoxAssociationMetadata;
-import org.apache.archiva.redback.components.modello.jpox.metadata.JPoxClassMetadata;
-import org.apache.archiva.redback.components.modello.jpox.metadata.JPoxFieldMetadata;
-import org.apache.archiva.redback.components.modello.jpox.metadata.JPoxModelMetadata;
-import org.apache.archiva.redback.components.modello.plugin.store.metadata.StoreAssociationMetadata;
-import org.apache.archiva.redback.components.modello.plugin.store.metadata.StoreFieldMetadata;
-import org.codehaus.modello.ModelloException;
-import org.codehaus.modello.ModelloParameterConstants;
-import org.codehaus.modello.model.Model;
-import org.codehaus.modello.model.ModelAssociation;
-import org.codehaus.modello.model.ModelClass;
-import org.codehaus.modello.model.ModelField;
-import org.codehaus.modello.plugin.AbstractModelloGenerator;
-import org.codehaus.plexus.util.StringUtils;
-import org.codehaus.plexus.util.xml.PrettyPrintXMLWriter;
-import org.codehaus.plexus.util.xml.XMLWriter;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStreamWriter;
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-/**
- * @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl</a>
- * @version $Id: JPoxJdoMappingModelloGenerator.java 829 2007-03-22 14:32:42Z joakime $
- * @plexus.component role="org.codehaus.modello.plugin.ModelloGenerator"
- * role-hint="jpox-jdo-mapping"
- */
-public class JPoxJdoMappingModelloGenerator
- extends AbstractModelloGenerator
-{
- private static final char EOL = '\n';
-
- private static final String ERROR_LINE = "----------------------------------------------------------------";
-
- private final static Map<String, String> PRIMITIVE_IDENTITY_MAP;
-
- private final static List<String> IDENTITY_TYPES;
-
- private final static List<String> VALUE_STRATEGY_LIST;
-
- /**
- * @plexus.requirement
- */
- private SQLReservedWords sqlReservedWords;
-
- private String valueStrategyOverride;
-
- private String objectIdClassOverride;
-
- static
- {
- PRIMITIVE_IDENTITY_MAP = new HashMap<>();
-
- // TODO: These should be the fully qualified class names
- PRIMITIVE_IDENTITY_MAP.put( "short", "javax.jdo.identity.ShortIdentity" );
- PRIMITIVE_IDENTITY_MAP.put( "Short", "javax.jdo.identity.ShortIdentity" );
- PRIMITIVE_IDENTITY_MAP.put( "int", "javax.jdo.identity.IntIdentity" );
- PRIMITIVE_IDENTITY_MAP.put( "Integer", "javax.jdo.identity.IntIdentity" );
- PRIMITIVE_IDENTITY_MAP.put( "long", "javax.jdo.identity.LongIdentity" );
- PRIMITIVE_IDENTITY_MAP.put( "Long", "javax.jdo.identity.LongIdentity" );
- PRIMITIVE_IDENTITY_MAP.put( "String", "javax.jdo.identity.StringIdentity" );
- PRIMITIVE_IDENTITY_MAP.put( "char", "javax.jdo.identity.CharIdentity" );
- PRIMITIVE_IDENTITY_MAP.put( "Character", "javax.jdo.identity.CharIdentity" );
- PRIMITIVE_IDENTITY_MAP.put( "byte", "javax.jdo.identity.ByteIdentity" );
- PRIMITIVE_IDENTITY_MAP.put( "Byte", "javax.jdo.identity.ByteIdentity" );
-
- IDENTITY_TYPES = new ArrayList<>();
- IDENTITY_TYPES.add( "application" );
- IDENTITY_TYPES.add( "datastore" );
- IDENTITY_TYPES.add( "nondurable" );
-
- VALUE_STRATEGY_LIST = new ArrayList<>();
- //VALUE_STRATEGY_LIST.add( "off" ); -- this isn't really valid. It turns it on. We use it internally to set an explicit null
- VALUE_STRATEGY_LIST.add( "native" );
- VALUE_STRATEGY_LIST.add( "sequence" );
- VALUE_STRATEGY_LIST.add( "identity" );
- VALUE_STRATEGY_LIST.add( "increment" );
- VALUE_STRATEGY_LIST.add( "uuid-string" );
- VALUE_STRATEGY_LIST.add( "uuid-hex" );
- VALUE_STRATEGY_LIST.add( "datastore-uuid-hex" );
- VALUE_STRATEGY_LIST.add( "max" );
- VALUE_STRATEGY_LIST.add( "auid" );
- }
-
- protected void initialize( Model model, Properties parameters )
- throws ModelloException
- {
- super.initialize( model, parameters );
-
- valueStrategyOverride = parameters.getProperty( "JPOX.override.value-strategy" );
- objectIdClassOverride = parameters.getProperty( "JPOX.override.objectid-class" );
- }
-
- public void generate( Model model, Properties properties )
- throws ModelloException
- {
- initialize( model, properties );
-
- // ----------------------------------------------------------------------
- // Generate the JDO files
- // ----------------------------------------------------------------------
-
- try
- {
- String fileName = properties.getProperty( ModelloParameterConstants.FILENAME, "package.jdo" );
-
- JPoxModelMetadata metadata = (JPoxModelMetadata) model.getMetadata( JPoxModelMetadata.ID );
- File packageJdo = null;
-
- if ( metadata.isMappingInPackage() )
- {
- // Use package name.
- String packageName = model.getDefaultPackageName( isPackageWithVersion(), getGeneratedVersion() );
- String dir = StringUtils.replace( packageName, '.', '/' );
- File directory = new File( getOutputDirectory(), dir );
- packageJdo = new File( directory, fileName );
- }
- else
- {
- // Use the specified location.
- File directory = getOutputDirectory();
- packageJdo = new File( directory, fileName );
- }
-
- File parent = packageJdo.getParentFile();
-
- if ( !parent.exists() )
- {
- if ( !parent.mkdirs() )
- {
- throw new ModelloException(
- "Error while creating parent directories for the file " + "'" + packageJdo.getAbsolutePath()
- + "'."
- );
- }
- }
-
- generatePackageJdo( packageJdo, model );
- }
- catch ( IOException e )
- {
- throw new ModelloException( "Error while writing package.jdo.", e );
- }
- }
-
- // ----------------------------------------------------------------------
- //
- // ----------------------------------------------------------------------
-
- private void generatePackageJdo( File file, Model model )
- throws IOException, ModelloException
- {
- try (FileOutputStream fileOutputStream = new FileOutputStream( file ))
- {
- try (OutputStreamWriter fileWriter = new OutputStreamWriter( fileOutputStream, "UTF-8" ))
- {
-
- try (PrintWriter printWriter = new PrintWriter( fileWriter ))
- {
-
- XMLWriter writer = new PrettyPrintXMLWriter( printWriter );
-
- Map<String, List<ModelClass>> classes = new HashMap<>();
-
- for ( Iterator<ModelClass> it = model.getClasses( getGeneratedVersion() ).iterator();
- it.hasNext(); )
- {
- ModelClass modelClass = it.next();
-
- JPoxClassMetadata jpoxMetadata =
- JPoxClassMetadata.class.cast( modelClass.getMetadata( JPoxClassMetadata.ID ) );
-
- if ( !jpoxMetadata.isEnabled() )
- {
- // Skip generation of those classes that are not enabled for the jpox plugin.
- continue;
- }
-
- String packageName = modelClass.getPackageName( isPackageWithVersion(), getGeneratedVersion() );
-
- List<ModelClass> list = classes.get( packageName );
-
- if ( list == null )
- {
- list = new ArrayList<>();
- }
-
- list.add( modelClass );
-
- classes.put( packageName, list );
- }
-
- printWriter.println( "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" );
- printWriter.println();
- printWriter.println( "<!DOCTYPE jdo PUBLIC" );
- printWriter.println( " \"-//Sun Microsystems, Inc.//DTD Java Data Objects Metadata 2.0//EN\"" );
- printWriter.println( " \"http://java.sun.com/dtd/jdo_2_0.dtd\">" );
- printWriter.println();
-
- writer.startElement( "jdo" );
-
- for ( Map.Entry<String, List<ModelClass>> entry : classes.entrySet() )
- {
-
- List<ModelClass> list = entry.getValue();
-
- if ( list.size() == 0 )
- {
- continue;
- }
-
- String packageName = entry.getKey();
-
- writer.startElement( "package" );
-
- writer.addAttribute( "name", packageName );
-
- for ( ModelClass modelClass : list )
- {
- writeClass( writer, modelClass );
- }
-
- if ( packageName.equals(
- model.getDefaultPackageName( isPackageWithVersion(), getGeneratedVersion() ) ) )
- {
- writeModelloMetadataClass( writer );
- }
-
- writer.endElement(); // package
- }
-
- writer.endElement(); // jdo
-
- printWriter.println();
-
- }
- }
- }
- }
-
- private void writeClass( XMLWriter writer, ModelClass modelClass )
- throws ModelloException
- {
- JPoxClassMetadata jpoxMetadata = (JPoxClassMetadata) modelClass.getMetadata( JPoxClassMetadata.ID );
-
- if ( !jpoxMetadata.isEnabled() )
- {
- // Skip generation of those classes that are not enabled for the jpox plugin.
- return;
- }
-
- writer.startElement( "class" );
-
- writer.addAttribute( "name", modelClass.getName() );
-
- ModelClass persistenceCapableSuperclass = null;
-
- if ( modelClass.hasSuperClass() && modelClass.isInternalSuperClass() )
- {
- persistenceCapableSuperclass = getModel().getClass( modelClass.getSuperClass(), getGeneratedVersion() );
- }
-
- if ( persistenceCapableSuperclass != null )
- {
- String superPackageName =
- persistenceCapableSuperclass.getPackageName( isPackageWithVersion(), getGeneratedVersion() );
-
- writer.addAttribute( "persistence-capable-superclass",
- superPackageName + "." + persistenceCapableSuperclass.getName() );
- }
-
- writer.addAttribute( "detachable", String.valueOf( jpoxMetadata.isDetachable() ) );
-
- writer.addAttribute( "table", getTableName( modelClass, jpoxMetadata ) );
-
- // ----------------------------------------------------------------------
- // If this class has a primary key field mark make jpox manage the id
- // as a autoincrement variable
- // ----------------------------------------------------------------------
-
- List fields = Collections.unmodifiableList( modelClass.getFields( getGeneratedVersion() ) );
-
- // TODO: for now, assume that any primary key will be set in the super class
- // While it should be possible to have abstract super classes and have the
- // key defined in the sub class this is not implemented yet.
-
- boolean needInheritance = false;
-
- if ( persistenceCapableSuperclass == null )
- {
- if ( StringUtils.isNotEmpty( jpoxMetadata.getIdentityType() ) )
- {
- String identityType = jpoxMetadata.getIdentityType();
- if ( !IDENTITY_TYPES.contains( identityType ) )
- {
- throw new ModelloException(
- "The JDO mapping generator does not support the specified " + "class identity type '"
- + identityType + "'. " + "Supported types: " + IDENTITY_TYPES
- );
- }
- writer.addAttribute( "identity-type", identityType );
- }
- else if ( isInstantionApplicationType( modelClass ) )
- {
- writer.addAttribute( "identity-type", "application" );
- }
- }
- else
- {
- needInheritance = true;
- }
-
- if ( objectIdClassOverride != null )
- {
- if ( StringUtils.isNotEmpty( objectIdClassOverride ) )
- {
- writer.addAttribute( "objectid-class", jpoxMetadata.getIdentityClass() );
- }
- }
- else if ( StringUtils.isNotEmpty( jpoxMetadata.getIdentityClass() ) )
- {
- // Use user provided objectId class.
- writer.addAttribute( "objectid-class", jpoxMetadata.getIdentityClass() );
- }
- else
- {
- // Calculate the objectId class.
-
- List primaryKeys = getPrimaryKeyFields( modelClass );
-
- // TODO: write generation support for multi-primary-key support.
- // would likely need to write a java class that can supply an ObjectIdentity
- // to the jpox/jdo implementation.
- if ( primaryKeys.size() > 1 )
- {
- throw new ModelloException(
- "The JDO mapping generator does not yet support Object Identifier generation " + "for the "
- + primaryKeys.size() + " fields specified as <identifier> or "
- + "with jpox.primary-key=\"true\""
- );
- }
-
- if ( primaryKeys.size() == 1 )
- {
- ModelField modelField = (ModelField) primaryKeys.get( 0 );
- String objectIdClass = (String) PRIMITIVE_IDENTITY_MAP.get( modelField.getType() );
-
- if ( StringUtils.isNotEmpty( objectIdClass ) )
- {
- writer.addAttribute( "objectid-class", objectIdClass );
- }
- }
- }
-
- if ( needInheritance )
- {
- writer.startElement( "inheritance" );
-
- // TODO: The table strategy should be customizable
- // http://www.jpox.org/docs/1_1/inheritance.html - in particular
- // the strategy="subclass-table" and strategy="new-table" parts
-
- writer.addAttribute( "strategy", "new-table" );
-
- writer.endElement();
- }
-
- // ----------------------------------------------------------------------
- // Write all fields
- // ----------------------------------------------------------------------
-
- for ( Iterator it = fields.iterator(); it.hasNext(); )
- {
- ModelField modelField = (ModelField) it.next();
-
- writeModelField( writer, modelField );
- }
-
- // Write ignored fields.
- List ignoredFields = jpoxMetadata.getNotPersisted();
- if ( ignoredFields != null )
- {
- Iterator it = ignoredFields.iterator();
- while ( it.hasNext() )
- {
- String fieldName = (String) it.next();
- writer.startElement( "field" );
- writer.addAttribute( "name", fieldName );
- writer.addAttribute( "persistence-modifier", "none" );
- writer.endElement();
- }
- }
-
- // ----------------------------------------------------------------------
- // Write out the "detailed" fetch group. This group will by default
- // contain all fields in a object. The default fetch group will contain
- // all the primitives in a class as by JDO defaults.
- // ----------------------------------------------------------------------
-
- List detailedFields = new ArrayList();
-
- for ( Iterator it = fields.iterator(); it.hasNext(); )
- {
- ModelField field = (ModelField) it.next();
-
- if ( field.isPrimitive() )
- {
- continue;
- }
-
- if ( field instanceof ModelAssociation )
- {
- StoreAssociationMetadata storeMetadata = getAssociationMetadata( (ModelAssociation) field );
-
- if ( storeMetadata.isPart() != null && storeMetadata.isPart().booleanValue() )
- {
- continue;
- }
- }
-
- detailedFields.add( field );
- }
-
- // ----------------------------------------------------------------------
- // Write all fetch groups
- // ----------------------------------------------------------------------
-
- // Write defaut detail fetch group
- writeFetchGroup( writer, modelClass.getName() + "_detail", detailedFields, true );
-
- // Write user fetch groups
- Map fetchsMap = new HashMap();
-
- for ( Iterator it = fields.iterator(); it.hasNext(); )
- {
- ModelField field = (ModelField) it.next();
-
- JPoxFieldMetadata jpoxFieldMetadata = (JPoxFieldMetadata) field.getMetadata( JPoxFieldMetadata.ID );
-
- List names = jpoxFieldMetadata.getFetchGroupNames();
-
- if ( names != null )
- {
- for ( Iterator i = names.iterator(); i.hasNext(); )
- {
- String fetchGroupName = (String) i.next();
-
- List fetchList;
-
- if ( fetchsMap.get( fetchGroupName ) == null )
- {
- fetchList = new ArrayList();
- }
- else
- {
- fetchList = (List) fetchsMap.get( fetchGroupName );
- }
-
- fetchList.add( field );
-
- fetchsMap.put( fetchGroupName, fetchList );
- }
- }
- }
-
- for ( Iterator it = fetchsMap.keySet().iterator(); it.hasNext(); )
- {
- String fetchName = (String) it.next();
-
- writeFetchGroup( writer, fetchName, (List) fetchsMap.get( fetchName ), false );
- }
-
- writer.endElement(); // class
- }
-
- /**
- * Utility method to obtain the table name from the {@link ModelClass} or {@link JPoxClassMetadata} taking into
- * account the possibility of prefixes in use at the {@link JPoxModelMetadata} level.
- *
- * @param modelClass the model class to get the class.name from.
- * @param classMetadata the class metadata to get the class-metadata.table name from.
- * @return the table name (with possible prefix applied)
- * @throws ModelloException if there was a problem with the table name violating a sql reserved word.
- */
- private String getTableName( ModelClass modelClass, JPoxClassMetadata classMetadata )
- throws ModelloException
- {
- JPoxModelMetadata modelMetadata = (JPoxModelMetadata) modelClass.getModel().getMetadata( JPoxModelMetadata.ID );
-
- boolean hasPrefix = StringUtils.isNotEmpty( modelMetadata.getTablePrefix() );
- boolean hasAlternateName = StringUtils.isNotEmpty( classMetadata.getTable() );
-
- String prefix = "";
-
- if ( hasPrefix )
- {
- prefix = modelMetadata.getTablePrefix().trim();
- }
-
- String tableName = null;
-
- if ( hasAlternateName )
- {
- tableName = prefix + classMetadata.getTable();
- }
- else
- {
- tableName = prefix + modelClass.getName();
- }
-
- if ( sqlReservedWords.isKeyword( tableName ) )
- {
- StringBuffer emsg = new StringBuffer();
-
- /* ----------------------------------------------------------------
- * SQL Reserved Word Violation: 'ROLES'
- * Context: TABLE NAME
- */
- emsg.append( EOL ).append( ERROR_LINE ).append( EOL );
- emsg.append( " SQL Reserved Word Violation: " ).append( tableName ).append( EOL );
- emsg.append( " Context: TABLE NAME" ).append( EOL );
- emsg.append( " " ).append( EOL );
-
- /* In Model:
- * <model jpox.table-prefix="">
- * <class jpox.table="">
- * <name>JdoRole</name>
- * </class>
- * </model>
- */
- emsg.append( " In Model:" ).append( EOL );
- emsg.append( " <model" );
- if ( hasPrefix )
- {
- emsg.append( " jpox.table-prefix=\"" ).append( modelMetadata.getTablePrefix() ).append( "\"" );
- }
- emsg.append( ">" ).append( EOL );
- emsg.append( " <class" );
- if ( hasAlternateName )
- {
- emsg.append( " jpox.table=\"" ).append( classMetadata.getTable() ).append( "\"" );
- }
- emsg.append( ">" ).append( EOL );
- emsg.append( " <name>" ).append( modelClass.getName() ).append( "</name>" ).append( EOL );
- emsg.append( " </class>" ).append( EOL );
- emsg.append( " </model>" ).append( EOL );
- emsg.append( " " ).append( EOL );
-
- /* Violation Source(s): Oracle (WARNING)
- * SQL 99 (ERROR)
- *
- * Severity: ERROR - You must change this name for maximum
- * compatibility amoungst JDBC SQL Servers.
- *
- * Severity: WARNING - You are encouraged to change this name
- * for maximum compatibility amoungst JDBC SQL Servers.
- */
- boolean hasError = appendKeywordSourceViolations( tableName, emsg );
-
- /* Suggestions: 1) Use a different prefix in
- * <model jpox.table-prefix="DIFFERENT_">
- * 2) Use a different alternate table name using
- * <class jpox.table="DIFFERENT">
- * 3) Use a different class name in
- * <class>
- * <name>DIFFERENT</name>
- * </class>
- * ----------------------------------------------------------------
- */
- emsg.append( " Suggestions: 1) Use a different prefix in" ).append( EOL );
- emsg.append( " <model jpox.table-prefix=\"DIFFERENT_\">" ).append( EOL );
- emsg.append( " 2) Use a different alternate table name using" ).append( EOL );
- emsg.append( " <class jpox.table=\"DIFFERENT\">" ).append( EOL );
- emsg.append( " 3) Use a different class name in" ).append( EOL );
- emsg.append( " <class>" ).append( EOL );
- emsg.append( " <name>DIFFERENT</name>" ).append( EOL );
- emsg.append( " </class>" ).append( EOL );
-
- emsg.append( ERROR_LINE );
-
- // Determine possible exception.
- if ( hasError || modelMetadata.getReservedWordStrictness().equals( JPoxModelMetadata.WARNING ) )
- {
- throw new ModelloException( emsg.toString() );
- }
-
- // No exception. use it. But log it.
- getLogger().warn( emsg.toString() );
- }
-
- return tableName;
- }
-
- /**
- * Support method for the {@link #getTableName(ModelClass, JPoxClassMetadata)},
- * {@link #getColumnName(ModelField, JPoxFieldMetadata)}, and
- * {@link #getJoinTableName(ModelField, JPoxFieldMetadata)} reserved word tests.
- *
- * @param word the word in violation.
- * @param emsg the string buffer to append to.
- * @return if this word has any ERROR severity level violations.
- */
- private boolean appendKeywordSourceViolations( String word, StringBuffer emsg )
- {
- List sources = sqlReservedWords.getKeywordSourceList( word );
- boolean hasError = false;
- emsg.append( " Violation Source(s): " );
- for ( Iterator it = sources.iterator(); it.hasNext(); )
- {
- KeywordSource source = (KeywordSource) it.next();
- emsg.append( source.getName() ).append( " (" ).append( source.getSeverity() ).append( ")" );
- emsg.append( EOL );
-
- if ( source.getSeverity().equalsIgnoreCase( "ERROR" ) )
- {
- hasError = true;
- }
-
- if ( it.hasNext() )
- {
- emsg.append( " " );
- }
- }
- emsg.append( " " ).append( EOL );
-
- emsg.append( " Severity: " );
- if ( hasError )
- {
- emsg.append( "ERROR - You must change this name for the maximum" ).append( EOL );
- emsg.append( " compatibility amoungst JDBC SQL Servers." ).append( EOL );
- }
- else
- {
- emsg.append( "WARNING - You are encouraged to change this name" ).append( EOL );
- emsg.append( " for maximum compatibility amoungst JDBC SQL Servers." ).append( EOL );
- }
- emsg.append( " " ).append( EOL );
-
- return hasError;
- }
-
- private void writeModelloMetadataClass( XMLWriter writer )
- throws ModelloException
- {
- writer.startElement( "class" );
-
- writer.addAttribute( "name", getModel().getName() + "ModelloMetadata" );
-
- writer.addAttribute( "detachable", String.valueOf( true ) );
-
- writer.startElement( "field" );
-
- writer.addAttribute( "name", "modelVersion" );
- writer.addAttribute( "null-value", "default" );
-
- writer.startElement( "column" );
-
- writer.addAttribute( "default-value", getGeneratedVersion().toString() );
-
- writer.endElement(); // column
-
- writer.endElement(); // field
-
- writer.endElement(); // class
- }
-
- private void writeFetchGroup( XMLWriter writer, String fetchGroupName, List fields, boolean onlyIfIsStashPart )
- {
- if ( !fields.isEmpty() )
- {
- writer.startElement( "fetch-group" );
-
- writer.addAttribute( "name", fetchGroupName );
-
- for ( Iterator it = fields.iterator(); it.hasNext(); )
- {
- ModelField field = (ModelField) it.next();
-
- if ( onlyIfIsStashPart && ( field instanceof ModelAssociation ) )
- {
- StoreAssociationMetadata storeMetadata = getAssociationMetadata( (ModelAssociation) field );
-
- if ( storeMetadata.isPart() != null && storeMetadata.isPart().booleanValue() )
- {
- continue;
- }
- }
-
- writer.startElement( "field" );
-
- writer.addAttribute( "name", field.getName() );
-
- writer.endElement();
- }
-
- writer.endElement(); // fetch-group
- }
- }
-
- private void writeModelField( XMLWriter writer, ModelField modelField )
- throws ModelloException
- {
- writer.startElement( "field" );
-
- StoreFieldMetadata storeMetadata = (StoreFieldMetadata) modelField.getMetadata( StoreFieldMetadata.ID );
-
- JPoxFieldMetadata jpoxMetadata = (JPoxFieldMetadata) modelField.getMetadata( JPoxFieldMetadata.ID );
-
- writer.addAttribute( "name", modelField.getName() );
-
- if ( !storeMetadata.isStorable() )
- {
- writer.addAttribute( "persistence-modifier", "none" );
- }
- else if ( StringUtils.isNotEmpty( jpoxMetadata.getPersistenceModifier() ) )
- {
- writer.addAttribute( "persistence-modifier", jpoxMetadata.getPersistenceModifier() );
- }
-
- if ( modelField.isRequired() )
- {
- writer.addAttribute( "null-value", "exception" );
- }
- else if ( jpoxMetadata.getNullValue() != null )
- {
- writer.addAttribute( "null-value", jpoxMetadata.getNullValue() );
- }
-
- String columnName = getColumnName( modelField, jpoxMetadata );
-
- if ( StringUtils.isNotEmpty( jpoxMetadata.getJoinTableName() ) )
- {
- writer.addAttribute( "table", getJoinTableName( modelField, jpoxMetadata ) );
- }
-
- if ( jpoxMetadata.isPrimaryKey() )
- {
- writer.addAttribute( "primary-key", "true" );
-
- // value-strategy is only useful when you have a primary-key defined for the field.
- if ( StringUtils.isNotEmpty( valueStrategyOverride ) )
- {
- writeValueStrategy( valueStrategyOverride, writer );
- }
- else if ( StringUtils.isNotEmpty( jpoxMetadata.getValueStrategy() ) )
- {
- writeValueStrategy( jpoxMetadata.getValueStrategy(), writer );
- }
- }
-
- if ( StringUtils.isNotEmpty( jpoxMetadata.getIndexed() ) )
- {
- writer.addAttribute( "indexed", jpoxMetadata.getIndexed() );
- }
-
- if ( StringUtils.isNotEmpty( jpoxMetadata.getMappedBy() ) )
- {
- writer.addAttribute( "mapped-by", jpoxMetadata.getMappedBy() );
- }
-
- if ( modelField instanceof ModelAssociation )
- {
- writeAssociation( writer, (ModelAssociation) modelField );
- }
- else
- {
- if ( modelField.isPrimitiveArray() )
- {
- writer.startElement( "array" );
- writer.endElement();
- }
-
- // Work out potential <column> subelement
-
- // Store potential column properties.
- Properties columnProps = new Properties();
-
- if ( !StringUtils.equalsIgnoreCase( columnName, modelField.getName() ) )
- {
- columnProps.setProperty( "name", columnName );
- }
-
- if ( storeMetadata.getMaxSize() > 0 )
- {
- columnProps.setProperty( "length", String.valueOf( storeMetadata.getMaxSize() ) );
- }
-
- if ( StringUtils.equals( jpoxMetadata.getNullValue(), "default" ) )
- {
- columnProps.setProperty( "default-value", modelField.getDefaultValue() );
- }
-
- // Now write the column sub element (if it has properties)
- if ( !columnProps.isEmpty() )
- {
- writer.startElement( "column" );
-
- for ( Enumeration en = columnProps.propertyNames(); en.hasMoreElements(); )
- {
- String attributeName = (String) en.nextElement();
- String attributeValue = columnProps.getProperty( attributeName );
- writer.addAttribute( attributeName, attributeValue );
-
- }
- writer.endElement();
- }
-
- // Work out potential <unique> subelement.
- if ( jpoxMetadata.isUnique() )
- {
- writer.startElement( "unique" );
- writer.addAttribute( "name", columnName.toUpperCase() + "_UNIQUE_CONSTRAINT" );
- writer.endElement();
- }
-
- // Work out potential <foreign-key> subelement
- if ( jpoxMetadata.isForeignKey() )
- {
- writer.startElement( "foreign-key" );
- writer.addAttribute( "name", columnName.toUpperCase() + "_FK" );
-
- if ( StringUtils.isNotEmpty( jpoxMetadata.getForeignKeyDeferred() ) )
- {
- writer.addAttribute( "deferred", jpoxMetadata.getForeignKeyDeferred() );
- }
-
- if ( StringUtils.isNotEmpty( jpoxMetadata.getForeignKeyDeleteAction() ) )
- {
- writer.addAttribute( "delete-action", jpoxMetadata.getForeignKeyDeleteAction() );
- }
-
- if ( StringUtils.isNotEmpty( jpoxMetadata.getForeignKeyUpdateAction() ) )
- {
- writer.addAttribute( "update-action", jpoxMetadata.getForeignKeyUpdateAction() );
- }
- writer.endElement();
- }
- }
-
- writer.endElement(); // field
- }
-
- /**
- * Utility method to obtain the join table name from the {@link JPoxFieldMetadata} taking into
- * account the possibility of prefixes in use at the {@link JPoxModelMetadata} level.
- *
- * @param modelField the model field to get the field.name from.
- * @param fieldMetadata the field metadata to get the field-metadata.join-table name from.
- * @return the join table name (with possible prefix applied)
- * @throws ModelloException if there was a problem with the table name violating a sql reserved word.
- */
- private String getJoinTableName( ModelField modelField, JPoxFieldMetadata fieldMetadata )
- throws ModelloException
- {
- ModelClass modelClass = modelField.getModelClass();
- JPoxModelMetadata modelMetadata = (JPoxModelMetadata) modelClass.getModel().getMetadata( JPoxModelMetadata.ID );
-
- boolean hasPrefix = StringUtils.isNotEmpty( modelMetadata.getTablePrefix() );
-
- String prefix = "";
-
- if ( hasPrefix )
- {
- prefix = modelMetadata.getTablePrefix().trim();
- }
-
- String joinTableName = prefix + fieldMetadata.getJoinTableName();
- ;
-
- if ( sqlReservedWords.isKeyword( joinTableName ) )
- {
- StringBuffer emsg = new StringBuffer();
-
- /* ----------------------------------------------------------------
- * SQL Reserved Word Violation: 'ROLES'
- * Context: TABLE NAME
- */
- emsg.append( EOL ).append( ERROR_LINE ).append( EOL );
- emsg.append( " SQL Reserved Word Violation: " ).append( joinTableName ).append( EOL );
- emsg.append( " Context: JOIN TABLE NAME" ).append( EOL );
- emsg.append( " " ).append( EOL );
-
- /* In Model:
- * <model jpox.table-prefix="">
- * <class jpox.table="">
- * <name>JdoRole</name>
- * <fields>
- * <field jpox.join-table="Foo">
- * <name>Operation</name>
- * </field>
- * </fields>
- * </class>
- * </model>
- */
- emsg.append( " In Model:" ).append( EOL );
- emsg.append( " <model" );
- if ( hasPrefix )
- {
- emsg.append( " jpox.table-prefix=\"" ).append( modelMetadata.getTablePrefix() ).append( "\"" );
- }
- emsg.append( ">" ).append( EOL );
- emsg.append( " <class>" ).append( EOL );
- emsg.append( " <name>" ).append( modelClass.getName() ).append( "</name>" ).append( EOL );
- emsg.append( " <fields>" ).append( EOL );
- emsg.append( " <field jpox.join-table=\"" ).append( fieldMetadata.getJoinTableName() );
- emsg.append( "\">" ).append( EOL );
- emsg.append( " <name>" ).append( modelField.getName() ).append( "</name>" ).append( EOL );
- emsg.append( " <field>" ).append( EOL );
- emsg.append( " </fields>" ).append( EOL );
- emsg.append( " </class>" ).append( EOL );
- emsg.append( " </model>" ).append( EOL );
- emsg.append( " " ).append( EOL );
-
- /* Violation Source(s): Oracle (WARNING)
- * SQL 99 (ERROR)
- *
- * Severity: ERROR - You must change this name for maximum
- * compatibility amoungst JDBC SQL Servers.
- *
- * Severity: WARNING - You are encouraged to change this name
- * for maximum compatibility amoungst JDBC SQL Servers.
- */
- boolean hasError = appendKeywordSourceViolations( joinTableName, emsg );
-
- /* Suggestions: 1) Use a different table prefix in
- * <model jpox.table-prefix="DIFFERENT_">
- * 2) Use a different join table name using
- * <field jpox.join-table="DIFFERENT">
- * ----------------------------------------------------------------
- */
- emsg.append( " Suggestions: 1) Use a different table prefix in" ).append( EOL );
- emsg.append( " <model jpox.table-prefix=\"DIFFERENT_\">" ).append( EOL );
- emsg.append( " 2) Use a different join table name using" ).append( EOL );
- emsg.append( " <field jpox.join-table=\"DIFFERENT\">" ).append( EOL );
-
- emsg.append( ERROR_LINE );
-
- // Determine possible exception.
- if ( hasError || modelMetadata.getReservedWordStrictness().equals( JPoxModelMetadata.WARNING ) )
- {
- throw new ModelloException( emsg.toString() );
- }
-
- // No exception. use it. But log it.
- getLogger().warn( emsg.toString() );
- }
-
- return joinTableName;
- }
-
- /**
- * Utility method to obtain the column name from the {@link ModelField} or {@link JPoxFieldMetadata} taking into
- * account the possibility of prefixes in use at the {@link JPoxModelMetadata} or {@link JPoxClassMetadata} level.
- *
- * @param modelField the model field to get the field.name from.
- * @param fieldMetadata the field metadata to get the field-metadata.column name from.
- * @return the column name (with possible prefix applied)
- * @throws ModelloException if there was a problem with the column name violating a sql reserved word.
- */
- private String getColumnName( ModelField modelField, JPoxFieldMetadata fieldMetadata )
- throws ModelloException
- {
- boolean hasClassPrefix = false;
- boolean hasModelPrefix = false;
- boolean hasAlternateName = false;
-
- ModelClass modelClass = modelField.getModelClass();
- JPoxClassMetadata classMetadata = (JPoxClassMetadata) modelClass.getMetadata( JPoxClassMetadata.ID );
- JPoxModelMetadata modelMetadata = (JPoxModelMetadata) modelClass.getModel().getMetadata( JPoxModelMetadata.ID );
-
- String prefix = "";
-
- if ( StringUtils.isNotEmpty( modelMetadata.getColumnPrefix() ) )
- {
- prefix = modelMetadata.getColumnPrefix().trim();
- hasModelPrefix = true;
- }
-
- if ( StringUtils.isNotEmpty( classMetadata.getColumnPrefix() ) )
- {
- prefix = classMetadata.getColumnPrefix();
- hasClassPrefix = true;
- }
-
- String columnName = "";
-
- if ( StringUtils.isNotEmpty( fieldMetadata.getColumnName() ) )
- {
- columnName = prefix + fieldMetadata.getColumnName();
- hasAlternateName = true;
- }
- else
- {
- columnName = prefix + modelField.getName();
- }
-
- if ( sqlReservedWords.isKeyword( columnName ) )
- {
- StringBuffer emsg = new StringBuffer();
-
- /* ----------------------------------------------------------------
- * SQL Reserved Word Violation: 'ROLES'
- * Context: TABLE NAME
- */
- emsg.append( EOL ).append( ERROR_LINE ).append( EOL );
- emsg.append( " SQL Reserved Word Violation: " ).append( columnName ).append( EOL );
- emsg.append( " Context: COLUMN NAME" ).append( EOL );
- emsg.append( " " ).append( EOL );
-
- /* In Model:
- * <model jpox.column-prefix="">
- * <class jpox.column-prefix="">
- * <name>JdoRole</name>
- * <fields>
- * <field jpox.column="">
- * <name>operation</name>
- * </field>
- * </fields>
- * </class>
- * </model>
- */
- emsg.append( " In Model:" ).append( EOL );
- emsg.append( " <model" );
- if ( hasModelPrefix )
- {
- emsg.append( " jpox.column-prefix=\"" ).append( modelMetadata.getColumnPrefix() ).append( "\"" );
- }
- emsg.append( ">" ).append( EOL );
- emsg.append( " <class" );
- if ( hasClassPrefix )
- {
- emsg.append( " jpox.column-prefix=\"" ).append( classMetadata.getColumnPrefix() ).append( "\"" );
- }
- emsg.append( ">" ).append( EOL );
- emsg.append( " <name>" ).append( modelClass.getName() ).append( "</name>" ).append( EOL );
- emsg.append( " <fields>" ).append( EOL );
- emsg.append( " <field" );
- if ( hasAlternateName )
- {
- emsg.append( " jpox.column=\"" ).append( fieldMetadata.getColumnName() ).append( "\"" );
- }
- emsg.append( ">" ).append( EOL );
- emsg.append( " <name>" ).append( modelField.getName() ).append( "</name>" ).append( EOL );
- emsg.append( " <field>" ).append( EOL );
- emsg.append( " </fields>" ).append( EOL );
- emsg.append( " </class>" ).append( EOL );
- emsg.append( " </model>" ).append( EOL );
- emsg.append( " " ).append( EOL );
-
- /* Violation Source(s): Oracle (WARNING)
- * SQL 99 (ERROR)
- *
- * Severity: ERROR - You must change this name for maximum
- * compatibility amoungst JDBC SQL Servers.
- *
- * Severity: WARNING - You are encouraged to change this name
- * for maximum compatibility amoungst JDBC SQL Servers.
- */
- boolean hasError = appendKeywordSourceViolations( columnName, emsg );
-
- /* Suggestions: 1) Use a different model column prefix in
- * <model jpox.column-prefix="DIFFERENT_">
- * 2) Use a different class column prefix in
- * <class jpox.column-prefix="DIFFERENT_">
- * 3) Use a different alternate column name using
- * <field jpox.column="DIFFERENT">
- * 4) Use a different field name in
- * <class>
- * <name>Foo</name>
- * <fields>
- * <field>
- * <name>DIFFERENT</name>
- * </field>
- * </fields>
- * </class>
- * ----------------------------------------------------------------
- */
- emsg.append( " Suggestions: 1) Use a different model column prefix in" ).append( EOL );
- emsg.append( " <model jpox.column-prefix=\"DIFFERENT_\">" ).append( EOL );
- emsg.append( " 2) Use a different class column prefix in" ).append( EOL );
- emsg.append( " <class jpox.column-prefix=\"DIFFERENT_\">" ).append( EOL );
- emsg.append( " 3) Use a different alternate column name using" ).append( EOL );
- emsg.append( " <field jpox.column=\"DIFFERENT\">" ).append( EOL );
- emsg.append( " 4) Use a different field name in" ).append( EOL );
- emsg.append( " <class>" ).append( EOL );
- emsg.append( " <name>" ).append( modelClass.getName() ).append( "</name>" ).append(
- EOL );
- emsg.append( " <fields>" ).append( EOL );
- emsg.append( " <field>" ).append( EOL );
- emsg.append( " <name>DIFFERENT</name>" ).append( EOL );
- emsg.append( " <field>" ).append( EOL );
- emsg.append( " </fields>" ).append( EOL );
- emsg.append( " </class>" ).append( EOL );
-
- emsg.append( ERROR_LINE );
-
- // Determine possible exception.
- if ( hasError || modelMetadata.getReservedWordStrictness().equals( JPoxModelMetadata.WARNING ) )
- {
- throw new ModelloException( emsg.toString() );
- }
-
- // No exception. use it. But log it.
- getLogger().warn( emsg.toString() );
- }
-
- return columnName;
- }
-
- private static void writeValueStrategy( String valueStrategy, XMLWriter writer )
- throws ModelloException
- {
- if ( !"off".equals( valueStrategy ) )
- {
- if ( !VALUE_STRATEGY_LIST.contains( valueStrategy ) )
- {
- throw new ModelloException(
- "The JDO mapping generator does not support the specified " + "value-strategy '" + valueStrategy
- + "'. " + "Supported types: " + VALUE_STRATEGY_LIST
- );
- }
- writer.addAttribute( "value-strategy", valueStrategy );
- }
- }
-
- private void writeAssociation( XMLWriter writer, ModelAssociation association )
- {
- StoreAssociationMetadata am =
- (StoreAssociationMetadata) association.getAssociationMetadata( StoreAssociationMetadata.ID );
-
- JPoxAssociationMetadata jpoxMetadata =
- (JPoxAssociationMetadata) association.getAssociationMetadata( JPoxAssociationMetadata.ID );
-
- if ( am.isPart() != null )
- {
- // This gets added onto the <field> element
- writer.addAttribute( "default-fetch-group", am.isPart().toString() );
- }
-
- if ( association.getType().equals( "java.util.List" ) || association.getType().equals( "java.util.Set" ) )
- {
- // Start <collection> element
- writer.startElement( "collection" );
-
- if ( association.getTo().equals( "String" ) )
- {
- writer.addAttribute( "element-type", "java.lang.String" );
- }
- else
- {
- writer.addAttribute( "element-type", association.getTo() );
- }
-
- if ( jpoxMetadata.isDependent() )
- {
- writer.addAttribute( "dependent-element", "true" );
- }
- else
- {
- writer.addAttribute( "dependent-element", "false" );
- }
-
- // End <collection> element
- writer.endElement();
-
- if ( jpoxMetadata.isJoin() )
- {
- writer.startElement( "join" );
-
- writer.endElement();
- }
- }
- else if ( association.getType().equals( "java.util.Map" ) )
- {
- writer.startElement( "map" );
-
- writer.addAttribute( "key-type", am.getKeyType() );
-
- if ( association.getTo().equals( "String" ) )
- {
- writer.addAttribute( "value-type", "java.lang.String" );
- }
- else
- {
- writer.addAttribute( "value-type", association.getTo() );
- }
-
- if ( jpoxMetadata.isDependent() )
- {
- writer.addAttribute( "dependent-key", "true" );
-
- writer.addAttribute( "dependent-value", "true" );
- }
- else
- {
- writer.addAttribute( "dependent-key", "false" );
-
- writer.addAttribute( "dependent-value", "false" );
- }
-
- writer.endElement();
-
- if ( jpoxMetadata.isJoin() )
- {
- writer.startElement( "join" );
-
- writer.endElement();
- }
- }
- else if ( association.getType().equals( "java.util.Properties" ) )
- {
- writer.addAttribute( "embedded", "false" );
-
- writer.startElement( "map" );
-
- writer.addAttribute( "key-type", "java.lang.String" );
-
- writer.addAttribute( "value-type", "java.lang.String" );
-
- writer.addAttribute( "embedded-key", "true" );
-
- writer.addAttribute( "embedded-value", "true" );
-
- writer.addAttribute( "dependent-key", "true" );
-
- writer.addAttribute( "dependent-value", "true" );
-
- writer.endElement();
-
- if ( jpoxMetadata.isJoin() )
- {
- writer.startElement( "join" );
-
- writer.endElement();
- }
- }
- else
- // One association
- {
- if ( jpoxMetadata.isDependent() )
- {
- writer.addAttribute( "dependent", "true" );
- }
- }
- }
-
- private boolean isInstantionApplicationType( ModelClass modelClass )
- {
- List identifierFields = modelClass.getIdentifierFields( getGeneratedVersion() );
-
- return identifierFields.size() > 0;
- }
-
- private List getPrimaryKeyFields( ModelClass modelClass )
- throws ModelloException
- {
- List primaryKeys = new ArrayList();
- List fields = modelClass.getFields( getGeneratedVersion() );
- JPoxClassMetadata jpoxClassMetadata = (JPoxClassMetadata) modelClass.getMetadata( JPoxClassMetadata.ID );
-
- for ( Iterator it = fields.iterator(); it.hasNext(); )
- {
- ModelField modelField = (ModelField) it.next();
- JPoxFieldMetadata jpoxFieldMetadata = (JPoxFieldMetadata) modelField.getMetadata( JPoxFieldMetadata.ID );
-
- if ( jpoxClassMetadata.useIdentifiersAsPrimaryKey() )
- {
- if ( modelField.isIdentifier() )
- {
- assertSupportedIdentityPrimitive( modelField );
- primaryKeys.add( modelField );
- }
- }
- else
- {
- if ( jpoxFieldMetadata.isPrimaryKey() )
- {
- assertSupportedIdentityPrimitive( modelField );
- primaryKeys.add( modelField );
- }
- }
- }
-
- return primaryKeys;
- }
-
- private void assertSupportedIdentityPrimitive( ModelField modelField )
- throws ModelloException
- {
- if ( !PRIMITIVE_IDENTITY_MAP.containsKey( modelField.getType() ) )
- {
- throw new ModelloException(
- "The JDO mapping generator does not support the specified " + "field type '" + modelField.getType()
- + "'. " + "Supported types: " + PRIMITIVE_IDENTITY_MAP.keySet()
- );
- }
- }
-
- private StoreAssociationMetadata getAssociationMetadata( ModelAssociation association )
- {
- return (StoreAssociationMetadata) association.getAssociationMetadata( StoreAssociationMetadata.ID );
- }
-}
diff --git a/modello-plugin-jpox/src/main/java/org/apache/archiva/redback/components/modello/jpox/JPoxMetadataClassModelloGenerator.java b/modello-plugin-jpox/src/main/java/org/apache/archiva/redback/components/modello/jpox/JPoxMetadataClassModelloGenerator.java
deleted file mode 100644
index 8a30932..0000000
--- a/modello-plugin-jpox/src/main/java/org/apache/archiva/redback/components/modello/jpox/JPoxMetadataClassModelloGenerator.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.apache.archiva.redback.components.modello.jpox;
-
-/*
- * 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.
- */
-
-import org.apache.velocity.context.Context;
-import org.codehaus.modello.ModelloException;
-import org.codehaus.modello.model.Model;
-import org.apache.archiva.redback.components.modello.plugin.store.AbstractVelocityModelloGenerator;
-import org.apache.archiva.redback.components.modello.plugin.store.metadata.StoreClassMetadata;
-import org.apache.archiva.redback.components.modello.plugin.store.metadata.StoreFieldMetadata;
-
-import java.util.Properties;
-
-/**
- * @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl</a>
- * @version $Id: JPoxStoreModelloGenerator.java 699 2006-11-23 03:37:55Z brett $
- */
-public class JPoxMetadataClassModelloGenerator
- extends AbstractVelocityModelloGenerator
-{
- public void generate( Model model, Properties parameters )
- throws ModelloException
- {
- initialize( model, parameters );
-
- // Initialize the Velocity context
-
- Context context = makeStubVelocityContext( model, getGeneratedVersion() );
-
- context.put( "storeClassMetadataId", StoreClassMetadata.ID );
-
- context.put( "storeFieldMetadataId", StoreFieldMetadata.ID );
-
- // Generate a ModelloMetadata class for storing model information in the database
- String packageName = model.getDefaultPackageName( isPackageWithVersion(), getGeneratedVersion() );
-
- String className = model.getName() + "ModelloMetadata";
- writeClass( "org/apache/archiva/redback/components/modello/jpox/templates/ModelloMetadata.java.vm", getOutputDirectory(),
- packageName, className, context );
- }
-}
diff --git a/modello-plugin-jpox/src/main/java/org/apache/archiva/redback/components/modello/jpox/JPoxStoreModelloGenerator.java b/modello-plugin-jpox/src/main/java/org/apache/archiva/redback/components/modello/jpox/JPoxStoreModelloGenerator.java
deleted file mode 100644
index 6f3f649..0000000
--- a/modello-plugin-jpox/src/main/java/org/apache/archiva/redback/components/modello/jpox/JPoxStoreModelloGenerator.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.apache.archiva.redback.components.modello.jpox;
-
-/*
- * 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.
- */
-
-import org.apache.velocity.context.Context;
-import org.codehaus.modello.ModelloException;
-import org.codehaus.modello.model.Model;
-import org.apache.archiva.redback.components.modello.plugin.store.AbstractVelocityModelloGenerator;
-import org.apache.archiva.redback.components.modello.plugin.store.metadata.StoreClassMetadata;
-import org.apache.archiva.redback.components.modello.plugin.store.metadata.StoreFieldMetadata;
-
-import java.util.Properties;
-
-/**
- * @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl</a>
- * @version $Id: JPoxStoreModelloGenerator.java 713 2006-11-25 21:58:06Z jvanzyl $
- */
-public class JPoxStoreModelloGenerator
- extends AbstractVelocityModelloGenerator
-{
- public void generate( Model model, Properties parameters )
- throws ModelloException
- {
- initialize( model, parameters );
-
- // Initialize the Velocity context
-
- Context context = makeStubVelocityContext( model, getGeneratedVersion() );
-
- context.put( "storeClassMetadataId", StoreClassMetadata.ID );
-
- context.put( "storeFieldMetadataId", StoreFieldMetadata.ID );
-
- // Generate a ModelloMetadata class for storing model information in the database
- String packageName = model.getDefaultPackageName( isPackageWithVersion(), getGeneratedVersion() );
-
- // Generate the JPoxStore
- String className = model.getName() + "JPoxStore";
-
- writeClass( "org/apache/archiva/redback/components/modello/jpox/templates/JPoxStore.java.vm", getOutputDirectory(), packageName,
- className, context );
- }
-}
diff --git a/modello-plugin-jpox/src/main/java/org/apache/archiva/redback/components/modello/jpox/metadata/JPoxAssociationMetadata.java b/modello-plugin-jpox/src/main/java/org/apache/archiva/redback/components/modello/jpox/metadata/JPoxAssociationMetadata.java
deleted file mode 100644
index f1a4815..0000000
--- a/modello-plugin-jpox/src/main/java/org/apache/archiva/redback/components/modello/jpox/metadata/JPoxAssociationMetadata.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.apache.archiva.redback.components.modello.jpox.metadata;
-
-/*
- * 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.
- */
-
-import org.codehaus.modello.metadata.AssociationMetadata;
-
-/**
- * @author <a href="mailto:evenisse@codehaus.org">Emmanuel Venisse</a>
- * @version $Id: JPoxAssociationMetadata.java 765 2006-12-27 00:00:20Z aheritier $
- */
-public class JPoxAssociationMetadata
- implements AssociationMetadata
-{
- public static final String ID = JPoxAssociationMetadata.class.getName();
-
- private boolean dependent;
-
- private boolean join;
-
- public boolean isDependent()
- {
- return dependent;
- }
-
- public void setDependent( boolean dependent )
- {
- this.dependent = dependent;
- }
-
- public boolean isJoin()
- {
- return join;
- }
-
- public void setJoin( boolean join )
- {
- this.join = join;
- }
-}
diff --git a/modello-plugin-jpox/src/main/java/org/apache/archiva/redback/components/modello/jpox/metadata/JPoxClassMetadata.java b/modello-plugin-jpox/src/main/java/org/apache/archiva/redback/components/modello/jpox/metadata/JPoxClassMetadata.java
deleted file mode 100644
index 472ac50..0000000
--- a/modello-plugin-jpox/src/main/java/org/apache/archiva/redback/components/modello/jpox/metadata/JPoxClassMetadata.java
+++ /dev/null
@@ -1,130 +0,0 @@
-package org.apache.archiva.redback.components.modello.jpox.metadata;
-
-/*
- * 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.
- */
-
-import org.codehaus.modello.metadata.ClassMetadata;
-
-import java.util.List;
-
-/**
- * @author <a href="mailto:evenisse@codehaus.org">Emmanuel Venisse</a>
- * @version $Id: JPoxClassMetadata.java 822 2007-03-13 22:30:38Z joakime $
- */
-public class JPoxClassMetadata
- implements ClassMetadata
-{
- public static final String ID = JPoxClassMetadata.class.getName();
-
- private boolean enabled;
-
- private boolean detachable;
-
- private String table;
-
- private String columnPrefix;
-
- private String identityType;
-
- private String identityClass;
-
- private boolean useIdentifiersAsPrimaryKey;
-
- private List notPersisted;
-
- public void setDetachable( boolean detachable )
- {
- this.detachable = detachable;
- }
-
- public boolean isDetachable()
- {
- return detachable;
- }
-
- public void setTable( String table )
- {
- this.table = table;
- }
-
- public String getTable()
- {
- return table;
- }
-
- public String getIdentityClass()
- {
- return identityClass;
- }
-
- public void setIdentityClass( String identityClass )
- {
- this.identityClass = identityClass;
- }
-
- public String getIdentityType()
- {
- return identityType;
- }
-
- public void setIdentityType( String identityType )
- {
- this.identityType = identityType;
- }
-
- public boolean useIdentifiersAsPrimaryKey()
- {
- return useIdentifiersAsPrimaryKey;
- }
-
- public void setUseIdentifiersAsPrimaryKey( boolean userIdentifiersAsIdentity )
- {
- this.useIdentifiersAsPrimaryKey = userIdentifiersAsIdentity;
- }
-
- public List getNotPersisted()
- {
- return notPersisted;
- }
-
- public void setNotPersisted( List notPersisted )
- {
- this.notPersisted = notPersisted;
- }
-
- public boolean isEnabled()
- {
- return enabled;
- }
-
- public void setEnabled( boolean persisted )
- {
- this.enabled = persisted;
- }
-
- public String getColumnPrefix()
- {
- return columnPrefix;
- }
-
- public void setColumnPrefix( String columnPrefix )
- {
- this.columnPrefix = columnPrefix;
- }
-}
diff --git a/modello-plugin-jpox/src/main/java/org/apache/archiva/redback/components/modello/jpox/metadata/JPoxFieldMetadata.java b/modello-plugin-jpox/src/main/java/org/apache/archiva/redback/components/modello/jpox/metadata/JPoxFieldMetadata.java
deleted file mode 100644
index e4e22cd..0000000
--- a/modello-plugin-jpox/src/main/java/org/apache/archiva/redback/components/modello/jpox/metadata/JPoxFieldMetadata.java
+++ /dev/null
@@ -1,221 +0,0 @@
-package org.apache.archiva.redback.components.modello.jpox.metadata;
-
-/*
- * 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.
- */
-
-import org.codehaus.modello.metadata.FieldMetadata;
-import org.codehaus.plexus.util.StringUtils;
-
-import java.util.List;
-
-/**
- * @author <a href="mailto:evenisse@codehaus.org">Emmanuel Venisse</a>
- * @version $Id: JPoxFieldMetadata.java 829 2007-03-22 14:32:42Z joakime $
- */
-public class JPoxFieldMetadata implements FieldMetadata
-{
- public static final String ID = JPoxFieldMetadata.class.getName();
-
- public static final String[] FOREIGN_KEY_ACTIONS = new String[] { "cascade", "restrict", "null", "default" };
-
- public static final String[] BOOLEANS = new String[] { "true", "false" };
-
- private List fetchGroupNames;
-
- private String mappedBy;
-
- private String nullValue;
-
- private String columnName;
-
- private boolean primaryKey;
-
- private String persistenceModifier;
-
- private String valueStrategy;
-
- private String joinTableName;
-
- private String indexed;
-
- private boolean unique;
-
- private boolean foreignKey;
-
- private String foreignKeyDeferred;
-
- private String foreignKeyDeleteAction;
-
- private String foreignKeyUpdateAction;
-
- public List getFetchGroupNames()
- {
- return fetchGroupNames;
- }
-
- public void setFetchGroupNames( List fetchGroupNames )
- {
- this.fetchGroupNames = fetchGroupNames;
- }
-
- public String getMappedBy()
- {
- return mappedBy;
- }
-
- public void setMappedBy( String mappedBy )
- {
- this.mappedBy = mappedBy;
- }
-
- public String getNullValue()
- {
- return nullValue;
- }
-
- public void setNullValue( String nullValue )
- {
- this.nullValue = nullValue;
- }
-
- public String getColumnName()
- {
- return columnName;
- }
-
- public void setColumnName( String columnName )
- {
- this.columnName = columnName;
- }
-
- public boolean isPrimaryKey()
- {
- return primaryKey;
- }
-
- public void setPrimaryKey( boolean primaryKey )
- {
- this.primaryKey = primaryKey;
- }
-
- public String getPersistenceModifier()
- {
- return persistenceModifier;
- }
-
- public void setPersistenceModifier( String persistenceModifier )
- {
- this.persistenceModifier = persistenceModifier;
- }
-
- public String getValueStrategy()
- {
- return valueStrategy;
- }
-
- public void setValueStrategy( String valueStrategy )
- {
- this.valueStrategy = valueStrategy;
- }
-
- public String getJoinTableName()
- {
- return joinTableName;
- }
-
- public void setJoinTableName( String joinTableName )
- {
- this.joinTableName = joinTableName;
- }
-
- public String getIndexed()
- {
- return indexed;
- }
-
- public void setIndexed( String indexed )
- {
- this.indexed = indexed;
- }
-
- public String getForeignKeyDeferred()
- {
- return foreignKeyDeferred;
- }
-
- public void setForeignKeyDeferred( String foreignKeyDeferred )
- {
- this.foreignKeyDeferred = foreignKeyDeferred;
-
- if ( StringUtils.isNotEmpty( this.foreignKeyDeferred ) )
- {
- this.foreignKey = true;
- }
- }
-
- public String getForeignKeyDeleteAction()
- {
- return foreignKeyDeleteAction;
- }
-
- public void setForeignKeyDeleteAction( String foreignKeyDeleteAction )
- {
- this.foreignKeyDeleteAction = foreignKeyDeleteAction;
-
- if ( StringUtils.isNotEmpty( this.foreignKeyDeleteAction ) )
- {
- this.foreignKey = true;
- }
- }
-
- public String getForeignKeyUpdateAction()
- {
- return foreignKeyUpdateAction;
- }
-
- public void setForeignKeyUpdateAction( String foreignKeyUpdateAction )
- {
- this.foreignKeyUpdateAction = foreignKeyUpdateAction;
-
- if ( StringUtils.isNotEmpty( this.foreignKeyUpdateAction ) )
- {
- this.foreignKey = true;
- }
- }
-
- public boolean isUnique()
- {
- return unique;
- }
-
- public void setUnique( boolean unique )
- {
- this.unique = unique;
- }
-
- public boolean isForeignKey()
- {
- return foreignKey;
- }
-
- public void setForeignKey( boolean foreignKey )
- {
- this.foreignKey = foreignKey;
- }
-}
diff --git a/modello-plugin-jpox/src/main/java/org/apache/archiva/redback/components/modello/jpox/metadata/JPoxMetadataPlugin.java b/modello-plugin-jpox/src/main/java/org/apache/archiva/redback/components/modello/jpox/metadata/JPoxMetadataPlugin.java
deleted file mode 100644
index 6e7a173..0000000
--- a/modello-plugin-jpox/src/main/java/org/apache/archiva/redback/components/modello/jpox/metadata/JPoxMetadataPlugin.java
+++ /dev/null
@@ -1,391 +0,0 @@
-package org.apache.archiva.redback.components.modello.jpox.metadata;
-
-/*
- * 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.
- */
-
-import org.codehaus.modello.ModelloException;
-import org.codehaus.modello.metadata.AbstractMetadataPlugin;
-import org.codehaus.modello.metadata.AssociationMetadata;
-import org.codehaus.modello.metadata.ClassMetadata;
-import org.codehaus.modello.metadata.FieldMetadata;
-import org.codehaus.modello.metadata.InterfaceMetadata;
-import org.codehaus.modello.metadata.ModelMetadata;
-import org.codehaus.modello.model.Model;
-import org.codehaus.modello.model.ModelAssociation;
-import org.codehaus.modello.model.ModelClass;
-import org.codehaus.modello.model.ModelField;
-import org.codehaus.modello.model.ModelInterface;
-import org.codehaus.plexus.util.StringUtils;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
-/**
- * @author <a href="mailto:evenisse@codehaus.org">Emmanuel Venisse</a>
- * @version $Id: JPoxMetadataPlugin.java 829 2007-03-22 14:32:42Z joakime $
- */
-public class JPoxMetadataPlugin extends AbstractMetadataPlugin
-{
- public static final String ENABLED = "jpox.enabled";
-
- public static final String DEPENDENT = "jpox.dependent";
-
- public static final String DETACHABLE = "jpox.detachable";
-
- public static final String FETCH_GROUPS = "jpox.fetch-groups";
-
- public static final String NOT_PERSISTED_FIELDS = "jpox.not-persisted-fields";
-
- public static final String JOIN = "jpox.join";
-
- public static final String MAPPED_BY = "jpox.mapped-by";
-
- public static final String NULL_VALUE = "jpox.null-value";
-
- public static final String TABLE = "jpox.table";
-
- public static final String TABLE_PREFIX = "jpox.table-prefix";
-
- public static final String COLUMN = "jpox.column";
-
- public static final String COLUMN_PREFIX = "jpox.column-prefix";
-
- public static final String RESERVED_WORD_STRICTNESS = "jpox.reserved-word-strictness";
-
- public static final String MAPPING_IN_PACKAGE = "jpox.mapping-in-package";
-
- public static final String JOIN_TABLE = "jpox.join-table";
-
- public static final String INDEXED = "jpox.indexed";
-
- public static final String PRIMARY_KEY = "jpox.primary-key";
-
- public static final String UNIQUE = "jpox.unique";
-
- public static final String FOREIGN_KEY_DEFERRED = "jpox.foreign-key-deferred";
-
- public static final String FOREIGN_KEY_DELETE_ACTION = "jpox.foreign-key-delete-action";
-
- public static final String FOREIGN_KEY_UPDATE_ACTION = "jpox.foreign-key-update-action";
-
- public static final String VALUE_STRATEGY = "jpox.value-strategy";
-
- public static final String PERSISTENCE_MODIFIER = "jpox.persistence-modifier";
-
- public static final String IDENTITY_TYPE = "jpox.identity-type";
-
- public static final String IDENTITY_CLASS = "jpox.identity-class";
-
- public static final String USE_IDENTIFIERS = "jpox.use-identifiers-as-primary-key";
-
- // ----------------------------------------------------------------------
- // Map to Metadata
- // ----------------------------------------------------------------------
-
- public ModelMetadata getModelMetadata( Model model, Map data )
- {
- JPoxModelMetadata metadata = new JPoxModelMetadata();
-
- String columnPrefix = (String) data.get( COLUMN_PREFIX );
-
- if ( StringUtils.isNotEmpty( columnPrefix ) )
- {
- metadata.setColumnPrefix( columnPrefix );
- }
-
- String tablePrefix = (String) data.get( TABLE_PREFIX );
-
- if ( StringUtils.isNotEmpty( tablePrefix ) )
- {
- metadata.setTablePrefix( tablePrefix );
- }
-
- metadata.setMappingInPackage( getBoolean( data, MAPPING_IN_PACKAGE, false ) );
-
- String reservedWordStrictness = (String) data.get( RESERVED_WORD_STRICTNESS );
-
- // Set default.
- metadata.setReservedWordStrictness( JPoxModelMetadata.WARNING );
-
- // Set based on provided.
- if ( StringUtils.isNotEmpty( reservedWordStrictness ) )
- {
- if ( JPoxModelMetadata.ERROR.equalsIgnoreCase( reservedWordStrictness ) )
- {
- metadata.setReservedWordStrictness( JPoxModelMetadata.ERROR );
- }
- else if ( JPoxModelMetadata.WARNING.equalsIgnoreCase( reservedWordStrictness ) )
- {
- metadata.setReservedWordStrictness( JPoxModelMetadata.WARNING );
- }
- else
- {
- getLogger().warn(
- "Unknown reserved word strictness value: '" + reservedWordStrictness + "'. "
- + "Only '" + JPoxModelMetadata.ERROR + "' and '"
- + JPoxModelMetadata.WARNING
- + "' are acceptable inputs. Defaulting to 'warning'." );
- }
- }
-
- return metadata;
- }
-
- public InterfaceMetadata getInterfaceMetadata( ModelInterface modelInterface, Map<String, String> stringStringMap )
- throws ModelloException
- {
- // TODO to implemens ?
- return null;
- }
-
- public ClassMetadata getClassMetadata( ModelClass clazz, Map data ) throws ModelloException
- {
- JPoxClassMetadata metadata = new JPoxClassMetadata();
-
- metadata.setEnabled( getBoolean( data, ENABLED, true ) );
- metadata.setDetachable( getBoolean( data, DETACHABLE, true ) );
-
- String notPersistedFields = (String) data.get( NOT_PERSISTED_FIELDS );
-
- if ( !StringUtils.isEmpty( notPersistedFields ) )
- {
- List ignoredFields = Arrays.asList( StringUtils.split( notPersistedFields ) );
-
- metadata.setNotPersisted( ignoredFields );
- }
-
- String table = (String) data.get( TABLE );
-
- if ( !StringUtils.isEmpty( table ) )
- {
- metadata.setTable( table );
- }
-
- String columnPrefix = (String) data.get( COLUMN_PREFIX );
-
- if ( !StringUtils.isEmpty( columnPrefix ) )
- {
- metadata.setColumnPrefix( columnPrefix );
- }
-
- String identityType = (String) data.get( IDENTITY_TYPE );
-
- if ( StringUtils.isNotEmpty( identityType ) )
- {
- metadata.setIdentityType( identityType );
- }
-
- String identityClass = (String) data.get( IDENTITY_CLASS );
-
- if ( StringUtils.isNotEmpty( identityClass ) )
- {
- metadata.setIdentityClass( identityClass );
- }
-
- metadata.setUseIdentifiersAsPrimaryKey( getBoolean( data, USE_IDENTIFIERS, true ) );
-
- return metadata;
- }
-
- public FieldMetadata getFieldMetadata( ModelField field, Map data ) throws ModelloException
- {
- JPoxFieldMetadata metadata = new JPoxFieldMetadata();
-
- JPoxClassMetadata classMetadata = (JPoxClassMetadata) field.getModelClass().getMetadata( JPoxClassMetadata.ID );
-
- boolean useIdentifiersAsPrimaryKey = classMetadata.useIdentifiersAsPrimaryKey();
-
- metadata.setPrimaryKey( getBoolean( data, PRIMARY_KEY, ( field.isIdentifier() && useIdentifiersAsPrimaryKey ) ) );
-
- // Backwards Compatibility Syntax.
- String fetchGroupNames = (String) data.get( "jpox.fetchGroupNames" );
-
- if ( fetchGroupNames != null )
- {
- getLogger().warn(
- "You are using the <field jpox.fetchGroupNames=\"\"> attribute syntax. "
- + "It has been deprecated in favor of the <field jpox.fetch-groups=\"\"> syntax instead." );
- }
- else
- {
- // Correct Syntax.
- fetchGroupNames = (String) data.get( FETCH_GROUPS );
- }
-
- if ( !StringUtils.isEmpty( fetchGroupNames ) )
- {
- List fetchGroups = Arrays.asList( StringUtils.split( fetchGroupNames ) );
-
- metadata.setFetchGroupNames( fetchGroups );
- }
-
- // Backwards Compatibility Syntax.
- String mappedBy = (String) data.get( "jpox.mappedBy" );
-
- if ( mappedBy != null )
- {
- getLogger().warn(
- "You are using the <field jpox.mappedBy=\"\"> attribute syntax. "
- + "It has been deprecated in favor of the <field jpox.mapped-by=\"\"> syntax instead." );
- }
- else
- {
- // Correct Syntax.
- mappedBy = (String) data.get( MAPPED_BY );
- }
-
- if ( !StringUtils.isEmpty( mappedBy ) )
- {
- metadata.setMappedBy( mappedBy );
- }
-
- // Backwards Compatibility Syntax.
- String nullValue = (String) data.get( "jpox.nullValue" );
-
- if ( nullValue != null )
- {
- getLogger().warn(
- "You are using the <field jpox.nullValue=\"\"> attribute syntax. "
- + "It has been deprecated in favor of the <field jpox.null-value=\"\"> syntax instead." );
- }
- else
- {
- // Correct Syntax.
- nullValue = (String) data.get( NULL_VALUE );
- }
-
- if ( !StringUtils.isEmpty( nullValue ) )
- {
- metadata.setNullValue( nullValue );
- }
-
- String column = (String) data.get( COLUMN );
-
- if ( StringUtils.isNotEmpty( column ) )
- {
- metadata.setColumnName( column );
- }
-
- String joinTable = (String) data.get( JOIN_TABLE );
-
- if ( StringUtils.isNotEmpty( joinTable ) )
- {
- metadata.setJoinTableName( joinTable );
- }
-
- String indexed = (String) data.get( INDEXED );
-
- if ( StringUtils.isNotEmpty( indexed ) )
- {
- metadata.setIndexed( indexed );
- }
-
- String persistenceModifier = (String) data.get( PERSISTENCE_MODIFIER );
-
- if ( StringUtils.isNotEmpty( persistenceModifier ) )
- {
- metadata.setPersistenceModifier( persistenceModifier );
- }
-
- // According to http://www.jpox.org/docs/1_1/identity_generation.html the default value for
- // this should be 'native', however this is untrue in jpox-1.1.1
- metadata.setValueStrategy( "native" );
-
- if ( StringUtils.isNotEmpty( (String) data.get( VALUE_STRATEGY ) ) )
- {
- String valueStrategy = (String) data.get( VALUE_STRATEGY );
-
- if ( StringUtils.equals( valueStrategy, "off" ) )
- {
- metadata.setValueStrategy( null );
- }
- else
- {
- metadata.setValueStrategy( valueStrategy );
- }
- }
-
- metadata.setUnique( getBoolean( data, UNIQUE, false ) );
- metadata.setForeignKey( getBoolean( data, FOREIGN_KEY_DEFERRED, false ) );
- metadata.setForeignKeyDeferred( getEnumString( data, FOREIGN_KEY_DEFERRED, JPoxFieldMetadata.BOOLEANS, null ) );
- metadata.setForeignKeyDeleteAction( getEnumString( data, FOREIGN_KEY_DELETE_ACTION,
- JPoxFieldMetadata.FOREIGN_KEY_ACTIONS, null ) );
- metadata.setForeignKeyUpdateAction( getEnumString( data, FOREIGN_KEY_UPDATE_ACTION,
- JPoxFieldMetadata.FOREIGN_KEY_ACTIONS, null ) );
-
- return metadata;
- }
-
- public AssociationMetadata getAssociationMetadata( ModelAssociation association, Map data ) throws ModelloException
- {
- JPoxAssociationMetadata metadata = new JPoxAssociationMetadata();
-
- metadata.setDependent( getBoolean( data, DEPENDENT, true ) );
-
- metadata.setJoin( getBoolean( data, JOIN, true ) );
-
- return metadata;
- }
-
- protected String getString( Map data, String key, String defaultValue )
- {
- String value = (String) data.get( key );
-
- if ( StringUtils.isEmpty( value ) )
- {
- return defaultValue;
- }
-
- return value;
- }
-
- protected String getEnumString( Map data, String key, String[] legalValues, String defaultValue )
- throws ModelloException
- {
- String value = (String) data.get( key );
-
- if ( StringUtils.isEmpty( value ) )
- {
- return defaultValue;
- }
-
- for ( int i = 0; i < legalValues.length; i++ )
- {
- String enumString = legalValues[i];
- if ( StringUtils.equals( enumString, value ) )
- {
- return value;
- }
- }
-
- String emsg = "Unknown " + key + " value: '" + value + "'. " + "(Allowed values: " + legalValues + ")";
- throw new ModelloException( emsg );
- }
-
- // ----------------------------------------------------------------------
- // Metadata to Map
- // ----------------------------------------------------------------------
-
- public Map getFieldMap( ModelField field, FieldMetadata metadata )
- {
- return Collections.EMPTY_MAP;
- }
-}
diff --git a/modello-plugin-jpox/src/main/java/org/apache/archiva/redback/components/modello/jpox/metadata/JPoxModelMetadata.java b/modello-plugin-jpox/src/main/java/org/apache/archiva/redback/components/modello/jpox/metadata/JPoxModelMetadata.java
deleted file mode 100644
index 5ca5e4d..0000000
--- a/modello-plugin-jpox/src/main/java/org/apache/archiva/redback/components/modello/jpox/metadata/JPoxModelMetadata.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package org.apache.archiva.redback.components.modello.jpox.metadata;
-
-/*
- * 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.
- */
-
-import org.codehaus.modello.metadata.ModelMetadata;
-
-/**
- * @author <a href="mailto:evenisse@codehaus.org">Emmanuel Venisse</a>
- * @version $Id: JPoxModelMetadata.java 827 2007-03-21 19:31:37Z joakime $
- */
-public class JPoxModelMetadata implements ModelMetadata
-{
- public static final String ID = JPoxModelMetadata.class.getName();
-
- public static final String ERROR = "error";
-
- public static final String WARNING = "warning";
-
- private String columnPrefix;
-
- private String tablePrefix;
-
- private String reservedWordStrictness;
-
- private boolean mappingInPackage = false;
-
- public String getColumnPrefix()
- {
- return columnPrefix;
- }
-
- public void setColumnPrefix( String columnPrefix )
- {
- this.columnPrefix = columnPrefix;
- }
-
- public String getTablePrefix()
- {
- return tablePrefix;
- }
-
- public void setTablePrefix( String tablePrefix )
- {
- this.tablePrefix = tablePrefix;
- }
-
- public String getReservedWordStrictness()
- {
- return reservedWordStrictness;
- }
-
- public void setReservedWordStrictness( String reservedWordStrictness )
- {
- this.reservedWordStrictness = reservedWordStrictness;
- }
-
- public boolean isMappingInPackage()
- {
- return mappingInPackage;
- }
-
- public void setMappingInPackage( boolean mappingInPackage )
- {
- this.mappingInPackage = mappingInPackage;
- }
-}
diff --git a/modello-plugin-jpox/src/main/resources/META-INF/plexus/components.xml b/modello-plugin-jpox/src/main/resources/META-INF/plexus/components.xml
deleted file mode 100644
index 022be99..0000000
--- a/modello-plugin-jpox/src/main/resources/META-INF/plexus/components.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ~ 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.
- -->
-<component-set>
- <components>
-
- <component>
- <role>org.codehaus.modello.plugin.ModelloGenerator</role>
- <role-hint>jpox-store</role-hint>
- <implementation>org.apache.archiva.redback.components.modello.jpox.JPoxStoreModelloGenerator</implementation>
- <requirements>
- <requirement>
- <role>org.codehaus.plexus.velocity.VelocityComponent</role>
- </requirement>
- </requirements>
- </component>
-
- <component>
- <role>org.codehaus.modello.plugin.ModelloGenerator</role>
- <role-hint>jpox-jdo-mapping</role-hint>
- <implementation>org.apache.archiva.redback.components.modello.jpox.JPoxJdoMappingModelloGenerator</implementation>
- <requirements>
- <requirement>
- <role>org.apache.archiva.redback.components.modello.db.SQLReservedWords</role>
- </requirement>
- </requirements>
- </component>
-
- <component>
- <role>org.codehaus.modello.plugin.ModelloGenerator</role>
- <role-hint>jpox-metadata-class</role-hint>
- <implementation>org.apache.archiva.redback.components.modello.jpox.JPoxMetadataClassModelloGenerator</implementation>
- <requirements>
- <requirement>
- <role>org.codehaus.plexus.velocity.VelocityComponent</role>
- </requirement>
- </requirements>
- </component>
-
- <component>
- <role>org.codehaus.modello.metadata.MetadataPlugin</role>
- <role-hint>jpox</role-hint>
- <implementation>org.apache.archiva.redback.components.modello.jpox.metadata.JPoxMetadataPlugin</implementation>
- </component>
-
- </components>
-</component-set>
diff --git a/modello-plugin-jpox/src/main/resources/org/apache/archiva/redback/components/modello/jpox/templates/JPoxStore.java.vm b/modello-plugin-jpox/src/main/resources/org/apache/archiva/redback/components/modello/jpox/templates/JPoxStore.java.vm
deleted file mode 100644
index cfc6f5a..0000000
--- a/modello-plugin-jpox/src/main/resources/org/apache/archiva/redback/components/modello/jpox/templates/JPoxStore.java.vm
+++ /dev/null
@@ -1,488 +0,0 @@
-package ${package};
-
-##
-## Copyright 2001-2005 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.
-##
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-import javax.jdo.Extent;
-import javax.jdo.FetchPlan;
-import javax.jdo.Query;
-import javax.jdo.PersistenceManager;
-import javax.jdo.PersistenceManagerFactory;
-import javax.jdo.JDOUserException;
-import javax.jdo.Transaction;
-
-// Model class imports
-#foreach ( $class in $classes )
-#if ( $class.getMetadata( $storeClassMetadataId ).storable && ${class.packageName} != ${package} )
-import ${class.packageName}.${class.name};
-#end
-#end
-
-/**
- * Generated JPox storage mechanism for ${model.name}.
- *
- * @author Mr Modello
- */
-public class ${model.name}JPoxStore
-{
-#foreach ( $class in $classes )
-#if ( $class.getMetadata( $storeClassMetadataId ).storable )
- public final static String ${class.name}_DETAIL_FETCH_GROUP = "${class.name}_detail";
-#end
-#end
- private static ThreadLocal threadState = new ThreadLocal();
-
- private PersistenceManagerFactory pmf;
-
- public ${model.name}JPoxStore( PersistenceManagerFactory pmf )
- {
- this.pmf = pmf;
- }
-
- // ----------------------------------------------------------------------
- //
- // ----------------------------------------------------------------------
-
- public static class ThreadState
- {
- private PersistenceManager pm;
-
- private Transaction tx;
-
- private int depth;
-
- public PersistenceManager getPersistenceManager()
- {
- return pm;
- }
-
- public Transaction getTransaction()
- {
- return tx;
- }
-
- public int getDepth()
- {
- return depth;
- }
- }
-
- // ----------------------------------------------------------------------
- // Transaction Management Methods
- // ----------------------------------------------------------------------
-
- public ThreadState getThreadState()
- {
- return (ThreadState) threadState.get();
- }
-
- public PersistenceManager begin()
- {
- ThreadState state = (ThreadState) threadState.get();
-
- if ( state == null )
- {
- state = new ThreadState();
-
- state.pm = pmf.getPersistenceManager();
-
- state.tx = state.pm.currentTransaction();
-
- state.tx.begin();
-
- threadState.set( state );
-
- return state.pm;
- }
- else
- {
- state.depth++;
-
- return state.pm;
- }
- }
-
- public void commit()
- {
- ThreadState state = (ThreadState) threadState.get();
-
- if ( state == null )
- {
- throw new IllegalStateException( "commit() must only be called after begin()." );
- }
-
- if ( state.depth > 0 )
- {
- state.depth--;
-
- return;
- }
-
- threadState.set( null );
-
- try
- {
- state.tx.commit();
- }
- finally
- {
- if ( state.tx.isActive() )
- {
- state.tx.rollback();
- }
-
- closePersistenceManager( state.pm );
- }
- }
-
- public void rollback()
- {
- ThreadState state = (ThreadState) threadState.get();
-
- if ( state == null )
- {
- // The tx is not active because it has already been committed or rolled back
-
- return;
- }
-
- threadState.set( null );
-
- try
- {
- if ( state.tx.isActive() )
- {
- state.tx.rollback();
- }
- }
- finally
- {
- closePersistenceManager( state.pm );
- }
- }
-
-#foreach ( $class in $classes )
-#if ( $class.getMetadata( $storeClassMetadataId ).storable )
- // ----------------------------------------------------------------------
- // ${class.name} CRUD
- // ----------------------------------------------------------------------
-
- public Object add${class.name}( $class.name o )
- {
- try
- {
- PersistenceManager pm = begin();
-
- pm.makePersistent( o );
-
- Object id = pm.getObjectId( o );
-
- commit();
-
- return id;
- }
- finally
- {
- rollback();
- }
- }
-
-#if ( $class.getIdentifierFields( $version ).size() > 0 )
- public Object store${class.name}( $class.name o )
- {
- try
- {
- PersistenceManager pm = begin();
-
- pm.makePersistent( o );
-
- Object id = pm.getObjectId( o );
-
- commit();
-
- return id;
- }
- finally
- {
- rollback();
- }
- }
-#end
-
- public void delete${class.name}( String id )
- {
- try
- {
- PersistenceManager pm = begin();
-
- Query query = pm.newQuery( ${class.name}.class );
-
- query.setIgnoreCache( true );
-
- // TODO: Use all known identifier fields in this filter
- query.setFilter( "this.id == \"" + id + "\"" );
-
- Collection result = (Collection) query.execute();
-
- if ( result.isEmpty() )
- {
- throw new RuntimeException( "No such object of type \"${class.name}\" with id: \"" + id + "\"." );
- }
-
- pm.deletePersistentAll( result );
-
- commit();
- }
- finally
- {
- rollback();
- }
- }
-
-#if ( $class.getIdentifierFields( $version ).size() == 1 )
- public ${class.name} get${class.name}( String id, boolean detach )
- throws Exception
- {
- try
- {
- PersistenceManager pm = begin();
-
- pm.getFetchPlan().setGroup( FetchPlan.DEFAULT );
-
- pm.getFetchPlan().addGroup( "${class.name}_detail" );
-
- Query query = pm.newQuery( ${class.name}.class );
-
- query.setIgnoreCache( true );
-
- #foreach ( $idField in $class.getIdentifierFields( $version ) )
- query.setFilter( "this.${idField.name} == \"" + id + "\"" );
- #end
-
- Collection result = (Collection) query.execute();
-
- if ( result.isEmpty() )
- {
- throw new RuntimeException( "No such object of type \"${class.name}\" with id: \"" + id + "\"." );
- }
-
- ${class.name} object = (${class.name}) result.iterator().next();
-
- if ( detach )
- {
- object = (${class.name}) pm.detachCopy( object );
- }
-
- commit();
-
- return object;
- }
- finally
- {
- rollback();
- }
- }
-#end
-
- public ${class.name} get${class.name}ByJdoId( Object id, boolean detach )
- {
- try
- {
- PersistenceManager pm = begin();
-
- pm.getFetchPlan().setGroup( FetchPlan.DEFAULT );
-
- pm.getFetchPlan().addGroup( "${class.name}_detail" );
-
- ${class.name} object = (${class.name}) pm.getObjectById( id, true );
-
- if ( detach )
- {
- object = (${class.name}) pm.detachCopy( object );
- }
-
- commit();
-
- return object;
- }
- finally
- {
- rollback();
- }
- }
-
- public Collection get${class.name}Collection( boolean detach, String filter, String ordering )
- {
- try
- {
- PersistenceManager pm = begin();
-
- Extent extent = pm.getExtent( ${class.name}.class, true );
-
- Query query = pm.newQuery( extent );
-
- if ( ordering != null )
- {
- query.setOrdering( ordering );
- }
-
- if ( filter != null )
- {
- query.setFilter( filter );
- }
-
- Collection result = ((Collection) query.execute() );
-
- Collection collection;
-
- // TODO: Why did was this done with a iterator and not makeTransientAll()? -- trygve
- // I would guess I had to do it this way to make sure JPOX fetched all fields
- // so this should probably go away now if detach works like expected.
- // Also; why refresh()?
- if ( detach )
- {
- collection = new ArrayList();
-
- for ( Iterator it = result.iterator(); it.hasNext(); )
- {
- Object object = it.next();
-
- pm.refresh( object );
-
- object = pm.detachCopy( object );
-
- collection.add( object );
- }
- }
- else
- {
- collection = result;
- }
-
- commit();
-
- return collection;
- }
- finally
- {
- rollback();
- }
- }
-#end
-
-#end
-
- public ${model.name}ModelloMetadata get${model.name}ModelloMetadata( boolean detach )
- {
- try
- {
- PersistenceManager pm = begin();
-
- pm.getFetchPlan().setGroup( FetchPlan.DEFAULT );
-
- Query query = pm.newQuery( ${model.name}ModelloMetadata.class );
-
- query.setIgnoreCache( true );
-
- Collection result = (Collection) query.execute();
-
- if ( result.isEmpty() )
- {
- return null;
- }
-
- ${model.name}ModelloMetadata object = (${model.name}ModelloMetadata) result.iterator().next();
-
- if ( detach )
- {
- object = (${model.name}ModelloMetadata) pm.detachCopy( object );
- }
-
- commit();
-
- return object;
- }
- finally
- {
- rollback();
- }
- }
-
- public void store${model.name}ModelloMetadata( ${model.name}ModelloMetadata o )
- {
- try
- {
- PersistenceManager pm = begin();
-
- pm.makePersistent( o );
-
- commit();
- }
- finally
- {
- rollback();
- }
- }
-
- public void eraseModelFromDatabase()
- {
- try
- {
- PersistenceManager pm = begin();
-
- Query query = pm.newQuery( ${model.name}ModelloMetadata.class );
-
- query.setIgnoreCache( true );
-
- query.deletePersistentAll();
-
- #foreach ($class in $classes)
- query = pm.newQuery( ${class.name}.class );
-
- query.setIgnoreCache( true );
-
- query.deletePersistentAll();
- #end
-
-
- commit();
- }
- finally
- {
- rollback();
- }
- }
-
- // ----------------------------------------------------------------------
- // Utility Methods
- // ----------------------------------------------------------------------
-
- private void closePersistenceManager( PersistenceManager pm )
- {
- try
- {
- pm.close();
- }
- catch( JDOUserException ex )
- {
- ex.printStackTrace();
- }
- }
-}
diff --git a/modello-plugin-jpox/src/main/resources/org/apache/archiva/redback/components/modello/jpox/templates/ModelloMetadata.java.vm b/modello-plugin-jpox/src/main/resources/org/apache/archiva/redback/components/modello/jpox/templates/ModelloMetadata.java.vm
deleted file mode 100644
index 796c1d0..0000000
--- a/modello-plugin-jpox/src/main/resources/org/apache/archiva/redback/components/modello/jpox/templates/ModelloMetadata.java.vm
+++ /dev/null
@@ -1,44 +0,0 @@
-package ${package};
-
-##
-## Copyright 2001-2005 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.
-##
-
-// Model class imports
-#foreach ( $class in $classes )
-#if ( $class.getMetadata( $storeClassMetadataId ).isStorable() && ${class.packageName} != ${package} )
-import ${class.packageName}.${class.name};
-#end
-#end
-
-/**
- * Generated ModelloMetadata class for ${model.name}.
- *
- * @author Mr Modello
- */
-public class ${model.name}ModelloMetadata
-{
- private String modelVersion;
-
- public String getModelVersion()
- {
- return modelVersion;
- }
-
- public void setModelVersion( String modelVersion )
- {
- this.modelVersion = modelVersion;
- }
-}
diff --git a/modello-plugin-jpox/src/site/apt/index.apt b/modello-plugin-jpox/src/site/apt/index.apt
deleted file mode 100644
index 5f4cdcd..0000000
--- a/modello-plugin-jpox/src/site/apt/index.apt
+++ /dev/null
@@ -1,45 +0,0 @@
- -----
- Modello JPOX Plugin
- -----
- Joakim Erdfelt
- -----
- 14 March 2007
- -----
-
-~~ 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.
-
-~~ NOTE: For help with the syntax of this file, see:
-~~ http://maven.apache.org/guides/mini/guide-apt-format.html
-
-Welcome to Modello JPOX Plugin
-
- The Modello JPOX Plugin is responsibile for providing various modello model transformations useful for the JPOX/JDO developer.
-
- * jpox-jdo-mapping: Produces a package.jdo file describing the model.
-
- * jpox-store: Produces a java source file that provides a basic DAO / Store for the objects within the model.
-
- * jpox-metadata-class: Produces a java source file that can supply the basic model version object suitable for tracking the model version vs table schema version.
-
- We welcome developers to the modello community who are interested in contributing. If you'd like to discuss modello, subscribe and post to
- {{{mail-lists.html} the development mailing list}}, <<<...@modello.codehaus.org>>>.
-
- If you'd like to obtain the code, you can get it from Subversion. See {{{source-repository.html} SCM details}} for more information.
-
- Bugs, issues and new ideas should be reported in the issue tracker - see {{{issue-tracking.html} this page}}.
-
diff --git a/modello-plugin-jpox/src/site/site.xml b/modello-plugin-jpox/src/site/site.xml
deleted file mode 100644
index 11d5a5f..0000000
--- a/modello-plugin-jpox/src/site/site.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ~ 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.
- -->
-
-<project name="Modello JPOX Plugin">
- <bannerLeft>
- <name>Modello</name>
- </bannerLeft>
-
- <body>
-
- <menu ref="parent" />
-
- <menu name="Maven 2.0">
- <item name="Introduction" href="index.html"/>
- <item name="Model Syntax" href="jpox-model-syntax.html"/>
- </menu>
-
- <menu ref="reports"/>
-
- </body>
-</project>
diff --git a/modello-plugin-jpox/src/site/xdoc/jpox-model-syntax.xml b/modello-plugin-jpox/src/site/xdoc/jpox-model-syntax.xml
deleted file mode 100644
index 1eb31c4..0000000
--- a/modello-plugin-jpox/src/site/xdoc/jpox-model-syntax.xml
+++ /dev/null
@@ -1,352 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ~ 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.
- -->
-
-<document>
- <properties>
- <author email="joakime@codehaus.org">Joakim Erdfelt</author>
- <title>jpox-jdo-mapping model syntax</title>
- </properties>
-
- <head>
- <style type="text/css">
- pre.model-xml {
- background-color: #f3f3ff;
- border: 1px dashed #aaaaff;
- padding: 15px;
- }
-
- pre.model-xml a {
- font-style: normal;
- color: #000088;
- }
-
- pre.model-xml a em {
- color: #7777ff;
- }
- </style>
- </head>
-
- <body>
- <section name="Modello JPOX Model Syntax">
-<pre class="model-xml">
-<model <a href="#model-reserved-word-strictness">jpox.reserved-word-strictness="<em>(enum)</em>"</a>
- <a href="#model-table-prefix">jpox.table-prefix="<em>(String)</em>"</a>
- <a href="#model-column-prefix">jpox.column-prefix="<em>(String)</em>"</a>>
- <name>ExampleModel</name>
- <classes>
- <class <a href="#class-enabled">jpox.enabled="<em>(boolean)</em>"</a>
- <a href="#class-detachable">jpox.detachable="<em>(boolean)</em>"</a>
- <a href="#class-not-persisted-fields">jpox.not-persisted-fields="<em>(List)</em>"</a>
- <a href="#class-table">jpox.table="<em>(String)</em>"</a>
- <a href="#class-column-prefix">jpox.column-prefix="<em>(String)</em>"</a>
- <a href="#class-identity-type">jpox.identity-type="<em>(enum)</em>"</a>
- <a href="#class-identity-class">jpox.identity-class="<em>(String)</em>"</a>
- <a href="#class-use-identifiers-as-primary-key">jpox.use-identifiers-as-primary-key="<em>(boolean)</em>"</a>>
- <name>SimpleClass</name>
- <fields>
- <field <a href="#field-fetch-groups">jpox.fetch-groups="<em>(List)</em>"</a>
- <a href="#field-mapped-by">jpox.mapped-by="<em>(String)</em>"</a>
- <a href="#field-null-value">jpox.null-value="<em>(String)</em>"</a>
- <a href="#field-column">jpox.column="<em>(String)</em>"</a>
- <a href="#field-join-table">jpox.join-table="<em>(String)</em>"</a>
- <a href="#field-indexed">jpox.indexed="<em>(enum)</em>"</a>
- <a href="#field-persistence-modifier">jpox.persistence-modifier="<em>(enum)</em>"</a>
- <a href="#field-value-strategy">jpox.value-strategy="<em>(enum)</em>"</a>>
- <name>simple</name>
- <type>String</type>
- <required>true</required>
- </field>
- <field>
- <name>associative</name>
- <required>false</required>
- <association <a href="#association-dependent">jpox.dependent="<em>(boolean)</em>"</a>
- <a href="#association-join">jpox.join="<em>(boolean)</em>"</a>>
- <type>AnotherClass</type>
- <multiplicity>*</multiplicity>
- </association>
- </field>
- </fields>
- </class>
- </classes>
-</model>
-</pre>
-
- <table>
- <tr>
- <th>Context</th>
- <th>Attribute</th>
- <th>Values</th>
- <th>Description</th>
- </tr>
- <tr>
- <td>Model</td>
- <td><a name="model-reserved-word-strictness">jpox.reserved-word-strictness</a></td>
- <td>"warning" or "error" (default: warning)</td>
- <td>
- <p>
- This allows you to set the level of strictness on the reserved
- word violations within the TABLE / COLUMN / JOIN-TABLE names.
- </p>
- <p>
- A setting of "error" will only throw an exception if a reserved
- word violation severity level of ERROR is encountered.
- </p>
- <p>
- An attempt to use a reserved word found within the core SQL92 /
- SQL99 / or SQL2003 set of reserved words are considered an ERROR.
- Use of a reserved word found within a vendor specific SQL
- implementation is considered a WARNING.
- </p>
- <p>
- You are encouraged to fix all reserved word violations to make
- your code as portable across multiple SQL implementations as
- possible.
- </p>
- </td>
- </tr>
- <tr>
- <td>Model</td>
- <td><a name="model-table-prefix">jpox.table-prefix</a></td>
- <td>
- Any non-empty String.
- <br/>(No Default)
- </td>
- <td>
- <!-- TODO: Description -->
- </td>
- </tr>
- <tr>
- <td>Model</td>
- <td><a name="model-column-prefix">jpox.column-prefix</a></td>
- <td>
- Any non-empty String.
- <br/>(No Default)
- </td>
- <td>
- <!-- TODO: Description -->
- </td>
- </tr>
- <tr>
- <td>Class</td>
- <td><a name="class-enabled">jpox.enabled</a></td>
- <td>
- true or false.
- <br/>(Default: true)
- </td>
- <td>
- <!-- TODO: Description -->
- </td>
- </tr>
- <tr>
- <td>Class</td>
- <td><a name="class-detachable">jpox.detachable</a></td>
- <td>
- true or false
- <br/>(Default: true)
- </td>
- <td>
- <!-- TODO: Description -->
- </td>
- </tr>
- <tr>
- <td>Class</td>
- <td><a name="class-not-persisted-fields">jpox.not-persisted-fields</a></td>
- <td>
- List of fields that are not persisted (seperated by spaces)
- <br/>(No Default)
- </td>
- <td>
- <!-- TODO: Description -->
- </td>
- </tr>
- <tr>
- <td>Class</td>
- <td><a name="class-table">jpox.table</a></td>
- <td>
- Any non-empty String.
- <br/>(No Default)
- </td>
- <td>
- <!-- TODO: Description -->
- </td>
- </tr>
- <tr>
- <td>Class</td>
- <td><a name="class-column-prefix">jpox.column-prefix</a></td>
- <td>
- Any non-empty String.
- <br/>(No Default)
- </td>
- <td>
- <!-- TODO: Description -->
- </td>
- </tr>
- <tr>
- <td>Class</td>
- <td><a name="class-identity-type">jpox.identity-type</a></td>
- <td>
- "application", "datastore", or "nondurable"
- <br/>(No Default)
- </td>
- <td>
- <!-- TODO: Description -->
- </td>
- </tr>
- <tr>
- <td>Class</td>
- <td><a name="class-identity-class">jpox.identity-class</a></td>
- <td>
- Any non-empty String.
- Refers to a Java Class name in the same package as
- the model.
- <br/>(No Default)
- </td>
- <td>
- <!-- TODO: Description -->
- </td>
- </tr>
- <tr>
- <td>Class</td>
- <td><a name="class-use-identifiers-as-primary-key">jpox.use-identifiers-as-primary-key</a></td>
- <td>
- true or false
- <br/>(Default: true)
- </td>
- <td>
- <!-- TODO: Description -->
- </td>
- </tr>
- <tr>
- <td>Field</td>
- <td><a name="field-fetch-groups">jpox.fetch-groups</a></td>
- <td>
- List of fetch-group names (seperated by space).
- <br/>(No Default)
- </td>
- <td>
- <!-- TODO: Description -->
- </td>
- </tr>
- <tr>
- <td>Field</td>
- <td><a name="field-mapped-by">jpox.mapped-by</a></td>
- <td>
- Any non-empty String.
- <br/>(No Default)
- </td>
- <td>
- <!-- TODO: Description -->
- </td>
- </tr>
- <tr>
- <td>Field</td>
- <td><a name="field-null-value">jpox.null-value</a></td>
- <td>
- Any non-empty String.
- <br/>(No Default)
- </td>
- <td>
- <!-- TODO: Description -->
- </td>
- </tr>
- <tr>
- <td>Field</td>
- <td><a name="field-column">jpox.column</a></td>
- <td>
- Any non-empty String.
- <br/>(No Default)
- </td>
- <td>
- <!-- TODO: Description -->
- </td>
- </tr>
- <tr>
- <td>Field</td>
- <td><a name="field-join-table">jpox.join-table</a></td>
- <td>
- Any non-empty String.
- <br/>(No Default)
- </td>
- <td>
- <!-- TODO: Description -->
- </td>
- </tr>
- <tr>
- <td>Field</td>
- <td><a name="field-indexed">jpox.indexed</a></td>
- <td>
- 'true', 'false', or 'unique'
- <br/>(No Default)
- </td>
- <td>
- <!-- TODO: Description -->
- </td>
- </tr>
- <tr>
- <td>Field</td>
- <td><a name="field-persistence-modifier">jpox.persistence-modifier</a></td>
- <td>
- 'persistent', 'transactiona', or 'none'
- <br/>(No Default)
- </td>
- <td>
- <!-- TODO: Description -->
- </td>
- </tr>
- <tr>
- <td>Field</td>
- <td><a name="field-value-strategy">jpox.value-strategy</a></td>
- <td>
- 'off', 'native', 'sequence', 'identity', 'increment', 'uuid-string',
- 'uuid-hex', 'datastore-uuid-hex', 'max', or 'auid'
- <br/>(Default: 'native')
- </td>
- <td>
- <!-- TODO: Description -->
- </td>
- </tr>
- <tr>
- <td>Association</td>
- <td><a name="association-dependent">jpox.dependent</a></td>
- <td>
- true or false
- <br/>(Default: true)
- </td>
- <td>
- <!-- TODO: Description -->
- </td>
- </tr>
- <tr>
- <td>Association</td>
- <td><a name="association-join">jpox.join</a></td>
- <td>
- true or false
- <br/>(Default: true)
- </td>
- <td>
- <!-- TODO: Description -->
- </td>
- </tr>
- </table>
-
- </section>
- </body>
-</document>
-
diff --git a/modello-plugin-jpox/src/test/java/org/apache/archiva/redback/components/modello/jpox/AbstractJpoxGeneratorTestCase.java b/modello-plugin-jpox/src/test/java/org/apache/archiva/redback/components/modello/jpox/AbstractJpoxGeneratorTestCase.java
deleted file mode 100644
index 5c222d8..0000000
--- a/modello-plugin-jpox/src/test/java/org/apache/archiva/redback/components/modello/jpox/AbstractJpoxGeneratorTestCase.java
+++ /dev/null
@@ -1,373 +0,0 @@
-package org.apache.archiva.redback.components.modello.jpox;
-
-/*
- * 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.
- */
-
-import org.codehaus.modello.AbstractModelloGeneratorTest;
-import org.codehaus.modello.AbstractModelloJavaGeneratorTest;
-import org.codehaus.modello.ModelloException;
-import org.codehaus.modello.ModelloParameterConstants;
-import org.codehaus.modello.core.ModelloCore;
-import org.codehaus.modello.model.Model;
-import org.codehaus.plexus.compiler.CompilerException;
-import org.codehaus.plexus.util.FileUtils;
-import org.codehaus.plexus.util.StringUtils;
-import org.codehaus.plexus.util.cli.CommandLineException;
-import org.codehaus.plexus.util.cli.CommandLineUtils;
-import org.codehaus.plexus.util.cli.Commandline;
-import org.dom4j.Attribute;
-import org.dom4j.Branch;
-import org.dom4j.Document;
-import org.dom4j.Element;
-import org.dom4j.Node;
-import org.dom4j.XPath;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Properties;
-
-import junit.framework.AssertionFailedError;
-
-public abstract class AbstractJpoxGeneratorTestCase
- extends AbstractModelloJavaGeneratorTest
-{
- protected ModelloCore modello;
-
- protected AbstractJpoxGeneratorTestCase( String name )
- {
- super( name );
- }
-
- protected void setUp()
- throws Exception
- {
- super.setUp();
-
- modello = (ModelloCore) container.lookup( ModelloCore.ROLE );
- }
-
- protected void verifyModel( Model model, String className )
- throws IOException, ModelloException, CompilerException, CommandLineException
- {
- verifyModel( model, className, null );
- }
-
- protected void verifyModel( Model model, String className, String[] versions )
- throws IOException, ModelloException, CompilerException, CommandLineException
- {
- File generatedSources = new File( getTestPath( "target/" + getName() + "/sources" ) );
-
- File classes = new File( getTestPath( "target/" + getName() + "/classes" ) );
-
- FileUtils.deleteDirectory( generatedSources );
-
- FileUtils.deleteDirectory( classes );
-
- generatedSources.mkdirs();
-
- classes.mkdirs();
-
- Properties parameters = new Properties();
-
- parameters.setProperty( ModelloParameterConstants.OUTPUT_DIRECTORY, generatedSources.getAbsolutePath() );
-
- parameters.setProperty( ModelloParameterConstants.VERSION, "1.0.0" );
-
- parameters.setProperty( ModelloParameterConstants.PACKAGE_WITH_VERSION, Boolean.toString( false ) );
-
- modello.generate( model, "java", parameters );
-
- modello.generate( model, "jpox-store", parameters );
-
- modello.generate( model, "jpox-metadata-class", parameters );
-
- parameters.setProperty( ModelloParameterConstants.OUTPUT_DIRECTORY, classes.getAbsolutePath() );
- modello.generate( model, "jpox-jdo-mapping", parameters );
-
- if ( versions != null && versions.length > 0 )
- {
- parameters.setProperty( ModelloParameterConstants.ALL_VERSIONS, StringUtils.join( versions, "," ) );
-
- for ( int i = 0; i < versions.length; i++ )
- {
- parameters.setProperty( ModelloParameterConstants.VERSION, versions[i] );
-
- parameters.setProperty( ModelloParameterConstants.OUTPUT_DIRECTORY,
- generatedSources.getAbsolutePath() );
-
- parameters.setProperty( ModelloParameterConstants.PACKAGE_WITH_VERSION, Boolean.toString( true ) );
-
- modello.generate( model, "java", parameters );
-
- modello.generate( model, "jpox-store", parameters );
-
- parameters.setProperty( ModelloParameterConstants.OUTPUT_DIRECTORY, classes.getAbsolutePath() );
- modello.generate( model, "jpox-jdo-mapping", parameters );
- }
- }
-
- addDependency( "org.codehaus.modello", "modello-core" );
-
- addDependency( "jpox", "jpox" );
- addDependency( "javax.jdo", "jdo2-api" );
- addDependency( "org.apache.derby", "derby" );
- addDependency( "log4j", "log4j" );
-
- compileGeneratedSources( true );
-
- enhance( classes );
-
- //verifyCompiledGeneratedSources( className, getName() );
- }
-
- private void enhance( File classes )
- throws CommandLineException, ModelloException, IOException
- {
- Properties loggingProperties = new Properties();
- loggingProperties.setProperty( "log4j.appender.root", "org.apache.log4j.ConsoleAppender" );
- loggingProperties.setProperty( "log4j.appender.root.layout", "org.apache.log4j.PatternLayout" );
- loggingProperties.setProperty( "log4j.appender.root.layout.ConversionPattern", "%-5p [%c] - %m%n" );
- loggingProperties.setProperty( "log4j.category.JPOX", "INFO, root" );
- File logFile = new File( classes, "log4j.properties" );
- loggingProperties.store( new FileOutputStream( logFile ), "logging" );
-
- Commandline cl = new Commandline();
-
- cl.setExecutable( "java" );
-
- StringBuffer cpBuffer = new StringBuffer();
-
- cpBuffer.append( classes.getAbsolutePath() );
-
- for ( Iterator it = getClassPathElements().iterator(); it.hasNext(); )
- {
- cpBuffer.append( File.pathSeparator );
-
- cpBuffer.append( it.next() );
- }
-
- File enhancerJar = getDependencyFile( "jpox", "jpox-enhancer" );
- cpBuffer.append( File.pathSeparator + enhancerJar.getAbsolutePath() );
- File bcelJar = getDependencyFile( "org.apache.bcel", "bcel" );
- cpBuffer.append( File.pathSeparator + bcelJar.getAbsolutePath() );
-
- cl.createArgument().setValue( "-cp" );
-
- cl.createArgument().setValue( cpBuffer.toString() );
-
- cl.createArgument().setValue( "-Dlog4j.configuration=" + logFile.toURL() );
-
- cl.createArgument().setValue( "org.jpox.enhancer.JPOXEnhancer" );
-
- cl.createArgument().setValue( "-v" );
-
- for ( Iterator i = FileUtils.getFiles( classes, "**/*.jdo", null ).iterator(); i.hasNext(); )
- {
- cl.createArgument().setFile( (File) i.next() );
- }
-
- CommandLineUtils.StringStreamConsumer stdout = new CommandLineUtils.StringStreamConsumer();
-
- CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
-
- System.out.println( cl );
- int exitCode = CommandLineUtils.executeCommandLine( cl, stdout, stderr );
-
- String stream = stderr.getOutput();
-
- if ( stream.trim().length() > 0 )
- {
- System.err.println( stderr.getOutput() );
- }
-
- stream = stdout.getOutput();
-
- if ( stream.trim().length() > 0 )
- {
- System.out.println( stdout.getOutput() );
- }
-
- if ( exitCode != 0 )
- {
- throw new ModelloException( "The JPox enhancer tool exited with a non-null exit code." );
- }
- }
-
- protected void assertAttributeEquals( Document doc, String xpathToNode, String attributeKey, String expectedValue )
- {
- if ( expectedValue == null )
- {
- throw new AssertionFailedError( "Unable to assert an attribute using a null expected value." );
- }
-
- Attribute attribute = findAttribute( doc, xpathToNode, attributeKey );
-
- if ( attribute == null )
- {
- throw new AssertionFailedError( "Element at '" + xpathToNode + "' is missing the '" + attributeKey
- + "' attribute." );
- }
-
- assertEquals( "Attribute value for '" + xpathToNode + "'", expectedValue, attribute.getValue() );
- }
-
- protected void assertElementExists( Document doc, String xpathToNode )
- {
- findElement( doc, xpathToNode );
- }
-
- protected void assertElementNotExists( Document doc, String xpathToNode )
- {
- if ( StringUtils.isEmpty( xpathToNode ) )
- {
- throw new AssertionFailedError( "Unable to assert an attribute using an empty xpath." );
- }
-
- if ( doc == null )
- {
- throw new AssertionFailedError( "Unable to assert an attribute using a null document." );
- }
-
- XPath xpath = doc.createXPath( xpathToNode );
-
- Node node = xpath.selectSingleNode( doc );
-
- if ( node != null )
- {
- throw new AssertionFailedError( "Element at '" + xpathToNode + "' should not exist." );
- }
-
- // In case node returns something other than an element.
- }
-
- private Element findElement( Document doc, String xpathToNode )
- {
- if ( StringUtils.isEmpty( xpathToNode ) )
- {
- throw new AssertionFailedError( "Unable to assert an attribute using an empty xpath." );
- }
-
- if ( doc == null )
- {
- throw new AssertionFailedError( "Unable to assert an attribute using a null document." );
- }
-
- XPath xpath = doc.createXPath( xpathToNode );
-
- Node node = xpath.selectSingleNode( doc );
-
- if ( node == null )
- {
- throw new AssertionFailedError( "Expected Node at '" + xpathToNode + "', but was not found." );
- }
-
- if ( node.getNodeType() != Node.ELEMENT_NODE )
- {
- throw new AssertionFailedError( "Node at '" + xpathToNode + "' is not an xml element." );
- }
-
- return (Element) node;
- }
-
- private Attribute findAttribute( Document doc, String xpathToNode, String attributeKey ) throws AssertionFailedError
- {
- if ( StringUtils.isEmpty( attributeKey ) )
- {
- throw new AssertionFailedError( "Unable to assert an attribute using an empty attribute key." );
- }
-
- Element elem = findElement( doc, xpathToNode );
-
- Attribute attribute = elem.attribute( attributeKey );
- return attribute;
- }
-
- protected void assertAttributeMissing( Document doc, String xpathToNode, String attributeKey )
- {
- Attribute attribute = findAttribute( doc, xpathToNode, attributeKey );
-
- if ( attribute != null )
- {
- throw new AssertionFailedError( "Node at '" + xpathToNode + "' should not have the attribute named '"
- + attributeKey + "'." );
- }
- }
-
- protected void assertNoTextNodes( Document doc, String xpathToParentNode, boolean recursive )
- {
- if ( StringUtils.isEmpty( xpathToParentNode ) )
- {
- throw new AssertionFailedError( "Unable to assert an attribute using an empty xpath." );
- }
-
- if ( doc == null )
- {
- throw new AssertionFailedError( "Unable to assert an attribute using a null document." );
- }
-
- XPath xpath = doc.createXPath( xpathToParentNode );
-
- List nodes = xpath.selectNodes( doc );
-
- if ( ( nodes == null ) || nodes.isEmpty() )
- {
- throw new AssertionFailedError( "Expected Node(s) at '" + xpathToParentNode + "', but was not found." );
- }
-
- Iterator it = nodes.iterator();
- while ( it.hasNext() )
- {
- Node node = (Node) it.next();
-
- assertNoTextNode( "No Text should exist in '" + xpathToParentNode + "'", node, recursive );
- }
- }
-
- private boolean assertNoTextNode( String message, Node node, boolean recursive )
- {
- if ( node.getNodeType() == Node.TEXT_NODE || node.getNodeType() == Node.CDATA_SECTION_NODE )
- {
- // Double check that it isn't just whitespace.
- String text = StringUtils.trim( node.getText() );
-
- if ( StringUtils.isNotEmpty( text ) )
- {
- throw new AssertionFailedError( message + " found <" + text + ">" );
- }
- }
-
- if ( recursive )
- {
- if ( node instanceof Branch )
- {
- Iterator it = ( (Branch) node ).nodeIterator();
- while ( it.hasNext() )
- {
- Node child = (Node) it.next();
- assertNoTextNode( message, child, recursive );
- }
- }
- }
-
- return false;
- }
-}
diff --git a/modello-plugin-jpox/src/test/java/org/apache/archiva/redback/components/modello/jpox/JPoxJdoMappingModelloGeneratorPrefixedTest.java b/modello-plugin-jpox/src/test/java/org/apache/archiva/redback/components/modello/jpox/JPoxJdoMappingModelloGeneratorPrefixedTest.java
deleted file mode 100644
index e8b862d..0000000
--- a/modello-plugin-jpox/src/test/java/org/apache/archiva/redback/components/modello/jpox/JPoxJdoMappingModelloGeneratorPrefixedTest.java
+++ /dev/null
@@ -1,107 +0,0 @@
-package org.apache.archiva.redback.components.modello.jpox;
-
-/*
- * 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.
- */
-
-import org.codehaus.modello.ModelloParameterConstants;
-import org.codehaus.modello.core.ModelloCore;
-import org.codehaus.modello.model.Model;
-import org.codehaus.plexus.util.ReaderFactory;
-import org.dom4j.Document;
-import org.dom4j.io.SAXReader;
-
-import java.io.File;
-import java.util.Properties;
-
-/**
- * @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl</a>
- * @version $Id: JPoxJdoMappingModelloGeneratorPrefixedTest.java 840 2007-07-17 18:50:39Z hboutemy $
- */
-public class JPoxJdoMappingModelloGeneratorPrefixedTest extends AbstractJpoxGeneratorTestCase
-{
- public JPoxJdoMappingModelloGeneratorPrefixedTest()
- {
- super( "jpox-jdo-mapping" );
- }
-
- public void testInvocationWithPrefixes() throws Exception
- {
- ModelloCore core = (ModelloCore) lookup( ModelloCore.ROLE );
-
- Model model = core.loadModel( ReaderFactory.newXmlReader( getTestFile( "src/test/resources/test-with-prefixes.mdo" ) ) );
-
- // ----------------------------------------------------------------------
- // Generate the code
- // ----------------------------------------------------------------------
-
- Properties parameters = new Properties();
-
- parameters.setProperty( ModelloParameterConstants.OUTPUT_DIRECTORY, getOutputDirectory().getAbsolutePath() );
-
- parameters.setProperty( ModelloParameterConstants.VERSION, "1.0.0" );
-
- parameters.setProperty( ModelloParameterConstants.PACKAGE_WITH_VERSION, Boolean.FALSE.toString() );
-
- core.generate( model, "jpox-jdo-mapping", parameters );
-
- // ----------------------------------------------------------------------
- // Assert
- // ----------------------------------------------------------------------
-
- assertGeneratedFileExists( "package.jdo" );
-
- SAXReader reader = new SAXReader();
- reader.setEntityResolver( new JdoEntityResolver() );
- Document jdoDocument = reader.read( new File( getOutputDirectory() + "/package.jdo" ) );
-
- assertNotNull( jdoDocument );
-
- // Tree should consist of only elements with attributes. NO TEXT.
- assertNoTextNodes( jdoDocument, "//jdo", true );
-
- assertAttributeEquals( jdoDocument,
- "//class[@name='RbacJdoModelModelloMetadata']/field[@name='modelVersion']/column",
- "default-value", "1.0.0" );
-
- assertAttributeEquals( jdoDocument, "//class[@name='JdoResource']/field[@name='modelEncoding']", "persistence-modifier",
- "none" );
-
- // -----------------------------------------------------------------------
- // Association Tests.
-
- // mdo/association/jpox.dependent-element == false (only on association with "*" multiplicity (default type)
- assertAttributeEquals( jdoDocument, "//class[@name='JdoRole']/field[@name='permissions']/collection",
- "dependent-element", "false" );
-
- // mdo/association (default type) with "1" multiplicity.
- assertElementNotExists( jdoDocument, "//class[@name='JdoPermission']/field[@name='operation']/collection" );
-
- // -----------------------------------------------------------------------
- // Fetch Group Tests
- assertAttributeMissing( jdoDocument, "//class[@name='JdoRole']/field[@name='assignable']", "default-fetch-group" );
- assertAttributeEquals( jdoDocument, "//class[@name='JdoRole']/field[@name='childRoleNames']",
- "default-fetch-group", "true" );
-
- // -----------------------------------------------------------------------
- // Alternate Table and Column Names Tests.
- assertAttributeEquals( jdoDocument, "//class[@name='JdoPermission']", "table", "SECURITY_PERMISSIONS" );
- assertAttributeEquals( jdoDocument, "//class[@name='JdoOperation']/field[@name='name']/column", "name", "OPERATION_NAME" );
- assertAttributeEquals( jdoDocument, "//class[@name='JdoRole']/field[@name='permissions']", "table", "SECURITY_ROLE_PERMISSION_MAP" );
- }
-}
diff --git a/modello-plugin-jpox/src/test/java/org/apache/archiva/redback/components/modello/jpox/JPoxJdoMappingModelloGeneratorTest.java b/modello-plugin-jpox/src/test/java/org/apache/archiva/redback/components/modello/jpox/JPoxJdoMappingModelloGeneratorTest.java
deleted file mode 100644
index 95bf616..0000000
--- a/modello-plugin-jpox/src/test/java/org/apache/archiva/redback/components/modello/jpox/JPoxJdoMappingModelloGeneratorTest.java
+++ /dev/null
@@ -1,149 +0,0 @@
-package org.apache.archiva.redback.components.modello.jpox;
-
-/*
- * 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.
- */
-
-import org.codehaus.modello.ModelloParameterConstants;
-import org.codehaus.modello.core.ModelloCore;
-import org.codehaus.modello.model.Model;
-import org.codehaus.plexus.util.ReaderFactory;
-import org.dom4j.Document;
-import org.dom4j.io.SAXReader;
-
-import java.io.File;
-import java.util.Properties;
-
-
-/**
- * @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl</a>
- * @version $Id: JPoxJdoMappingModelloGeneratorTest.java 840 2007-07-17 18:50:39Z hboutemy $
- */
-public class JPoxJdoMappingModelloGeneratorTest
- extends AbstractJpoxGeneratorTestCase
-{
- public JPoxJdoMappingModelloGeneratorTest()
- {
- super( "jpox-jdo-mapping" );
- }
-
- public void testSimpleInvocation()
- throws Exception
- {
- ModelloCore core = (ModelloCore) lookup( ModelloCore.ROLE );
-
- Model model =
- core.loadModel( ReaderFactory.newXmlReader( getTestFile( "src/test/resources/mergere-tissue.mdo" ) ) );
-
- // ----------------------------------------------------------------------
- // Generate the code
- // ----------------------------------------------------------------------
-
- Properties parameters = new Properties();
-
- parameters.setProperty( ModelloParameterConstants.OUTPUT_DIRECTORY, getOutputDirectory().getAbsolutePath() );
-
- parameters.setProperty( ModelloParameterConstants.VERSION, "1.0.0" );
-
- parameters.setProperty( ModelloParameterConstants.PACKAGE_WITH_VERSION, Boolean.FALSE.toString() );
-
- core.generate( model, "jpox-jdo-mapping", parameters );
-
- // ----------------------------------------------------------------------
- // Assert
- // ----------------------------------------------------------------------
-
- assertTrue( new File( getOutputDirectory(), "package.jdo" ).exists() );
-
- //assertGeneratedFileExists( "package.jdo" );
-
- SAXReader reader = new SAXReader();
- reader.setEntityResolver( new JdoEntityResolver() );
- Document jdoDocument = reader.read( new File( getOutputDirectory() + "/package.jdo" ) );
-
- assertNotNull( jdoDocument );
-
- // Tree should consist of only elements with attributes. NO TEXT.
- assertNoTextNodes( jdoDocument, "//jdo", true );
-
- assertAttributeEquals( jdoDocument, "//class[@name='TissueModelloMetadata']/field[@name='modelVersion']/column",
- "default-value", "1.0.0" );
-
- assertAttributeEquals( jdoDocument, "//class[@name='Issue']/field[@name='summary']", "persistence-modifier",
- "none" );
-
- // -----------------------------------------------------------------------
- // Association Tests.
-
- // mdo/association/jpox.dependent-element == false (only on association with "*" multiplicity (default type)
- assertAttributeEquals( jdoDocument, "//class[@name='Issue']/field[@name='friends']/collection",
- "dependent-element", "false" );
-
- // mdo/association (default type) with "1" multiplicity.
- assertElementNotExists( jdoDocument, "//class[@name='Issue']/field[@name='assignee']/collection" );
-
- // mdo/association (map) with "*" multiplicity.
- assertElementExists( jdoDocument, "//class[@name='Issue']/field[@name='configuration']/map" );
-
- // -----------------------------------------------------------------------
- // Fetch Group Tests
- assertAttributeMissing( jdoDocument, "//class[@name='Issue']/field[@name='reporter']", "default-fetch-group" );
- assertAttributeEquals( jdoDocument, "//class[@name='Issue']/field[@name='configuration']",
- "default-fetch-group", "true" );
- assertAttributeEquals( jdoDocument, "//class[@name='Issue']/field[@name='assignee']", "default-fetch-group",
- "false" );
-
- // -----------------------------------------------------------------------
- // Value Strategy Tests
- // defaulted
- assertAttributeEquals( jdoDocument, "//class[@name='ComplexIdentity']/field[@name='id']", "value-strategy",
- "native" );
- assertAttributeEquals( jdoDocument, "//class[@name='Issue']/field[@name='accountId']", "value-strategy",
- "native" );
- // intentionally unset
- assertAttributeMissing( jdoDocument, "//class[@name='User']/field[@name='id']", "value-strategy" );
-
- // -----------------------------------------------------------------------
- // Superclass Tests
- assertAttributeEquals( jdoDocument, "//class[@name='User']", "persistence-capable-superclass",
- "org.mergere.user.AbstractUser" );
-
- // -----------------------------------------------------------------------
- // Primary Key Tests
- assertAttributeEquals( jdoDocument, "//class[@name='Issue']/field[@name='accountId']", "primary-key", "true" );
- assertAttributeEquals( jdoDocument, "//class[@name='Issue']/field[@name='summary']", "primary-key", "false" );
-
- assertAttributeEquals( jdoDocument, "//class[@name='ComplexIdentity']/field[@name='id']", "primary-key",
- "true" );
- assertAttributeEquals( jdoDocument, "//class[@name='ComplexIdentity']/field[@name='username']", "primary-key",
- "false" );
- assertAttributeEquals( jdoDocument, "//class[@name='ComplexIdentity']/field[@name='fullName']", "primary-key",
- "false" );
- assertAttributeEquals( jdoDocument, "//class[@name='ComplexIdentity']/field[@name='email']", "primary-key",
- "false" );
- assertAttributeEquals( jdoDocument, "//class[@name='ComplexIdentity']/field[@name='locked']", "primary-key",
- "false" );
- assertAttributeEquals( jdoDocument, "//class[@name='ComplexIdentity']/field[@name='lastLoginDate']",
- "primary-key", "false" );
-
- // -----------------------------------------------------------------------
- // Alternate Table and Column Names Tests.
- assertAttributeEquals( jdoDocument, "//class[@name='DifferentTable']", "table", "MyTable" );
- assertAttributeEquals( jdoDocument, "//class[@name='Issue']/field[@name='accountId']/column", "name", "id" );
- }
-}
diff --git a/modello-plugin-jpox/src/test/java/org/apache/archiva/redback/components/modello/jpox/JPoxMetadataClassModelloGeneratorTest.java b/modello-plugin-jpox/src/test/java/org/apache/archiva/redback/components/modello/jpox/JPoxMetadataClassModelloGeneratorTest.java
deleted file mode 100644
index 2cca24d..0000000
--- a/modello-plugin-jpox/src/test/java/org/apache/archiva/redback/components/modello/jpox/JPoxMetadataClassModelloGeneratorTest.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package org.apache.archiva.redback.components.modello.jpox;
-
-/*
- * 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.
- */
-
-import org.codehaus.modello.AbstractModelloGeneratorTest;
-import org.codehaus.modello.AbstractModelloJavaGeneratorTest;
-import org.codehaus.modello.ModelloParameterConstants;
-import org.codehaus.modello.core.ModelloCore;
-import org.codehaus.modello.model.Model;
-import org.codehaus.plexus.util.ReaderFactory;
-
-import java.util.Properties;
-
-/**
- * @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl</a>
- * @version $Id: JPoxStoreModelloGeneratorTest.java 699 2006-11-23 03:37:55Z brett $
- */
-public class JPoxMetadataClassModelloGeneratorTest
- extends AbstractModelloJavaGeneratorTest
-{
- public JPoxMetadataClassModelloGeneratorTest()
- {
- super( "jpox-metadata-class" );
- }
-
- public void testSimpleInvocation()
- throws Exception
- {
- ModelloCore core = (ModelloCore) lookup( ModelloCore.ROLE );
-
- Model model = core.loadModel( ReaderFactory.newXmlReader( getTestFile( "src/test/resources/mergere-tissue.mdo" ) ) );
-
- // ----------------------------------------------------------------------
- // Generate the code
- // ----------------------------------------------------------------------
-
- Properties parameters = new Properties();
-
- parameters.setProperty( ModelloParameterConstants.OUTPUT_DIRECTORY, getOutputDirectory().getAbsolutePath() );
-
- parameters.setProperty( ModelloParameterConstants.VERSION, "1.0.0" );
-
- parameters.setProperty( ModelloParameterConstants.PACKAGE_WITH_VERSION, Boolean.FALSE.toString() );
-
- core.generate( model, "jpox-metadata-class", parameters );
-
- // ----------------------------------------------------------------------
- // Assert
- // ----------------------------------------------------------------------
-
- assertGeneratedFileExists( "org/mergere/tissue/TissueModelloMetadata.java" );
- }
-}
diff --git a/modello-plugin-jpox/src/test/java/org/apache/archiva/redback/components/modello/jpox/JPoxStoreModelloGeneratorTest.java b/modello-plugin-jpox/src/test/java/org/apache/archiva/redback/components/modello/jpox/JPoxStoreModelloGeneratorTest.java
deleted file mode 100644
index a2930d2..0000000
--- a/modello-plugin-jpox/src/test/java/org/apache/archiva/redback/components/modello/jpox/JPoxStoreModelloGeneratorTest.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package org.apache.archiva.redback.components.modello.jpox;
-
-/*
- * 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.
- */
-
-import org.codehaus.modello.AbstractModelloGeneratorTest;
-import org.codehaus.modello.AbstractModelloJavaGeneratorTest;
-import org.codehaus.modello.ModelloParameterConstants;
-import org.codehaus.modello.core.ModelloCore;
-import org.codehaus.modello.model.Model;
-import org.codehaus.plexus.util.ReaderFactory;
-
-import java.util.Properties;
-
-/**
- * @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl</a>
- * @version $Id: JPoxStoreModelloGeneratorTest.java 840 2007-07-17 18:50:39Z hboutemy $
- */
-public class JPoxStoreModelloGeneratorTest
- extends AbstractModelloJavaGeneratorTest
-{
- public JPoxStoreModelloGeneratorTest()
- {
- super( "jpox-store" );
- }
-
- public void testSimpleInvocation()
- throws Exception
- {
- ModelloCore core = (ModelloCore) lookup( ModelloCore.ROLE );
-
- Model model = core.loadModel( ReaderFactory.newXmlReader( getTestFile( "src/test/resources/mergere-tissue.mdo" ) ) );
-
- // ----------------------------------------------------------------------
- // Generate the code
- // ----------------------------------------------------------------------
-
- Properties parameters = new Properties();
-
- parameters.setProperty( ModelloParameterConstants.OUTPUT_DIRECTORY, getOutputDirectory().getAbsolutePath() );
-
- parameters.setProperty( ModelloParameterConstants.VERSION, "1.0.0" );
-
- parameters.setProperty( ModelloParameterConstants.PACKAGE_WITH_VERSION, Boolean.FALSE.toString() );
-
- core.generate( model, "jpox-store", parameters );
-
- // ----------------------------------------------------------------------
- // Assert
- // ----------------------------------------------------------------------
-
- assertGeneratedFileExists( "org/mergere/tissue/TissueJPoxStore.java" );
- }
-}
diff --git a/modello-plugin-jpox/src/test/java/org/apache/archiva/redback/components/modello/jpox/JdoEntityResolver.java b/modello-plugin-jpox/src/test/java/org/apache/archiva/redback/components/modello/jpox/JdoEntityResolver.java
deleted file mode 100644
index 434f622..0000000
--- a/modello-plugin-jpox/src/test/java/org/apache/archiva/redback/components/modello/jpox/JdoEntityResolver.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package org.apache.archiva.redback.components.modello.jpox;
-
-/*
- * 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.
- */
-
-import org.xml.sax.EntityResolver;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * JdoEntityResolver
- *
- * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
- * @version $Id: JdoEntityResolver.java 614 2006-09-06 14:26:11Z joakime $
- */
-public class JdoEntityResolver
- implements EntityResolver
-{
- private static final Map PUBLICID_TO_RESOURCE_MAP;
-
- static
- {
- PUBLICID_TO_RESOURCE_MAP = new HashMap();
-
- PUBLICID_TO_RESOURCE_MAP.put( "-//Sun Microsystems, Inc.//DTD Java Data Objects Metadata 1.0//EN",
- "/jdo_1_0.dtd" );
- PUBLICID_TO_RESOURCE_MAP.put( "-//Sun Microsystems, Inc.//DTD Java Data Objects Metadata 2.0//EN",
- "/jdo_2_0.dtd" );
- }
-
- public InputSource resolveEntity( String publicId, String systemId )
- throws SAXException, IOException
- {
- if ( PUBLICID_TO_RESOURCE_MAP.containsKey( publicId ) )
- {
- URL url = this.getClass().getResource( (String) PUBLICID_TO_RESOURCE_MAP.get( publicId ) );
- return new InputSource( url.openStream() );
- }
-
- return null;
- }
-
-}
diff --git a/modello-plugin-jpox/src/test/java/org/apache/archiva/redback/components/modello/jpox/JpoxDeleteModelTest.java b/modello-plugin-jpox/src/test/java/org/apache/archiva/redback/components/modello/jpox/JpoxDeleteModelTest.java
deleted file mode 100644
index a5be4cd..0000000
--- a/modello-plugin-jpox/src/test/java/org/apache/archiva/redback/components/modello/jpox/JpoxDeleteModelTest.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package org.apache.archiva.redback.components.modello.jpox;
-
-/*
- * 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.
- */
-
-import org.codehaus.modello.model.Model;
-import org.codehaus.modello.model.ModelClass;
-import org.codehaus.modello.model.Version;
-import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
-import org.codehaus.plexus.util.ReaderFactory;
-
-import java.util.List;
-
-/**
- * @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl</a>
- * @author <a href="mailto:evenisse@codehaus.org">Emmanuel Venisse</a>
- * @version $Id: StaxGeneratorTest.java 675 2006-11-16 10:58:59Z brett $
- */
-public class JpoxDeleteModelTest
- extends AbstractJpoxGeneratorTestCase
-{
- public JpoxDeleteModelTest()
- throws ComponentLookupException
- {
- super( "jpox-delete-model" );
- }
-
- public void testJpoxReaderVersionInField()
- throws Throwable
- {
- if ( true )
- {
- return;
- }
-
- Model model = modello.loadModel( ReaderFactory.newXmlReader( getTestFile( "src/test/resources/test.mdo" ) ) );
-
- List classesList = model.getClasses( new Version( "1.0.0" ) );
-
- assertEquals( 5, classesList.size() );
-
- ModelClass clazz = (ModelClass) classesList.get( 0 );
-
- assertEquals( "JdoRole", clazz.getName() );
-
- verifyModel( model, "org.codehaus.modello.plugin.jpox.JpoxVerifierDeleteModel" );
- }
-
-}
diff --git a/modello-plugin-jpox/src/test/java/org/apache/archiva/redback/components/modello/jpox/JpoxVersionTest.java b/modello-plugin-jpox/src/test/java/org/apache/archiva/redback/components/modello/jpox/JpoxVersionTest.java
deleted file mode 100644
index cfe6031..0000000
--- a/modello-plugin-jpox/src/test/java/org/apache/archiva/redback/components/modello/jpox/JpoxVersionTest.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.apache.archiva.redback.components.modello.jpox;
-
-/*
- * 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.
- */
-
-import org.codehaus.modello.model.Model;
-import org.codehaus.modello.model.ModelClass;
-import org.codehaus.modello.model.Version;
-import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
-import org.codehaus.plexus.util.ReaderFactory;
-
-import java.util.List;
-
-/**
- * @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl</a>
- * @author <a href="mailto:evenisse@codehaus.org">Emmanuel Venisse</a>
- * @version $Id: StaxGeneratorTest.java 675 2006-11-16 10:58:59Z brett $
- */
-public class JpoxVersionTest
- extends AbstractJpoxGeneratorTestCase
-{
- public JpoxVersionTest()
- throws ComponentLookupException
- {
- super( "jpox-version" );
- }
-
- public void testJpoxReaderVersionInField()
- throws Throwable
- {
-
- if ( true )
- {
- return;
- }
-
- Model model =
- modello.loadModel( ReaderFactory.newXmlReader( getTestFile( "src/test/resources/test.mdo" ) ) );
-
- List classesList = model.getClasses( new Version( "1.0.0" ) );
-
- assertEquals( 5, classesList.size() );
-
- ModelClass clazz = (ModelClass) classesList.get( 0 );
-
- assertEquals( "JdoRole", clazz.getName() );
-
- verifyModel( model, "org.codehaus.modello.plugin.jpox.JpoxVerifierVersion" );
- }
-
-}
diff --git a/modello-plugin-jpox/src/test/resources/jdo_1_0.dtd b/modello-plugin-jpox/src/test/resources/jdo_1_0.dtd
deleted file mode 100644
index a89b16d..0000000
--- a/modello-plugin-jpox/src/test/resources/jdo_1_0.dtd
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-
-Copyright (c) 2002 Sun Microsystems, Inc.,
-901 San Antonio Road,
-Palo Alto, California 94303, U.S.A.
-All rights reserved.
-
-This is the DTD defining the Java Data Objects 1.0 metadata.
-
-The metadata must declare all persistence-capable classes. If any
-field declarations are not provided in the metadata, then field
-metadata is defaulted for the missing field declarations.
-Therefore, the JDO implementation is able to determine based on the
-metadata whether a class is persistence-capable or not.
-Any class not known to be persistence-capable by the JDO
-specification (for example, java.lang.Integer) and not explicitly
-named in the metadata is not persistence-capable.
-
-The metadata associated with each persistence capable class must
-be contained within a file, and its format is as defined in the DTD.
-If the metadata is for only one class, then its file name should be
-<class-name>.jdo. If the metadata is for a package, then its file name
-should be <package-name>.jdo. For portability, files should be
-available via resources loaded by the same class loader as the class.
-These rules apply both to enhancement and to runtime.
-
-The metadata is used both at enhancement time and at runtime.
-Information required at enhancement time is a subset of the information
-needed at runtime.
-
- Use is subject to license terms.
--->
-
-<!NOTATION JDO.1_0 PUBLIC
- "-//Sun Microsystems, Inc.//DTD Java Data Objects Metadata 1.0//EN">
-<!--
-This is the XML DTD for the JDO 1.0 Metadata.
-All JDO 1.0 metadata descriptors must include a DOCTYPE
-of the following form:
-
- <!DOCTYPE jdo
- PUBLIC "-//Sun Microsystems, Inc.//DTD Java Data Objects Metadata 1.0//EN"
- "http://java.sun.com/dtd/jdo_1_0.dtd">
-
--->
-
-<!ELEMENT jdo ((package)+, (extension)*)>
-
-<!ELEMENT package ((class)+, (extension)*)>
-<!ATTLIST package name CDATA #REQUIRED>
-
-<!ELEMENT class (field|extension)*>
-<!ATTLIST class name CDATA #REQUIRED>
-<!ATTLIST class identity-type (application|datastore|nondurable) #IMPLIED>
-<!ATTLIST class objectid-class CDATA #IMPLIED>
-<!ATTLIST class requires-extent (true|false) 'true'>
-<!ATTLIST class persistence-capable-superclass CDATA #IMPLIED>
-
-<!ELEMENT field ((collection|map|array)?, (extension)*)?>
-<!ATTLIST field name CDATA #REQUIRED>
-<!ATTLIST field persistence-modifier (persistent|transactional|none) #IMPLIED>
-<!ATTLIST field primary-key (true|false) 'false'>
-<!ATTLIST field null-value (exception|default|none) 'none'>
-<!ATTLIST field default-fetch-group (true|false) #IMPLIED>
-<!ATTLIST field embedded (true|false) #IMPLIED>
-
-<!ELEMENT collection (extension)*>
-<!ATTLIST collection element-type CDATA #IMPLIED>
-<!ATTLIST collection embedded-element (true|false) #IMPLIED>
-
-<!ELEMENT map (extension)*>
-<!ATTLIST map key-type CDATA #IMPLIED>
-<!ATTLIST map embedded-key (true|false) #IMPLIED>
-<!ATTLIST map value-type CDATA #IMPLIED>
-<!ATTLIST map embedded-value (true|false) #IMPLIED>
-
-<!ELEMENT array (extension)*>
-<!ATTLIST array embedded-element (true|false) #IMPLIED>
-
-<!ELEMENT extension (extension)*>
-<!ATTLIST extension vendor-name CDATA #REQUIRED>
-<!ATTLIST extension key CDATA #IMPLIED>
-<!ATTLIST extension value CDATA #IMPLIED>
-
diff --git a/modello-plugin-jpox/src/test/resources/jdo_2_0.dtd b/modello-plugin-jpox/src/test/resources/jdo_2_0.dtd
deleted file mode 100644
index 9bd811a..0000000
--- a/modello-plugin-jpox/src/test/resources/jdo_2_0.dtd
+++ /dev/null
@@ -1,227 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- The DOCTYPE should be as follows for metadata documents.
-<!DOCTYPE jdo
- PUBLIC "-//Sun Microsystems, Inc.//DTD Java Data Objects Metadata 2.0//EN"
- "http://java.sun.com/dtd/jdo_2_0.dtd">
--->
-<!ELEMENT jdo (extension*, (package|query)+, extension*)>
-<!ATTLIST jdo catalog CDATA #IMPLIED>
-<!ATTLIST jdo schema CDATA #IMPLIED>
-
-<!ELEMENT package (extension*, (interface|class|sequence)+, extension*)>
-<!ATTLIST package name CDATA ''>
-<!ATTLIST package catalog CDATA #IMPLIED>
-<!ATTLIST package schema CDATA #IMPLIED>
-
-<!ELEMENT interface (extension*, datastore-identity?, primary-key?, inheritance?, version?, join*, foreign-key*, index*, unique*, property*, query*, fetch-group*, extension*)>
-<!ATTLIST interface name CDATA #REQUIRED>
-<!ATTLIST interface table CDATA #IMPLIED>
-<!ATTLIST interface identity-type (datastore|application|nondurable) #IMPLIED>
-<!ATTLIST interface objectid-class CDATA #IMPLIED>
-<!ATTLIST interface requires-extent (true|false) 'true'>
-<!ATTLIST interface detachable (true|false) 'false'>
-<!ATTLIST interface embedded-only (true|false) #IMPLIED>
-<!ATTLIST interface catalog CDATA #IMPLIED>
-<!ATTLIST interface schema CDATA #IMPLIED>
-
-<!ELEMENT property (extension*, (array|collection|map)?, join?, embedded?, element?, key?, value?, order?, column*, foreign-key?, index?, unique?, extension*)>
-<!ATTLIST property name CDATA #REQUIRED>
-<!ATTLIST property persistence-modifier (persistent|transactional|none) #IMPLIED>
-<!ATTLIST property default-fetch-group (true|false) #IMPLIED>
-<!ATTLIST property load-fetch-group CDATA #IMPLIED>
-<!ATTLIST property null-value (default|exception|none) 'none'>
-<!ATTLIST property dependent (true|false) #IMPLIED>
-<!ATTLIST property embedded (true|false) #IMPLIED>
-<!ATTLIST property primary-key (true|false) 'false'>
-<!ATTLIST property value-strategy CDATA #IMPLIED>
-<!ATTLIST property sequence CDATA #IMPLIED>
-<!ATTLIST property serialized (true|false) #IMPLIED>
-<!ATTLIST property field-type CDATA #IMPLIED>
-<!ATTLIST property table CDATA #IMPLIED>
-<!ATTLIST property column CDATA #IMPLIED>
-<!ATTLIST property delete-action (restrict|cascade|null|default|none) #IMPLIED>
-<!ATTLIST property indexed (true|false|unique) #IMPLIED>
-<!ATTLIST property unique (true|false) #IMPLIED>
-<!ATTLIST property mapped-by CDATA #IMPLIED>
-<!ATTLIST property recursion-depth CDATA #IMPLIED>
-<!ATTLIST property field-name CDATA #IMPLIED>
-
-<!ELEMENT class (extension*, implements*, datastore-identity?, primary-key?, inheritance?, version?, join*, foreign-key*, index*, unique*, column*, field*, property*, query*, fetch-group*, extension*)>
-<!ATTLIST class name CDATA #REQUIRED>
-<!ATTLIST class identity-type (application|datastore|nondurable) #IMPLIED>
-<!ATTLIST class objectid-class CDATA #IMPLIED>
-<!ATTLIST class table CDATA #IMPLIED>
-<!ATTLIST class requires-extent (true|false) 'true'>
-<!ATTLIST class persistence-capable-superclass CDATA #IMPLIED>
-<!ATTLIST class detachable (true|false) 'false'>
-<!ATTLIST class embedded-only (true|false) #IMPLIED>
-<!ATTLIST class persistence-modifier (persistence-capable|persistence-aware|non-persistent) #IMPLIED>
-<!ATTLIST class catalog CDATA #IMPLIED>
-<!ATTLIST class schema CDATA #IMPLIED>
-
-<!ELEMENT primary-key (extension*, column*, extension*)>
-<!ATTLIST primary-key name CDATA #IMPLIED>
-<!ATTLIST primary-key column CDATA #IMPLIED>
-
-<!ELEMENT join (extension*, primary-key?, column*, foreign-key?, index?, unique?, extension*)>
-<!ATTLIST join table CDATA #IMPLIED>
-<!ATTLIST join column CDATA #IMPLIED>
-<!ATTLIST join outer (true|false) 'false'>
-<!ATTLIST join delete-action (restrict|cascade|null|default|none) #IMPLIED>
-<!ATTLIST join indexed (true|false|unique) #IMPLIED>
-<!ATTLIST join unique (true|false) #IMPLIED>
-
-<!ELEMENT version (extension*, column*, index?, extension*)>
-<!ATTLIST version strategy CDATA #IMPLIED>
-<!ATTLIST version column CDATA #IMPLIED>
-<!ATTLIST version indexed (true|false|unique) #IMPLIED>
-
-<!ELEMENT datastore-identity (extension*, column*, extension*)>
-<!ATTLIST datastore-identity column CDATA #IMPLIED>
-<!ATTLIST datastore-identity strategy CDATA 'native'>
-<!ATTLIST datastore-identity sequence CDATA #IMPLIED>
-
-<!ELEMENT implements (extension*, property*, extension*)>
-<!ATTLIST implements name CDATA #REQUIRED>
-
-<!ELEMENT inheritance (extension*, join?, discriminator?, extension*)>
-<!ATTLIST inheritance strategy CDATA #IMPLIED>
-
-<!ELEMENT discriminator (extension*, column*, index?, extension*)>
-<!ATTLIST discriminator column CDATA #IMPLIED>
-<!ATTLIST discriminator value CDATA #IMPLIED>
-<!ATTLIST discriminator strategy CDATA #IMPLIED>
-<!ATTLIST discriminator indexed (true|false|unique) #IMPLIED>
-
-<!ELEMENT column (extension*)>
-<!ATTLIST column name CDATA #IMPLIED>
-<!ATTLIST column target CDATA #IMPLIED>
-<!ATTLIST column target-field CDATA #IMPLIED>
-<!ATTLIST column jdbc-type CDATA #IMPLIED>
-<!ATTLIST column sql-type CDATA #IMPLIED>
-<!ATTLIST column length CDATA #IMPLIED>
-<!ATTLIST column precision CDATA #IMPLIED>
-<!ATTLIST column scale CDATA #IMPLIED>
-<!ATTLIST column allows-null (true|false) #IMPLIED>
-<!ATTLIST column default-value CDATA #IMPLIED>
-<!ATTLIST column insert-value CDATA #IMPLIED>
-
-<!ELEMENT field (extension*, (array|collection|map)?, join?, embedded?, element?, key?, value?, order?, column*, foreign-key?, index?, unique?, extension*)>
-<!ATTLIST field name CDATA #REQUIRED>
-<!ATTLIST field persistence-modifier (persistent|transactional|none) #IMPLIED>
-<!ATTLIST field field-type CDATA #IMPLIED>
-<!ATTLIST field table CDATA #IMPLIED>
-<!ATTLIST field column CDATA #IMPLIED>
-<!ATTLIST field primary-key (true|false) 'false'>
-<!ATTLIST field null-value (exception|default|none) 'none'>
-<!ATTLIST field default-fetch-group (true|false) #IMPLIED>
-<!ATTLIST field embedded (true|false) #IMPLIED>
-<!ATTLIST field serialized (true|false) #IMPLIED>
-<!ATTLIST field dependent (true|false) #IMPLIED>
-<!ATTLIST field value-strategy CDATA #IMPLIED>
-<!ATTLIST field delete-action (restrict|cascade|null|default|none) #IMPLIED>
-<!ATTLIST field indexed (true|false|unique) #IMPLIED>
-<!ATTLIST field unique (true|false) #IMPLIED>
-<!ATTLIST field sequence CDATA #IMPLIED>
... 4075 lines suppressed ...