Files
qt5-legatus-legacy/Lts/Services/ExerciseManagement/exm_service.xml
T
2026-08-13 18:33:10 +02:00

227 lines
13 KiB
XML
Executable File

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<service namespace="ExerciseManagement" abbreviation="EXM" procNames="ExerciseManagement" exerciseDependency="Global" groups="Core" prio="4">
<rcs>
<Id Id="$Id$"/>
<HeadURL HeadURL="$HeadURL$"/>
<Author Author="$Author$"/>
</rcs>
<operatorRights offset="12">
<guiPlugin name="ExerciseManagement" offset="1">
<operatorRightGroup name="Exercise Management" description="Create/Modify/Delete Exercises">
<operatorRight right="ExercisesShow" value="1" description="Show Exercises"/>
<operatorRight right="ExercisesEdit" value="2" description="Edit Exercises"/>
</operatorRightGroup>
<operatorRightGroup name="Exercise Management - Edit Operators" description="Edit Operator Assignment">
<operatorRight right="ExerciseOperatorEdit" value="6" description="Edit Operator Assignment"/>
</operatorRightGroup>
<operatorRightGroup name="Exercise Management - Edit Phases" description="Add/Remove exercise phases">
<operatorRight right="ExercisePhaseEdit" value="3" description="Edit Phases"/>
</operatorRightGroup>
<operatorRightGroup name="Exercise Management - Edit Purpose" description="Edit purpose of exercise">
<operatorRight right="ExercisePurposeEdit" value="4" description="Edit Purpose"/>
</operatorRightGroup>
<operatorRightGroup name="Exercise Management - Edit State" description="Change exercise state">
<operatorRight right="ExerciseStateEdit" value="5" description="Change exercise state"/>
</operatorRightGroup>
</guiPlugin>
</operatorRights>
<tables>
<table name="exercise">
<column name="id" datatype="integer" isPrimaryKey="1">
<sequence start="1" increment="1"/>
</column>
<column name="name" datatype="text"/>
<column name="exercise_state_id" datatype="integer" isForeignKey="1"/>
<column name="operator_id" datatype="integer"/>
<column name="workstation_id" datatype="integer"/>
<column name="begin_time" datatype="timestamp"/>
<column name="end_time" datatype="timestamp"/>
<column name="created" datatype="timestamp" default="now()"/>
<column name="start_time" datatype="timestamp"/>
<column name="stop_time" datatype="timestamp"/>
<column name="training_area_id" datatype="integer" isForeignKey="1"/>
<column name="radio_group_id" datatype="integer" isOptional="1" isForeignKey="1"/>
<column name="active_phase_id" datatype="integer" comment="no FK, because of cross reference"/>
<column name="symbol_fill_type_id" datatype="integer"/>
<column name="linked_exercise_id" datatype="integer"/>
<column name="default_time_zone" datatype="text"/>
<column name="send_to_wms" datatype="boolean" default="false"/>
<column name="forces" datatype="text"/>
<column name="description" datatype="text"/>
<column name="transferred" datatype="boolean" default="false"/>
<column name="has_hla_interface" datatype="boolean" default="false"/>
<constraint name="UQ_exercise_name" type="unique">
<column name="name"/>
</constraint>
<constraint name="UQ_exercise_radio_group_id" type="unique">
<column name="radio_group_id"/>
</constraint>
<foreignKey name="FK_ea_exercise_exercise_state" referential_integrity="DeleteRestrict">
<source table="exercise" column="exercise_state_id"/>
<destination table="exercise_state" column="id"/>
</foreignKey>
<foreignKey name="FK_exercise_asm_training_area" referential_integrity="DeleteRestrict">
<source table="exercise" column="training_area_id"/>
<destination service="AssetManagement" serviceAbbr="asm" schema="asm" table="asm_training_area" column="id"/>
</foreignKey>
<foreignKey name="FK_exercise_pdm_radio_group" referential_integrity="DeleteRestrict">
<source table="exercise" column="radio_group_id"/>
<destination service="ProjectDataManagement" serviceAbbr="pdm" schema="pdm" table="pdm_radio_group" column="id"/>
</foreignKey>
</table>
<table name="exercise_image">
<column name="exercise_id" datatype="integer" isPrimaryKey="1" isForeignKey="1"/>
<column name="image" datatype="bytea"/>
<foreignKey name="FK_exercise_image_exercise">
<source table="exercise_image" column="exercise_id"/>
<destination table="exercise" column="id"/>
</foreignKey>
</table>
<table name="exercise_phase">
<column name="id" datatype="integer" isPrimaryKey="1">
<sequence start="1" increment="1"/>
</column>
<column name="name" datatype="text"/>
<column name="description" datatype="text"/>
<column name="begin_time" datatype="timestamp"/>
<column name="end_time" datatype="timestamp"/>
<column name="exercise_id" datatype="integer" isForeignKey="1"/>
<foreignKey name="FK_exercise_phase_exercise">
<source table="exercise_phase" column="exercise_id"/>
<destination table="exercise" column="id"/>
</foreignKey>
</table>
<table name="exercise_state">
<column name="id" datatype="integer" isPrimaryKey="1"/>
<column name="name" datatype="text"/>
</table>
<table name="exercise_state_change" comment="The table shows the time of change of the exercise state.">
<column name="id" datatype="integer" isPrimaryKey="1">
<sequence start="1" increment="1"/>
</column>
<column name="exercise_id" datatype="integer" isForeignKey="1"/>
<column name="exercise_state_id" datatype="integer" isForeignKey="1"/>
<column name="changed_at" datatype="bigint"/>
<column name="operator_id" datatype="integer"/>
<column name="workstation_id" datatype="integer"/>
<foreignKey name="FK_exercise_state_change_exercise">
<source table="exercise_state_change" column="exercise_id"/>
<destination table="exercise" column="id"/>
</foreignKey>
<foreignKey name="FK_exercise_state_change_exercise_state">
<source table="exercise_state_change" column="exercise_state_id"/>
<destination table="exercise_state" column="id"/>
</foreignKey>
</table>
</tables>
<views/>
<dbServiceStructs>
<serviceStruct name="ExmExercise" table="exercise"/>
<serviceStruct name="ExmExerciseImage" table="exercise_image"/>
<serviceStruct name="ExmExercisePhase" table="exercise_phase"/>
<serviceStruct name="ExmExerciseStateChange" table="exercise_state_change"/>
<table name="exercise"/>
<table name="exercise_image"/>
<table name="exercise_phase"/>
<table name="exercise_state_change"/>
</dbServiceStructs>
<topicTypes>
<topicType name="GetExerciseImageReply" baseValueType="Core::FunctionReply">
<column name="imageData" idlType="sequence&lt;octet&gt;"/>
</topicType>
<topicType name="GetExerciseImageRequest">
<column name="exerciseId" idlType="long"/>
<column name="maxHeight" idlType="long"/>
<column name="maxWidth" idlType="long"/>
<column name="lowBandwidth" idlType="boolean"/>
</topicType>
<topicType name="Exercise" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="1" baseValueType="Core::BaseEntity">
<column name="beginTime" idlType="long long"/>
<column name="endTime" idlType="long long"/>
<column name="created" idlType="long long"/>
<column name="startTime" idlType="long long"/>
<column name="stopTime" idlType="long long"/>
<column name="trainingAreaId" idlType="long"/>
<column name="radioGroupId" idlType="long" isOptional="1"/>
<column name="activePhaseId" idlType="long"/>
<column name="symbolFillTypeId" idlType="long"/>
<column name="linkedExerciseId" idlType="long"/>
<column name="defaultTimeZone" idlType="char"/>
<column name="sendToWMS" idlType="boolean"/>
<column name="transferred" idlType="boolean"/>
<column name="hasHlaInterface" idlType="boolean"/>
<column name="state" idlType="ExerciseState"/>
<column name="forces" idlType="string"/>
<column name="description" idlType="string"/>
<column name="partitionName" idlType="string"/>
</topicType>
<topicType name="ExercisePhase" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="1" baseValueType="Core::BaseEntity">
<column name="description" idlType="string"/>
<column name="beginTime" idlType="long long"/>
<column name="endTime" idlType="long long"/>
<column name="exerciseId" idlType="long"/>
</topicType>
<topicType name="ExerciseCreateRequest">
<column name="id" idlType="long"/>
<column name="name" idlType="string"/>
<column name="beginTime" idlType="long long"/>
<column name="endTime" idlType="long long"/>
<column name="startTime" idlType="long long"/>
<column name="stopTime" idlType="long long"/>
<column name="trainingAreaId" idlType="long"/>
<column name="radioGroupId" idlType="long" isOptional="1"/>
<column name="symbolFillTypeId" idlType="long"/>
<column name="linkedExerciseId" idlType="long"/>
<column name="defaultTimeZone" idlType="char"/>
<column name="sendToWMS" idlType="boolean"/>
<column name="transferred" idlType="boolean"/>
<column name="hasHlaInterface" idlType="boolean"/>
<column name="forces" idlType="string"/>
<column name="description" idlType="string"/>
</topicType>
<topicType name="ExerciseImageModifyRequest">
<column name="id" idlType="long"/>
<column name="image" idlType="sequence&lt;octet&gt;"/>
</topicType>
<topicType name="ExerciseModifyRequest" baseValueType="ExerciseCreateRequest">
<column name="newState" idlType="ExerciseState"/>
<column name="activePhaseId" idlType="long"/>
<column name="operatorId" idlType="long"/>
<column name="workstationId" idlType="long"/>
</topicType>
<topicType name="ExerciseRemoveRequest" baseValueType="Core::RemoveElementRequest">
<column name="force" idlType="boolean"/>
</topicType>
<topicType name="ExercisePhaseCreateRequest">
<column name="name" idlType="string"/>
<column name="description" idlType="string"/>
<column name="beginTime" idlType="long long"/>
<column name="endTime" idlType="long long"/>
<column name="exerciseId" idlType="long"/>
</topicType>
<topicType name="ExercisePhaseModifyRequest" baseValueType="ExercisePhaseCreateRequest">
<column name="id" idlType="long"/>
</topicType>
</topicTypes>
<functionTopics>
<functionTopic name="GetExerciseImage" requestTopicType="GetExerciseImageRequest" replyTopicType="GetExerciseImageReply" requestTopicName="GetExerciseImageRequest" replyTopicName="GetExerciseImageReply" routeInReplay="0"/>
<functionTopic name="ExerciseCreate" requestTopicType="ExerciseCreateRequest" replyTopicType="Core::FunctionReply" requestTopicName="ExerciseCreateRequest" replyTopicName="ExerciseCreateReply" routeInReplay="0"/>
<functionTopic name="ExerciseImageModify" requestTopicType="ExerciseImageModifyRequest" replyTopicType="Core::FunctionReply" requestTopicName="ExerciseImageModifyRequest" replyTopicName="ExerciseImageModifyReply" routeInReplay="0"/>
<functionTopic name="ExerciseModify" requestTopicType="ExerciseModifyRequest" replyTopicType="Core::FunctionReply" requestTopicName="ExerciseModifyRequest" replyTopicName="ExerciseModifyReply" routeInReplay="0"/>
<functionTopic name="ExerciseRemove" requestTopicType="ExerciseRemoveRequest" replyTopicType="Core::FunctionReply" requestTopicName="ExerciseRemoveRequest" replyTopicName="ExerciseRemoveReply" routeInReplay="0"/>
<functionTopic name="ExercisePhaseCreate" requestTopicType="ExercisePhaseCreateRequest" replyTopicType="Core::FunctionReply" requestTopicName="ExercisePhaseCreateRequest" replyTopicName="ExercisePhaseCreateReply" routeInReplay="0"/>
<functionTopic name="ExercisePhaseModify" requestTopicType="ExercisePhaseModifyRequest" replyTopicType="Core::FunctionReply" requestTopicName="ExercisePhaseModifyRequest" replyTopicName="ExercisePhaseModifyReply" routeInReplay="0"/>
<functionTopic name="ExercisePhaseRemove" requestTopicType="Core::RemoveElementRequest" replyTopicType="Core::FunctionReply" requestTopicName="ExercisePhaseRemoveRequest" replyTopicName="ExercisePhaseRemoveReply" routeInReplay="0"/>
</functionTopics>
<enumerations>
<enumeration name="ExerciseState" table="exercise_state">
<attribute key="Unknown" value="0"/>
<attribute key="Created" value="1"/>
<attribute key="Started" value="2"/>
<attribute key="Paused" value="3"/>
<attribute key="Stopped" value="5"/>
<attribute key="Terminated" value="6"/>
</enumeration>
</enumerations>
</service>