framework/service/entitydef/entitymodel.xml
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is subject to the terms and conditions defined in the
files 'LICENSE' and 'NOTICE', which are part of this source
code package.
-->
<entitymodel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/entitymodel.xsd">
<!-- ========================================================= -->
<!-- ======================== Defaults ======================= -->
<!-- ========================================================= -->
<title>Entity of an Apache OFBiz Component</title>
<description>None</description>
<version>1.0</version>
<!-- ========================================================= -->
<!-- ======================== Data Model ===================== -->
<!-- The modules in this file are as follows: -->
<!-- - org.ofbiz.service.schedule -->
<!-- - org.ofbiz.service.semaphore -->
<!-- ========================================================= -->
<!-- ========================================================= -->
<!-- org.ofbiz.service.schedule -->
<!-- ========================================================= -->
<entity entity-name="JobSandbox" package-name="org.ofbiz.service.schedule" title="Job Scheduler Sandbox"
sequence-bank-size="100" never-cache="true">
<field name="jobId" type="id-ne"></field>
<field name="jobName" type="name"></field>
<field name="runTime" type="date-time"></field>
<field name="priority" type="numeric"></field>
<field name="poolId" type="name"></field>
<field name="statusId" type="id"></field>
<field name="parentJobId" type="id"></field>
<field name="previousJobId" type="id"></field>
<field name="serviceName" type="name"></field>
<field name="loaderName" type="name"></field>
<field name="maxRetry" type="numeric"></field>
<field name="currentRetryCount" type="numeric"></field>
<field name="authUserLoginId" type="id-vlong"></field>
<field name="runAsUser" type="id-vlong"></field>
<field name="runtimeDataId" type="id"></field>
<field name="recurrenceInfoId" type="id"><description>Deprecated - use tempExprId instead</description></field>
<field name="tempExprId" type="id"><description>Temporal expression id</description></field>
<field name="currentRecurrenceCount" type="numeric"></field>
<field name="maxRecurrenceCount" type="numeric"></field>
<field name="runByInstanceId" type="id"></field>
<field name="startDateTime" type="date-time"></field>
<field name="finishDateTime" type="date-time"></field>
<field name="cancelDateTime" type="date-time"></field>
<field name="jobResult" type="value"></field>
<prim-key field="jobId"/>
<relation type="one" fk-name="JOB_SNDBX_RECINFO" rel-entity-name="RecurrenceInfo">
<key-map field-name="recurrenceInfoId"/>
</relation>
<relation type="one" fk-name="JOB_SNDBX_TEMPEXPR" rel-entity-name="TemporalExpression">
<key-map field-name="tempExprId"/>
</relation>
<relation type="one" fk-name="JOB_SNDBX_RNTMDTA" rel-entity-name="RuntimeData">
<key-map field-name="runtimeDataId"/>
</relation>
<relation type="one" fk-name="JOB_SNDBX_AUSRLGN" title="Auth" rel-entity-name="UserLogin">
<key-map field-name="authUserLoginId" rel-field-name="userLoginId"/>
</relation>
<relation type="one" fk-name="JOB_SNDBX_USRLGN" title="RunAs" rel-entity-name="UserLogin">
<key-map field-name="runAsUser" rel-field-name="userLoginId"/>
</relation>
<relation type="one" fk-name="JOB_SNDBX_STTS" rel-entity-name="StatusItem">
<key-map field-name="statusId"/>
</relation>
<index name="JOB_SNDBX_RUNSTAT">
<index-field name="runByInstanceId"/>
<index-field name="statusId"/>
</index>
</entity>
<!-- SCIPIO: JobSandbox enhanced with special event field -->
<extend-entity entity-name="JobSandbox">
<field name="eventId" type="id">
<description>SCIPIO: Identifies the event at which the job should be triggered, or in other words
the event which will limit when the job can be run.</description>
</field>
<relation type="one" fk-name="JOB_SNDBX_EVENT" title="Event" rel-entity-name="Enumeration">
<key-map field-name="eventId" rel-field-name="enumId"/>
</relation>
</extend-entity>
<entity entity-name="RecurrenceInfo"
package-name="org.ofbiz.service.schedule"
title="Recurrence Info">
<field name="recurrenceInfoId" type="id-ne"></field>
<field name="startDateTime" type="date-time"></field>
<field name="exceptionDateTimes" type="very-long"></field>
<field name="recurrenceDateTimes" type="very-long"></field>
<field name="exceptionRuleId" type="id-ne"></field>
<field name="recurrenceRuleId" type="id-ne"></field>
<field name="recurrenceCount" type="numeric"><description>Not recommended - more than one process could be using this RecurrenceInfo</description></field>
<prim-key field="recurrenceInfoId"/>
<relation type="one" fk-name="REC_INFO_RCRLE" rel-entity-name="RecurrenceRule">
<key-map field-name="recurrenceRuleId"/>
</relation>
<relation type="one" fk-name="REC_INFO_EX_RCRLE" title="Exception" rel-entity-name="RecurrenceRule">
<key-map field-name="exceptionRuleId" rel-field-name="recurrenceRuleId"/>
</relation>
</entity>
<entity entity-name="RecurrenceRule"
package-name="org.ofbiz.service.schedule"
title="Recurrence Rule">
<field name="recurrenceRuleId" type="id-ne"></field>
<field name="frequency" type="short-varchar"></field>
<field name="untilDateTime" type="date-time"></field>
<field name="countNumber" type="numeric"></field>
<field name="intervalNumber" type="numeric"></field>
<field name="bySecondList" type="very-long"></field>
<field name="byMinuteList" type="very-long"></field>
<field name="byHourList" type="very-long"></field>
<field name="byDayList" type="very-long"></field>
<field name="byMonthDayList" type="very-long"></field>
<field name="byYearDayList" type="very-long"></field>
<field name="byWeekNoList" type="very-long"></field>
<field name="byMonthList" type="very-long"></field>
<field name="bySetPosList" type="very-long"></field>
<field name="weekStart" type="short-varchar"></field>
<field name="xName" type="very-long"></field>
<prim-key field="recurrenceRuleId"/>
</entity>
<entity entity-name="RuntimeData" package-name="org.ofbiz.service.schedule" title="Runtime Data"
sequence-bank-size="100">
<field name="runtimeDataId" type="id-ne"></field>
<field name="runtimeInfo" type="very-long"></field>
<prim-key field="runtimeDataId"/>
</entity>
<!-- Note: TemporalExpression values should be treated as immutable.
In other words, they should be created once and left unmodified by user
interaction. -->
<entity entity-name="TemporalExpression"
package-name="org.ofbiz.service.schedule"
title="Temporal Expression">
<field name="tempExprId" type="id-ne"></field>
<field name="tempExprTypeId" type="id-ne"></field>
<field name="description" type="description"></field>
<field name="date1" type="date-time"></field>
<field name="date2" type="date-time"></field>
<field name="integer1" type="numeric"></field>
<field name="integer2" type="numeric"></field>
<field name="string1" type="id"></field>
<field name="string2" type="id"></field>
<prim-key field="tempExprId"/>
</entity>
<entity entity-name="TemporalExpressionAssoc"
package-name="org.ofbiz.service.schedule"
title="Temporal Expression Association">
<field name="fromTempExprId" type="id-ne"><description>The "parent" expression</description></field>
<field name="toTempExprId" type="id-ne"><description>The "child" expression</description></field>
<field name="exprAssocType" type="id"><description>Expression association type.
When applied to DIFFERENCE expression types, valid values are INCLUDE or EXCLUDE.
When applied to SUBSTITUTION expression types, valid values are INCLUDE, EXCLUDE, or SUBSTITUTE.
</description>
</field>
<prim-key field="fromTempExprId"/>
<prim-key field="toTempExprId"/>
<relation type="one" fk-name="TEMP_EXPR_FROM" rel-entity-name="TemporalExpression" title="From">
<key-map field-name="fromTempExprId" rel-field-name="tempExprId"/>
</relation>
<relation type="one" fk-name="TEMP_EXPR_TO" rel-entity-name="TemporalExpression" title="To">
<key-map field-name="toTempExprId" rel-field-name="tempExprId"/>
</relation>
</entity>
<view-entity entity-name="TemporalExpressionChild"
package-name="org.ofbiz.service.schedule"
title="Temporal Expression Children View">
<member-entity entity-alias="TEA" entity-name="TemporalExpressionAssoc"/>
<member-entity entity-alias="TE" entity-name="TemporalExpression"/>
<alias-all entity-alias="TEA">
<exclude field="toTempExprId"/>
</alias-all>
<alias-all entity-alias="TE"/>
<view-link entity-alias="TEA" rel-entity-alias="TE">
<key-map field-name="toTempExprId" rel-field-name="tempExprId"/>
</view-link>
</view-entity>
<entity entity-name="JobManagerLock" package-name="org.ofbiz.service.schedule" title="Lock Job Manager Scheduler">
<field name="instanceId" type="id"/>
<field name="fromDate" type="date-time"/>
<field name="thruDate" type="date-time"/>
<field name="reasonEnumId" type="id"/>
<field name="comments" type="comment"/>
<field name="createdDate" type="date-time"/>
<field name="createdByUserLogin" type="id-vlong"/>
<field name="lastModifiedDate" type="date-time"/>
<field name="lastModifiedByUserLogin" type="id-vlong"/>
<prim-key field="instanceId"/>
<prim-key field="fromDate"/>
<relation type="one" fk-name="JOBLK_ENUM_REAS" rel-entity-name="Enumeration" title="Reason">
<key-map field-name="reasonEnumId" rel-field-name="enumId"/>
</relation>
</entity>
<!-- ========================================================= -->
<!-- org.ofbiz.service.semaphore -->
<!-- ========================================================= -->
<entity entity-name="ServiceSemaphore" package-name="org.ofbiz.service.semaphore" title="Semaphore Lock"
sequence-bank-size="100">
<field name="serviceName" type="name"></field>
<field name="lockedByInstanceId" type="id"></field>
<field name="lockThread" type="name"></field>
<field name="lockTime" type="date-time"></field>
<prim-key field="serviceName"/>
</entity>
</entitymodel>