...
Greenhouse : Overall DataModel holder for Greenhouse. GHLanes is defined of type reference. There are two types of references - simple reference and smart reference. Smartness can be defined by providing a "Find" Query at the time of model definition or at the time of instantiating the model. GHLanes is defined as Reference to include all the Lanes from Lane model.
Code Block language xml title Greenhouse DataModel linenumbers true <DataModel Name="Greenhouse"> <Sid Name="GreenhouseID"/> <BoundingBox Name="GreenhouseLocation"/> <Integer Name="LaneCount"/> <Double Name="LaneWidth"/> <Double Name="ZoneLength"/> <Integer Name="ZoneInLane"/> <Integer Name="ZoneCount"/> <Double Name="GHLength"/> <Double Name="GHWidth"/> <EnvInfo Name="ExternalEnv"/> <EnvInfo Name="InternalEnv"/> <String Name="VentOnOffState"/> <String Name="FansOnOffState"/> <Boolean Name="SunnyDay"/> <Reference Name="GHLanes"> <Find> <Lane> <LaneID ne=""/> </Lane> </Find> </Reference> </DataModel>
Grid - DataModel for storing Grid information.
Code Block language xml title Grid DataModel linenumbers true <DataModel Name="Grid"> <Sid Name="GridID"/> <String Name="ZoneID"/> <String Name="GridName"/> <BoundingBox Name="GridLocation"/> <Integer Name="GridNSPosition"/> <Integer Name="GridWEPosition"/> <Double Name="GridLength"/> <Double Name="GridWidth"/> <Double Name="SoilMoisture"/> <Double Name="AmbientLight"/> <Reference Name="ZoneGrid" Type="Zone" Cardinality="1"/> </DataModel>
Zone - DataModel for storing Zone information. Does a Smart Reference to Grid at instantiation time by simply defining ZoneGrids as Reference type. The Find query can be add at the instantiation time.
Code Block language xml title Zone DataModel linenumbers true <DataModel Name="Zone"> <Sid Name="ZoneID"/> <String Name="LaneID"/> <String Name="ZoneName"/> <BoundingBox Name="ZoneLocation"/> <Double Name="ZoneWidth"/> <Double Name="ZoneLength"/> <Integer Name="GridOnLength"/> <Integer Name="GridOnWidth"/> <Integer Name="GridCount"/> <Double Name="GridLength"/> <Double Name="GridWidth"/> <String Name="EndZone"/> <Double Name="ZoneTemperature"/> <Double Name="ZoneHumidity"/> <Double Name="ZoneAvgSM"/> <Double Name="ZoneAvgLight"/> <String Name="CropType"/> <Date Name="SeedingDate" format="$SimpleDateFormat(dd-MM-yyyy)"/> <Date Name="LastFertilisationDate" format="$SimpleDateFormat(dd-MM-yyyy)"/> <String Name="HarvestingSeason"/> <Integer Name="NoOfPlants"/> <Double Name="VPD"/> <Reference Name="LaneZone" Type="Lane" Cardinality="1"/> <Reference Name="ZoneGrids"> <Find> <Grid> <GridID ne=""/> </Grid> </Find> </Reference> </DataModel>
Lane - DataModel to hold Lane information. Defines Smart Reference to Zones.
Code Block language xml title Lane DataModel linenumbers true <DataModel Name="Lane"> <Sid Name="LaneID"/> <String Name="LaneName"/> <String Name="GreenhouseID"/> <Double Name="LaneLength"/> <Double Name="LaneWidth"/> <Integer Name="ZoneInLane"/> <String Name="BorderLane"/> <BoundingBox Name="LaneLocation"/> <Reference Name="GreenhouseLane" Type="Greenhouse" Cardinality="1"/> <Reference Name="LaneZones"> <Find> <Zone> <ZoneID ne=""/> </Zone> </Find> </Reference> </DataModel>
...