uk.co.agena.minerva.model.querymodel
Class StructureElement

java.lang.Object
  extended by uk.co.agena.minerva.model.querymodel.StructureElement

public class StructureElement
extends java.lang.Object

Reads in a element from an exterprise XML file. These are nested in the same hierarchical relationship as entries in the Model.MetaDataType tree.

Author:
hearty

Constructor Summary
StructureElement(ClassQueryModel queryModel, Model model, StructureElement parent, XmlHelper nodeHelper)
           
 
Method Summary
 void addObjectsToView(uk.co.agena.minervaapps.basicminerva.MinervaMainFrame mmf, QueryObjectNode parentObject)
          Creates new MetaDataItems corresponding to each node in the Query Object tree.
 void addObservations(uk.co.agena.minervaapps.basicminerva.MinervaMainFrame mmf, QueryObjectNode queryObject)
           
 void doInserts(Model model, QueryObjectNode queryObject)
           
 void runDataQueries(QueryObjectNode queryObject)
          Runs the data queries used to populate nodes with data.
 void runStructureQuery(QueryObjectNode parentNode)
          Builds the object hierarchy using the queries specified in the structure hierarchy.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StructureElement

public StructureElement(ClassQueryModel queryModel,
                        Model model,
                        StructureElement parent,
                        XmlHelper nodeHelper)
                 throws QueryException
Throws:
QueryException
Method Detail

runStructureQuery

public void runStructureQuery(QueryObjectNode parentNode)
                       throws QueryException
Builds the object hierarchy using the queries specified in the structure hierarchy. This is called with an initial parameter of null to start on the root query object. As child Query Objects are created, the method recursively calls itself on the structure for each child object, with the child object as a parameter.

The method can therefore be called many times on each StructureElement but each time with a different parentNode. (Some recursive calls are buried inside the createObjectsUsingQuery method).

It doesn't actually create MetaDataItems. At this stage it simply creates a tree of QueryObjectNodes which will have the same tree structure as the MDIs. This allows us to separate out two activitives.

Parameters:
parentNode -
Throws:
QueryException

addObjectsToView

public void addObjectsToView(uk.co.agena.minervaapps.basicminerva.MinervaMainFrame mmf,
                             QueryObjectNode parentObject)
                      throws QueryException
Creates new MetaDataItems corresponding to each node in the Query Object tree.

Throws:
QueryException

runDataQueries

public void runDataQueries(QueryObjectNode queryObject)
                    throws QueryException
Runs the data queries used to populate nodes with data.

Throws:
QueryException

addObservations

public void addObservations(uk.co.agena.minervaapps.basicminerva.MinervaMainFrame mmf,
                            QueryObjectNode queryObject)
                     throws QueryException
Throws:
QueryException

doInserts

public void doInserts(Model model,
                      QueryObjectNode queryObject)
               throws QueryException
Throws:
QueryException


Copyright © 2006 Agena Ltd. All Rights Reserved.