| <?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="hellojpa" default="run"> |
| <property name="example" value="reversemapping"/> |
| <import file="../build.xml"/> |
| |
| <!-- when we clean, also remove all of the auto-generated files --> |
| <target name="pre-clean" description="Pre-clean phase"> |
| <delete includeemptydirs="true"> |
| <fileset dir="${basedir}"> |
| <include name="orm.xml"/> |
| </fileset> |
| <fileset dir="${basedir}"> |
| <include name="*.java"/> |
| <include name="*.java~"/> |
| <contains text="Auto-generated by:"/> |
| </fileset> |
| </delete> |
| </target> |
| |
| <!-- |
| Before we compile and run, we first initialize a |
| database and run the reverse mapping tool on it |
| --> |
| <target name="pre-compile" depends="initialize-db,reverse-map-schema" |
| description="Pre-compilation phase"> |
| </target> |
| |
| <target name="initialize-db" unless="initialize-db-skip" |
| description="Drop then re-create the database"> |
| <!-- first make sure the database is empty --> |
| <sql src="schema/dropdb.sql" |
| driver="${dbdriver}" url="${dburl}" |
| userid="${dbuser}" password="${dbpass}" |
| onerror="continue" classpathref="classpath"/> |
| |
| <!-- build the database --> |
| <sql |
| driver="${dbdriver}" url="${dburl}" |
| userid="${dbuser}" password="${dbpass}" classpathref="classpath"> |
| <transaction src="schema/ToursDB_schema.sql"/> |
| <transaction src="schema/loadCOUNTRIES.sql"/> |
| <transaction src="schema/loadCITIES.sql"/> |
| <transaction src="schema/loadAIRLINES.sql"/> |
| <transaction src="schema/loadFLIGHTS1.sql"/> |
| <transaction src="schema/loadFLIGHTS2.sql"/> |
| <transaction src="schema/loadFLIGHTAVAILABILITY1.sql"/> |
| <transaction src="schema/loadFLIGHTAVAILABILITY2.sql"/> |
| </sql> |
| </target> |
| |
| <target name="reverse-map-schema" depends="initialize-db" |
| unless="reverse-map-schema-skip" |
| description="Generate java files from the database schema"> |
| <!-- now run the tool to generate java files from the db schema --> |
| <taskdef name="reversemappingtool" classpathref="classpath" |
| classname="org.apache.openjpa.jdbc.ant.ReverseMappingToolTask"/> |
| <reversemappingtool package="reversemapping" directory="${basedir}" |
| innerIdentityClasses="true" |
| customizerProperties="${basedir}/reverse-customizer.properties"> |
| <config connectiondrivername="${dbdriver}" connectionurl="${dburl}" |
| connectionusername="${dbuser}" connectionpassword="${dbpass}"/> |
| <codeformat tabSpaces="4" spaceBeforeParen="false" |
| braceOnSameLine="true"/> |
| </reversemappingtool> |
| |
| <!-- |
| the reverse mapping tool always outputs the orm.xml file to |
| the current directory; move it to the base directory in case |
| we are executing this build file from a different directory. |
| --> |
| <move file="${user.dir}/orm.xml" |
| tofile="${basedir}/orm.xml" failonerror="false"/> |
| </target> |
| </project> |