Subversion Repositories bacoAlunos

Rev

Rev 995 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping
       PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
       "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
    <class name="pt.estgp.estgweb.domain.Job" table="job" abstract="true">
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta>
        <meta attribute="scope-class">public abstract</meta>
        <id name="id" type="long">
            <generator class="native"/>
        </id>
        <discriminator column="discrimitator"/>
        <timestamp source="db"   name="updateDate" unsaved-value="null"/>
        <property name="saveDate" type="timestamp"/>
        <property name="startDate" type="timestamp" index="startDateIndex"/>
        <property name="description" type="string"/>
        <property name="executed" type="boolean"/>
        <many-to-one name="owner" class="pt.estgp.estgweb.domain.User" lazy="proxy" outer-join="true"/>
        <property name="jobHandler" type="java.io.Serializable">
            <column name="jobHandler" sql-type="LONGBLOB"/>
        </property>
        <subclass name="pt.estgp.estgweb.domain.JobImpl" discriminator-value="JobImpl">
            <subclass name="pt.estgp.estgweb.domain.JobServiceTask">
                <meta attribute="extends">pt.estgp.estgweb.domain.JobImpl</meta>
                <meta attribute="scope-class">public abstract</meta>
                <property name="serviceStartDate" type="timestamp"/>
                <property name="serviceLastUpdateDate" type="timestamp"/>
                <property name="serviceFinishDate" type="timestamp"/>

                <property name="serviceDescription" type="string"/>

                <!--String controled value: pending, started, finished, failed-->
                <property name="status" type="string"/>
                <property name="logFilePath" type="string"/>
                <property name="autoFlush" type="boolean"/>
                <property name="progress" type="integer"/> <!--0 to 100-->
                <property name="threadId" type="integer"/>
                <property name="requestStop" type="boolean"/>
                <!--Control Target Service Parameters-->
                <property name="targetService" type="string"/>
                <many-to-one name="createdBy" class="pt.estgp.estgweb.domain.User" lazy="false" outer-join="true"/>
                <set name="serviceTaskParameters"><!--lazy="true">-->
                    <key column="job_id"/>
                    <one-to-many class="pt.estgp.estgweb.domain.JobServiceTaskParameter"/>
                </set>
                <subclass name="pt.estgp.estgweb.domain.JobServiceTaskImpl" discriminator-value="JobServiceTaskImpl"/>
            </subclass>
        </subclass>
    </class>

    <class name="pt.estgp.estgweb.domain.JobServiceTaskScheduler" table="job_service_task_scheduler" abstract="true">
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta>
        <meta attribute="scope-class">public abstract</meta>
        <id name="id" type="long">
            <generator class="native"/>
        </id>
        <discriminator column="discrimitator"/>
        <timestamp source="db"   name="updateDate" unsaved-value="null"/>
        <property name="saveDate" type="timestamp"/>
        <property name="lastScheduleDate" type="timestamp"/>
        <property name="description" type="string"/>

        <!--ScheduleInformation-->
        <property name="now" type="boolean"/>
        <property name="daily" type="boolean"/>
        <property name="weekly" type="boolean"/>
        <property name="monthly" type="boolean"/>
        <property name="weekday" type="int"/>
        <property name="monthday" type="int"/>
        <property name="hour" type="int"/>
        <property name="minute" type="int"/>
        <property name="second" type="int"/>
        <property name="targetService" type="string"/>
        <many-to-one name="createdBy" class="pt.estgp.estgweb.domain.User" lazy="false" outer-join="true"/>
        <set name="serviceTaskSchedulerParameters" ><!--lazy="true">-->
            <key column="scheduler_id"/>
            <one-to-many class="pt.estgp.estgweb.domain.JobServiceTaskSchedulerParameter"/>
        </set>
        <subclass name="pt.estgp.estgweb.domain.JobServiceTaskSchedulerImpl" discriminator-value="JobServiceTaskSchedulerImpl"/>
    </class>



    <class name="pt.estgp.estgweb.domain.JobParameter" table="job_service_task_parameter" abstract="true">
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta>
        <meta attribute="scope-class">public abstract</meta>
        <id name="id" type="long">
            <generator class="native"/>
        </id>
        <discriminator column="discrimitator"/>
        <timestamp source="db"   name="updateDate" unsaved-value="null"/>
        <property name="saveDate" type="timestamp"/>
        <property name="name" type="string"/>
        <property name="description" type="string"/>
        <property name="object" type="string"/>
        <subclass name="pt.estgp.estgweb.domain.JobServiceTaskParameter">
            <meta attribute="extends">pt.estgp.estgweb.domain.JobParameter</meta>
            <meta attribute="scope-class">public abstract</meta>
            <many-to-one name="jobServiceTask" class="pt.estgp.estgweb.domain.JobServiceTask" lazy="false" outer-join="true" column="job_id"/>
            <subclass name="pt.estgp.estgweb.domain.JobServiceTaskParameterImpl" discriminator-value="JobServiceTaskParameterImpl"/>
        </subclass>
        <subclass name="pt.estgp.estgweb.domain.JobServiceTaskSchedulerParameter">
            <meta attribute="extends">pt.estgp.estgweb.domain.JobParameter</meta>
            <meta attribute="scope-class">public abstract</meta>
            <many-to-one name="jobServiceTaskScheduler" class="pt.estgp.estgweb.domain.JobServiceTaskScheduler" lazy="false" outer-join="true" column="scheduler_id"/>
            <subclass name="pt.estgp.estgweb.domain.JobServiceTaskSchedulerParameterImpl" discriminator-value="JobServiceTaskSchedulerParameterImpl"/>
        </subclass>
    </class>


</hibernate-mapping>